diff --git a/server.go b/server.go index e47d970..057a71d 100644 --- a/server.go +++ b/server.go @@ -50,9 +50,9 @@ type ( // Response can have messages and/or a result to return the to client. Response struct { - ID string `json:"id"` - Messages map[string][]string `json:"messages,omitempty"` - Result map[string]interface{} `json:"result,omitempty"` + ID string `json:"id"` + Messages map[string][]string `json:"messages,omitempty"` + Result interface{} `json:"result,omitempty"` } ident []byte @@ -134,6 +134,7 @@ func (s *Server) Handle(w http.ResponseWriter, r *http.Request) { } c.Logf(LevelInfo, "method '%s' called with '%s'", req.Method, req.Params) if err := handler(c, req, res); err != nil { + c.w.WriteHeader(http.StatusInternalServerError) c.Logf(LevelError, "method '%s' returned an error: %s", req.Method, err) } if err := tx.Commit(); err != nil {