mirror of
https://github.com/minio/minio
synced 2024-11-05 17:34:01 +00:00
Some more cleanup
This commit is contained in:
parent
784ab9a551
commit
f7a06a5d1e
6 changed files with 19 additions and 13 deletions
|
@ -29,6 +29,10 @@ type vHandler struct {
|
|||
handler http.Handler
|
||||
}
|
||||
|
||||
type rHandler struct {
|
||||
handler http.Handler
|
||||
}
|
||||
|
||||
// grab AccessKey from authorization header
|
||||
func stripAccessKey(r *http.Request) string {
|
||||
fields := strings.Fields(r.Header.Get("Authorization"))
|
||||
|
@ -78,18 +82,20 @@ func (h vHandler) ServeHTTP(w http.ResponseWriter, r *http.Request) {
|
|||
}
|
||||
}
|
||||
|
||||
func ignoreUnimplementedResources(h http.Handler) http.Handler {
|
||||
return http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
|
||||
acceptsContentType := getContentType(r)
|
||||
if ignoreUnImplementedObjectResources(r) || ignoreUnImplementedBucketResources(r) {
|
||||
error := errorCodeError(NotImplemented)
|
||||
errorResponse := getErrorResponse(error, "")
|
||||
w.WriteHeader(error.HttpStatusCode)
|
||||
w.Write(writeErrorResponse(w, errorResponse, acceptsContentType))
|
||||
} else {
|
||||
h.ServeHTTP(w, r)
|
||||
}
|
||||
})
|
||||
func ignoreResourcesHandler(h http.Handler) http.Handler {
|
||||
return rHandler{h}
|
||||
}
|
||||
|
||||
func (h rHandler) ServeHTTP(w http.ResponseWriter, r *http.Request) {
|
||||
acceptsContentType := getContentType(r)
|
||||
if ignoreUnImplementedObjectResources(r) || ignoreUnImplementedBucketResources(r) {
|
||||
error := errorCodeError(NotImplemented)
|
||||
errorResponse := getErrorResponse(error, "")
|
||||
w.WriteHeader(error.HttpStatusCode)
|
||||
w.Write(writeErrorResponse(w, errorResponse, acceptsContentType))
|
||||
} else {
|
||||
h.handler.ServeHTTP(w, r)
|
||||
}
|
||||
}
|
||||
|
||||
//// helpers
|
|
@ -55,5 +55,5 @@ func HttpHandler(storage mstorage.Storage) http.Handler {
|
|||
mux.HandleFunc("/{bucket}/{object:.*}", api.headObjectHandler).Methods("HEAD")
|
||||
mux.HandleFunc("/{bucket}/{object:.*}", api.putObjectHandler).Methods("PUT")
|
||||
|
||||
return validateHandler(conf, ignoreUnimplementedResources(mux))
|
||||
return validateHandler(conf, ignoreResourcesHandler(mux))
|
||||
}
|
Loading…
Reference in a new issue