From 1ae0c8d11018ac804be96062c34fcf0d9015ef35 Mon Sep 17 00:00:00 2001 From: HuabingZhao Date: Sat, 13 Aug 2016 14:10:39 +0800 Subject: Initial code import Change-Id: I839b84e5600aedece6c33deb16bec1bf9dbb61df Signed-off-by: HuabingZhao --- .../openresty/nginx/luaext/lib/tools/db_cache.lua | 54 ++++++++++++++++++++ .../openresty/nginx/luaext/lib/utils/log_util.lua | 28 ++++++++++ .../openresty/nginx/luaext/lib/utils/svc_util.lua | 59 ++++++++++++++++++++++ .../nginx/luaext/lib/utils/table_util.lua | 30 +++++++++++ 4 files changed, 171 insertions(+) create mode 100644 openresty-ext/src/assembly/resources/openresty/nginx/luaext/lib/tools/db_cache.lua create mode 100644 openresty-ext/src/assembly/resources/openresty/nginx/luaext/lib/utils/log_util.lua create mode 100644 openresty-ext/src/assembly/resources/openresty/nginx/luaext/lib/utils/svc_util.lua create mode 100644 openresty-ext/src/assembly/resources/openresty/nginx/luaext/lib/utils/table_util.lua (limited to 'openresty-ext/src/assembly/resources/openresty/nginx/luaext/lib') diff --git a/openresty-ext/src/assembly/resources/openresty/nginx/luaext/lib/tools/db_cache.lua b/openresty-ext/src/assembly/resources/openresty/nginx/luaext/lib/tools/db_cache.lua new file mode 100644 index 0000000..7f40590 --- /dev/null +++ b/openresty-ext/src/assembly/resources/openresty/nginx/luaext/lib/tools/db_cache.lua @@ -0,0 +1,54 @@ +--[[ + + Copyright (C) 2016 ZTE, Inc. and others. All rights reserved. (ZTE) + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + +--]] + +-- db cache over LRUCache, used within one worker processes +local _M = {} +_M._VERSION = '1.0.0' + +local lrucache = require "resty.lrucache" + +local EMPTY_DATA = '_EMPTY_' + +-- we need to initialize the cache on the lua module level so that +-- it can be shared by all the requests served by each nginx worker process: +local cache,err = lrucache.new(200) -- allow up to 200 items in the cache +if not cache then + return ngx.log(ngx.ERR,"failed to create the cache: " .. (err or "unknown")) +end + +function _M.get(key) + return cache:get(key) +end + +function _M.set(key,value) + return _M:set(key, value, nil) +end + +function _M.set(key,value,ttl) + if not value then + value = EMPTY_DATA + end + return cache:set(key, value, ttl) +end + +-- check if the data returned by get() is considered empty +function _M.is_empty(data) + return data == EMPTY_DATA +end + +return _M \ No newline at end of file diff --git a/openresty-ext/src/assembly/resources/openresty/nginx/luaext/lib/utils/log_util.lua b/openresty-ext/src/assembly/resources/openresty/nginx/luaext/lib/utils/log_util.lua new file mode 100644 index 0000000..67b0e26 --- /dev/null +++ b/openresty-ext/src/assembly/resources/openresty/nginx/luaext/lib/utils/log_util.lua @@ -0,0 +1,28 @@ +--[[ + + Copyright (C) 2016 ZTE, Inc. and others. All rights reserved. (ZTE) + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + +--]] + +local _M = {} +_M._VERSION = '1.0.0' + +function _M.log(k, v) + --if empty,initialize it + if not ngx.ctx.logtbl then ngx.ctx.logtbl = {} end + ngx.ctx.logtbl[k] = v +end + +return _M \ No newline at end of file diff --git a/openresty-ext/src/assembly/resources/openresty/nginx/luaext/lib/utils/svc_util.lua b/openresty-ext/src/assembly/resources/openresty/nginx/luaext/lib/utils/svc_util.lua new file mode 100644 index 0000000..224b321 --- /dev/null +++ b/openresty-ext/src/assembly/resources/openresty/nginx/luaext/lib/utils/svc_util.lua @@ -0,0 +1,59 @@ +--[[ + + Copyright (C) 2016 ZTE, Inc. and others. All rights reserved. (ZTE) + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + +--]] + +local _M = {} +_M._VERSION = '1.0.0' + +local tbl_util = require('lib.utils.table_util') +local msbConf= require('conf.msbinit') +local log_util = require('lib.utils.log_util') +local tbl_isempty = tbl_util.isempty +local enableauthcheck = msbConf.systemConf.enableauthcheck +local log = log_util.log + +function _M.isactive(svcinfo) + if tbl_isempty(svcinfo) then + return false + end + if svcinfo["status"] == "1" then + return true + else + return false + end +end + +function _M.isautodiscover(svcinfo) + if tbl_isempty(svcinfo) then + return false + end + if svcinfo["autoDiscover"] == "1" then + return true + else + return false + end +end + +function _M.setauthheader(svcinfo) + --if auth check enabled and this service is inter-system then add sth + if enableauthcheck and svcinfo["visualRange"] == "0" then + ngx.req.set_header("Z-EXTENT", "C012089CF43DE687B23B2C0176B344EE") + log("add Z-EXTENT",true) + end +end + +return _M \ No newline at end of file diff --git a/openresty-ext/src/assembly/resources/openresty/nginx/luaext/lib/utils/table_util.lua b/openresty-ext/src/assembly/resources/openresty/nginx/luaext/lib/utils/table_util.lua new file mode 100644 index 0000000..c1ddbfe --- /dev/null +++ b/openresty-ext/src/assembly/resources/openresty/nginx/luaext/lib/utils/table_util.lua @@ -0,0 +1,30 @@ +--[[ + + Copyright (C) 2016 ZTE, Inc. and others. All rights reserved. (ZTE) + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + +--]] + +local _M = {} +_M._VERSION = '1.0.0' + +function _M.isempty(t) + if t == nil or next(t) == nil then + return true + else + return false + end +end + +return _M \ No newline at end of file -- cgit 1.2.3-korg