Commit Graph

329 Commits

Author SHA1 Message Date
YuanSheng Wang
e38d0a9dc8
change: update resty-radixtree to version 1.9 . (#1730) 2020-06-19 12:24:52 +08:00
Vinci Xu
3010e04d47
feat[batch-request]: cp all header to every request (#1697) 2020-06-16 18:09:02 +08:00
Nirojan Selvanathan
cd98a2bec8
feature: support authorization Plugin for Keycloak Identity Server (#1701) 2020-06-16 13:51:36 +08:00
Ayeshmantha Perera
1764890d08
feature: support body filter plugin echo. (#1632) 2020-06-13 20:56:11 +08:00
YuanSheng Wang
b34b554597
change: set default reject code for some plugins (#1696)
plugin list:

limit-count
limit-conn
limit-req
2020-06-11 15:30:14 +08:00
stone4774
d6cee162d6
plugin: add consumer-restriction (#1437) 2020-06-08 12:49:46 +08:00
dabue
171db26e12
test: add test case for #1625 to test the filed of overhead (#1645) 2020-06-05 21:23:42 +08:00
Wen Ming
f615cf7134
feature: support http_to_https in redirect plugin. (#1642) 2020-06-03 17:46:58 +08:00
Wen Ming
82f85e5946
test: added test tests for skywalking. (#1621) 2020-06-02 12:24:56 +08:00
Vinci Xu
6faf3ef2ed
bugfix(batch-requests): support cookie (#1599) 2020-06-02 09:26:24 +08:00
Wen Ming
398941b72f
feature: add skywalking plugin. (#1241) 2020-05-27 17:55:47 +08:00
Wen Ming
67a2096540
test cases: add doc and test cases for how to redirect http to https. (#1595)
* add FAQ about redirect http To https

* add test cases for serverless plugin and redirect plugin

Co-authored-by: rhubard <18734141014@163.com>
2020-05-26 23:11:29 +08:00
YuanSheng Wang
463c521929
feature(prometheus): support to collect metric overhead (#1576)
Fix #1534 .
2020-05-12 15:47:49 +08:00
nic-chen
0300304011
bugfix: got 500 error when using post method in grpc-transcode plugin(#1566) 2020-05-11 13:30:28 +08:00
Nirojan Selvanathan
64fcb9fd72
plugin: add HTTP logger for APISIX (#1396) 2020-05-09 16:19:41 +08:00
Vinci Xu
ffce4b7720
bugfix(CORS): using rewrite phase and add lru cache for multiple origin (#1531) 2020-05-06 11:52:49 +08:00
Ayeshmantha Perera
33b437df4e
feature: implemented plugin sys logger. (#1414) 2020-05-06 10:49:18 +08:00
Vinci Xu
3a9e0fc675
feature: add batch request plugin. (#1388) 2020-04-29 21:40:45 +08:00
Nirojan Selvanathan
c6cc2b5fcb
plugin(kafka-logger): Updating kafka logger to use the batch processor util (#1358) 2020-04-29 12:12:41 +08:00
罗泽轩
ca91387a60
test: fix regex usage in some cases (#1504) 2020-04-26 10:43:08 +08:00
Wen Ming
19663a87a0
bug: fixed wrong string join in limit-count plugin. (#1487) 2020-04-22 13:27:00 +08:00
YuanSheng Wang
7440192f8f
bugfix(CI): avoid to install APISIX to deps folder, that is a bug for older luarocks (#1471)
If the Luarocks version is lower than "v2.4.3", it does not support the "--only-deps" parameter. Even if we set the "--only-deps" parameter, no error message will be given during runtime.

We only wanted to install the dependencies in the deps directory, but the APISIX was also installed so that the test case might load the wrong version of the source code.
2020-04-20 09:09:14 +08:00
罗泽轩
9baad7856b
bug(proxy-rewrite): reject invalid header (#1462) 2020-04-16 19:01:19 +08:00
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
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
iGeeky
84707263d0
plugin(wolf-rbac): added new api change_pwd and user_info. (#1204) 2020-03-31 13:39:49 +08:00
Nirojan Selvanathan
c3400867d5
Adding test case for public key based introspection (#1354) 2020-03-30 09:42:27 +08:00
Vinci Xu
c363ea46d9
feature: add cors plugin (#1327) 2020-03-29 10:30:59 +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
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
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
834e9e1873
bugfix: the plugin basic-auth needs required field (#1251)
Fix #1244
2020-03-13 20:05:44 +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
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
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
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
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
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
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
f22f494362 optimize: updated the error message after updated new jsonschema. (#1011) 2020-01-02 21:56:42 +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
nic-chen
4517e7b57e test case for grpc transcode pb option (#920) 2019-12-02 10:46:13 +08:00
Lien
fbb51ddadd plugin: implement plugin response rewrite 2019-11-21 21:49:53 +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
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
lyyoung
89688d32ad plugin(prometheus): added new field node and new item latency. (#794) 2019-11-03 21:11:52 +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
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
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
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
6b875cec33
feature(limit-count): supported global limit count with redis server. (#624) 2019-10-08 13:15:48 +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
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
4bb40df857 change(test): name style. 2019-09-10 10:07:29 +08:00
WenMing
f7c04747d5
feature: implemented openid-connect plugin. (#447) 2019-08-30 19:49:45 +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
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
chnliyong
f26f8ba6da feature: added IPv4 whitelist/blacklist plugin ip-restriction (#398) 2019-08-19 13:59:47 +08:00
YuanSheng Wang
d930b7b122
bugfix: allowed to use more limit key. (#413)
* bugfix: allowed to use more limit key.

Fix #412.
2019-08-19 13:35:16 +08:00
Yuansheng
a9898cb6a7 feature(plugin): added new option server_addr for limit key. 2019-08-18 08:07:16 +08:00
YuanSheng Wang
04129add27
feature: supported debug mode. (#319)
* feature: supported debug mode.

print the plugin list which sort by priority.

* feature: show the enabled plugin list in header for debug mode.
2019-07-27 09:10:06 +08:00
WenMing
148bc4068b
feature: supported zipkin plugin. (#304) 2019-07-26 17:16:31 +08:00
Yuansheng
efadc91c03 feature: supported JWT plugin and added test cases. 2019-07-25 00:17:24 +08:00
YuanSheng Wang
02f66d4cc4
feature: allow plugins to handler balance phase. (#299)
*  feature: allow plugins to handler balance phase.
2019-07-24 09:01:06 +08:00
WenMing
e6bc0040c1
feature: added desc for upstream and service in schema. (#289) 2019-07-22 10:42:02 +08:00
YuanSheng Wang
a626bde242 bugfix plugin: used config's version as a part of key. (#190) 2019-07-03 11:36:14 +08:00
Yuansheng
7dbcea8571 feature: supported to manage ssl item by admin API and HTTPS client request. 2019-06-24 18:49:30 -04:00
WenMing
e43cb2e195
bugfix: fixed test cases for limit conn. (#154) 2019-06-24 17:02:53 +08:00
YuanSheng Wang
72e0fe2393
feature: supported to collect nginx status and pushed it to etcd. (#149)
* feature: supported to collect nginx status and pushed it to etcd.
* the return value of the exported api is the same as the other methods in the plugin.
2019-06-22 08:24:02 +08:00
WenMing
9ee0d2c173
test: added test cases for limit req. (#136) 2019-06-19 23:52:59 +08:00
WenMing
6af8957f87
feature: added admin api for consumer. (#135) 2019-06-19 19:14:58 +08:00
YuanSheng Wang
2647bdddcb
test: removed useless option. (#132) 2019-06-19 15:48:16 +08:00
WenMing
a76f690abb
test: added test cases for limit conn and limit count. (#131) 2019-06-19 13:06:03 +08:00
YuanSheng Wang
912e8b106d
feature: supported to match host of client request. (#130) 2019-06-19 12:41:38 +08:00
YuanSheng Wang
43cbd138e7
change: merged the similar code, and not allowed to specify id when use POST method. (#128)
* change: merged the similar code, and not allowed to specify id when use
  POST method.
2019-06-18 16:15:55 +08:00
WenMing
7b54aaac16
test: added test cases for key-auth using admin API. (#121) 2019-06-17 22:05:02 +08:00
YuanSheng Wang
371be03810
test: added test cases for prometheus plugin. (#122)
* test: added test cases for prometheus plugin.
2019-06-17 21:08:17 +08:00
WenMing
e1d0bb08ce
bugfix: got route id from url if not found in post body. (#120) 2019-06-17 18:00:56 +08:00
YuanSheng Wang
a4634da49e
feature: used json schema to check the configuration of limit-count plugin. (#116)
* feature: used json schema to check the configuration of
	`limit-count` plugin.
* travis: if there was any errors, exist directly.
2019-06-17 15:05:19 +08:00
YuanSheng Wang
fee7ec58ef
optmize: reused a Lua table of plugins. feature: supported to check the Lua source by command make check. (#108)
* optmize: reused a Lua table of plugins.
* feature: supported to check the Lua source by command `make check`.
* bug: reinitialize the prometheus variable each time.
2019-06-16 07:32:25 +08:00
WenMing
ba576985b1
bugfix: added the plugin load. (#95)
* bugfix: added the plugin load.

* test: added test cases for limit count.

* test: added Lua sleep at the end of init_worker.

left enough time for read data from etcd, otherwise worker maybe deal with request before get data from etcd.

* test: added no_shuffle();
2019-06-14 16:11:14 +08:00
Yuansheng
9ee285661f test: renamed test cases. 2019-06-14 08:08:59 +08:00
WenMing
1602268833
bugfix: only accept client IP as key now. (#85) 2019-06-13 19:11:15 +08:00
WenMing
c6e69cbcc9
feature: changed plugin_config to plugins. (#84) 2019-06-13 17:25:39 +08:00
Yuansheng
10a0fb03f7 test: moved the different test file to different folder. 2019-06-13 16:16:50 +08:00