From 03f9f907ed21a9c56b229668b28571969d988a8c Mon Sep 17 00:00:00 2001 From: GrĂ©goire DuchĂȘne Date: Sun, 4 Jul 2021 17:13:44 +0100 Subject: Return 500 if an unknown error occurs --- pkg/twilio/filter.go | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) (limited to 'pkg/twilio') 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 } -- cgit v1.2.3-70-g09d2