From 4219eab1e4b402ff3bb25a4b349721ec7ae36bb0 Mon Sep 17 00:00:00 2001 From: zhouruiyu Date: Sat, 15 Oct 2016 15:55:58 +0800 Subject: pass the X-Driver-Parameter to the driver. and also send the query parameter there. https://jira.open-o.org/browse/OCS-112 Change-Id: I6dab43adc753695583c1835a9ac9db8cd97eb299 Signed-off-by: zhouruiyu --- .../openresty/nginx/luaext/plugins/driver_manager.lua | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/msb-core/openresty-ext/src/assembly/resources/openresty/nginx/luaext/plugins/driver_manager.lua b/msb-core/openresty-ext/src/assembly/resources/openresty/nginx/luaext/plugins/driver_manager.lua index 1dc1af7..fac8a64 100644 --- a/msb-core/openresty-ext/src/assembly/resources/openresty/nginx/luaext/plugins/driver_manager.lua +++ b/msb-core/openresty-ext/src/assembly/resources/openresty/nginx/luaext/plugins/driver_manager.lua @@ -41,8 +41,10 @@ end local function get_driver_url(driver_header) local cjson = require "cjson" local query_url = get_query_url(driver_header) + local driver_header_value = get_driver_header(); ngx.req.clear_header(_HEADER) local res = ngx.location.capture(query_url, { method = ngx.HTTP_GET}) + ngx.req.set_header(_HEADER, driver_header_value); ngx.log (ngx.ERR, "Driver manager resp url : ", tostring(res.body)) if (res.status == 200 and res.body ~= nil and res.body ~= '') then @@ -52,6 +54,14 @@ local function get_driver_url(driver_header) end end +-- get the ori query param string +local function get_ori_query() + local args = ngx.req.get_uri_args(); + local ori_query_param = "?"..ngx.encode_args(args); + ngx.log(ngx.ERR, "The original request query parameter is ", ori_query_param); + return ori_query_param; +end + -- get headers local function get_headers() local headers = {} @@ -86,7 +96,7 @@ function _M.access() if (driver_header ~= "") then - local driver_url = get_driver_url(driver_header) + local driver_url = get_driver_url(driver_header)..get_ori_query(); ngx.log (ngx.ERR, "Driver manager URl:: ", driver_url) local http = require "resty.http" -- cgit 1.2.3-korg