func (server TwilioSMSCallbackServer) ServeHTTP(w http.ResponseWriter, req *http.Request) { periwinkle.Logf("TwilioCallback") fmt.Fprintf(w, "Hi there, I love %s!", req.URL.String()) body, err := ioutil.ReadAll(req.Body) if err != nil { periwinkle.LogErr(locale.UntranslatedError(err)) return } values, err := url.ParseQuery(string(body)) if err != nil { periwinkle.LogErr(locale.UntranslatedError(err)) return } status := backend.TwilioSMSMessage{ MessageStatus: values.Get("MessageStatus"), ErrorCode: values.Get("ErrorCode"), MessageSID: values.Get("MessageSid"), } server.DB.Do(func(db *periwinkle.Tx) { status.Save(db) }) }