projects
/
arvados.git
/ blobdiff
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Merge branch 'master' into 15572-new-install-docs
[arvados.git]
/
sdk
/
go
/
httpserver
/
error.go
diff --git
a/sdk/go/httpserver/error.go
b/sdk/go/httpserver/error.go
index 398e61fcd081097fcdd3b1d79375d5f3347c09ae..f1817d3374ae11e07f4479de77b1b1b67e4b3cf9 100644
(file)
--- a/
sdk/go/httpserver/error.go
+++ b/
sdk/go/httpserver/error.go
@@
-9,13
+9,30
@@
import (
"net/http"
)
"net/http"
)
+func ErrorWithStatus(err error, status int) error {
+ return errorWithStatus{err, status}
+}
+
+type errorWithStatus struct {
+ error
+ Status int
+}
+
+func (ews errorWithStatus) HTTPStatus() int {
+ return ews.Status
+}
+
type ErrorResponse struct {
Errors []string `json:"errors"`
}
func Error(w http.ResponseWriter, error string, code int) {
type ErrorResponse struct {
Errors []string `json:"errors"`
}
func Error(w http.ResponseWriter, error string, code int) {
+ Errors(w, []string{error}, code)
+}
+
+func Errors(w http.ResponseWriter, errors []string, code int) {
w.Header().Set("Content-Type", "application/json")
w.Header().Set("X-Content-Type-Options", "nosniff")
w.WriteHeader(code)
w.Header().Set("Content-Type", "application/json")
w.Header().Set("X-Content-Type-Options", "nosniff")
w.WriteHeader(code)
- json.NewEncoder(w).Encode(ErrorResponse{Errors:
[]string{error}
})
+ json.NewEncoder(w).Encode(ErrorResponse{Errors:
errors
})
}
}