diff --git a/mux.go b/mux.go index b18a5c3..6b4ad4c 100644 --- a/mux.go +++ b/mux.go @@ -12,10 +12,6 @@ import ( "github.com/restic/rest-server/quota" ) -const ( - GiB = 1024 * 1024 * 1024 -) - func (s *Server) debugHandler(next http.Handler) http.Handler { return http.HandlerFunc( func(w http.ResponseWriter, r *http.Request) { @@ -70,6 +66,8 @@ func NewHandler(server *Server) (http.Handler, error) { } } + const GiB = 1024 * 1024 * 1024 + if server.MaxRepoSize > 0 { log.Printf("Initializing quota (can take a while)...") qm, err := quota.New(server.Path, server.MaxRepoSize) diff --git a/repo/repo.go b/repo/repo.go index d561b40..adc5294 100644 --- a/repo/repo.go +++ b/repo/repo.go @@ -93,9 +93,10 @@ func isHashed(objectType string) bool { return objectType == "data" } -// BlobOperation describe the current blob operation in the BlobMetricFunc callback +// BlobOperation describe the current blob operation in the BlobMetricFunc callback. type BlobOperation byte +// Define all valid operations. const ( BlobRead = 'R' // A blob has been read BlobWrite = 'W' // A blob has been written @@ -146,22 +147,24 @@ func (h *Handler) ServeHTTP(w http.ResponseWriter, r *http.Request) { default: httpMethodNotAllowed(w, []string{"GET"}) } - return - } else { - switch r.Method { - case "HEAD": - h.checkBlob(w, r) - case "GET": - h.getBlob(w, r) - case "POST": - h.saveBlob(w, r) - case "DELETE": - h.deleteBlob(w, r) - default: - httpMethodNotAllowed(w, []string{"HEAD", "GET", "POST", "DELETE"}) - } + return } + + switch r.Method { + case "HEAD": + h.checkBlob(w, r) + case "GET": + h.getBlob(w, r) + case "POST": + h.saveBlob(w, r) + case "DELETE": + h.deleteBlob(w, r) + default: + httpMethodNotAllowed(w, []string{"HEAD", "GET", "POST", "DELETE"}) + } + + return } httpDefaultError(w, http.StatusNotFound) }