Commit d22461c5 authored by Geoff Simmons's avatar Geoff Simmons

Fix request logging (should be replaced by a middleware solution).

parent caff6337
...@@ -139,23 +139,25 @@ func (h *pemsHndlr) ServeHTTP(resp http.ResponseWriter, req *http.Request) { ...@@ -139,23 +139,25 @@ func (h *pemsHndlr) ServeHTTP(resp http.ResponseWriter, req *http.Request) {
resp.Header().Set("Content-Length", "0") resp.Header().Set("Content-Length", "0")
status := http.StatusTeapot status := http.StatusTeapot
bytes := 0 bytes := 0
defer reqLog(h.log, req, now, status, bytes)
matches := pemsRegex.FindStringSubmatch(req.URL.Path) matches := pemsRegex.FindStringSubmatch(req.URL.Path)
if matches == nil { if matches == nil {
status = http.StatusNotFound status = http.StatusNotFound
resp.WriteHeader(status) resp.WriteHeader(status)
reqLog(h.log, req, now, status, bytes)
return return
} }
if _, ok := allowedPems[req.Method]; !ok { if _, ok := allowedPems[req.Method]; !ok {
status = http.StatusMethodNotAllowed status = http.StatusMethodNotAllowed
resp.WriteHeader(status) resp.WriteHeader(status)
reqLog(h.log, req, now, status, bytes)
return return
} }
if req.Method == http.MethodGet || req.Method == http.MethodHead { if req.Method == http.MethodGet || req.Method == http.MethodHead {
status = http.StatusNotImplemented status = http.StatusNotImplemented
resp.WriteHeader(status) resp.WriteHeader(status)
reqLog(h.log, req, now, status, bytes)
return return
} }
...@@ -172,6 +174,7 @@ func (h *pemsHndlr) ServeHTTP(resp http.ResponseWriter, req *http.Request) { ...@@ -172,6 +174,7 @@ func (h *pemsHndlr) ServeHTTP(resp http.ResponseWriter, req *http.Request) {
resp.Header().Del("Content-Length") resp.Header().Del("Content-Length")
} }
resp.WriteHeader(status) resp.WriteHeader(status)
reqLog(h.log, req, now, status, bytes)
return return
} }
...@@ -184,22 +187,26 @@ func (h *pemsHndlr) ServeHTTP(resp http.ResponseWriter, req *http.Request) { ...@@ -184,22 +187,26 @@ func (h *pemsHndlr) ServeHTTP(resp http.ResponseWriter, req *http.Request) {
if have && req.Method == http.MethodPost { if have && req.Method == http.MethodPost {
status = http.StatusConflict status = http.StatusConflict
resp.WriteHeader(status) resp.WriteHeader(status)
reqLog(h.log, req, now, status, bytes)
return return
} else if h.files.Check(ns, name, uid, version) { } else if h.files.Check(ns, name, uid, version) {
status = http.StatusNoContent status = http.StatusNoContent
resp.Header().Del("Content-Length") resp.Header().Del("Content-Length")
resp.WriteHeader(status) resp.WriteHeader(status)
reqLog(h.log, req, now, status, bytes)
return return
} }
if found, valid, err := h.files.Write(ns, name, uid, version); !found { if found, valid, err := h.files.Write(ns, name, uid, version); !found {
status = http.StatusNotFound status = http.StatusNotFound
resp.WriteHeader(status) resp.WriteHeader(status)
reqLog(h.log, req, now, status, bytes)
return return
} else if !valid || err != nil { } else if !valid || err != nil {
// XXX problem description in body // XXX problem description in body
status = http.StatusForbidden status = http.StatusForbidden
errLog(h.log, req, err) errLog(h.log, req, err)
resp.WriteHeader(status) resp.WriteHeader(status)
reqLog(h.log, req, now, status, bytes)
return return
} }
if !have { if !have {
...@@ -212,4 +219,5 @@ func (h *pemsHndlr) ServeHTTP(resp http.ResponseWriter, req *http.Request) { ...@@ -212,4 +219,5 @@ func (h *pemsHndlr) ServeHTTP(resp http.ResponseWriter, req *http.Request) {
// XXX ETag: uid/version // XXX ETag: uid/version
// XXX LastModified: file mtime // XXX LastModified: file mtime
resp.WriteHeader(status) resp.WriteHeader(status)
reqLog(h.log, req, now, status, bytes)
} }
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