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
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
YuanSheng Wang
1b7c1bc583
test case: formatted by reindex
. ( #1651 )
2020-06-09 20:48:16 +08:00
nic-chen
b59a519197
feat: support resource name for route, service and upstream object. ( #1655 )
2020-06-09 08:26:33 +08:00
stone4774
d6cee162d6
plugin: add consumer-restriction ( #1437 )
2020-06-08 12:49:46 +08:00
nic-chen
ecd684b3a0
feat(admin api): enhance PATCH
method, allow to update partial data. ( #1609 )
2020-06-02 11:28:45 +08:00
Wen Ming
398941b72f
feature: add skywalking plugin. ( #1241 )
2020-05-27 17:55:47 +08:00
YuanSheng Wang
c9a53abbb9
test: updated style. ( #1606 )
2020-05-22 21:34:58 +08:00
qiujiayu
e7d19ec160
feature: support discovery center ( #1440 )
2020-05-14 23:20:44 +08:00
YuanSheng Wang
cafbfe160a
feature: support new field exptime
for SSL object. ( #1575 )
...
fix #1571 .
2020-05-12 15:50:52 +08:00
Nirojan Selvanathan
64fcb9fd72
plugin: add HTTP logger for APISIX ( #1396 )
2020-05-09 16:19:41 +08:00
Ayeshmantha Perera
33b437df4e
feature: implemented plugin sys logger
. ( #1414 )
2020-05-06 10:49:18 +08:00