This is an automated email from the ASF dual-hosted git repository. membphis pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/apisix.git
The following commit(s) were added to refs/heads/master by this push: new 5fcbb4d plugin(consumer-restriction): use draft7 way to rewrite the JSON Schema. (#2440) 5fcbb4d is described below commit 5fcbb4de9cdaac2570f8132fca98fc2bd2a93a0a Author: JinChen <36916582+jayc...@users.noreply.github.com> AuthorDate: Mon Oct 19 09:55:08 2020 +0800 plugin(consumer-restriction): use draft7 way to rewrite the JSON Schema. (#2440) fix: #2402 --- apisix/plugins/consumer-restriction.lua | 54 +++++++++++++++++++++------------ t/plugin/consumer-restriction.t | 7 +++-- 2 files changed, 38 insertions(+), 23 deletions(-) diff --git a/apisix/plugins/consumer-restriction.lua b/apisix/plugins/consumer-restriction.lua index f80e096..68b1711 100644 --- a/apisix/plugins/consumer-restriction.lua +++ b/apisix/plugins/consumer-restriction.lua @@ -19,27 +19,41 @@ local core = require("apisix.core") local schema = { type = "object", - properties = { - type = { - type = "string", - enum = {"consumer_name", "service_id"}, - default = "consumer_name" - }, - whitelist = { - type = "array", - items = {type = "string"}, - minItems = 1 - }, - blacklist = { - type = "array", - items = {type = "string"}, - minItems = 1 - }, - rejected_code = {type = "integer", minimum = 200, default = 403} - }, oneOf = { - {required = {"whitelist"}}, - {required = {"blacklist"}} + { + title = "blacklist", + properties = { + type = { + type = "string", + enum = {"consumer_name", "service_id"}, + default = "consumer_name" + }, + blacklist = { + type = "array", + minItems = 1, + items = {type = "string"} + }, + rejected_code = {type = "integer", minimum = 200, default = 403} + }, + required = {"blacklist"}, + }, + { + title = "whitelist", + properties = { + type = { + type = "string", + enum = {"consumer_name", "service_id"}, + default = "consumer_name" + }, + whitelist = { + type = "array", + minItems = 1, + items = {type = "string"} + }, + rejected_code = {type = "integer", minimum = 200, default = 403} + }, + required = {"whitelist"}, + } } } diff --git a/t/plugin/consumer-restriction.t b/t/plugin/consumer-restriction.t index afa7492..bca9817 100644 --- a/t/plugin/consumer-restriction.t +++ b/t/plugin/consumer-restriction.t @@ -30,8 +30,9 @@ __DATA__ location /t { content_by_lua_block { local plugin = require("apisix.plugins.consumer-restriction") - local conf = { - whitelist = { + local conf = { + title = "whitelist", + whitelist = { "jack1", "jack2" } @@ -47,7 +48,7 @@ __DATA__ --- request GET /t --- response_body -{"rejected_code":403,"type":"consumer_name","whitelist":["jack1","jack2"]} +{"type":"consumer_name","title":"whitelist","rejected_code":403,"whitelist":["jack1","jack2"]} --- no_error_log [error]