Commit 7b8647a5 authored by Geoff Simmons's avatar Geoff Simmons

REST API error responses for write errors on PUT.

parent c3399057
...@@ -106,6 +106,16 @@ var ( ...@@ -106,6 +106,16 @@ var (
Title: "Invalid TLS Secret", Title: "Invalid TLS Secret",
Detail: "", Detail: "",
} }
errPemPermission = ErrorDetails{
Type: "/errors/pems/write/permission",
Title: "Insufficient permission to write PEM file",
Detail: "",
}
errPemWriteErr = ErrorDetails{
Type: "/errors/pems/write/error",
Title: "Error writing PEM file",
Detail: "",
}
) )
// Problem Details object per RFC7807 // Problem Details object per RFC7807
...@@ -318,6 +328,16 @@ func (h *pemsHndlr) ServeHTTP(resp http.ResponseWriter, req *http.Request) { ...@@ -318,6 +328,16 @@ func (h *pemsHndlr) ServeHTTP(resp http.ResponseWriter, req *http.Request) {
errPemInvalidSecret, err) errPemInvalidSecret, err)
return return
} else if err != nil { } else if err != nil {
if os.IsPermission(err) {
h.errorResponse(resp, req, now,
http.StatusInternalServerError,
errPemPermission, err)
} else {
h.errorResponse(resp, req, now,
http.StatusInternalServerError,
errPemWriteErr, err)
}
return
} }
if !have { if !have {
status = http.StatusCreated status = http.StatusCreated
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment