From 962b42d0ef94fc9a31cd92d0255740e14d8fd7c7 Mon Sep 17 00:00:00 2001 From: Weinan Qiu Date: Fri, 31 Jan 2020 22:02:06 -0500 Subject: [PATCH] fix bug where header was wrote after status code --- cmd/api/handler.go | 5 ----- pkg/v2/handlerutil/response.go | 2 +- 2 files changed, 1 insertion(+), 6 deletions(-) diff --git a/cmd/api/handler.go b/cmd/api/handler.go index e97f64f7..6b3da69d 100644 --- a/cmd/api/handler.go +++ b/cmd/api/handler.go @@ -242,7 +242,6 @@ func ServiceProviderConfigHandler(config *spec.ServiceProviderConfig) func(rw ht } return func(rw http.ResponseWriter, r *http.Request, params httprouter.Params) { - rw.WriteHeader(200) rw.Header().Set("Content-Type", "application/json+scim") _, _ = rw.Write(raw) } @@ -267,7 +266,6 @@ func ResourceTypesHandler(resourceTypes ...*spec.ResourceType) func(rw http.Resp } return func(rw http.ResponseWriter, r *http.Request, params httprouter.Params) { - rw.WriteHeader(200) rw.Header().Set("Content-Type", recorder.Header().Get("Content-Type")) _, _ = rw.Write(recorder.Body.Bytes()) } @@ -291,7 +289,6 @@ func ResourceTypeByIdHandler(resourceTypes ...*spec.ResourceType) func(rw http.R return } - rw.WriteHeader(200) rw.Header().Set("Content-Type", "application/json+scim") _, _ = rw.Write(raw) } @@ -319,7 +316,6 @@ func SchemasHandler() func(rw http.ResponseWriter, r *http.Request, params httpr } return func(rw http.ResponseWriter, r *http.Request, params httprouter.Params) { - rw.WriteHeader(200) rw.Header().Set("Content-Type", recorder.Header().Get("Content-Type")) _, _ = rw.Write(recorder.Body.Bytes()) } @@ -351,7 +347,6 @@ func SchemaByIdHandler() func(rw http.ResponseWriter, r *http.Request, params ht return } - rw.WriteHeader(200) rw.Header().Set("Content-Type", "application/json+scim") _, _ = rw.Write(raw) } diff --git a/pkg/v2/handlerutil/response.go b/pkg/v2/handlerutil/response.go index 024efe49..6711ffbb 100644 --- a/pkg/v2/handlerutil/response.go +++ b/pkg/v2/handlerutil/response.go @@ -83,8 +83,8 @@ func WriteError(rw http.ResponseWriter, err error) error { errMsg.ScimType = spec.ErrInternal.Type } - rw.WriteHeader(errMsg.Status) rw.Header().Set("Content-Type", "application/json+scim") + rw.WriteHeader(errMsg.Status) raw, jsonErr := json.Marshal(errMsg) if jsonErr != nil {