罗泽轩
1a24c2af39
refactor(consumer): remove id and use username only ( #2679 )
...
Close #2656
Close #2653
Close #2651
2020-11-18 17:44:40 +08:00
罗泽轩
671d184ceb
bugfix: we didn't keep the create_time correctly ( #2760 )
2020-11-17 18:39:28 +08:00
罗泽轩
dec9518d3c
test: improve bin/apisix test cases. ( #2761 )
...
* test: improve bin/apisix test cases.
Avoid modifying config-default,yaml directly.
* unset APISIX_PROFILE
* increase sleep time
2020-11-17 18:00:30 +08:00
罗泽轩
da4e12e0f7
feat: generate create/update_time automatically ( #2740 )
2020-11-15 17:20:51 +08:00
罗泽轩
39879630ae
fix: reload plugin when plugin attribute is cahnged ( #2704 )
...
Close #2655
2020-11-13 00:23:30 +08:00
罗泽轩
b3f240c80c
feat: increase the length of rule name to 100 ( #2667 )
...
Close #2665
2020-11-11 10:36:28 +08:00
罗泽轩
ebf0563a40
change: disable skywalking by default. ( #2632 )
...
* fix: disable skywalking by default.
Close #2623 .
* trailing sw
* clean test
2020-11-09 08:12:52 +08:00
YuanSheng Wang
34d53fc48b
test: format by reindex
. ( #2601 )
2020-11-03 13:59:01 +08:00
罗泽轩
432c954a74
fix: plugin hot reload should work on node ( #2430 )
2020-11-03 13:46:24 +08:00
guyang
37a0792eb4
bugfix: fix zipkin plugin error when used with limit count plugin ( #2499 )
...
fix #2377
2020-10-30 16:20:43 +08:00
JinChen
d2aa1d8bfb
feat: get schema by schema_type ( #2509 )
...
* get schema by schema_type
* Fix setting non standard global variable JSON_ schema
* Fix setting non standard global variable JSON_ schema
* Modify the usage of ngx module
* Fix format issues caused by branch conflicts
* Modify the test case to return data
2020-10-29 09:26:59 +08:00
YuanSheng Wang
6a7dfa6775
feat: implement api breaker plugin. ( #2455 )
...
Co-authored-by: liuheng <liuhengloveyou@gmail.com>
2020-10-27 13:40:23 +08:00
罗泽轩
0f15939a9c
fix: compare if the interceptors are injected by ourselves ( #2484 )
...
fix #2482 .
2020-10-21 20:34:32 +08:00
罗泽轩
5906c73a07
fix: we didn't traverse the plugin interceptors correctly ( #2462 )
...
This bug is introduced in 6a543a9
.
2020-10-19 15:55:32 +08:00
nic-chen
a92331c27a
feature: add managed fields in json schema for resources, such as create_time and update_time ( #2444 )
...
* feature: add managed fields in jsonschema for resources, such as create_time and update_time
2020-10-17 18:48:02 +08:00
罗泽轩
6a543a98a2
feat: use interceptors to protect plugin's route ( #2416 )
2020-10-17 17:45:26 +08:00
罗泽轩
b5fe9ced45
change: use 405 as the error code for unsupported HTTP method ( #2418 )
2020-10-16 09:02:35 +08:00
Joey
9d0d351226
Add lables for Route/Service/Consumer/SSL ( #2345 )
...
Signed-off-by: imjoey <majunjiev@gmail.com>
2020-10-09 14:05:14 +08:00
罗泽轩
5b97223592
feat: implemented referer-restriction
plugin ( #2352 )
2020-10-06 18:20:17 +08:00
Firstsawyou
c3de84e285
feature: support consumer_name
as key for limit-req
plugin. ( #2270 )
...
fix #2267
2020-10-06 18:18:22 +08:00
Joey
ebe4f6620a
feat: Add labels for upstream object ( #2279 )
2020-09-28 11:20:09 +08:00
nic-chen
1b24f36639
feat: support storing metadata for plugins ( #2268 )
...
fix #2263
2020-09-23 21:02:56 +08:00
Firstsawyou
a651a29e20
feature: allow empty service
object, it does not contain any upstream
and plugin
( #2259 )
2020-09-21 16:52:18 +08:00
Alex Zhang
dd6ee5e99f
improve: use optimistic locking to avoid concurrency problem in admin PATCH APIs. ( #2216 )
...
There is a potential concurrency problem in all admin PATCH APIs when
two patch requests come in simultaneously, in such case, the patched
result of the first applied request will be overridden, also the
probability is tidy, but from the perspective of software's robust,
that's not what we wanna to see.
In this commit, we use the optimistic locking to avoid this problem, for
the example aforementioned, the second PATCH request will failure, and
it's up to the user to retry this PATCH request again.
The optimistic locking mechanism in ETCD v3 APIs is showed by it's
transcation mechanism.
Signed-off-by: tokers <zchao1995@gmail.com>
2020-09-18 17:20:55 +08:00
YuanSheng Wang
4f900390f9
bugfix: independently check the "disabled" field to avoid schema
ve… ( #2099 )
...
* bugfix: independently check the "disabled" field to avoid `schema` verification
with other parameters.
2020-09-17 22:31:02 +08:00
nic-chen
84ce7ba781
feat: add AK/SK(HMAC) auth plugin. ( #2192 )
2020-09-16 14:27:56 +08:00
Shuyang Wu
4722198548
feature: support etcd v3 by mocking v2 API ( #2036 )
2020-09-16 10:19:04 +08:00
maosy
47d39e7b0e
bugfix: serverless plugin not work in header_filter phase ( #2148 )
2020-09-09 16:12:32 +08:00
nic-chen
502310bef6
feat: support different modes to pass host to upstream ( #2132 )
...
* test: using `httpbin.org` for test cases.
* doc: add doc
* remove golang apt repository and runtime in travis.
* download proto file
Co-authored-by: Yuansheng <membphis@gmail.com>
2020-08-30 22:43:28 +08:00
Alex Zhang
2886b2169b
feature: support multiple certificates(RSA and ECC) for single domain ( #2089 )
2020-08-24 09:23:06 +08:00
YuanSheng Wang
cf882bda1e
feature: divide config.yaml into two files config-custom.yaml & confi… ( #2023 )
...
* feature: divide config.yaml into two files config-custom.yaml & config-default.yaml .
fix #1923
2020-08-18 20:18:55 +08:00
Nirojan Selvanathan
240942e941
feature: implemented request-id
plugin to uniquely track requests in APISIX ( #2026 )
...
fix #2022
2020-08-12 23:09:39 +08:00
nic-chen
65df727af4
feat: script distribute and run ( #1982 )
...
Supporting distribution and execution scripts, we can implement many new features,
such as plug-in orchestration.
2020-08-05 14:11:22 +08:00
YuanSheng Wang
e1c6d371a8
doc: update main picture of APISIX. ( #1964 )
...
* test case: formatted by `reindex`.
2020-08-02 09:35:37 +08:00
nic-chen
29b15892b7
feat: support both standard PATCH and sub path PATCH for admin api ( #1930 )
...
fix #1823
2020-07-31 09:21:08 +08:00
YuanSheng Wang
20207c8108
bugfix: read the request body from the temporary file if it was cached. ( #1863 )
2020-07-29 19:24:27 +08:00
YuanSheng Wang
fbc3c6818d
feature: allow to set retries=0
for upstream object. ( #1919 )
2020-07-29 19:21:50 +08:00
YuanSheng Wang
4015071e30
change: the timeout of healthcheck
should be number type. ( #1892 )
2020-07-27 16:19:01 +08:00
Nirojan Selvanathan
a6179996d4
feature: new plugin request-validator ( #1709 )
2020-07-21 21:38:48 +08:00
mtx2d
24d7007e94
change: removed useless plugin heartbeat
( #1845 )
...
Fix #1176
2020-07-16 17:31:39 +08:00
YuanSheng Wang
2ccf020027
test: format by tool reindex
. ( #1775 )
2020-07-02 22:04:24 +08:00
ko han
aeab71df80
change: 'get_plugin_list' API sorts the return list base on priority ( #1779 )
2020-07-01 17:05:02 +08:00
YuanSheng Wang
ee7533874d
optimize: Use lru to avoid resolving IP addresses repeatedly . ( #1772 )
...
* optimize: Use lru to avoid resolving IP addresses repeatedly .
Cached the global rules to `ctx` .
* optimzie: used a longer time interval for etcd and flush access log.
* optimize: return upstream node directly if the count is 1 .
* optimize: avoid to cache useless variable.
2020-06-28 18:14:38 +08:00
Shenal Silva
492fa71cbc
bugfix: added content-type
for admin API responses ( #1746 )
2020-06-24 13:57:10 +08:00
YuanSheng Wang
6a43a8c735
feature: implemented plugin uri-blocklist
. ( #1727 )
...
first step: #1617
2020-06-22 14:45:55 +08:00
YuanSheng Wang
748e33756b
refactory: collect upstream
logic and put them in a single file. ( #1734 )
...
feature: support dynamic upstream in plugin.
here is a mini example in `access` phase of plugin:
```lua
local up_conf = {
type = "roundrobin",
nodes = {
{host = conf.upstream.ip, port = conf.upstream.port, weight = 1},
}
}
local ok, err = upstream.check_schema(up_conf)
if not ok then
return 500, err
end
local matched_route = ctx.matched_route
upstream.set(ctx, up_conf.type .. "#route_" .. matched_route.value.id,
ctx.conf_version, up_conf, matched_route)
return
```
2020-06-22 14:21:42 +08:00
Eric Shi
2b5ddbca2f
test: add test cases about the string id in service
#1659 ( #1750 )
2020-06-22 12:55:58 +08:00
YuanSheng Wang
f1e66ad1a3
bugfix: id can be string object, which contains ^[a-zA-Z0-9-_]+$
. ( #1739 )
...
Fix #1654
2020-06-21 16:28:11 +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