diff options
| author | Grégoire Duchêne <gduchene@awhk.org> | 2021-07-04 17:13:44 +0100 |
|---|---|---|
| committer | Grégoire Duchêne <gduchene@awhk.org> | 2021-07-04 17:13:44 +0100 |
| commit | 03f9f907ed21a9c56b229668b28571969d988a8c (patch) | |
| tree | 05ecf97ae16e1f8b42d1d449435ea95f7998c0f0 | |
| parent | 5881f58af573346eb0c25945a433bf9859191ac5 (diff) | |
Return 500 if an unknown error occurs
| -rw-r--r-- | pkg/twilio/filter.go | 11 |
1 files changed, 7 insertions, 4 deletions
diff --git a/pkg/twilio/filter.go b/pkg/twilio/filter.go index 48e92ef..4533f0c 100644 --- a/pkg/twilio/filter.go +++ b/pkg/twilio/filter.go @@ -69,11 +69,14 @@ func (th *Filter) CheckRequestSignature(r *http.Request) error { func (th *Filter) ServeHTTP(w http.ResponseWriter, r *http.Request) { if err := th.CheckRequestSignature(r); err != nil { - log.Println("Failed to check Twilio signature:", err) - if err == ErrSignatureMismatch { - w.WriteHeader(http.StatusForbidden) - } else { + log.Printf("Failed to check Twilio signature: %s.", err) + switch err { + case ErrBase64, ErrMissingHeader: w.WriteHeader(http.StatusBadRequest) + case ErrSignatureMismatch: + w.WriteHeader(http.StatusForbidden) + default: + w.WriteHeader(http.StatusInternalServerError) } return } |
