From fa5950cf588af06fac99a9af4d4db294e830b7cb Mon Sep 17 00:00:00 2001 From: Leonid Bugaev Date: Thu, 7 Dec 2017 09:54:32 +0200 Subject: [PATCH] Add support for API `config_data` to Coprocess middleware Spec object now have new key `config_data` which contains JSON string representation of `APIDefinition.ConfigData` Fix #1197 --- coprocess.go | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/coprocess.go b/coprocess.go index 58512b7e38d..eecf2c7749f 100644 --- a/coprocess.go +++ b/coprocess.go @@ -3,6 +3,7 @@ package main import ( + "encoding/json" "strings" "github.com/Sirupsen/logrus" @@ -107,9 +108,15 @@ func (c *CoProcessor) ObjectFromRequest(r *http.Request) *coprocess.Object { // Append spec data: if c.Middleware != nil { + configDataAsJson := []byte{"{}"} + if len(c.Middleware.Spec.ConfigData) > 0 { + configDataAsJson, _ = json.Marshal(c.Middleware.Spec.ConfigData) + } + object.Spec = map[string]string{ - "OrgID": c.Middleware.Spec.OrgID, - "APIID": c.Middleware.Spec.APIID, + "OrgID": c.Middleware.Spec.OrgID, + "APIID": c.Middleware.Spec.APIID, + "config_data": string(configDataAsJson), } }