Commit Graph

377 Commits

Author SHA1 Message Date
paoying
c91da997eb
feature(jwt-auth): support base64 secret for jwt-auth plugin. (#1224) 2020-04-08 09:34:14 +08:00
Lien
f5a078274f
feature: add service name and report local server IP for Zipkin plugin (#1386) 2020-04-08 08:47:41 +08:00
YuanSheng Wang
076ecf3ade
bugfix: should not drop the error msg of dns_parse. (#1398)
fix #573 .
2020-04-06 11:04:09 +08:00
Nirojan Selvanathan
25e110135a
featue: Updating the UDP logger to use the batch processor util (#1355) 2020-04-03 16:33:32 +08:00
Nirojan Selvanathan
d90e982e6e
feature: Updating TCP logger to use the batch processor util (#1356) 2020-04-03 10:54:05 +08:00
罗泽轩
eb358e94c8
bugfix: plugin in header_filter/body_filter should be run like log phase (#1383) 2020-04-02 17:20:13 +08:00
Lien
69d2039520
plugin(response-rewrite): rewrite binary data to client by base64 (#1381) 2020-04-02 12:03:58 +08:00
罗泽轩
e24fd851a3
change: blacklist $request_method in proxy-cache's cache key. (#1385)
Close #1307
2020-04-02 08:55:48 +08:00
Wen Ming
c76e7e3623
feature: remove lua dir. (#1351) 2020-03-31 23:23:29 +08:00
iGeeky
84707263d0
plugin(wolf-rbac): added new api change_pwd and user_info. (#1204) 2020-03-31 13:39:49 +08:00
YuanSheng Wang
d7f54ff518
feature: support to print log with specific prefix. (#1284) 2020-03-31 10:25:05 +08:00
Nirojan Selvanathan
52934b5fc7
Batch Processor: Fix for rescheduling execution for max_retry_count is 0 and 1 (#1349) 2020-03-30 09:44:33 +08:00
Nirojan Selvanathan
c3400867d5
Adding test case for public key based introspection (#1354) 2020-03-30 09:42:27 +08:00
YuanSheng Wang
aa13b72c0d
luacov: add new path plugins/limit-count and plugins/utils. (#1357) 2020-03-29 10:58:11 +08:00
Vinci Xu
c363ea46d9
feature: add cors plugin (#1327) 2020-03-29 10:30:59 +08:00
YuanSheng Wang
51684de77b
bugfix: fail to get the http request header by ngx.var. * (#1348)
* bugfix: to get the HTTP request header by `ngx.var.*`, we need to convert
  the name to lower case with dashes replaced by underscores.

more information:

http://nginx.org/en/docs/http/ngx_http_core_module.html#var_http_

* change: the key should be a string object when fetching a value from `ctx.var`.

* bug(make lint): If the code style is bad, do exit with code 1.
2020-03-27 23:13:46 +08:00
qiujiayu
7baa0abd44
feature: if the dns_resolver is not set in the file conf/config.yaml, use the resolver in local DNS. (#1217)
Fix #1164
2020-03-26 09:48:18 +08:00
dabue
5970b50568
change: code style in lua/apisix.lua and t/plugin/proxy-mirror.t (#1339) 2020-03-26 07:23:19 +08:00
罗泽轩
be348805ea
feature: run log plugins in the global rule (#1333)
* feature: run log plugins in the global rule

Close #1202.

* register path as hello3 to avoid conflicts with other test case
2020-03-25 09:48:12 +08:00
Ayeshmantha Perera
8adafa3ee2
feature: add Kafka Logger plugin. (#1312) 2020-03-25 08:26:45 +08:00
Lien
5be1daacb1
deletion: drop webdocket enable control in proxy-rewrite plugin (#1332)
* deletion: drop webdocket enable control in proxy-rewrite plugin

* fix test-case
2020-03-24 21:16:21 +08:00
YuanSheng Wang
67b63b24af
bugfix: added key field when parse route from local yaml. (#1334) 2020-03-24 20:19:04 +08:00
YuanSheng Wang
8d745c7441
test: wait a longer time. (#1323) 2020-03-23 00:03:51 +08:00
YuanSheng Wang
60b88536fe
bugfix: check the count of upstream valid node. (#1292) 2020-03-19 12:07:43 +08:00
罗泽轩
a4509b6d9e
chore: improve the preallocation in deepcopy method (#1298) 2020-03-19 08:12:33 +08:00
agile6v
fc948f9578
feautre: support for proxy mirror plugin. (#1288) 2020-03-19 08:10:03 +08:00
YuanSheng Wang
9837b80ac5
update resty-etcd to version 0.9 . (#1278) 2020-03-16 08:46:30 +08:00
agile6v
864aa16e91
feature: support for proxy caching plugin based on disk. (#1153) 2020-03-15 22:26:08 +08:00
Ayeshmantha Perera
d07871186a
feature: implemented tcp logger plugin. (#1221) 2020-03-15 09:22:13 +08:00
YuanSheng Wang
33699f8407
bugfix(proxy-rewrite): Invalid pattern. (#1267)
Fix #1263
2020-03-14 22:19:13 +08:00
YuanSheng Wang
177892f1a4
bugfix: return the schema of plugin grpc-transcode. (#1265) 2020-03-14 22:01:47 +08:00
YuanSheng Wang
8e8ec23539
bugfix: 'required' should same level as properties, added test case. (#1261)
* travis: use golang binary file directly.
2020-03-14 15:41:02 +08:00
YuanSheng Wang
aa3c71a10a
bugfix: plugin node-status and heartbeat don't have schema. (#1249) 2020-03-14 09:34:34 +08:00
YuanSheng Wang
c53f714613
test: added test cases. (#1252)
fix #1246
2020-03-13 20:06:22 +08:00
YuanSheng Wang
834e9e1873
bugfix: the plugin basic-auth needs required field (#1251)
Fix #1244
2020-03-13 20:05:44 +08:00
Wen Ming
0ff1c820ae
bugfix: hide ssl private key in admin API. (#1240) 2020-03-13 15:56:38 +08:00
Nirojan Selvanathan
1c3fd309f1
test case: adding test case for extending buffer timer (#1222) 2020-03-08 16:00:19 +08:00
Vinci Xu
c2250383f2
bugfix: global ruls admin api should list resource without id (#1199) 2020-03-07 19:51:40 +08:00
Wen Ming
be2eec3c6d
feature: supported key-based authentication to the dashboard. (#1169) 2020-03-05 14:48:27 +08:00
Nirojan Selvanathan
429f0165c2
feature: Moving logs utils and batch processor to utils dir and typo fixes in docs (#1191) 2020-03-04 09:44:17 +08:00
温铭 WenMing
a6f7c8571e
bugfix: return 400 when not pass plugin name to admin API. (#1174) 2020-02-28 16:26:39 +08:00
qiujiayu
b210a7b866
feature: support to load different config file by ENV APISIX_PROFILE profile (#1147) 2020-02-28 08:46:42 +08:00
YuanSheng Wang
0ee3c4be0e
bugfix(prometheus): the balancer IP may be nil, use an empty string i… (#1166)
* bugfix(prometheus): the balancer IP may be nil, use an empty string instead.
2020-02-27 16:14:56 +08:00
YuanSheng Wang
6cca341b7f
test: exported ENV{APISIX_HOME}, allow user to define the working path by himself. (#1160)
* change: enable Lua code coverage.
2020-02-26 21:26:01 +08:00
YuanSheng Wang
188b1849b2
bugfix: compare server_port with number data type. (#1154) 2020-02-24 19:32:32 +08:00
nic-chen
b66ff90f1f
feat: plugin grpc-transcode supports grpc deadline (#1149) 2020-02-24 10:58:15 +08:00
wonglend
5b1a47a38e
feature: Support password auth for plugin limit-count-redis (#1150) 2020-02-24 10:54:48 +08:00
YuanSheng Wang
859e085c21
test: need to escape the character {. (#1148) 2020-02-21 21:02:03 +08:00
Nirojan Selvanathan
d50727bcf0
feature: Batch processor implementation to aggregate logs in batch (#1121) 2020-02-20 15:25:20 +08:00
YuanSheng Wang
fbb9bd039c
bugfix: checked consumer first, it maybe a boolean value when it was beed deleted. (#1139) 2020-02-20 15:23:30 +08:00
YuanSheng Wang
de16a7e04f
bugfix: updated the dns parse result by TTL. (#1077) 2020-02-19 20:30:34 +08:00
YuanSheng Wang
2870b79833
bugfix: missing clear table before to reuse table. (#1134)
* test: avoid to use regex for matching output.
2020-02-18 21:46:56 +08:00
YuanSheng Wang
7bcf15d45b
core: support to set response headers by table. (#1129) 2020-02-18 15:19:12 +08:00
YuanSheng Wang
8cc3380250
test style: formatted by reindex tools. (#1130) 2020-02-18 12:23:02 +08:00
YuanSheng Wang
c881c04368
bugfix: allow write debug log even if the openresty disabled debug model (#1124)
fix https://github.com/apache/incubator-apisix/pull/1121#discussion_r378760095
2020-02-16 11:44:01 +08:00
iGeeky
5fff97d0b1
feature: Add wolf rbac plugin (#1095) 2020-02-06 15:22:49 +08:00
YuanSheng Wang
7a5bd663ca test: style, formatted by reindex. (#1081) 2020-01-28 12:13:03 +08:00
Nirojan Selvanathan
81c37003b7 feature: add UDP logger plugin (#1070) 2020-01-17 23:30:05 +08:00
Lien
e6804360d1 feature: supported to enable Websocket in upstream object (#1051) 2020-01-14 14:37:24 +08:00
YuanSheng Wang
ea7e783fca test: style, reformatted by reindex tools. (#1045) 2020-01-14 09:51:05 +08:00
agile6v
9758a0e334 feature: implemented new fault-injection plugin. (#1042) 2020-01-13 22:22:21 +08:00
KowloonZh
262b9904fb feature: add basic-auth plugin (#1029) 2020-01-13 17:43:04 +08:00
agile6v
70ff4a556d plugin(proxy-rewrite): using schema pattern to check if uri option starts with / in proxy-rewrite plugin. (#1041) 2020-01-12 16:35:05 +08:00
agile6v
c07b8b53a5 bugfix: check if uri option starts with / in proxy-rewrite plugin. (#1039) 2020-01-12 00:24:01 +08:00
Changwei Hu
9c9be959d3 feature: chash key support more flexible ways (#1022)
upstream add hash_on, chash key support more flexible ways
 routes and services admin api add upstream_conf check
2020-01-10 15:17:17 +08:00
YuanSheng Wang
21c06b3cc4
plugin(prometheus): added new field (#1028)
feature: added `router_id` for http code metric.
feature: added `hostname` for nginx connection metric.
2020-01-08 14:00:31 +08:00
Lien
fba93d389e plugin(JWT): JWT authentication plugin compatible with Bearer prefix (#1027) 2020-01-07 10:34:33 +08:00
agile6v
61727d4dbc feature: support regex_uri option in proxy-rewrite plugin (#979) 2020-01-06 12:01:03 +08:00
YuanSheng Wang
9e98773fae
change: responsed a better tip when failed to match any route. (#1013) 2020-01-03 10:11:37 +08:00
YuanSheng Wang
f22f494362 optimize: updated the error message after updated new jsonschema. (#1011) 2020-01-02 21:56:42 +08:00
YuanSheng Wang
c74e6c2d3a feature: supported priority for route. (#998) 2019-12-29 17:11:38 +08:00
YuanSheng Wang
051baded1f
test: avoided listening on unnecessary unix sockets. (#995) 2019-12-24 09:50:22 +08:00
Nirojan Selvanathan
8958c6ce0d test case: Adding unit test for key auth plugin with valid api key (#964) 2019-12-13 13:16:47 +08:00
YuanSheng Wang
c7f9fdf9d7
feature: support to specify TTL for route。 (#807)
Fix #443.
2019-12-06 11:13:24 +08:00
YuanSheng Wang
6eca35e1e2 feature: support for adding the specified request header for upstream health check.(#818) 2019-12-04 13:57:38 +08:00
nic-chen
4517e7b57e test case for grpc transcode pb option (#920) 2019-12-02 10:46:13 +08:00
YuanSheng Wang
536f547df8 test: removed temporary data. (#829) 2019-11-27 10:05:06 +08:00
YuanSheng Wang
70d3f0b608 bug: fixed bug when no valid upstream node. (#893) 2019-11-25 16:46:20 +08:00
YuanSheng Wang
01dc41c8a6
bugfix: fetch the current log level when needs. (#885)
* bugfix: fetch the current log level when needs.
2019-11-23 20:40:47 +08:00
Lien
fbb51ddadd plugin: implement plugin response rewrite 2019-11-21 21:49:53 +08:00
YuanSheng Wang
77ad66206e
bugfix(radixtree_host_uri): match priority, host > uri. (#817)
* bugfix(radixtree_host_uri): match priority, host > uri.

Fix #761.
2019-11-15 17:24:51 +08:00
jiangyongfeng
553f4e9cfd test: fixed typo in test cases #508 (#853) 2019-11-14 12:37:46 +08:00
罗泽轩
5e85e93eac change: don't strip square brackets from the IPv6 (#822)
* change: don't strip square brackets from the IPv6

The OpenResty APIs require the IPv6 literal wrapped inside a square brackets.
Also add tests for IPv6 upstream and update lua-resty-ipmatcher to 0.3.

Fix #816.
2019-11-11 09:49:22 +08:00
贝克
7d33fb66bc bugfix: key-auth plugin cannot run accurately in the case of multiple consumers (#826) 2019-11-10 21:50:57 +08:00
罗泽轩
b7e280033b fix: core.utils.parse_addr didn't parse IPv6 address correctly (#809) 2019-11-06 14:27:08 +08:00
罗泽轩
b67f99b265 chore: fixed typo detected by misspell (#801) 2019-11-05 10:58:04 +08:00
YuanSheng Wang
7c51f6da00 updated jsonschema to v0.4. (#805)
* updated jsonschema to v0.4.

* test: fixed typo.
2019-11-05 10:33:36 +08:00
YuanSheng Wang
ecd4a57a24 test: reformatted by reindex tools. (#798) 2019-11-04 14:14:07 +08:00
Lien
b91d2d36c0 Fix: allow set multiple URI in one route config (#797)
* route support uris

* fix uris in router with test cases

* remove line has trailing whitespace

* remove line has trailing whitespace

* fix test case

* use new test case for  multiple uris
2019-11-04 14:00:52 +08:00
lyyoung
89688d32ad plugin(prometheus): added new field node and new item latency. (#794) 2019-11-03 21:11:52 +08:00
Lien
b119a5c94b bugfix: support more built-in parameters when set chash balancer (#775) 2019-11-03 18:25:51 +08:00
YuanSheng Wang
4ee11806de
travis: supported to run APISIX with Tengine. (#683) 2019-11-02 09:05:38 +08:00
YuanSheng Wang
a1c56ceb53 bugfix: skipped to init etcd if use local file as config center. (#737) 2019-11-02 07:59:59 +08:00
YuanSheng Wang
d112c97a61
bugfix: exported schema for plugin serverless. (#787) 2019-11-01 22:32:19 +08:00
YuanSheng Wang
5c0cb17a6b
ASF: added license header. (#781) 2019-11-01 11:22:49 +08:00
nic-chen
243346a668 featutre: support gRPC proxy #691) 2019-11-01 10:09:01 +08:00
YuanSheng Wang
ad376f83f8
change: updated resty-radixtree to v1.5. (#768)
* feature: supported userdefine lua function in router `radixtree_uri`.
* feature: supported userdefine lua function in router `radixtree_host_uri`.
2019-11-01 09:49:09 +08:00
bobopan
3930456dcc test case: added test cases for upstream priority. (#774) 2019-11-01 09:46:05 +08:00
WenMing
b3fb7ae1f1
license: ingore grpc_server_example dir for check license. (#770) 2019-10-31 10:55:21 +08:00
YuanSheng Wang
da853702d6 feature: supported redirect plugin. (#732) 2019-10-31 10:19:22 +08:00
WenMing
12a2b01b71
license: add ASF header. (#743) 2019-10-31 09:27:28 +08:00
jackstraw
de1492911e bugfix: fix the wrong "method" restriction in plugin's inner api. 2019-10-30 10:41:14 +08:00
YuanSheng Wang
d6c4407921 doc: make installation steps clear and remove useless dependency installations (#729) 2019-10-23 15:27:20 +08:00
YuanSheng Wang
d8b0c2d04c change: removed router r3. (#725) 2019-10-23 12:59:22 +08:00
YuanSheng Wang
d06fbfa13c change: used lua-resty-jsonschema instead of lua-rapidjson. (#703) 2019-10-23 12:58:10 +08:00
YuanSheng Wang
ae8cd02cce plugin(limit-count): put the redis configuration to root directory. (#727) 2019-10-23 12:54:05 +08:00
WenMing
be49cfcc19 feature: support remove header in rewrite plugin. (#692)
* feature: support remove header in rewrite plugin.

fixed https://github.com/iresty/apisix/issues/658
2019-10-15 16:06:28 +08:00
fc13240@gmail.com
f22b0e0d52 bugfix: increase maxLength of certificate (#682) 2019-10-12 16:14:50 +08:00
YuanSheng Wang
9074a8a3b8
feature: support for host + uri as an index (radixtree) (#671) 2019-10-12 14:24:34 +08:00
YuanSheng Wang
0e10fa6c68
feature: enabled HTTP2 and supported to set ssl_protocols. (#663)
* feature: enabled HTTP2 and supported to set `ssl_protocols`.
* bugfix: used default certificate if failed to load certificate by SNI.

Fix #595.
2019-10-10 22:28:58 +08:00
Janko
ff0d82c40c bugfix: keep args of uri when using proxy-write plugin. (#642) 2019-10-09 16:02:38 +08:00
Janko
91ee8e1000 feature: added request headers rewriting in proxy-rewrite plugin (#629) 2019-10-09 15:10:16 +08:00
YuanSheng Wang
d05fcc6854
feature: supported to print the input parameters and return values of… (#641)
* feature: supported to print the input parameters and return values of the specified function for debugging.
2019-10-09 11:26:54 +08:00
YuanSheng Wang
6b875cec33
feature(limit-count): supported global limit count with redis server. (#624) 2019-10-08 13:15:48 +08:00
Janko
d91be43a4f change: remove options hosturischemaenable_websocket of upstream object (#621)
we can rewrite new proxy option by plugin `proxy-rewrite`.
2019-09-27 19:29:59 +08:00
YuanSheng Wang
ec058fe543
feature: added new admin api /admin/node_status. (#617)
* feature: added new admin api `/admin/node_status`.
2019-09-27 19:11:37 +08:00
YuanSheng Wang
d2f891fc51
plugin(proxy-rewrite): added more test cases. (#615)
* plugin(proxy-rewrite): added more test cases.
* bugfix: host of upstream should not support wildcard domain.
2019-09-27 15:57:04 +08:00
Janko
25fd6983ea feature(plugin): rewrite upstream info with plugin proxy-rewrite (#594)
* test: add `proxy-rewrite` plugin test cases
2019-09-27 15:14:48 +08:00
YuanSheng Wang
91e54ab305
change: exported remote_addr def and host_def schema definition. (#610)
* change: exported `remote_addr def` and `host_def` schema definition.
* bugfix: allow uppercase letters in IPv6.
2019-09-27 04:22:26 +08:00
YuanSheng Wang
3f700c5dc1
doc(admin api): route. (#593)
feature: supported new fields hosts, remote_addrs and vars for router.

fix: #592
2019-09-26 17:47:08 +08:00
YuanSheng Wang
4bb9e6ecb9
test: added new test case about https://github.com/iresty/apisix/pull/586. (#587)
* test: added test cases.
2019-09-24 18:26:43 +08:00
Yuansheng
097bcde2fe change: used resty-matcher to match ip address, which support IPv6. 2019-09-23 12:24:12 +08:00
YuanSheng Wang
de3c95da21
feature: support consumer bind plugins. (#544)
* feature: saved consumer plugin information.
* feature: supported to merge plugin with consumer and route.
2019-09-22 06:05:58 +08:00
YuanSheng Wang
894fa584e0
feature: supported to use host name in upstream (#522)
* feature: supported to config resolver in yaml config file.

* feature: supported domain host for upstream node
2019-09-18 17:41:44 +08:00
YuanSheng Wang
681a42cbed
feature: support upstream nodes with a weight of 0. (#536)
* test: added test cases.

* doc: updated doc.

current implementation is enough, it supports weight equal 0 now.
2019-09-18 12:00:53 +08:00
Carlos Hwang
c0a1363e6e feature: support http method 'connect' & 'trace' (#530) 2019-09-17 16:57:51 +08:00
YuanSheng Wang
c080f6cc66
doc: added new example to stream-proxy. (#520)
* doc: added new example to `stream-proxy`.
* doc: new doc about `mqtt-proxy`.
2019-09-16 13:03:26 +08:00
YuanSheng Wang
ad2b67ee81
feature: supported to added pluings to stream routes. (#513)
* feature: supported to added pluings to stream routes.
* feature: supported MQTT protocol.
2019-09-16 10:58:27 +08:00
YuanSheng Wang
4aaaf3ee5a
feature: support dynamic stream(TCP/UDP) proxy in apisix. (#501)
* feature: support stream in apisix.
* doc: added new feature in README.
* CLI and added more doc.
2019-09-12 13:27:18 +08:00
Yuansheng
14d5a38fc3 test: renamed base component. 2019-09-10 16:15:59 +08:00
YuanSheng Wang
912685c818
feature: supported to save/delete/change global rule. (#492)
* feature: supported to load and run global rule.
2019-09-10 15:27:40 +08:00
Yuansheng
4bb40df857 change(test): name style. 2019-09-10 10:07:29 +08:00
YuanSheng Wang
d8d7f018dc
feature: support to load routes from local yaml file. (#464)
* feature: support to load routes from local yaml file.
2019-09-09 17:42:20 +08:00
YuanSheng Wang
af3454c6ee
change: updated component lua-resty-radixtree to v0.7 and updated test (#470)
* change: updated component `lua-resty-radixtree` to v0.7 and updated test
  cases.
2019-09-05 17:23:06 +08:00
WenMing
9ff30c7596 test case: changed savestepsize of luacov from 100 to 10. 2019-09-03 14:30:13 +08:00
Yuansheng
9ff1d3fd44 feature: supported to filter route by Nginx variable for router radixtree_uri. 2019-09-02 15:31:21 +08:00
WenMing
f7c04747d5
feature: implemented openid-connect plugin. (#447) 2019-08-30 19:49:45 +08:00
YuanSheng Wang
ad98a2bfdb
feature: supported to set more upstream options. (#451)
* feature: supported to set more upstream options.
* feature: supported to enable websocket for upstream.
2019-08-30 10:15:58 +08:00
YuanSheng Wang
124a49f267
feature: supported to fetch cookie value from ctx.var which is a easy way. (#449)
* feature: supported to fetch cookie value from ctx.var which is a easy way.
2019-08-29 15:45:53 +08:00
YuanSheng Wang
c32da7c9db feature: support more key for limit-rate, limit-count, limit-conn (#444) 2019-08-27 18:29:42 +08:00
WenMing
1e7f66a428
test case: added doc and more test cases for serverless. (#439) 2019-08-26 13:10:15 +08:00
WenMing
816048338b
feature: added serverless plugins. (#86) 2019-08-26 10:37:36 +08:00
nic-chen
e0b5b7d7d7 test(grpc-transcode): added more test case (#435).
* fix doc
2019-08-24 09:13:52 +08:00
YuanSheng Wang
1002765831
feature: support to match IPv6 request. (#341)
* CLI: supported to listen IPv6.

* feature: supported to match route by remote address.
2019-08-24 09:10:11 +08:00
YuanSheng Wang
94d22c04d3
bugfix(grpc-transcode): checked the response code first. (#433)
* bugfix(grpc-transcode): checked the response code first.
2019-08-23 07:30:39 +08:00
Yuansheng
1108ea786b change: renamed plugin grpc-proxy to grpc-transcode. 2019-08-22 14:57:02 +08:00
nic-chen
e46e8f2130 * feature: support grpc-proxy REST <-> gRPC case. (#410) 2019-08-21 23:10:34 +08:00
Yuansheng
6963fbb6c0 feature: added new API /apisix/admin/plugins/reload to hot reload plugin. 2019-08-20 22:25:11 +08:00
YuanSheng Wang
275cfa8c73
change(router): use radixtree_sni as default SSL router. (#419)
* change(router): use `radixtree_sni` as default SSL router.

* change(route): use `radixtree_uri` as default HTTP(S) router.

* luarocks: removed `lua-resty-libr3` component by default.
2019-08-20 22:07:59 +08:00
YuanSheng Wang
56ca3645eb
feature(router): implemented new SNI router radixtree_sni, and change (#418)
* feature(router): implemented new SNI router `radixtree_sni`, and change
  default router to `radixtree_uri` and `radixtree_sni`.

* optimize: avoided one lrucache call.
2019-08-20 13:03:25 +08:00