From 281178647b9b933c522910203fd243d0bca2ec2e Mon Sep 17 00:00:00 2001 From: Leonid Bugaev Date: Tue, 27 Mar 2018 20:46:52 +0300 Subject: [PATCH] Remove lock object from JQ spec --- mw_transform_jq.go | 14 +++++++------- res_handler_jq_transform.go | 4 ++-- 2 files changed, 9 insertions(+), 9 deletions(-) diff --git a/mw_transform_jq.go b/mw_transform_jq.go index a98710524e9..e69194d8ce8 100644 --- a/mw_transform_jq.go +++ b/mw_transform_jq.go @@ -49,7 +49,7 @@ func (t *TransformJQMiddleware) ProcessRequest(w http.ResponseWriter, r *http.Re return nil, 200 } - err := transformJQBody(r, meta.(*TransformJQSpec), t.Spec.EnableContextVars) + err := t.transformJQBody(r, meta.(*TransformJQSpec)) if err != nil { log.WithFields(logrus.Fields{ "prefix": "inbound-transform-jq", @@ -62,7 +62,7 @@ func (t *TransformJQMiddleware) ProcessRequest(w http.ResponseWriter, r *http.Re return nil, 200 } -func transformJQBody(r *http.Request, t *TransformJQSpec, contextVars bool) error { +func (t *TransformJQMiddleware) transformJQBody(r *http.Request, ts *TransformJQSpec) error { defer r.Body.Close() var bodyObj interface{} @@ -79,7 +79,7 @@ func transformJQBody(r *http.Request, t *TransformJQSpec, contextVars bool) erro "_tyk_context": ctxGetData(r), } - jqResult, err := lockedJQTransform(t, jqObj) + jqResult, err := lockedJQTransform(t.Spec, ts, jqObj) if err != nil { return err } @@ -94,7 +94,7 @@ func transformJQBody(r *http.Request, t *TransformJQSpec, contextVars bool) erro r.Header.Set(hName, hValue) } - if contextVars { + if t.Spec.EnableContextVars { // Set variables in context vars contextDataObject := ctxGetData(r) for k, v := range jqResult.TykContext { @@ -106,10 +106,10 @@ func transformJQBody(r *http.Request, t *TransformJQSpec, contextVars bool) erro return nil } -func lockedJQTransform(t *TransformJQSpec, jqObj map[string]interface{}) (JQResult, error) { - t.Lock() +func lockedJQTransform(s *APISpec, t *TransformJQSpec, jqObj map[string]interface{}) (JQResult, error) { + s.Lock() value, err := t.JQFilter.Handle(jqObj) - t.Unlock() + s.Unlock() if err != nil { return JQResult{}, err } diff --git a/res_handler_jq_transform.go b/res_handler_jq_transform.go index 3f4592e0d43..bb48cd25ab0 100644 --- a/res_handler_jq_transform.go +++ b/res_handler_jq_transform.go @@ -31,7 +31,7 @@ func (h *ResponseTransformJQMiddleware) HandleResponse(rw http.ResponseWriter, r defer res.Body.Close() - t := meta.(*TransformJQSpec) + ts := meta.(*TransformJQSpec) var bodyObj interface{} dec := json.NewDecoder(res.Body) @@ -44,7 +44,7 @@ func (h *ResponseTransformJQMiddleware) HandleResponse(rw http.ResponseWriter, r "response_headers": res.Header, } - jqResult, err := lockedJQTransform(t, jqObj) + jqResult, err := lockedJQTransform(h.Spec, ts, jqObj) if err != nil { return err }