This is an automated email from the ASF dual-hosted git repository. membphis pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/incubator-apisix.git
The following commit(s) were added to refs/heads/master by this push: new 9e98773 change: responsed a better tip when failed to match any route. (#1013) 9e98773 is described below commit 9e98773fae6b19e4908090f8ab34eab2b4e39c04 Author: YuanSheng Wang <membp...@gmail.com> AuthorDate: Fri Jan 3 10:11:37 2020 +0800 change: responsed a better tip when failed to match any route. (#1013) --- lua/apisix.lua | 2 +- lua/apisix/http/router/radixtree_host_uri.lua | 2 +- lua/apisix/http/router/radixtree_uri.lua | 4 ++-- t/debug/hook.t | 4 ++-- t/node/global-rule.t | 8 +++---- t/node/hosts.t | 8 +++---- t/node/invalid-route.t | 4 ++-- t/node/invalid-service.t | 4 ++-- t/node/invalid-upstream.t | 4 ++-- t/node/merge-route.t | 4 ++-- t/node/not-exist-service.t | 2 +- t/node/not-exist-upstream.t | 4 ++-- t/node/remote-addr-ipv6.t | 12 +++++----- t/node/remote-addr.t | 8 +++---- t/node/remote_addrs.t | 6 ++--- t/node/route-domain.t | 4 ++-- t/node/route-filter-func.t | 4 ++-- t/node/route-host.t | 12 +++++----- t/node/route-uris.t | 2 -- t/node/sanity-radixtree.t | 8 +++---- t/node/upstream-domain.t | 4 ++-- t/node/upstream-ipv6.t | 4 ++-- t/node/upstream.t | 4 ++-- t/node/vars.t | 32 +++++++++++++-------------- t/node/wildcard-host.t | 8 +++---- t/router/radixtree-host-uri.t | 20 ++++++++--------- t/router/radixtree-uri-host.t | 20 +++++------------ t/router/radixtree-uri-multiple.t | 4 ++-- t/router/radixtree-uri-sanity.t | 20 ++++++++--------- 29 files changed, 105 insertions(+), 117 deletions(-) diff --git a/lua/apisix.lua b/lua/apisix.lua index 741862c..63319cd 100644 --- a/lua/apisix.lua +++ b/lua/apisix.lua @@ -268,7 +268,7 @@ function _M.http_access_phase() local route = api_ctx.matched_route if not route then - return core.response.exit(404) + return core.response.exit(404, {error_msg = "failed to match any routes"}) end if route.value.service_protocol == "grpc" then diff --git a/lua/apisix/http/router/radixtree_host_uri.lua b/lua/apisix/http/router/radixtree_host_uri.lua index 960b8a0..cee7b2c 100644 --- a/lua/apisix/http/router/radixtree_host_uri.lua +++ b/lua/apisix/http/router/radixtree_host_uri.lua @@ -158,7 +158,7 @@ function _M.match(api_ctx) end core.log.info("not find any matched route") - return core.response.exit(404) + return true end diff --git a/lua/apisix/http/router/radixtree_uri.lua b/lua/apisix/http/router/radixtree_uri.lua index c84062e..dfcd654 100644 --- a/lua/apisix/http/router/radixtree_uri.lua +++ b/lua/apisix/http/router/radixtree_uri.lua @@ -98,7 +98,7 @@ function _M.match(api_ctx) if not uri_router then core.log.error("failed to fetch valid `uri` router: ") - return core.response.exit(404) + return true end core.table.clear(match_opts) @@ -110,7 +110,7 @@ function _M.match(api_ctx) local ok = uri_router:dispatch(api_ctx.var.uri, match_opts, api_ctx) if not ok then core.log.info("not find any matched route") - return core.response.exit(404) + return true end return true diff --git a/t/debug/hook.t b/t/debug/hook.t index 2d76d24..49bce20 100644 --- a/t/debug/hook.t +++ b/t/debug/hook.t @@ -84,8 +84,8 @@ passed --- request GET /not_found --- error_code: 404 ---- response_body eval -qr/404 Not Found/ +--- response_body +{"error_msg":"failed to match any routes"} --- no_error_log [error] diff --git a/t/node/global-rule.t b/t/node/global-rule.t index 6eb64f0..c1de5dd 100644 --- a/t/node/global-rule.t +++ b/t/node/global-rule.t @@ -93,8 +93,8 @@ passed --- request GET /not_found --- error_code: 404 ---- response_body eval -qr/404 Not Found/ +--- response_body +{"error_msg":"failed to match any routes"} --- no_error_log [error] @@ -104,8 +104,8 @@ qr/404 Not Found/ --- request GET /hello --- error_code: 404 ---- response_body eval -qr/404 Not Found/ +--- response_body +{"error_msg":"failed to match any routes"} --- no_error_log [error] diff --git a/t/node/hosts.t b/t/node/hosts.t index 2425d6b..0dc8dc3 100644 --- a/t/node/hosts.t +++ b/t/node/hosts.t @@ -64,8 +64,8 @@ passed --- request GET /not_found --- error_code: 404 ---- response_body eval -qr/404 Not Found/ +--- response_body +{"error_msg":"failed to match any routes"} --- no_error_log [error] @@ -77,8 +77,8 @@ GET /hello --- more_headers Host: not_found.com --- error_code: 404 ---- response_body eval -qr/404 Not Found/ +--- response_body +{"error_msg":"failed to match any routes"} --- no_error_log [error] diff --git a/t/node/invalid-route.t b/t/node/invalid-route.t index 0adf1a2..4b37927 100644 --- a/t/node/invalid-route.t +++ b/t/node/invalid-route.t @@ -56,8 +56,8 @@ qr/"value":"mexxxxxxxxxxxxxxx"/ --- request GET /not_found --- error_code: 404 ---- response_body_like eval -qr/404 Not Found/ +--- response_body +{"error_msg":"failed to match any routes"} --- grep_error_log eval qr/\[error\].*/ --- grep_error_log_out eval diff --git a/t/node/invalid-service.t b/t/node/invalid-service.t index 41b4b0d..4a6af13 100644 --- a/t/node/invalid-service.t +++ b/t/node/invalid-service.t @@ -57,8 +57,8 @@ qr/"value":"mexxxxxxxxxxxxxxx"/ --- request GET /not_found --- error_code: 404 ---- response_body_like eval -qr/404 Not Found/ +--- response_body +{"error_msg":"failed to match any routes"} --- grep_error_log eval qr/\[error\].*/ --- grep_error_log_out eval diff --git a/t/node/invalid-upstream.t b/t/node/invalid-upstream.t index aff6c34..b6138ab 100644 --- a/t/node/invalid-upstream.t +++ b/t/node/invalid-upstream.t @@ -56,8 +56,8 @@ qr/"value":"mexxxxxxxxxxxxxxx"/ --- request GET /not_found --- error_code: 404 ---- response_body_like eval -qr/404 Not Found/ +--- response_body +{"error_msg":"failed to match any routes"} --- grep_error_log eval qr/\[error\].*/ --- grep_error_log_out eval diff --git a/t/node/merge-route.t b/t/node/merge-route.t index d4eb59d..ae52c05 100644 --- a/t/node/merge-route.t +++ b/t/node/merge-route.t @@ -102,8 +102,8 @@ passed --- request GET /not_found --- error_code: 404 ---- response_body eval -qr/404 Not Found/ +--- response_body +{"error_msg":"failed to match any routes"} --- no_error_log [error] diff --git a/t/node/not-exist-service.t b/t/node/not-exist-service.t index f068871..aa313ed 100644 --- a/t/node/not-exist-service.t +++ b/t/node/not-exist-service.t @@ -57,7 +57,7 @@ passed --- request GET /hello --- error_code: 404 ---- response_body_like eval +--- response_body eval qr/404 Not Found/ --- wait_etcd_sync: 0.3 --- grep_error_log eval diff --git a/t/node/not-exist-upstream.t b/t/node/not-exist-upstream.t index c12aa10..a5a008d 100644 --- a/t/node/not-exist-upstream.t +++ b/t/node/not-exist-upstream.t @@ -67,8 +67,8 @@ passed --- request GET /not_found --- error_code: 404 ---- response_body_like eval -qr/404 Not Found/ +--- response_body +{"error_msg":"failed to match any routes"} --- no_error_log [error] diff --git a/t/node/remote-addr-ipv6.t b/t/node/remote-addr-ipv6.t index 3eeb531..fdc469d 100644 --- a/t/node/remote-addr-ipv6.t +++ b/t/node/remote-addr-ipv6.t @@ -77,8 +77,8 @@ location /t { } --- request GET /t ---- response_body_like eval -qr{.*404 Not Found.*} +--- response_body eval +qr/"error_msg":"failed to match any routes"/ --- no_error_log [error] @@ -89,8 +89,8 @@ qr{.*404 Not Found.*} --- request GET /not_found --- error_code: 404 ---- response_body_like eval -qr{.*404 Not Found.*} +--- response_body eval +qr/"error_msg":"failed to match any routes"/ --- no_error_log [error] @@ -129,7 +129,7 @@ close: 1 nil --- request GET /hello --- error_code: 404 ---- response_body_like eval -qr{.*404 Not Found.*} +--- response_body +{"error_msg":"failed to match any routes"} --- no_error_log [error] diff --git a/t/node/remote-addr.t b/t/node/remote-addr.t index 8f2e569..9d51980 100644 --- a/t/node/remote-addr.t +++ b/t/node/remote-addr.t @@ -61,8 +61,8 @@ passed --- request GET /not_found --- error_code: 404 ---- response_body eval -qr/404 Not Found/ +--- response_body +{"error_msg":"failed to match any routes"} --- no_error_log [error] @@ -117,8 +117,8 @@ passed --- request GET /hello --- error_code: 404 ---- response_body_like eval -qr/404 Not Found/ +--- response_body +{"error_msg":"failed to match any routes"} --- no_error_log [error] diff --git a/t/node/remote_addrs.t b/t/node/remote_addrs.t index 8da470e..5abbea1 100644 --- a/t/node/remote_addrs.t +++ b/t/node/remote_addrs.t @@ -68,8 +68,8 @@ set_real_ip_from unix:; --- request GET /not_found --- error_code: 404 ---- response_body eval -qr/404 Not Found/ +--- response_body +{"error_msg":"failed to match any routes"} --- no_error_log [error] @@ -85,8 +85,6 @@ GET /hello --- more_headers Host: not_found.com --- error_code: 404 ---- response_body eval -qr/404 Not Found/ --- no_error_log [error] diff --git a/t/node/route-domain.t b/t/node/route-domain.t index 06e10d7..05bc3d9 100644 --- a/t/node/route-domain.t +++ b/t/node/route-domain.t @@ -64,8 +64,8 @@ passed --- request GET /not_found --- error_code: 404 ---- response_body eval -qr/404 Not Found/ +--- response_body +{"error_msg":"failed to match any routes"} --- no_error_log [error] diff --git a/t/node/route-filter-func.t b/t/node/route-filter-func.t index fc9671c..6c67f41 100644 --- a/t/node/route-filter-func.t +++ b/t/node/route-filter-func.t @@ -64,8 +64,8 @@ passed --- request GET /hello?name=unknown --- error_code: 404 ---- response_body eval -qr/404 Not Found/ +--- response_body +{"error_msg":"failed to match any routes"} --- no_error_log [error] diff --git a/t/node/route-host.t b/t/node/route-host.t index 2ccc6a6..04a5a0d 100644 --- a/t/node/route-host.t +++ b/t/node/route-host.t @@ -65,8 +65,8 @@ passed --- request GET /not_found --- error_code: 404 ---- response_body eval -qr/404 Not Found/ +--- response_body +{"error_msg":"failed to match any routes"} --- no_error_log [error] @@ -76,8 +76,8 @@ qr/404 Not Found/ --- request GET /hello --- error_code: 404 ---- response_body eval -qr/404 Not Found/ +--- response_body +{"error_msg":"failed to match any routes"} --- no_error_log [error] @@ -89,8 +89,8 @@ GET /hello --- more_headers Host: not_found.com --- error_code: 404 ---- response_body eval -qr/404 Not Found/ +--- response_body +{"error_msg":"failed to match any routes"} --- no_error_log [error] diff --git a/t/node/route-uris.t b/t/node/route-uris.t index 08ea83c..d22d5ef 100644 --- a/t/node/route-uris.t +++ b/t/node/route-uris.t @@ -64,8 +64,6 @@ passed --- request GET /not_found --- error_code: 404 ---- response_body eval -qr/404 Not Found/ --- no_error_log [error] diff --git a/t/node/sanity-radixtree.t b/t/node/sanity-radixtree.t index 36e4b98..9f4a5c3 100644 --- a/t/node/sanity-radixtree.t +++ b/t/node/sanity-radixtree.t @@ -64,8 +64,8 @@ passed --- request GET /not_found --- error_code: 404 ---- response_body eval -qr/404 Not Found/ +--- response_body +{"error_msg":"failed to match any routes"} --- no_error_log [error] @@ -149,7 +149,7 @@ qr/404 Not Found/ --- request GET /hel --- error_code: 404 ---- response_body eval -qr/404 Not Found/ +--- response_body +{"error_msg":"failed to match any routes"} --- no_error_log [error] diff --git a/t/node/upstream-domain.t b/t/node/upstream-domain.t index ca03a63..426dc87 100644 --- a/t/node/upstream-domain.t +++ b/t/node/upstream-domain.t @@ -90,8 +90,8 @@ passed --- request GET /not_found --- error_code: 404 ---- response_body eval -qr/404 Not Found/ +--- response_body +{"error_msg":"failed to match any routes"} --- no_error_log [error] diff --git a/t/node/upstream-ipv6.t b/t/node/upstream-ipv6.t index 36f9478..23eaa56 100644 --- a/t/node/upstream-ipv6.t +++ b/t/node/upstream-ipv6.t @@ -102,8 +102,8 @@ passed --- request GET /not_found --- error_code: 404 ---- response_body eval -qr/404 Not Found/ +--- response_body +{"error_msg":"failed to match any routes"} --- no_error_log [error] diff --git a/t/node/upstream.t b/t/node/upstream.t index 598b3a0..bfdbba9 100644 --- a/t/node/upstream.t +++ b/t/node/upstream.t @@ -89,8 +89,8 @@ passed --- request GET /not_found --- error_code: 404 ---- response_body eval -qr/404 Not Found/ +--- response_body +{"error_msg":"failed to match any routes"} --- no_error_log [error] diff --git a/t/node/vars.t b/t/node/vars.t index a1552bf..fdbe22e 100644 --- a/t/node/vars.t +++ b/t/node/vars.t @@ -63,8 +63,8 @@ passed --- request GET /not_found --- error_code: 404 ---- response_body eval -qr/404 Not Found/ +--- response_body +{"error_msg":"failed to match any routes"} --- no_error_log [error] @@ -74,8 +74,8 @@ qr/404 Not Found/ --- request GET /hello?k=not-hit --- error_code: 404 ---- response_body eval -qr/404 Not Found/ +--- response_body +{"error_msg":"failed to match any routes"} --- no_error_log [error] @@ -129,8 +129,8 @@ passed --- request GET /hello --- error_code: 404 ---- response_body eval -qr/404 Not Found/ +--- response_body +{"error_msg":"failed to match any routes"} --- no_error_log [error] @@ -142,8 +142,8 @@ Cookie: k=not-hit; kkk=vvv; --- request GET /hello --- error_code: 404 ---- response_body eval -qr/404 Not Found/ +--- response_body +{"error_msg":"failed to match any routes"} --- no_error_log [error] @@ -199,8 +199,8 @@ passed --- request GET /hello --- error_code: 404 ---- response_body eval -qr/404 Not Found/ +--- response_body +{"error_msg":"failed to match any routes"} --- no_error_log [error] @@ -212,8 +212,8 @@ k: not-hit --- request GET /hello --- error_code: 404 ---- response_body eval -qr/404 Not Found/ +--- response_body +{"error_msg":"failed to match any routes"} --- no_error_log [error] @@ -269,8 +269,8 @@ passed --- request GET /hello --- error_code: 404 ---- response_body eval -qr/404 Not Found/ +--- response_body +{"error_msg":"failed to match any routes"} --- no_error_log [error] @@ -282,8 +282,8 @@ k: header --- request GET /hello --- error_code: 404 ---- response_body eval -qr/404 Not Found/ +--- response_body +{"error_msg":"failed to match any routes"} --- no_error_log [error] diff --git a/t/node/wildcard-host.t b/t/node/wildcard-host.t index 8def761..5bfb95e 100644 --- a/t/node/wildcard-host.t +++ b/t/node/wildcard-host.t @@ -61,8 +61,8 @@ passed --- request GET /not_found --- error_code: 404 ---- response_body eval -qr/404 Not Found/ +--- response_body +{"error_msg":"failed to match any routes"} --- no_error_log [error] @@ -72,8 +72,8 @@ qr/404 Not Found/ --- request GET /hello --- error_code: 404 ---- response_body eval -qr/404 Not Found/ +--- response_body +{"error_msg":"failed to match any routes"} --- no_error_log [error] diff --git a/t/router/radixtree-host-uri.t b/t/router/radixtree-host-uri.t index bfdd6ec..f80e3eb 100644 --- a/t/router/radixtree-host-uri.t +++ b/t/router/radixtree-host-uri.t @@ -80,8 +80,8 @@ passed GET /not_found --- yaml_config eval: $::yaml_config --- error_code: 404 ---- response_body eval -qr/404 Not Found/ +--- response_body +{"error_msg":"failed to match any routes"} --- no_error_log [error] @@ -92,8 +92,8 @@ qr/404 Not Found/ GET /hello --- yaml_config eval: $::yaml_config --- error_code: 404 ---- response_body eval -qr/404 Not Found/ +--- response_body +{"error_msg":"failed to match any routes"} --- no_error_log [error] @@ -106,8 +106,8 @@ GET /hello --- more_headers Host: not_found.com --- error_code: 404 ---- response_body eval -qr/404 Not Found/ +--- response_body +{"error_msg":"failed to match any routes"} --- no_error_log [error] @@ -176,8 +176,8 @@ passed GET /hello --- yaml_config eval: $::yaml_config --- error_code: 404 ---- response_body eval -qr/404 Not Found/ +--- response_body +{"error_msg":"failed to match any routes"} --- no_error_log [error] @@ -235,8 +235,8 @@ passed GET /hello2 --- yaml_config eval: $::yaml_config --- error_code: 404 ---- response_body eval -qr/404 Not Found/ +--- response_body +{"error_msg":"failed to match any routes"} --- no_error_log [error] diff --git a/t/router/radixtree-uri-host.t b/t/router/radixtree-uri-host.t index 625d27d..cefe0a0 100644 --- a/t/router/radixtree-uri-host.t +++ b/t/router/radixtree-uri-host.t @@ -80,8 +80,8 @@ passed GET /not_found --- yaml_config eval: $::yaml_config --- error_code: 404 ---- response_body eval -qr/404 Not Found/ +--- response_body +{"error_msg":"failed to match any routes"} --- no_error_log [error] @@ -92,8 +92,6 @@ qr/404 Not Found/ GET /hello --- yaml_config eval: $::yaml_config --- error_code: 404 ---- response_body eval -qr/404 Not Found/ --- no_error_log [error] @@ -106,8 +104,6 @@ GET /hello --- more_headers Host: not_found.com --- error_code: 404 ---- response_body eval -qr/404 Not Found/ --- no_error_log [error] @@ -180,8 +176,8 @@ passed GET /not_found --- yaml_config eval: $::yaml_config --- error_code: 404 ---- response_body eval -qr/404 Not Found/ +--- response_body +{"error_msg":"failed to match any routes"} --- no_error_log [error] @@ -192,8 +188,6 @@ qr/404 Not Found/ GET /hello --- yaml_config eval: $::yaml_config --- error_code: 404 ---- response_body eval -qr/404 Not Found/ --- no_error_log [error] @@ -206,8 +200,6 @@ GET /hello --- more_headers Host: www.foo.com --- error_code: 404 ---- response_body eval -qr/404 Not Found/ --- no_error_log [error] @@ -264,8 +256,8 @@ passed --- request GET /hello?name=unknown --- error_code: 404 ---- response_body eval -qr/404 Not Found/ +--- response_body +{"error_msg":"failed to match any routes"} --- no_error_log [error] diff --git a/t/router/radixtree-uri-multiple.t b/t/router/radixtree-uri-multiple.t index ebd94b4..f591fd7 100644 --- a/t/router/radixtree-uri-multiple.t +++ b/t/router/radixtree-uri-multiple.t @@ -146,8 +146,8 @@ passed GET /not_found --- yaml_config eval: $::yaml_config --- error_code: 404 ---- response_body eval -qr/404 Not Found/ +--- response_body +{"error_msg":"failed to match any routes"} --- no_error_log [error] diff --git a/t/router/radixtree-uri-sanity.t b/t/router/radixtree-uri-sanity.t index c037feb..d34ecbc 100644 --- a/t/router/radixtree-uri-sanity.t +++ b/t/router/radixtree-uri-sanity.t @@ -80,8 +80,8 @@ passed GET /not_found --- yaml_config eval: $::yaml_config --- error_code: 404 ---- response_body eval -qr/404 Not Found/ +--- response_body +{"error_msg":"failed to match any routes"} --- no_error_log [error] @@ -92,8 +92,8 @@ qr/404 Not Found/ GET /hello --- yaml_config eval: $::yaml_config --- error_code: 404 ---- response_body eval -qr/404 Not Found/ +--- response_body +{"error_msg":"failed to match any routes"} --- no_error_log [error] @@ -106,8 +106,8 @@ GET /hello --- more_headers Host: not_found.com --- error_code: 404 ---- response_body eval -qr/404 Not Found/ +--- response_body +{"error_msg":"failed to match any routes"} --- no_error_log [error] @@ -166,8 +166,8 @@ passed GET /hello --- yaml_config eval: $::yaml_config --- error_code: 404 ---- response_body eval -qr/404 Not Found/ +--- response_body +{"error_msg":"failed to match any routes"} --- no_error_log [error] @@ -226,8 +226,8 @@ passed GET /hello2 --- yaml_config eval: $::yaml_config --- error_code: 404 ---- response_body eval -qr/404 Not Found/ +--- response_body +{"error_msg":"failed to match any routes"} --- no_error_log [error]