aboutsummaryrefslogtreecommitdiff
path: root/pkg/twilio/filter.go
diff options
context:
space:
mode:
Diffstat (limited to 'pkg/twilio/filter.go')
-rw-r--r--pkg/twilio/filter.go11
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
}