This is an automated email from the ASF dual-hosted git repository.

tianxiaoliang pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/servicecomb-service-center.git


The following commit(s) were added to refs/heads/master by this push:
     new eefdee6  SCB-2176 Fix: Add response obj context value (#914)
eefdee6 is described below

commit eefdee6d86ecb44ba285b4f01d33ace8af6acf82
Author: little-cui <[email protected]>
AuthorDate: Mon Mar 22 22:16:59 2021 +0800

    SCB-2176 Fix: Add response obj context value (#914)
---
 go.mod                                             |  2 +-
 pkg/rest/common.go                                 |  1 +
 server/broker/controller.go                        | 12 ++++++------
 server/rest/admin/controller_v4.go                 |  8 ++++----
 server/rest/controller/rest_util.go                |  5 ++++-
 server/rest/controller/v4/dependency_controller.go |  8 ++++----
 server/rest/controller/v4/instance_controller.go   | 22 +++++++++++-----------
 server/rest/controller/v4/main_controller.go       |  2 +-
 .../rest/controller/v4/microservice_controller.go  | 14 +++++++-------
 server/rest/controller/v4/query_rule_controller.go |  8 ++++----
 server/rest/controller/v4/schema_controller.go     | 10 +++++-----
 server/rest/controller/v4/tag_controller.go        |  8 ++++----
 server/rest/govern/controller_v4.go                | 10 +++++-----
 13 files changed, 57 insertions(+), 53 deletions(-)

diff --git a/go.mod b/go.mod
index 18dad51..04bb139 100644
--- a/go.mod
+++ b/go.mod
@@ -23,7 +23,7 @@ require (
        github.com/go-chassis/go-archaius v1.5.1
        github.com/go-chassis/go-chassis/v2 v2.1.2-0.20210310004133-c9bc42149a18
        github.com/go-chassis/kie-client v0.1.0
-       github.com/golang/protobuf v1.4.2 // indirect
+       github.com/golang/protobuf v1.4.2
        github.com/google/go-cmp v0.5.4 // indirect
        github.com/gorilla/websocket v1.4.2
        github.com/grpc-ecosystem/go-grpc-middleware v1.2.2 // indirect
diff --git a/pkg/rest/common.go b/pkg/rest/common.go
index 3457365..ffe5e8d 100644
--- a/pkg/rest/common.go
+++ b/pkg/rest/common.go
@@ -34,6 +34,7 @@ const (
        CtxMatchPattern   util.CtxKey = "_server_match_pattern"
        CtxMatchFunc      util.CtxKey = "_server_match_func"
        CtxStartTimestamp util.CtxKey = "x-start-timestamp"
+       CtxResponseObject util.CtxKey = "_server_response_object"
 
        ServerChainName = "_server_chain"
 
diff --git a/server/broker/controller.go b/server/broker/controller.go
index 5be1346..15378fa 100644
--- a/server/broker/controller.go
+++ b/server/broker/controller.go
@@ -72,7 +72,7 @@ func (brokerService *Controller) GetHome(w 
http.ResponseWriter, r *http.Request)
 
        respInternal := resp.Response
        resp.Response = nil
-       controller.WriteResponse(w, respInternal, resp)
+       controller.WriteResponse(w, r, respInternal, resp)
 }
 
 func (*Controller) PublishPact(w http.ResponseWriter, r *http.Request) {
@@ -99,7 +99,7 @@ func (*Controller) PublishPact(w http.ResponseWriter, r 
*http.Request) {
        }
        respInternal := resp.Response
        resp.Response = nil
-       controller.WriteResponse(w, respInternal, resp)
+       controller.WriteResponse(w, r, respInternal, resp)
 }
 
 func (*Controller) GetAllProviderPacts(w http.ResponseWriter, r *http.Request) 
{
@@ -125,7 +125,7 @@ func (*Controller) GetAllProviderPacts(w 
http.ResponseWriter, r *http.Request) {
        PactLogger.Infof("Pact info: %s\n", string(linksObj))
        respInternal := resp.Response
        resp.Response = nil
-       controller.WriteResponse(w, respInternal, resp)
+       controller.WriteResponse(w, r, respInternal, resp)
 }
 
 func (*Controller) GetPactsOfProvider(w http.ResponseWriter, r *http.Request) {
@@ -152,7 +152,7 @@ func (*Controller) DeletePacts(w http.ResponseWriter, r 
*http.Request) {
                HostAddress: r.Host,
                Scheme:      getScheme(r),
        })
-       controller.WriteResponse(w, resp, nil)
+       controller.WriteResponse(w, r, resp, nil)
 }
 
 func (*Controller) PublishVerificationResults(w http.ResponseWriter, r 
*http.Request) {
@@ -191,7 +191,7 @@ func (*Controller) PublishVerificationResults(w 
http.ResponseWriter, r *http.Req
        }
        respInternal := resp.Response
        resp.Response = nil
-       controller.WriteResponse(w, respInternal, resp)
+       controller.WriteResponse(w, r, respInternal, resp)
 }
 
 func (*Controller) RetrieveVerificationResults(w http.ResponseWriter, r 
*http.Request) {
@@ -204,7 +204,7 @@ func (*Controller) RetrieveVerificationResults(w 
http.ResponseWriter, r *http.Re
        resp, _ := ServiceAPI.RetrieveVerificationResults(r.Context(), request)
        respInternal := resp.Response
        resp.Response = nil
-       controller.WriteResponse(w, respInternal, resp)
+       controller.WriteResponse(w, r, respInternal, resp)
 }
 
 func getScheme(r *http.Request) string {
diff --git a/server/rest/admin/controller_v4.go 
b/server/rest/admin/controller_v4.go
index 28a1276..71b5189 100644
--- a/server/rest/admin/controller_v4.go
+++ b/server/rest/admin/controller_v4.go
@@ -56,7 +56,7 @@ func (ctrl *ControllerV4) Dump(w http.ResponseWriter, r 
*http.Request) {
 
        respInternal := resp.Response
        resp.Response = nil
-       controller.WriteResponse(w, respInternal, resp)
+       controller.WriteResponse(w, r, respInternal, resp)
 }
 
 func (ctrl *ControllerV4) Clusters(w http.ResponseWriter, r *http.Request) {
@@ -66,7 +66,7 @@ func (ctrl *ControllerV4) Clusters(w http.ResponseWriter, r 
*http.Request) {
 
        respInternal := resp.Response
        resp.Response = nil
-       controller.WriteResponse(w, respInternal, resp)
+       controller.WriteResponse(w, r, respInternal, resp)
 }
 
 func (ctrl *ControllerV4) AlarmList(w http.ResponseWriter, r *http.Request) {
@@ -76,12 +76,12 @@ func (ctrl *ControllerV4) AlarmList(w http.ResponseWriter, 
r *http.Request) {
 
        respInternal := resp.Response
        resp.Response = nil
-       controller.WriteResponse(w, respInternal, resp)
+       controller.WriteResponse(w, r, respInternal, resp)
 }
 
 func (ctrl *ControllerV4) ClearAlarm(w http.ResponseWriter, r *http.Request) {
        request := &dump.ClearAlarmRequest{}
        ctx := r.Context()
        resp, _ := AdminServiceAPI.ClearAlarm(ctx, request)
-       controller.WriteResponse(w, resp.Response, nil)
+       controller.WriteResponse(w, r, resp.Response, nil)
 }
diff --git a/server/rest/controller/rest_util.go 
b/server/rest/controller/rest_util.go
index b325287..c1698c7 100644
--- a/server/rest/controller/rest_util.go
+++ b/server/rest/controller/rest_util.go
@@ -45,7 +45,7 @@ func WriteError(w http.ResponseWriter, code int32, detail 
string) {
        }
 }
 
-func WriteResponse(w http.ResponseWriter, resp *discovery.Response, obj 
interface{}) {
+func WriteResponse(w http.ResponseWriter, r *http.Request, resp 
*discovery.Response, obj interface{}) {
        if resp != nil && resp.GetCode() != discovery.ResponseSuccess {
                WriteError(w, resp.GetCode(), resp.GetMessage())
                return
@@ -58,6 +58,9 @@ func WriteResponse(w http.ResponseWriter, resp 
*discovery.Response, obj interfac
                return
        }
 
+       // async handler maybe need this obj
+       util.SetRequestContext(r, rest.CtxResponseObject, obj)
+
        b, err := json.Marshal(obj)
        if err != nil {
                WriteError(w, discovery.ErrInternal, err.Error())
diff --git a/server/rest/controller/v4/dependency_controller.go 
b/server/rest/controller/v4/dependency_controller.go
index 08b3ae1..7d5ae3d 100644
--- a/server/rest/controller/v4/dependency_controller.go
+++ b/server/rest/controller/v4/dependency_controller.go
@@ -63,7 +63,7 @@ func (s *DependencyService) AddDependenciesForMicroServices(w 
http.ResponseWrite
                controller.WriteError(w, pb.ErrInternal, err.Error())
        }
        w.Header().Add("Deprecation", "version=\"v4\"")
-       controller.WriteResponse(w, resp.Response, nil)
+       controller.WriteResponse(w, r, resp.Response, nil)
 }
 
 func (s *DependencyService) CreateDependenciesForMicroServices(w 
http.ResponseWriter, r *http.Request) {
@@ -86,7 +86,7 @@ func (s *DependencyService) 
CreateDependenciesForMicroServices(w http.ResponseWr
                controller.WriteError(w, pb.ErrInternal, err.Error())
        }
        w.Header().Add("Deprecation", "version=\"v4\"")
-       controller.WriteResponse(w, resp.Response, nil)
+       controller.WriteResponse(w, r, resp.Response, nil)
 }
 
 func (s *DependencyService) GetConProDependencies(w http.ResponseWriter, r 
*http.Request) {
@@ -99,7 +99,7 @@ func (s *DependencyService) GetConProDependencies(w 
http.ResponseWriter, r *http
        resp, _ := core.ServiceAPI.GetConsumerDependencies(r.Context(), request)
        respInternal := resp.Response
        resp.Response = nil
-       controller.WriteResponse(w, respInternal, resp)
+       controller.WriteResponse(w, r, respInternal, resp)
 }
 
 func (s *DependencyService) GetProConDependencies(w http.ResponseWriter, r 
*http.Request) {
@@ -112,5 +112,5 @@ func (s *DependencyService) GetProConDependencies(w 
http.ResponseWriter, r *http
        resp, _ := core.ServiceAPI.GetProviderDependencies(r.Context(), request)
        respInternal := resp.Response
        resp.Response = nil
-       controller.WriteResponse(w, respInternal, resp)
+       controller.WriteResponse(w, r, respInternal, resp)
 }
diff --git a/server/rest/controller/v4/instance_controller.go 
b/server/rest/controller/v4/instance_controller.go
index bb88f58..b711a71 100644
--- a/server/rest/controller/v4/instance_controller.go
+++ b/server/rest/controller/v4/instance_controller.go
@@ -77,7 +77,7 @@ func (s *MicroServiceInstanceService) RegisterInstance(w 
http.ResponseWriter, r
        }
        respInternal := resp.Response
        resp.Response = nil
-       controller.WriteResponse(w, respInternal, resp)
+       controller.WriteResponse(w, r, respInternal, resp)
 }
 
 //TODO 什么样的服务允许更新服务心跳,只能是本服务才可以更新自己,如何屏蔽其他服务伪造的心跳更新?
@@ -88,7 +88,7 @@ func (s *MicroServiceInstanceService) Heartbeat(w 
http.ResponseWriter, r *http.R
                InstanceId: query.Get(":instanceId"),
        }
        resp, _ := core.InstanceAPI.Heartbeat(r.Context(), request)
-       controller.WriteResponse(w, resp.Response, nil)
+       controller.WriteResponse(w, r, resp.Response, nil)
 }
 
 func (s *MicroServiceInstanceService) HeartbeatSet(w http.ResponseWriter, r 
*http.Request) {
@@ -109,12 +109,12 @@ func (s *MicroServiceInstanceService) HeartbeatSet(w 
http.ResponseWriter, r *htt
        resp, _ := core.InstanceAPI.HeartbeatSet(r.Context(), request)
 
        if resp.Response.GetCode() == pb.ResponseSuccess {
-               controller.WriteResponse(w, nil, nil)
+               controller.WriteResponse(w, r, nil, nil)
                return
        }
        respInternal := resp.Response
        resp.Response = nil
-       controller.WriteResponse(w, respInternal, resp)
+       controller.WriteResponse(w, r, respInternal, resp)
 }
 
 func (s *MicroServiceInstanceService) UnregisterInstance(w 
http.ResponseWriter, r *http.Request) {
@@ -124,7 +124,7 @@ func (s *MicroServiceInstanceService) UnregisterInstance(w 
http.ResponseWriter,
                InstanceId: query.Get(":instanceId"),
        }
        resp, _ := core.InstanceAPI.Unregister(r.Context(), request)
-       controller.WriteResponse(w, resp.Response, nil)
+       controller.WriteResponse(w, r, resp.Response, nil)
 }
 
 func (s *MicroServiceInstanceService) FindInstances(w http.ResponseWriter, r 
*http.Request) {
@@ -157,7 +157,7 @@ func (s *MicroServiceInstanceService) FindInstances(w 
http.ResponseWriter, r *ht
                return
        }
 
-       controller.WriteResponse(w, respInternal, resp)
+       controller.WriteResponse(w, r, respInternal, resp)
 }
 
 func (s *MicroServiceInstanceService) InstancesAction(w http.ResponseWriter, r 
*http.Request) {
@@ -183,7 +183,7 @@ func (s *MicroServiceInstanceService) InstancesAction(w 
http.ResponseWriter, r *
                resp, _ := core.InstanceAPI.BatchFind(ctx, request)
                respInternal := resp.Response
                resp.Response = nil
-               controller.WriteResponse(w, respInternal, resp)
+               controller.WriteResponse(w, r, respInternal, resp)
        default:
                err = fmt.Errorf("Invalid action: %s", action)
                log.Errorf(err, "invalid request")
@@ -216,7 +216,7 @@ func (s *MicroServiceInstanceService) GetOneInstance(w 
http.ResponseWriter, r *h
                w.WriteHeader(http.StatusNotModified)
                return
        }
-       controller.WriteResponse(w, respInternal, resp)
+       controller.WriteResponse(w, r, respInternal, resp)
 }
 
 func (s *MicroServiceInstanceService) GetInstances(w http.ResponseWriter, r 
*http.Request) {
@@ -242,7 +242,7 @@ func (s *MicroServiceInstanceService) GetInstances(w 
http.ResponseWriter, r *htt
                w.WriteHeader(http.StatusNotModified)
                return
        }
-       controller.WriteResponse(w, respInternal, resp)
+       controller.WriteResponse(w, r, respInternal, resp)
 }
 
 func (s *MicroServiceInstanceService) UpdateStatus(w http.ResponseWriter, r 
*http.Request) {
@@ -254,7 +254,7 @@ func (s *MicroServiceInstanceService) UpdateStatus(w 
http.ResponseWriter, r *htt
                Status:     status,
        }
        resp, _ := core.InstanceAPI.UpdateStatus(r.Context(), request)
-       controller.WriteResponse(w, resp.Response, nil)
+       controller.WriteResponse(w, r, resp.Response, nil)
 }
 
 func (s *MicroServiceInstanceService) UpdateMetadata(w http.ResponseWriter, r 
*http.Request) {
@@ -280,5 +280,5 @@ func (s *MicroServiceInstanceService) UpdateMetadata(w 
http.ResponseWriter, r *h
                log.Errorf(err, "can not update instance")
                controller.WriteError(w, pb.ErrInternal, "can not update 
instance")
        }
-       controller.WriteResponse(w, resp.Response, nil)
+       controller.WriteResponse(w, r, resp.Response, nil)
 }
diff --git a/server/rest/controller/v4/main_controller.go 
b/server/rest/controller/v4/main_controller.go
index 2719245..01e6d9b 100644
--- a/server/rest/controller/v4/main_controller.go
+++ b/server/rest/controller/v4/main_controller.go
@@ -57,7 +57,7 @@ func (s *MainService) ClusterHealth(w http.ResponseWriter, r 
*http.Request) {
        resp, _ := core.InstanceAPI.ClusterHealth(r.Context())
        respInternal := resp.Response
        resp.Response = nil
-       controller.WriteResponse(w, respInternal, resp)
+       controller.WriteResponse(w, r, respInternal, resp)
 }
 
 func (s *MainService) GetVersion(w http.ResponseWriter, r *http.Request) {
diff --git a/server/rest/controller/v4/microservice_controller.go 
b/server/rest/controller/v4/microservice_controller.go
index 64040eb..43254c9 100644
--- a/server/rest/controller/v4/microservice_controller.go
+++ b/server/rest/controller/v4/microservice_controller.go
@@ -70,7 +70,7 @@ func (s *MicroServiceService) Register(w http.ResponseWriter, 
r *http.Request) {
        }
        respInternal := resp.Response
        resp.Response = nil
-       controller.WriteResponse(w, respInternal, resp)
+       controller.WriteResponse(w, r, respInternal, resp)
 }
 
 func (s *MicroServiceService) Update(w http.ResponseWriter, r *http.Request) {
@@ -95,7 +95,7 @@ func (s *MicroServiceService) Update(w http.ResponseWriter, r 
*http.Request) {
                controller.WriteError(w, pb.ErrInternal, "can not update 
service")
                return
        }
-       controller.WriteResponse(w, resp.Response, nil)
+       controller.WriteResponse(w, r, resp.Response, nil)
 }
 
 func (s *MicroServiceService) Unregister(w http.ResponseWriter, r 
*http.Request) {
@@ -119,7 +119,7 @@ func (s *MicroServiceService) Unregister(w 
http.ResponseWriter, r *http.Request)
                controller.WriteError(w, pb.ErrInternal, "delete service 
failed")
                return
        }
-       controller.WriteResponse(w, resp.Response, nil)
+       controller.WriteResponse(w, r, resp.Response, nil)
 }
 
 func (s *MicroServiceService) GetServices(w http.ResponseWriter, r 
*http.Request) {
@@ -132,7 +132,7 @@ func (s *MicroServiceService) GetServices(w 
http.ResponseWriter, r *http.Request
        }
        respInternal := resp.Response
        resp.Response = nil
-       controller.WriteResponse(w, respInternal, resp)
+       controller.WriteResponse(w, r, respInternal, resp)
 }
 
 func (s *MicroServiceService) GetExistence(w http.ResponseWriter, r 
*http.Request) {
@@ -156,7 +156,7 @@ func (s *MicroServiceService) GetExistence(w 
http.ResponseWriter, r *http.Reques
        respInternal := resp.Response
        resp.Response = nil
        resp.Summary = ""
-       controller.WriteResponse(w, respInternal, resp)
+       controller.WriteResponse(w, r, respInternal, resp)
 }
 
 func (s *MicroServiceService) GetServiceOne(w http.ResponseWriter, r 
*http.Request) {
@@ -171,7 +171,7 @@ func (s *MicroServiceService) GetServiceOne(w 
http.ResponseWriter, r *http.Reque
        }
        respInternal := resp.Response
        resp.Response = nil
-       controller.WriteResponse(w, respInternal, resp)
+       controller.WriteResponse(w, r, respInternal, resp)
 }
 
 func (s *MicroServiceService) UnregisterServices(w http.ResponseWriter, r 
*http.Request) {
@@ -199,5 +199,5 @@ func (s *MicroServiceService) UnregisterServices(w 
http.ResponseWriter, r *http.
        }
        respInternal := resp.Response
        resp.Response = nil
-       controller.WriteResponse(w, respInternal, resp)
+       controller.WriteResponse(w, r, respInternal, resp)
 }
diff --git a/server/rest/controller/v4/query_rule_controller.go 
b/server/rest/controller/v4/query_rule_controller.go
index 03dc171..cfce2d0 100644
--- a/server/rest/controller/v4/query_rule_controller.go
+++ b/server/rest/controller/v4/query_rule_controller.go
@@ -69,7 +69,7 @@ func (s *RuleService) AddRule(w http.ResponseWriter, r 
*http.Request) {
        }
        respInternal := resp.Response
        resp.Response = nil
-       controller.WriteResponse(w, respInternal, resp)
+       controller.WriteResponse(w, r, respInternal, resp)
 }
 
 func (s *RuleService) DeleteRule(w http.ResponseWriter, r *http.Request) {
@@ -81,7 +81,7 @@ func (s *RuleService) DeleteRule(w http.ResponseWriter, r 
*http.Request) {
                ServiceId: query.Get(":serviceId"),
                RuleIds:   ids,
        })
-       controller.WriteResponse(w, resp.Response, nil)
+       controller.WriteResponse(w, r, resp.Response, nil)
 }
 
 func (s *RuleService) UpdateRule(w http.ResponseWriter, r *http.Request) {
@@ -110,7 +110,7 @@ func (s *RuleService) UpdateRule(w http.ResponseWriter, r 
*http.Request) {
                controller.WriteError(w, pb.ErrInternal, "update rule failed")
                return
        }
-       controller.WriteResponse(w, resp.Response, nil)
+       controller.WriteResponse(w, r, resp.Response, nil)
 }
 
 func (s *RuleService) GetRules(w http.ResponseWriter, r *http.Request) {
@@ -119,5 +119,5 @@ func (s *RuleService) GetRules(w http.ResponseWriter, r 
*http.Request) {
        })
        respInternal := resp.Response
        resp.Response = nil
-       controller.WriteResponse(w, respInternal, resp)
+       controller.WriteResponse(w, r, respInternal, resp)
 }
diff --git a/server/rest/controller/v4/schema_controller.go 
b/server/rest/controller/v4/schema_controller.go
index 494b552..cdb642f 100644
--- a/server/rest/controller/v4/schema_controller.go
+++ b/server/rest/controller/v4/schema_controller.go
@@ -69,7 +69,7 @@ func (s *SchemaService) GetSchemas(w http.ResponseWriter, r 
*http.Request) {
        resp.SchemaSummary = ""
        respInternal := resp.Response
        resp.Response = nil
-       controller.WriteResponse(w, respInternal, resp)
+       controller.WriteResponse(w, r, respInternal, resp)
 }
 
 func (s *SchemaService) ModifySchema(w http.ResponseWriter, r *http.Request) {
@@ -96,7 +96,7 @@ func (s *SchemaService) ModifySchema(w http.ResponseWriter, r 
*http.Request) {
                controller.WriteError(w, pb.ErrInternal, "can not update 
schema")
                return
        }
-       controller.WriteResponse(w, resp.Response, nil)
+       controller.WriteResponse(w, r, resp.Response, nil)
 }
 
 func (s *SchemaService) ModifySchemas(w http.ResponseWriter, r *http.Request) {
@@ -121,7 +121,7 @@ func (s *SchemaService) ModifySchemas(w 
http.ResponseWriter, r *http.Request) {
                controller.WriteError(w, pb.ErrInternal, "can not update 
schema")
                return
        }
-       controller.WriteResponse(w, resp.Response, nil)
+       controller.WriteResponse(w, r, resp.Response, nil)
 }
 
 func (s *SchemaService) DeleteSchemas(w http.ResponseWriter, r *http.Request) {
@@ -131,7 +131,7 @@ func (s *SchemaService) DeleteSchemas(w 
http.ResponseWriter, r *http.Request) {
                SchemaId:  query.Get(":schemaId"),
        }
        resp, _ := core.ServiceAPI.DeleteSchema(r.Context(), request)
-       controller.WriteResponse(w, resp.Response, nil)
+       controller.WriteResponse(w, r, resp.Response, nil)
 }
 
 func (s *SchemaService) GetAllSchemas(w http.ResponseWriter, r *http.Request) {
@@ -149,5 +149,5 @@ func (s *SchemaService) GetAllSchemas(w 
http.ResponseWriter, r *http.Request) {
        resp, _ := core.ServiceAPI.GetAllSchemaInfo(r.Context(), request)
        respInternal := resp.Response
        resp.Response = nil
-       controller.WriteResponse(w, respInternal, resp)
+       controller.WriteResponse(w, r, respInternal, resp)
 }
diff --git a/server/rest/controller/v4/tag_controller.go 
b/server/rest/controller/v4/tag_controller.go
index c85823e..6576491 100644
--- a/server/rest/controller/v4/tag_controller.go
+++ b/server/rest/controller/v4/tag_controller.go
@@ -68,7 +68,7 @@ func (s *TagService) AddTags(w http.ResponseWriter, r 
*http.Request) {
                controller.WriteError(w, pb.ErrInternal, "can not add tag")
                return
        }
-       controller.WriteResponse(w, resp.Response, nil)
+       controller.WriteResponse(w, r, resp.Response, nil)
 }
 
 func (s *TagService) UpdateTag(w http.ResponseWriter, r *http.Request) {
@@ -78,7 +78,7 @@ func (s *TagService) UpdateTag(w http.ResponseWriter, r 
*http.Request) {
                Key:       query.Get(":key"),
                Value:     query.Get("value"),
        })
-       controller.WriteResponse(w, resp.Response, nil)
+       controller.WriteResponse(w, r, resp.Response, nil)
 }
 
 func (s *TagService) GetTags(w http.ResponseWriter, r *http.Request) {
@@ -87,7 +87,7 @@ func (s *TagService) GetTags(w http.ResponseWriter, r 
*http.Request) {
        })
        respInternal := resp.Response
        resp.Response = nil
-       controller.WriteResponse(w, respInternal, resp)
+       controller.WriteResponse(w, r, respInternal, resp)
 }
 
 func (s *TagService) DeleteTags(w http.ResponseWriter, r *http.Request) {
@@ -99,5 +99,5 @@ func (s *TagService) DeleteTags(w http.ResponseWriter, r 
*http.Request) {
                ServiceId: query.Get(":serviceId"),
                Keys:      ids,
        })
-       controller.WriteResponse(w, resp.Response, nil)
+       controller.WriteResponse(w, r, resp.Response, nil)
 }
diff --git a/server/rest/govern/controller_v4.go 
b/server/rest/govern/controller_v4.go
index 7bb2c92..659f015 100644
--- a/server/rest/govern/controller_v4.go
+++ b/server/rest/govern/controller_v4.go
@@ -86,7 +86,7 @@ func (governService *ResourceV4) GetGraph(w 
http.ResponseWriter, r *http.Request
                if err != nil {
                        log.Errorf(err, "get service[%s/%s/%s/%s]'s providers 
failed",
                                service.Environment, service.AppId, 
service.ServiceName, service.Version)
-                       controller.WriteResponse(w, proResp.Response, nil)
+                       controller.WriteResponse(w, r, proResp.Response, nil)
                        return
                }
 
@@ -95,7 +95,7 @@ func (governService *ResourceV4) GetGraph(w 
http.ResponseWriter, r *http.Request
                graph.Lines = append(graph.Lines, lines...)
        }
        graph.Nodes = nodes
-       controller.WriteResponse(w, nil, graph)
+       controller.WriteResponse(w, r, nil, graph)
 }
 
 func (governService *ResourceV4) genLinesFromNode(withShared bool, 
domainProject string, node Node, providers []*pb.MicroService) []Line {
@@ -135,7 +135,7 @@ func (governService *ResourceV4) GetServiceDetail(w 
http.ResponseWriter, r *http
 
        respInternal := resp.Response
        resp.Response = nil
-       controller.WriteResponse(w, respInternal, resp)
+       controller.WriteResponse(w, r, respInternal, resp)
 }
 
 func (governService *ResourceV4) GetAllServicesInfo(w http.ResponseWriter, r 
*http.Request) {
@@ -159,7 +159,7 @@ func (governService *ResourceV4) GetAllServicesInfo(w 
http.ResponseWriter, r *ht
 
        respInternal := resp.Response
        resp.Response = nil
-       controller.WriteResponse(w, respInternal, resp)
+       controller.WriteResponse(w, r, respInternal, resp)
 }
 
 func (governService *ResourceV4) GetAllApplications(w http.ResponseWriter, r 
*http.Request) {
@@ -172,5 +172,5 @@ func (governService *ResourceV4) GetAllApplications(w 
http.ResponseWriter, r *ht
 
        respInternal := resp.Response
        resp.Response = nil
-       controller.WriteResponse(w, respInternal, resp)
+       controller.WriteResponse(w, r, respInternal, resp)
 }

Reply via email to