diff --git a/src/audit_api.go b/src/audit_api.go index bdb5d80..60ca9a3 100644 --- a/src/audit_api.go +++ b/src/audit_api.go @@ -26,6 +26,39 @@ type AuditEvent struct { Atoken string `json:"atoken"` } + +func ReturnError(w http.ResponseWriter, r *http.Request, message string, code int, err error, event *AuditEvent) { + w.Header().Set("Content-Type", "application/json; charset=utf-8") + w.WriteHeader(code) + fmt.Fprintf(w, `{"status":"error","message":%q}`, message) + if event != nil { + event.Status = "error" + event.Msg = message + if err != nil { + event.Debug = err.Error() + log.Printf("ERROR [%d] %s %s -> %s : %s", code, r.Method, r.URL.Path, message, event.Debug) + } else { + log.Printf("ERROR [%d] %s %s -> %s", code, r.Method, r.URL.Path, message) + } + } + //http.Error(w, http.StatusText(405), 405) +} + +func EnforceUUID(w http.ResponseWriter, uuidCode string, event *AuditEvent) bool { + if utils.CheckValidUUID(uuidCode) == false { + //fmt.Printf("405 bad uuid in : %s\n", uuidCode) + w.Header().Set("Content-Type", "application/json; charset=utf-8") + w.WriteHeader(405) + fmt.Fprintf(w, `{"status":"error","message":"bad uuid"}`) + if event != nil { + event.Status = "error" + event.Msg = "bad uuid" + } + return false + } + return true +} + func CreateAuditEvent(title string, record string, mode string, identity string) *AuditEvent { //fmt.Printf("/%s : %s\n", title, record) return &AuditEvent{Title: title, Mode: mode, Who: identity, Record: record, Status: "ok", When: int32(time.Now().Unix())} diff --git a/src/checks.go b/src/checks.go deleted file mode 100644 index 17be530..0000000 --- a/src/checks.go +++ /dev/null @@ -1,41 +0,0 @@ -package main - -import ( - "fmt" - "log" - "net/http" - - "github.com/securitybunker/databunker/src/utils" -) - -func ReturnError(w http.ResponseWriter, r *http.Request, message string, code int, err error, event *AuditEvent) { - w.Header().Set("Content-Type", "application/json; charset=utf-8") - w.WriteHeader(code) - fmt.Fprintf(w, `{"status":"error","message":%q}`, message) - if event != nil { - event.Status = "error" - event.Msg = message - if err != nil { - event.Debug = err.Error() - log.Printf("ERROR [%d] %s %s -> %s : %s", code, r.Method, r.URL.Path, message, event.Debug) - } else { - log.Printf("ERROR [%d] %s %s -> %s", code, r.Method, r.URL.Path, message) - } - } - //http.Error(w, http.StatusText(405), 405) -} - -func EnforceUUID(w http.ResponseWriter, uuidCode string, event *AuditEvent) bool { - if utils.CheckValidUUID(uuidCode) == false { - //fmt.Printf("405 bad uuid in : %s\n", uuidCode) - w.Header().Set("Content-Type", "application/json; charset=utf-8") - w.WriteHeader(405) - fmt.Fprintf(w, `{"status":"error","message":"bad uuid"}`) - if event != nil { - event.Status = "error" - event.Msg = "bad uuid" - } - return false - } - return true -}