Skip to content

Commit

Permalink
Remove lock object from JQ spec
Browse files Browse the repository at this point in the history
  • Loading branch information
buger committed Mar 27, 2018
1 parent 3fd5273 commit 2811786
Show file tree
Hide file tree
Showing 2 changed files with 9 additions and 9 deletions.
14 changes: 7 additions & 7 deletions mw_transform_jq.go
Original file line number Diff line number Diff line change
Expand Up @@ -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",
Expand All @@ -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{}
Expand All @@ -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
}
Expand All @@ -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 {
Expand All @@ -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
}
Expand Down
4 changes: 2 additions & 2 deletions res_handler_jq_transform.go
Original file line number Diff line number Diff line change
Expand Up @@ -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)
Expand All @@ -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
}
Expand Down

0 comments on commit 2811786

Please sign in to comment.