...
1 package ldevents
2
3 import (
4 "fmt"
5 )
6
7 func httpErrorMessage(statusCode int, context string, recoverableMessage string) string {
8 statusDesc := ""
9 if statusCode == 401 {
10 statusDesc = " (invalid SDK key)"
11 }
12 resultMessage := recoverableMessage
13 if !isHTTPErrorRecoverable(statusCode) {
14 resultMessage = "giving up permanently"
15 }
16 return fmt.Sprintf("Received HTTP error %d%s for %s - %s",
17 statusCode, statusDesc, context, resultMessage)
18 }
19
20
21
22 func isHTTPErrorRecoverable(statusCode int) bool {
23 if statusCode >= 400 && statusCode < 500 {
24 switch statusCode {
25 case 400:
26 return true
27 case 408:
28 return true
29 case 429:
30 return true
31 default:
32 return false
33 }
34 }
35 return true
36 }
37
View as plain text