@@ -10,6 +10,8 @@ import (
10
10
"net/http"
11
11
"strings"
12
12
"time"
13
+
14
+ "golang.org/x/xerrors"
13
15
)
14
16
15
17
const (
@@ -192,11 +194,11 @@ func (m *Messenger) ProfileByID(id int64, profileFields []string) (Profile, erro
192
194
qr := QueryResponse {}
193
195
err = json .Unmarshal (content , & qr )
194
196
if qr .Error != nil {
195
- err = fmt .Errorf ("facebook error: %s " , qr .Error . Message )
197
+ return p , xerrors .Errorf ("facebook error: %w " , qr .Error )
196
198
}
197
199
}
198
200
199
- return p , err
201
+ return p , nil
200
202
}
201
203
202
204
// GreetingSetting sends settings for greeting
@@ -279,13 +281,14 @@ func (m *Messenger) handle(w http.ResponseWriter, r *http.Request) {
279
281
280
282
err := json .Unmarshal (body , & rec )
281
283
if err != nil {
282
- fmt .Println ("could not decode response:" , err )
284
+ err = xerrors .Errorf ("could not decode response: %w" , err )
285
+ fmt .Println (err )
283
286
fmt .Fprintln (w , `{status: 'not ok'}` )
284
287
return
285
288
}
286
289
287
290
if rec .Object != "page" {
288
- fmt .Println ("Object is not page, undefined behaviour. Got" , rec .Object )
291
+ fmt .Println ("object is not page, undefined behaviour. Got" , rec .Object )
289
292
}
290
293
291
294
if m .verify {
@@ -304,22 +307,22 @@ func (m *Messenger) handle(w http.ResponseWriter, r *http.Request) {
304
307
// checkIntegrity checks the integrity of the requests received
305
308
func (m * Messenger ) checkIntegrity (r * http.Request ) error {
306
309
if m .appSecret == "" {
307
- return fmt . Errorf ("missing app secret" )
310
+ return xerrors . New ("missing app secret" )
308
311
}
309
312
310
313
sigHeader := "X-Hub-Signature"
311
314
sig := strings .SplitN (r .Header .Get (sigHeader ), "=" , 2 )
312
315
if len (sig ) == 1 {
313
316
if sig [0 ] == "" {
314
- return fmt .Errorf ("missing %s header" , sigHeader )
317
+ return xerrors .Errorf ("missing %s header" , sigHeader )
315
318
}
316
- return fmt .Errorf ("malformed %s header: %v" , sigHeader , strings .Join (sig , "=" ))
319
+ return xerrors .Errorf ("malformed %s header: %v" , sigHeader , strings .Join (sig , "=" ))
317
320
}
318
321
319
322
checkSHA1 := func (body []byte , hash string ) error {
320
323
mac := hmac .New (sha1 .New , []byte (m .appSecret ))
321
324
if mac .Write (body ); fmt .Sprintf ("%x" , mac .Sum (nil )) != hash {
322
- return fmt .Errorf ("invalid signature: %s" , hash )
325
+ return xerrors .Errorf ("invalid signature: %s" , hash )
323
326
}
324
327
return nil
325
328
}
@@ -333,7 +336,7 @@ func (m *Messenger) checkIntegrity(r *http.Request) error {
333
336
case "sha1" :
334
337
return checkSHA1 (body , sigHash )
335
338
default :
336
- return fmt .Errorf ("unknown %s header encoding, expected sha1: %s" , sigHeader , sig [0 ])
339
+ return xerrors .Errorf ("unknown %s header encoding, expected sha1: %s" , sigHeader , sig [0 ])
337
340
}
338
341
}
339
342
0 commit comments