Commit Graph

365 Commits

Author SHA1 Message Date
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