Commit Graph

503 Commits

Author SHA1 Message Date
Vinci Xu
7beafd345a
fix: increase wait to avoid fail (#2290) 2020-09-23 22:48:34 +08:00
nic-chen
1b24f36639
feat: support storing metadata for plugins (#2268)
fix #2263
2020-09-23 21:02:56 +08:00
Alex Zhang
36d3b82ec4
bugfix: supported the encryption/decryption for multi priv keys (#2179)
Co-authored-by: Wen Ming <moonbingbing@gmail.com>
2020-09-22 20:37:14 +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
罗泽轩
8493a607ce
test: also lint the test helpers (#2252)
Close #2215
2020-09-19 19:07:39 +08:00
Firstsawyou
e94a5b3f58
feature: consumer provides access to a collection of service (#2241)
* test: add more test cases.

Co-authored-by: Yuansheng Wang <membphis@gmail.com>
2020-09-19 18:21:21 +08:00
Vinci Xu
89f4389ba7
fix[key-auth]: skip consumer when config has no key (#2120) 2020-09-18 21:49:01 +08:00
nic-chen
0a4bc95e3d
feat: hmac-auth add signed headers to calculate signature (#2239)
Co-authored-by: YuanSheng Wang <membphis@gmail.com>
2020-09-18 20:25:41 +08:00
YuanSheng Wang
03d818e175
test: before creating and deleting routes in batches, clear all routes first (#2253)
* test: set larger timeout.
2020-09-18 18:43:02 +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
Zhang Qiang
d05071868d
fix: return ok in kafka-logger (#2222) 2020-09-17 15:17:51 +08:00
YuanSheng Wang
68b1f9cc57
bugfix: clear all cached object when got delete action, and removing (#2168)
stale boolean data in table `self.values` with a safer way.
2020-09-17 09:30:44 +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
YuanSheng Wang
12a0b13145
bugfix: use the route's has_domain if it contains any upstream object. (#2211) 2020-09-15 12:12:09 +08:00
nic-chen
087f87a7e4
bugfix: grpc-transcode plugin converts http/json parameters abnormally (#2139)
* fix bug

* optimiz

* update grpc_server_example

* add test cases

* fix: test case

* fix: test case

* return val directly

* fix: test case respond body compare text

* fix test case error

Co-authored-by: Wen Ming <moonbingbing@gmail.com>
2020-09-10 18:02:16 +08:00
罗泽轩
37817e4198
chore: add string utility for simplicity and correctness (#2181)
* chore: add string utility for simplicity and correctness

* localize error

* correct the misuse string.find

Co-authored-by: YuanSheng Wang <membphis@gmail.com>
2020-09-10 16:49:20 +08:00
Alex Zhang
1556cd0d7e
improve: cache parsed certs and pkeys to LRU cache (#2163) 2020-09-10 15:35:55 +08:00
maosy
47d39e7b0e
bugfix: serverless plugin not work in header_filter phase (#2148) 2020-09-09 16:12:32 +08:00
gy
a8621fb5a1
bugfix: updated the value of remaining when count changes in limit-count plugin. (#2121) 2020-09-06 21:52:13 +08:00
gy
d4216831e3
fix: log-rotate.t is unstable (#2164)
fix #2138
2020-09-06 12:10:42 +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
redynasc
98bb5933d6
feature: implement ewma balancer for upstream node (#2001)
ewma is a different balancing implementation that will generate a weight for every backend IP based on the last server response time, basically it tries to dispatch more requests to the backends that reply faster, supposing that they are less loaded.

fix #1996
2020-08-29 23:14:16 +08:00
Vinci Xu
a3f865aa4b
fix: wait time is too short it will easy fail in some bad hardware environment (#2127) 2020-08-27 16:47:09 +08:00
YuanSheng Wang
9070a4fa95
feature: implemented plugin log-rotate, rotate log by interval time. (#2097) 2020-08-26 16:40:36 +08:00
nic-chen
4f83f09eeb
fix: return response code and msg instead of exit directly in plugins. (#2115) 2020-08-25 09:56:45 +08:00
YuanSheng Wang
1aefe915f1
change: update plugin's schema ip-restriction with draft7 way (#2091) 2020-08-24 09:27:49 +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
415f9221e2
change: use draft7 of JSON Schema for limit count pulgin (#2102) 2020-08-24 09:17:31 +08:00
YuanSheng Wang
d974c1871a
change: use draft7 style of JSON Schema. (#2100)
fix #2083.
2020-08-22 21:43:21 +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
YuanSheng Wang
c2a7359b27
update radixtree to version 2.2 . (#2061)
fix #2058

* fixed test
2020-08-16 16:32:29 +08:00
nic-chen
7525f1fcc9
feat(prometheus): add prometheus metrics node_info(hostname) (#2063)
* using a new metric `node_info` to store the hostname
2020-08-16 09:59:55 +08:00
Swayam Raina
6e0da454d1
feature: add apisix-version info to headers in APISIX core (#1961)
related #1877
2020-08-15 07:24:33 +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
罗泽轩
149a66ad40
feat: Vary needs to be used when Access-Control-Allow-Origin is not '*' (#2046)
See https://fetch.spec.whatwg.org/#cors-protocol-and-http-caches.
2020-08-12 09:12:58 +08:00
YuanSheng Wang
6c8a6c3c54
bugfix: when the plug-in configuration that is bound to the consumer is (#2028)
fix #2019
2020-08-12 09:11:40 +08:00
Nirojan Selvanathan
14f979edf8
test: Added test cases for openid connect introspection (#2018)
Fix #1718

* Added test case for token intropsection with Keycloak identity server
* Renamed oauth doc to openid-connect to correctly link with the plugin name
2020-08-08 18:24:42 +08:00
YuanSheng Wang
31f744580d
bugfix: used a table array to store the status, allow the plugin can (#1994)
be called multiple times.

fix #1986
2020-08-07 08:15:44 +08:00
YuanSheng Wang
05f30e1e15
bugfix: support parameter way to match request in route. (#2012)
fix #2008
2020-08-07 08:13:58 +08:00
Nirojan Selvanathan
712a23f9b0
feat: Support SSL verify option to Authz Keycloak plugin (#1924)
Fix #1855
2020-08-06 17:07:07 +08:00
Vinci Xu
2ac47735a1
feat: add '**' for alllow_headers and complete docs (#2004)
fix #1983
2020-08-06 16:13:33 +08:00
Wen Ming
23bc76b5a0
typo: fixed typo about function. (#2007) 2020-08-06 16:06:52 +08:00
YuanSheng Wang
963e29951d
bugfix: passed the copied api_ctx, it may be freed if the api_ctx (#2002)
* bugfix: passed the copied `api_ctx`, it may be freed if the `api_ctx`
  was called in back timer async.

Fixed #1935.
2020-08-06 10:20:34 +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
dabue
77dfecaab6
revert: enable proxy-cache and proxy-mirror plugins by default. (#1992)
fixed #1987
2020-08-05 00:20:04 +08:00
YuanSheng Wang
c67e998dad
bugfix: fail to handshake if there is no certificate matched by host. (#1980)
* bugfix: fail to handshake if there is no certificate matched by host.
* fix:  grpc proxy test case
2020-08-04 23:20:34 +08:00
taotao
6adbf02a06
core: support get_scheme/host/port/http_version in core.request (#1978) 2020-08-04 09:36:05 +08:00
YuanSheng Wang
d32b5cf361
perf: no longer generate unnecessary nginx conf for better performance. (#1968)
* perf: no longer generate unnecessary nginx conf for better performance.
* benchmark: sync nginx.conf for fake-apisix.

> Is this PR backward compatible?

Disable two plugins by default(proxy-cache, proxy-mirror), if the user wants to enable them, need to modify the conf/config.yaml by manual.
2020-08-04 09:31:35 +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
Vinci Xu
2936c7d89d
feat: add option for cors and bugfix (#1963)
fix #1915 #1704
2020-08-01 08:03:22 +08:00
YuanSheng Wang
3d8150b208
test: old test case is unstable, running fail sometimes. (#1925) 2020-07-31 21:24:31 +08:00
YuanSheng Wang
8fc2af56ae
bugfix: avoid to modify the original plugin conf. (#1958)
relate issue: #1934 , #1956
2020-07-31 20:19:12 +08:00
YuanSheng Wang
2ba0231140
bugfix: passive health check seems never provide a healthy report (#1918)
Fix #1640
2020-07-31 19:31:20 +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
nic-chen
7f64ba810e
change: add more prometheus metrics(etcd modify index) (#1888)
* feat: add more metrics for prometheus

* test: add test cases

* fix: check lint error

* remove hostname metrics. -> can't save string value.

* add more index

* add X-Etcd-Index

* fix lint

* test: add more test cases

* fix: Avoid the index to exceed 1000 by updating other keys that will causing a full reload

* add prev_index

* fix lint

* fix: fetch key first

* fix: test error

* fix update version only when waitdir error is timeout

* test

* fix: sleep more time

* fix: code style

* fix: code style
2020-07-30 15:27:00 +08:00
YuanSheng Wang
f9a8a26dd4
feature: add a new option, decide if we remove the "/" at the end of … (#1766)
* feature: add a new option, decide if we remove the "/" at the end of the URI before route matching.

fix #1765
2020-07-29 19:25:30 +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
Janko
552d7008da
change: check input params schema of request-validation plugin. (#1920)
FIX #1881
2020-07-29 10:27:59 +08:00
Janko
520ef311e3
feature: health check supports custom host port. (#1914) 2020-07-28 23:51:42 +08:00
YuanSheng Wang
4015071e30
change: the timeout of healthcheck should be number type. (#1892) 2020-07-27 16:19:01 +08:00
YuanSheng Wang
2d667ecb70
bugfix: should not save the runtime data of plugin into etcd. (#1910)
Fixed #1836 .
2020-07-27 14:43:50 +08:00
Janko
a108d2eee1
bugfix: failed to get host in health check configuration. (#1871)
The `host` of health check should be sub-item of `check.active` .

FIX #1869
2020-07-27 13:47:14 +08:00
Nirojan Selvanathan
a6179996d4
feature: new plugin request-validator (#1709) 2020-07-21 21:38:48 +08:00
nic-chen
a5fc25c2a9
feat: Support admin API authentication with SSL certificates (#1747) 2020-07-21 11:41:11 +08:00
YuanSheng Wang
47b0ef372e
bugfix: fetch wrong the upstream node when there were multiple upstream node with host (#1835)
Fix #1834
2020-07-17 21:51:51 +08:00
YuanSheng Wang
cff822b7ae
* CI: Github action run non-OSX test case, Travis-CI runs the OSX test case(allow failure). (#1860)
* test: reformat by `reindex`.
* CI: dry-run the OSX CI in Github Action.
2020-07-17 15:27:08 +08:00
mtx2d
24d7007e94
change: removed useless plugin heartbeat (#1845)
Fix #1176
2020-07-16 17:31:39 +08:00
wrl96
54abe58315
bugfix: failed to set server peer when upstreams.node is address in apisix.yaml (#1824)
Fix #1798
2020-07-10 18:47:11 +08:00
nic-chen
e598e6fa6a
bugfix: wrong counter was used, resulting in only one certificate working fine. (#1818)
Fix #1817
2020-07-10 18:39:08 +08:00
wrl96
c41ababd41
bugfix(proxy-rewrite): symbol would be encoded to 0x3f (#1816) 2020-07-09 18:06:00 +08:00
Raisinata
0e517a25d6
feature: using GitHub action for CI (#1793) 2020-07-09 12:15:17 +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
ef89dceda6
feature: support etcd auth (#1769)
Fix #1713 , #1770
2020-06-26 17:25:58 +08:00
Shenal Silva
492fa71cbc
bugfix: added content-type for admin API responses (#1746) 2020-06-24 13:57:10 +08:00
YuanSheng Wang
d419fb2289
test: added test cases. (#1752) 2020-06-24 09:59:11 +08:00
YuanSheng Wang
e30a7469bc
test: use longer ttl, avoid the cached item expired. (#1760) 2020-06-23 18:21:08 +08:00
Wen Ming
d372fe2516
bugfix: fixed configures of nginx.conf for security reasons (#1759)
removed working_directory and removed TLSv1 TLSv1.1 from ssl_protocols
2020-06-23 16:03:19 +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
Ayeshmantha Perera
f8f104dc0f
feature(echo): support header filter and access phases. (#1708) 2020-06-19 21:33:20 +08:00
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
nic-chen
56aeb4a6a9
feature: ssl enhance (#1678)
support enable or disable ssl by patch method
support encrypted storage of the SSL private key in etcd
support multi snis

Fix #1668
2020-06-13 16:10:27 +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
2025337077
test: add test case for route with filter_func. (#1683) 2020-06-11 11:03:02 +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
YuanSheng Wang
c452846b81
bugfix: wildcard certificates cannot match multi-level subdomains in … (#810) 2020-06-08 10:52:25 +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
nic-chen
ecd684b3a0
feat(admin api): enhance PATCH method, allow to update partial data. (#1609) 2020-06-02 11:28:45 +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
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
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
YuanSheng Wang
89a07efb51
test: reindex by tools reindex. (#1519) 2020-04-28 18:54:14 +08:00
罗泽轩
972840ec96
fix: skip tombstone mark when iterating the global values (#1517)
Close #1473.
2020-04-28 17:25:55 +08:00
YuanSheng Wang
0f3310562c
bugfix: init clean_handlers when add new item from etcd. (#1412)
fix #1384
2020-04-28 16:01:04 +08:00
nic-chen
a53b4707fb
feat: support saving k8s deployment info to upstream (#1502)
* feat: support save k8s deployment info to upstream
2020-04-27 10:47:17 +08:00
罗泽轩
ca91387a60
test: fix regex usage in some cases (#1504) 2020-04-26 10:43:08 +08:00
YuanSheng Wang
c351b38086
bugfix(lrucache): when creating cached objects, use resty-lock to avoid repeated creation. (#1486)
* bugfix(lrucache): one common use case for this library is avoid the so-called "dog-pile effect",
    that is, to limit concurrent backend queries for the same key when a cache miss happens.
* bugfix: catch the error messag by pcall, it may fail when generate new validator.
2020-04-22 17:47:16 +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
YuanSheng Wang
669772f5d5
bugfix: check if the service's upstream node is host. (#1402) 2020-04-12 09:31:58 +08:00
YuanSheng Wang
256cc19980
bugfix: throw error meg when call admin API to enable mqtt plugin but stream_proxy is disabled. (#1407) 2020-04-08 16:24:55 +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
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