From baebc551f5acbd0580e3c3b874c229c14d1dd675 Mon Sep 17 00:00:00 2001 From: Spring Operator Date: Tue, 26 Mar 2019 03:38:32 -0500 Subject: [PATCH 1/4] URL Cleanup This commit updates URLs to prefer the https protocol. Redirects are not followed to avoid accidentally expanding intentionally shortened URLs (i.e. if using a URL shortener). # HTTP URLs that Could Not Be Fixed These URLs were unable to be fixed. Please review them to see if they can be manually resolved. * [ ] http://httpbin.org:80 (200) with 11 occurrences could not be migrated: ([https](https://httpbin.org:80) result NotSslRecordException). # Fixed URLs ## Fixed But Review Recommended These URLs were fixed, but the https status was not OK. However, the https status was the same as the http request or http redirected to an https URL, so they were migrated. Your review is recommended. * [ ] http://acme.com:8080 (ConnectTimeoutException) with 1 occurrences migrated to: https://acme.com:8080 ([https](https://acme.com:8080) result ConnectTimeoutException). * [ ] http://acme.org (ConnectTimeoutException) with 2 occurrences migrated to: https://acme.org ([https](https://acme.org) result ConnectTimeoutException). * [ ] http://compose.docker.io/ (UnknownHostException) with 1 occurrences migrated to: https://compose.docker.io/ ([https](https://compose.docker.io/) result UnknownHostException). * [ ] http://foo.example.com (UnknownHostException) with 1 occurrences migrated to: https://foo.example.com ([https](https://foo.example.com) result UnknownHostException). * [ ] http://www.uri-destination.org (UnknownHostException) with 1 occurrences migrated to: https://www.uri-destination.org ([https](https://www.uri-destination.org) result UnknownHostException). * [ ] http://docs.spring.io/spring/docs/5.0.x/javadoc-api/org/springframework/web/server/GatewayFilter.html (301) with 1 occurrences migrated to: https://docs.spring.io/spring/docs/5.0.x/javadoc-api/org/springframework/web/server/GatewayFilter.html ([https](https://docs.spring.io/spring/docs/5.0.x/javadoc-api/org/springframework/web/server/GatewayFilter.html) result 404). * [ ] http://www.puppycrawl.com/dtds/suppressions_1_1.dtd (404) with 1 occurrences migrated to: https://www.puppycrawl.com/dtds/suppressions_1_1.dtd ([https](https://www.puppycrawl.com/dtds/suppressions_1_1.dtd) result 404). ## Fixed Success These URLs were switched to an https URL with a 2xx status. While the status was successful, your review is still recommended. * [ ] http://acme.com with 1 occurrences migrated to: https://acme.com ([https](https://acme.com) result 200). * [ ] http://cloud.spring.io/spring-cloud-netflix/ with 5 occurrences migrated to: https://cloud.spring.io/spring-cloud-netflix/ ([https](https://cloud.spring.io/spring-cloud-netflix/) result 200). * [ ] http://docs.oracle.com/javase/8/docs/api/java/util/function/Predicate.html with 1 occurrences migrated to: https://docs.oracle.com/javase/8/docs/api/java/util/function/Predicate.html ([https](https://docs.oracle.com/javase/8/docs/api/java/util/function/Predicate.html) result 200). * [ ] http://docs.spring.io/spring/docs/5.0.x/javadoc-api/org/springframework/web/server/ServerWebExchange.html with 1 occurrences migrated to: https://docs.spring.io/spring/docs/5.0.x/javadoc-api/org/springframework/web/server/ServerWebExchange.html ([https](https://docs.spring.io/spring/docs/5.0.x/javadoc-api/org/springframework/web/server/ServerWebExchange.html) result 200). * [ ] http://example.com with 8 occurrences migrated to: https://example.com ([https](https://example.com) result 200). * [ ] http://example.org with 34 occurrences migrated to: https://example.org ([https](https://example.org) result 200). * [ ] http://httpbin.org with 1 occurrences migrated to: https://httpbin.org ([https](https://httpbin.org) result 200). * [ ] http://projects.spring.io/spring-cloud/ with 1 occurrences migrated to: https://projects.spring.io/spring-cloud/ ([https](https://projects.spring.io/spring-cloud/) result 200). * [ ] http://projects.spring.io/spring-security/ with 2 occurrences migrated to: https://projects.spring.io/spring-security/ ([https](https://projects.spring.io/spring-security/) result 200). * [ ] http://projects.spring.io/spring-session/ with 2 occurrences migrated to: https://projects.spring.io/spring-session/ ([https](https://projects.spring.io/spring-session/) result 200). * [ ] http://tbaggery.com/2008/04/19/a-note-about-git-commit-messages.html with 2 occurrences migrated to: https://tbaggery.com/2008/04/19/a-note-about-git-commit-messages.html ([https](https://tbaggery.com/2008/04/19/a-note-about-git-commit-messages.html) result 200). * [ ] http://docs.spring.io with 1 occurrences migrated to: https://docs.spring.io ([https](https://docs.spring.io) result 301). * [ ] http://plugins.jetbrains.com/plugin/6546 with 2 occurrences migrated to: https://plugins.jetbrains.com/plugin/6546 ([https](https://plugins.jetbrains.com/plugin/6546) result 301). * [ ] http://eclipse.org with 1 occurrences migrated to: https://eclipse.org ([https](https://eclipse.org) result 302). * [ ] http://eclipse.org/m2e/ with 2 occurrences migrated to: https://eclipse.org/m2e/ ([https](https://eclipse.org/m2e/) result 302). * [ ] http://www.springsource.com/developer/sts with 1 occurrences migrated to: https://www.springsource.com/developer/sts ([https](https://www.springsource.com/developer/sts) result 302). # Ignored These URLs were intentionally ignored. * http://endpoint with 1 occurrences * http://localhost with 51 occurrences * http://localhost/ with 2 occurrences * http://localhost/abc with 1 occurrences * http://localhost/get with 10 occurrences * http://localhost/get?a=b with 2 occurrences * http://localhost/get?a=b&c=d with 4 occurrences * http://localhost/get?key with 1 occurrences * http://localhost/getb with 3 occurrences * http://localhost:3001 with 1 occurrences * http://localhost:8008/configserver/foo/default with 1 occurrences * http://localhost:8080/flakey with 1 occurrences * http://localhost:8080/get with 6 occurrences * http://localhost:8080/upload with 1 occurrences * http://localhost:9000/foos/ with 4 occurrences * http://localhost:9080 with 1 occurrences * http://localhost:9994 with 3 occurrences * http://myhost with 5 occurrences * http://myhost/abc%20def/get with 1 occurrences * http://myhost/mypath with 1 occurrences * http://myservice with 2 occurrences * http://nameservice with 1 occurrences * http://nameservice/foo with 1 occurrences * http://originalhost:8080/foo/bar with 2 occurrences * http://originalhost:8080/get with 2 occurrences * http://originalhost:8080/get/ with 1 occurrences * http://originalhost:8080/one/two/three with 1 occurrences * http://originalhost:8080/prefix/get with 1 occurrences * http://originalhost:8080/prefix/get/ with 1 occurrences * http://override-url with 1 occurrences * http://override-url:80 with 1 occurrences * http://routedservice:8090/ with 1 occurrences * http://routedservice:8090/get with 2 occurrences * http://routedservice:8090/two with 1 occurrences * http://service1 with 1 occurrences * http://someuri with 1 occurrences * http://someuri:80 with 1 occurrences * http://someurl with 1 occurrences --- .github/CONTRIBUTING.md | 4 +- README.adoc | 16 ++-- .../main/asciidoc/spring-cloud-gateway.adoc | 84 +++++++++---------- .../factory/HystrixGatewayFilterFactory.java | 2 +- .../route/builder/GatewayFilterSpec.java | 10 +-- .../RedirectToGatewayFilterFactoryTests.java | 2 +- ...iGatewayFilterFactoryIntegrationTests.java | 4 +- ...ToRequestUriGatewayFilterFactoryTests.java | 4 +- .../BetweenRoutePredicateFactoryTests.java | 2 +- ...RoutePredicateFactoryIntegrationTests.java | 2 +- .../CookieRoutePredicateFactoryTests.java | 4 +- .../RouteDefinitionRouteLocatorTests.java | 2 +- .../cloud/gateway/route/RouteTests.java | 4 +- .../gateway/route/builder/RouteDslTests.kt | 2 +- .../src/test/resources/application.yml | 2 +- 15 files changed, 72 insertions(+), 72 deletions(-) diff --git a/.github/CONTRIBUTING.md b/.github/CONTRIBUTING.md index a966f0a2..6430ceef 100644 --- a/.github/CONTRIBUTING.md +++ b/.github/CONTRIBUTING.md @@ -27,7 +27,7 @@ added after the original pull request but before a merge. you can import formatter settings using the `eclipse-code-formatter.xml` file from the [Spring Cloud Build](https://raw.githubusercontent.com/spring-cloud/spring-cloud-build/master/spring-cloud-dependencies-parent/eclipse-code-formatter.xml) project. If using IntelliJ, you can use the - [Eclipse Code Formatter Plugin](http://plugins.jetbrains.com/plugin/6546) to import the same file. + [Eclipse Code Formatter Plugin](https://plugins.jetbrains.com/plugin/6546) to import the same file. * Make sure all new `.java` files to have a simple Javadoc class comment with at least an `@author` tag identifying you, and preferably at least a paragraph on what the class is for. @@ -39,6 +39,6 @@ added after the original pull request but before a merge. * A few unit tests would help a lot as well -- someone has to do it. * If no-one else is using your branch, please rebase it against the current master (or other target branch in the main project). -* When writing a commit message please follow [these conventions](http://tbaggery.com/2008/04/19/a-note-about-git-commit-messages.html), +* When writing a commit message please follow [these conventions](https://tbaggery.com/2008/04/19/a-note-about-git-commit-messages.html), if you are fixing an existing issue please add `Fixes gh-XXXX` at the end of the commit message (where XXXX is the issue number). \ No newline at end of file diff --git a/README.adoc b/README.adoc index e8c0c353..2881b5af 100644 --- a/README.adoc +++ b/README.adoc @@ -62,7 +62,7 @@ credentials and you already have those. The projects that require middleware generally include a `docker-compose.yml`, so consider using -http://compose.docker.io/[Docker Compose] to run the middeware servers +https://compose.docker.io/[Docker Compose] to run the middeware servers in Docker containers. See the README in the https://github.com/spring-cloud-samples/scripts[scripts demo repository] for specific instructions about the common cases of mongo, @@ -84,13 +84,13 @@ a modified file in the correct place. Just commit it and push the change. === Working with the code If you don't have an IDE preference we would recommend that you use -http://www.springsource.com/developer/sts[Spring Tools Suite] or -http://eclipse.org[Eclipse] when working with the code. We use the -http://eclipse.org/m2e/[m2eclipse] eclipse plugin for maven support. Other IDEs and tools +https://www.springsource.com/developer/sts[Spring Tools Suite] or +https://eclipse.org[Eclipse] when working with the code. We use the +https://eclipse.org/m2e/[m2eclipse] eclipse plugin for maven support. Other IDEs and tools should also work without issue as long as they use Maven 3.3.3 or better. ==== Importing into eclipse with m2eclipse -We recommend the http://eclipse.org/m2e/[m2eclipse] eclipse plugin when working with +We recommend the https://eclipse.org/m2e/[m2eclipse] eclipse plugin when working with eclipse. If you don't already have m2eclipse installed it is available from the "eclipse marketplace". @@ -149,7 +149,7 @@ added after the original pull request but before a merge. `eclipse-code-formatter.xml` file from the https://raw.githubusercontent.com/spring-cloud/spring-cloud-build/master/spring-cloud-dependencies-parent/eclipse-code-formatter.xml[Spring Cloud Build] project. If using IntelliJ, you can use the - http://plugins.jetbrains.com/plugin/6546[Eclipse Code Formatter + https://plugins.jetbrains.com/plugin/6546[Eclipse Code Formatter Plugin] to import the same file. * Make sure all new `.java` files to have a simple Javadoc class comment with at least an `@author` tag identifying you, and preferably at least a paragraph on what the class is @@ -162,7 +162,7 @@ added after the original pull request but before a merge. * A few unit tests would help a lot as well -- someone has to do it. * If no-one else is using your branch, please rebase it against the current master (or other target branch in the main project). -* When writing a commit message please follow http://tbaggery.com/2008/04/19/a-note-about-git-commit-messages.html[these conventions], +* When writing a commit message please follow https://tbaggery.com/2008/04/19/a-note-about-git-commit-messages.html[these conventions], if you are fixing an existing issue please add `Fixes gh-XXXX` at the end of the commit message (where XXXX is the issue number). @@ -233,7 +233,7 @@ If you need to suppress some rules (e.g. line length needs to be longer), then i + "https://www.puppycrawl.com/dtds/suppressions_1_1.dtd"> diff --git a/docs/src/main/asciidoc/spring-cloud-gateway.adoc b/docs/src/main/asciidoc/spring-cloud-gateway.adoc index 2be60a2c..2973f609 100644 --- a/docs/src/main/asciidoc/spring-cloud-gateway.adoc +++ b/docs/src/main/asciidoc/spring-cloud-gateway.adoc @@ -16,7 +16,7 @@ include::intro.adoc[] == How to Include Spring Cloud Gateway To include Spring Cloud Gateway in your project use the starter with group `org.springframework.cloud` -and artifact id `spring-cloud-starter-gateway`. See the http://projects.spring.io/spring-cloud/[Spring Cloud Project page] +and artifact id `spring-cloud-starter-gateway`. See the https://projects.spring.io/spring-cloud/[Spring Cloud Project page] for details on setting up your build system with the current Spring Cloud Release Train. If you include the starter, but, for some reason, you do not want the gateway to be enabled, set `spring.cloud.gateway.enabled=false`. @@ -34,8 +34,8 @@ IMPORTANT: Spring Cloud Gateway requires the Netty runtime provided by Spring Bo == Glossary * *Route*: Route the basic building block of the gateway. It is defined by an ID, a destination URI, a collection of predicates and a collection of filters. A route is matched if aggregate predicate is true. -* *Predicate*: This is a http://docs.oracle.com/javase/8/docs/api/java/util/function/Predicate.html[Java 8 Function Predicate]. The input type is a http://docs.spring.io/spring/docs/5.0.x/javadoc-api/org/springframework/web/server/ServerWebExchange.html[Spring Framework `ServerWebExchange`]. This allows developers to match on anything from the HTTP request, such as headers or parameters. -* *Filter*: These are instances http://docs.spring.io/spring/docs/5.0.x/javadoc-api/org/springframework/web/server/GatewayFilter.html[Spring Framework `GatewayFilter`] constructed in with a specific factory. Here, requests and responses can be modified before or after sending the downstream request. +* *Predicate*: This is a https://docs.oracle.com/javase/8/docs/api/java/util/function/Predicate.html[Java 8 Function Predicate]. The input type is a https://docs.spring.io/spring/docs/5.0.x/javadoc-api/org/springframework/web/server/ServerWebExchange.html[Spring Framework `ServerWebExchange`]. This allows developers to match on anything from the HTTP request, such as headers or parameters. +* *Filter*: These are instances https://docs.spring.io/spring/docs/5.0.x/javadoc-api/org/springframework/web/server/GatewayFilter.html[Spring Framework `GatewayFilter`] constructed in with a specific factory. Here, requests and responses can be modified before or after sending the downstream request. [[gateway-how-it-works]] == How It Works @@ -62,7 +62,7 @@ spring: gateway: routes: - id: after_route - uri: http://example.org + uri: https://example.org predicates: - After=2017-01-20T17:42:47.789-07:00[America/Denver] ---- @@ -80,7 +80,7 @@ spring: gateway: routes: - id: before_route - uri: http://example.org + uri: https://example.org predicates: - Before=2017-01-20T17:42:47.789-07:00[America/Denver] ---- @@ -98,7 +98,7 @@ spring: gateway: routes: - id: between_route - uri: http://example.org + uri: https://example.org predicates: - Between=2017-01-20T17:42:47.789-07:00[America/Denver], 2017-01-21T17:42:47.789-07:00[America/Denver] ---- @@ -116,7 +116,7 @@ spring: gateway: routes: - id: cookie_route - uri: http://example.org + uri: https://example.org predicates: - Cookie=chocolate, ch.p ---- @@ -134,7 +134,7 @@ spring: gateway: routes: - id: header_route - uri: http://example.org + uri: https://example.org predicates: - Header=X-Request-Id, \d+ ---- @@ -152,7 +152,7 @@ spring: gateway: routes: - id: host_route - uri: http://example.org + uri: https://example.org predicates: - Host=**.somehost.org,**.anotherhost.org ---- @@ -175,7 +175,7 @@ spring: gateway: routes: - id: method_route - uri: http://example.org + uri: https://example.org predicates: - Method=GET ---- @@ -193,7 +193,7 @@ spring: gateway: routes: - id: host_route - uri: http://example.org + uri: https://example.org predicates: - Path=/foo/{segment},/bar/{segment} ---- @@ -222,7 +222,7 @@ spring: gateway: routes: - id: query_route - uri: http://example.org + uri: https://example.org predicates: - Query=baz ---- @@ -237,7 +237,7 @@ spring: gateway: routes: - id: query_route - uri: http://example.org + uri: https://example.org predicates: - Query=foo, ba. ---- @@ -256,7 +256,7 @@ spring: gateway: routes: - id: remoteaddr_route - uri: http://example.org + uri: https://example.org predicates: - RemoteAddr=192.168.1.1/24 ---- @@ -334,7 +334,7 @@ spring: gateway: routes: - id: add_request_header_route - uri: http://example.org + uri: https://example.org filters: - AddRequestHeader=X-Request-Foo, Bar ---- @@ -352,7 +352,7 @@ spring: gateway: routes: - id: add_request_parameter_route - uri: http://example.org + uri: https://example.org filters: - AddRequestParameter=foo, bar ---- @@ -370,7 +370,7 @@ spring: gateway: routes: - id: add_response_header_route - uri: http://example.org + uri: https://example.org filters: - AddResponseHeader=X-Response-Foo, Bar ---- @@ -388,7 +388,7 @@ spring: gateway: routes: - id: dedupe_response_header_route - uri: http://example.org + uri: https://example.org filters: - DedupeResponseHeader=Access-Control-Allow-Credentials Access-Control-Allow-Origin ---- @@ -402,7 +402,7 @@ The DedupeResponseHeader filter also accepts an optional `strategy` parameter. T https://github.com/Netflix/Hystrix[Hystrix] is a library from Netflix that implements the https://martinfowler.com/bliki/CircuitBreaker.html[circuit breaker pattern]. The Hystrix GatewayFilter allows you to introduce circuit breakers to your gateway routes, protecting your services from cascading failures and allowing you to provide fallback responses in the event of downstream failures. -To enable Hystrix GatewayFilters in your project, add a dependency on `spring-cloud-starter-netflix-hystrix` from http://cloud.spring.io/spring-cloud-netflix/[Spring Cloud Netflix]. +To enable Hystrix GatewayFilters in your project, add a dependency on `spring-cloud-starter-netflix-hystrix` from https://cloud.spring.io/spring-cloud-netflix/[Spring Cloud Netflix]. The Hystrix GatewayFilter Factory requires a single `name` parameter, which is the name of the `HystrixCommand`. @@ -414,7 +414,7 @@ spring: gateway: routes: - id: hystrix_route - uri: http://example.org + uri: https://example.org filters: - Hystrix=myCommandName ---- @@ -545,7 +545,7 @@ spring: gateway: routes: - id: prefixpath_route - uri: http://example.org + uri: https://example.org filters: - PrefixPath=/mypath ---- @@ -563,7 +563,7 @@ spring: gateway: routes: - id: preserve_host_route - uri: http://example.org + uri: https://example.org filters: - PreserveHostHeader ---- @@ -618,7 +618,7 @@ spring: gateway: routes: - id: requestratelimiter_route - uri: http://example.org + uri: https://example.org filters: - name: RequestRateLimiter args: @@ -648,7 +648,7 @@ spring: gateway: routes: - id: requestratelimiter_route - uri: http://example.org + uri: https://example.org filters: - name: RequestRateLimiter args: @@ -668,12 +668,12 @@ spring: gateway: routes: - id: prefixpath_route - uri: http://example.org + uri: https://example.org filters: - - RedirectTo=302, http://acme.org + - RedirectTo=302, https://acme.org ---- -This will send a status 302 with a `Location:http://acme.org` header to perform a redirect. +This will send a status 302 with a `Location:https://acme.org` header to perform a redirect. === RemoveHopByHopHeadersFilter GatewayFilter Factory The RemoveHopByHopHeadersFilter GatewayFilter Factory removes headers from forwarded requests. The default list of headers that is removed comes from the https://tools.ietf.org/html/draft-ietf-httpbis-p1-messaging-14#section-7.1.3[IETF]. @@ -701,7 +701,7 @@ spring: gateway: routes: - id: removerequestheader_route - uri: http://example.org + uri: https://example.org filters: - RemoveRequestHeader=X-Request-Foo ---- @@ -719,7 +719,7 @@ spring: gateway: routes: - id: removeresponseheader_route - uri: http://example.org + uri: https://example.org filters: - RemoveResponseHeader=X-Response-Foo ---- @@ -741,7 +741,7 @@ spring: gateway: routes: - id: rewritepath_route - uri: http://example.org + uri: https://example.org predicates: - Path=/foo/** filters: @@ -761,7 +761,7 @@ spring: gateway: routes: - id: rewriteresponseheader_route - uri: http://example.org + uri: https://example.org filters: - RewriteResponseHeader=X-Response-Foo, , password=[^&]+, password=*** ---- @@ -770,7 +770,7 @@ For a header value of `/42?user=ford&password=omg!what&flag=true`, it will be se === SaveSession GatewayFilter Factory The SaveSession GatewayFilter Factory forces a `WebSession::save` operation _before_ forwarding the call downstream. This is of particular use when -using something like http://projects.spring.io/spring-session/[Spring Session] with a lazy data store and need to ensure the session state has been saved before making the forwarded call. +using something like https://projects.spring.io/spring-session/[Spring Session] with a lazy data store and need to ensure the session state has been saved before making the forwarded call. .application.yml [source,yaml] @@ -780,14 +780,14 @@ spring: gateway: routes: - id: save_session - uri: http://example.org + uri: https://example.org predicates: - Path=/foo/** filters: - SaveSession ---- -If you are integrating http://projects.spring.io/spring-security/[Spring Security] with Spring Session, and want to ensure security details have been forwarded to the remote process, this is critical. +If you are integrating https://projects.spring.io/spring-security/[Spring Security] with Spring Session, and want to ensure security details have been forwarded to the remote process, this is critical. === SecureHeaders GatewayFilter Factory The SecureHeaders GatewayFilter Factory adds a number of headers to the response at the reccomendation from https://blog.appcanary.com/2017/http-security-headers.html[this blog post]. @@ -826,7 +826,7 @@ spring: gateway: routes: - id: setpath_route - uri: http://example.org + uri: https://example.org predicates: - Path=/foo/{segment} filters: @@ -846,7 +846,7 @@ spring: gateway: routes: - id: setresponseheader_route - uri: http://example.org + uri: https://example.org filters: - SetResponseHeader=X-Response-Foo, Bar ---- @@ -864,11 +864,11 @@ spring: gateway: routes: - id: setstatusstring_route - uri: http://example.org + uri: https://example.org filters: - SetStatus=BAD_REQUEST - id: setstatusint_route - uri: http://example.org + uri: https://example.org filters: - SetStatus=401 ---- @@ -1256,13 +1256,13 @@ spring: gateway: routes: - id: setstatus_route - uri: http://example.org + uri: https://example.org filters: - name: SetStatus args: status: 401 - id: setstatusshortcut_route - uri: http://example.org + uri: https://example.org filters: - SetStatus=401 ---- @@ -1376,7 +1376,7 @@ spring: globalcors: corsConfigurations: '[/**]': - allowedOrigins: "http://docs.spring.io" + allowedOrigins: "https://docs.spring.io" allowedMethods: - GET ---- @@ -1488,7 +1488,7 @@ To retrieve information about a single route, make a `GET` request to `/actuator "args": {"_genkey_0":"/first"} }], "filters": [], - "uri": "http://www.uri-destination.org", + "uri": "https://www.uri-destination.org", "order": 0 }] ---- diff --git a/spring-cloud-gateway-core/src/main/java/org/springframework/cloud/gateway/filter/factory/HystrixGatewayFilterFactory.java b/spring-cloud-gateway-core/src/main/java/org/springframework/cloud/gateway/filter/factory/HystrixGatewayFilterFactory.java index fe04d0c8..7b22813e 100644 --- a/spring-cloud-gateway-core/src/main/java/org/springframework/cloud/gateway/filter/factory/HystrixGatewayFilterFactory.java +++ b/spring-cloud-gateway-core/src/main/java/org/springframework/cloud/gateway/filter/factory/HystrixGatewayFilterFactory.java @@ -53,7 +53,7 @@ import static org.springframework.cloud.gateway.support.ServerWebExchangeUtils.c /** * Depends on `spring-cloud-starter-netflix-hystrix`, - * {@see http://cloud.spring.io/spring-cloud-netflix/}. + * {@see https://cloud.spring.io/spring-cloud-netflix/}. * * @author Spencer Gibb * @author Michele Mancioppi diff --git a/spring-cloud-gateway-core/src/main/java/org/springframework/cloud/gateway/route/builder/GatewayFilterSpec.java b/spring-cloud-gateway-core/src/main/java/org/springframework/cloud/gateway/route/builder/GatewayFilterSpec.java index 55528708..dbecfd35 100644 --- a/spring-cloud-gateway-core/src/main/java/org/springframework/cloud/gateway/route/builder/GatewayFilterSpec.java +++ b/spring-cloud-gateway-core/src/main/java/org/springframework/cloud/gateway/route/builder/GatewayFilterSpec.java @@ -194,7 +194,7 @@ public class GatewayFilterSpec extends UriSpec { /** * Wraps the route in a Hystrix command. Depends on @{code * org.springframework.cloud::spring-cloud-starter-netflix-hystrix} being on the - * classpath, {@see http://cloud.spring.io/spring-cloud-netflix/} + * classpath, {@see https://cloud.spring.io/spring-cloud-netflix/} * @param configConsumer a {@link Consumer} which provides configuration for the * Hystrix command * @return a {@link GatewayFilterSpec} that can be used to apply additional filters @@ -550,10 +550,10 @@ public class GatewayFilterSpec extends UriSpec { /** * A filter which forces a {@code WebSession::save} operation before forwarding the * call downstream. This is of particular use when using something like - * Spring Session with a lazy + * Spring Session with a lazy * data store and need to ensure the session state has been saved before making the * forwarded call. If you are integrating - * Spring Security with + * Spring Security with * Spring Session, and want to ensure security details have been forwarded to the * remote process, this is critical. * @return a {@link GatewayFilterSpec} that can be used to apply additional filters @@ -617,7 +617,7 @@ public class GatewayFilterSpec extends UriSpec { /** * Adds hystrix execution exception headers to fallback request. Depends on @{code * org.springframework.cloud::spring-cloud-starter-netflix-hystrix} being on the - * classpath, {@see http://cloud.spring.io/spring-cloud-netflix/} + * classpath, {@see https://cloud.spring.io/spring-cloud-netflix/} * @param config a {@link FallbackHeadersGatewayFilterFactory.Config} which provides * the header names. If header names arguments are not provided, default values are * used. @@ -632,7 +632,7 @@ public class GatewayFilterSpec extends UriSpec { /** * Adds hystrix execution exception headers to fallback request. Depends on @{code * org.springframework.cloud::spring-cloud-starter-netflix-hystrix} being on the - * classpath, {@see http://cloud.spring.io/spring-cloud-netflix/} + * classpath, {@see https://cloud.spring.io/spring-cloud-netflix/} * @param configConsumer a {@link Consumer} which can be used to set up the names of * the headers in the config. If header names arguments are not provided, default * values are used. diff --git a/spring-cloud-gateway-core/src/test/java/org/springframework/cloud/gateway/filter/factory/RedirectToGatewayFilterFactoryTests.java b/spring-cloud-gateway-core/src/test/java/org/springframework/cloud/gateway/filter/factory/RedirectToGatewayFilterFactoryTests.java index 9ef071d7..1beb9183 100644 --- a/spring-cloud-gateway-core/src/test/java/org/springframework/cloud/gateway/filter/factory/RedirectToGatewayFilterFactoryTests.java +++ b/spring-cloud-gateway-core/src/test/java/org/springframework/cloud/gateway/filter/factory/RedirectToGatewayFilterFactoryTests.java @@ -43,7 +43,7 @@ public class RedirectToGatewayFilterFactoryTests extends BaseWebClientTests { public void redirectToFilterWorks() { testClient.get().uri("/").header("Host", "www.redirectto.org").exchange() .expectStatus().isEqualTo(HttpStatus.FOUND).expectHeader() - .valueEquals(HttpHeaders.LOCATION, "http://example.org"); + .valueEquals(HttpHeaders.LOCATION, "https://example.org"); } @Test diff --git a/spring-cloud-gateway-core/src/test/java/org/springframework/cloud/gateway/filter/factory/RequestHeaderToRequestUriGatewayFilterFactoryIntegrationTests.java b/spring-cloud-gateway-core/src/test/java/org/springframework/cloud/gateway/filter/factory/RequestHeaderToRequestUriGatewayFilterFactoryIntegrationTests.java index 7af3029f..dbbe04c4 100644 --- a/spring-cloud-gateway-core/src/test/java/org/springframework/cloud/gateway/filter/factory/RequestHeaderToRequestUriGatewayFilterFactoryIntegrationTests.java +++ b/spring-cloud-gateway-core/src/test/java/org/springframework/cloud/gateway/filter/factory/RequestHeaderToRequestUriGatewayFilterFactoryIntegrationTests.java @@ -91,11 +91,11 @@ public class RequestHeaderToRequestUriGatewayFilterFactoryIntegrationTests return builder.routes() .route(r -> r.host("**.changeuri.org").and().header("X-Next-Url") .filters(f -> f.requestHeaderToRequestUri("X-Next-Url")) - .uri("http://example.com")) + .uri("https://example.com")) .route(r -> r.host("**.changeuri.org").and().query("url") .filters(f -> f.changeRequestUri(e -> Optional.of(URI.create( e.getRequest().getQueryParams().getFirst("url"))))) - .uri("http://example.com")) + .uri("https://example.com")) .build(); } diff --git a/spring-cloud-gateway-core/src/test/java/org/springframework/cloud/gateway/filter/factory/RequestHeaderToRequestUriGatewayFilterFactoryTests.java b/spring-cloud-gateway-core/src/test/java/org/springframework/cloud/gateway/filter/factory/RequestHeaderToRequestUriGatewayFilterFactoryTests.java index 0caf1d26..5703c079 100644 --- a/spring-cloud-gateway-core/src/test/java/org/springframework/cloud/gateway/filter/factory/RequestHeaderToRequestUriGatewayFilterFactoryTests.java +++ b/spring-cloud-gateway-core/src/test/java/org/springframework/cloud/gateway/filter/factory/RequestHeaderToRequestUriGatewayFilterFactoryTests.java @@ -43,7 +43,7 @@ public class RequestHeaderToRequestUriGatewayFilterFactoryTests { RequestHeaderToRequestUriGatewayFilterFactory factory = new RequestHeaderToRequestUriGatewayFilterFactory(); GatewayFilter filter = factory.apply(c -> c.setName("X-CF-Forwarded-Url")); MockServerHttpRequest request = MockServerHttpRequest.get("http://localhost") - .header("X-CF-Forwarded-Url", "http://example.com").build(); + .header("X-CF-Forwarded-Url", "https://example.com").build(); ServerWebExchange exchange = MockServerWebExchange.from(request); exchange.getAttributes().put(GATEWAY_REQUEST_URL_ATTR, URI.create("http://localhost")); @@ -55,7 +55,7 @@ public class RequestHeaderToRequestUriGatewayFilterFactoryTests { ServerWebExchange webExchange = captor.getValue(); URI uri = (URI) webExchange.getAttributes().get(GATEWAY_REQUEST_URL_ATTR); assertThat(uri).isNotNull(); - assertThat(uri.toString()).isEqualTo("http://example.com"); + assertThat(uri.toString()).isEqualTo("https://example.com"); } @Test diff --git a/spring-cloud-gateway-core/src/test/java/org/springframework/cloud/gateway/handler/predicate/BetweenRoutePredicateFactoryTests.java b/spring-cloud-gateway-core/src/test/java/org/springframework/cloud/gateway/handler/predicate/BetweenRoutePredicateFactoryTests.java index 95dca33c..c843c737 100644 --- a/spring-cloud-gateway-core/src/test/java/org/springframework/cloud/gateway/handler/predicate/BetweenRoutePredicateFactoryTests.java +++ b/spring-cloud-gateway-core/src/test/java/org/springframework/cloud/gateway/handler/predicate/BetweenRoutePredicateFactoryTests.java @@ -70,7 +70,7 @@ public class BetweenRoutePredicateFactoryTests { } static ServerWebExchange getExchange() { - MockServerHttpRequest request = MockServerHttpRequest.get("http://example.com") + MockServerHttpRequest request = MockServerHttpRequest.get("https://example.com") .build(); return MockServerWebExchange.from(request); } diff --git a/spring-cloud-gateway-core/src/test/java/org/springframework/cloud/gateway/handler/predicate/CloudFoundryRouteServiceRoutePredicateFactoryIntegrationTests.java b/spring-cloud-gateway-core/src/test/java/org/springframework/cloud/gateway/handler/predicate/CloudFoundryRouteServiceRoutePredicateFactoryIntegrationTests.java index d5d6f85e..898a242b 100644 --- a/spring-cloud-gateway-core/src/test/java/org/springframework/cloud/gateway/handler/predicate/CloudFoundryRouteServiceRoutePredicateFactoryIntegrationTests.java +++ b/spring-cloud-gateway-core/src/test/java/org/springframework/cloud/gateway/handler/predicate/CloudFoundryRouteServiceRoutePredicateFactoryIntegrationTests.java @@ -88,7 +88,7 @@ public class CloudFoundryRouteServiceRoutePredicateFactoryIntegrationTests return builder.routes().route(r -> r.cloudFoundryRouteService().and() .header("Host", "dsl.routeservice.example.com") .filters(f -> f.requestHeaderToRequestUri("X-CF-Forwarded-Url")) - .uri("http://example.com")).build(); + .uri("https://example.com")).build(); } } diff --git a/spring-cloud-gateway-core/src/test/java/org/springframework/cloud/gateway/handler/predicate/CookieRoutePredicateFactoryTests.java b/spring-cloud-gateway-core/src/test/java/org/springframework/cloud/gateway/handler/predicate/CookieRoutePredicateFactoryTests.java index a662ec43..1dae9241 100644 --- a/spring-cloud-gateway-core/src/test/java/org/springframework/cloud/gateway/handler/predicate/CookieRoutePredicateFactoryTests.java +++ b/spring-cloud-gateway-core/src/test/java/org/springframework/cloud/gateway/handler/predicate/CookieRoutePredicateFactoryTests.java @@ -33,7 +33,7 @@ public class CookieRoutePredicateFactoryTests extends BaseWebClientTests { @Test public void noCookiesForYou() { - MockServerHttpRequest request = MockServerHttpRequest.get("http://example.com") + MockServerHttpRequest request = MockServerHttpRequest.get("https://example.com") .build(); MockServerWebExchange exchange = MockServerWebExchange.from(request); @@ -45,7 +45,7 @@ public class CookieRoutePredicateFactoryTests extends BaseWebClientTests { @Test public void okOneCookieForYou() { - MockServerHttpRequest request = MockServerHttpRequest.get("http://example.com") + MockServerHttpRequest request = MockServerHttpRequest.get("https://example.com") .cookie(new HttpCookie("yourcookie", "sugar"), new HttpCookie("mycookie", "chip")) .build(); diff --git a/spring-cloud-gateway-core/src/test/java/org/springframework/cloud/gateway/route/RouteDefinitionRouteLocatorTests.java b/spring-cloud-gateway-core/src/test/java/org/springframework/cloud/gateway/route/RouteDefinitionRouteLocatorTests.java index cce05d16..45e3a36d 100644 --- a/spring-cloud-gateway-core/src/test/java/org/springframework/cloud/gateway/route/RouteDefinitionRouteLocatorTests.java +++ b/spring-cloud-gateway-core/src/test/java/org/springframework/cloud/gateway/route/RouteDefinitionRouteLocatorTests.java @@ -55,7 +55,7 @@ public class RouteDefinitionRouteLocatorTests { gatewayProperties.setRoutes(Arrays.asList(new RouteDefinition() { { setId("foo"); - setUri(URI.create("http://foo.example.com")); + setUri(URI.create("https://foo.example.com")); setPredicates( Arrays.asList(new PredicateDefinition("Host=*.example.com"))); setFilters(Arrays.asList( diff --git a/spring-cloud-gateway-core/src/test/java/org/springframework/cloud/gateway/route/RouteTests.java b/spring-cloud-gateway-core/src/test/java/org/springframework/cloud/gateway/route/RouteTests.java index 603553e9..0b8bb3a3 100644 --- a/spring-cloud-gateway-core/src/test/java/org/springframework/cloud/gateway/route/RouteTests.java +++ b/spring-cloud-gateway-core/src/test/java/org/springframework/cloud/gateway/route/RouteTests.java @@ -30,7 +30,7 @@ public class RouteTests { @Test public void defeaultHttpPort() { Route route = Route.async().id("1").predicate(exchange -> true) - .uri("http://acme.com").build(); + .uri("https://acme.com").build(); assertThat(route.getUri()).hasHost("acme.com").hasScheme("http").hasPort(80); } @@ -46,7 +46,7 @@ public class RouteTests { @Test public void fullUri() { Route route = Route.async().id("1").predicate(exchange -> true) - .uri("http://acme.com:8080").build(); + .uri("https://acme.com:8080").build(); assertThat(route.getUri()).hasHost("acme.com").hasScheme("http").hasPort(8080); } diff --git a/spring-cloud-gateway-core/src/test/kotlin/org/springframework/cloud/gateway/route/builder/RouteDslTests.kt b/spring-cloud-gateway-core/src/test/kotlin/org/springframework/cloud/gateway/route/builder/RouteDslTests.kt index 1121f023..5c2c6fce 100644 --- a/spring-cloud-gateway-core/src/test/kotlin/org/springframework/cloud/gateway/route/builder/RouteDslTests.kt +++ b/spring-cloud-gateway-core/src/test/kotlin/org/springframework/cloud/gateway/route/builder/RouteDslTests.kt @@ -85,7 +85,7 @@ class RouteDslTests { @Test fun dslWithFunctionParameters() { val routerLocator = builder.routes { - route(id = "test1", order = 10, uri = "http://httpbin.org") { + route(id = "test1", order = 10, uri = "https://httpbin.org") { host("**.abc.org") } route(id = "test2", order = 10, uri = "http://someurl") { diff --git a/spring-cloud-gateway-core/src/test/resources/application.yml b/spring-cloud-gateway-core/src/test/resources/application.yml index c362dcf0..29f27f06 100644 --- a/spring-cloud-gateway-core/src/test/resources/application.yml +++ b/spring-cloud-gateway-core/src/test/resources/application.yml @@ -222,7 +222,7 @@ spring: predicates: - Host=**.redirectto.org filters: - - RedirectTo=302, http://example.org + - RedirectTo=302, https://example.org # ===================================== - id: remove_request_header_test From 853d442dc63f7512e790c7aa6615f44e053dd3b7 Mon Sep 17 00:00:00 2001 From: Olga Maciaszek-Sharma Date: Mon, 1 Apr 2019 18:34:56 +0200 Subject: [PATCH 2/4] Fix tests after URL cleanup. --- .../org/springframework/cloud/gateway/route/RouteTests.java | 4 ++-- .../cloud/gateway/route/builder/RouteDslTests.kt | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/spring-cloud-gateway-core/src/test/java/org/springframework/cloud/gateway/route/RouteTests.java b/spring-cloud-gateway-core/src/test/java/org/springframework/cloud/gateway/route/RouteTests.java index 0b8bb3a3..603553e9 100644 --- a/spring-cloud-gateway-core/src/test/java/org/springframework/cloud/gateway/route/RouteTests.java +++ b/spring-cloud-gateway-core/src/test/java/org/springframework/cloud/gateway/route/RouteTests.java @@ -30,7 +30,7 @@ public class RouteTests { @Test public void defeaultHttpPort() { Route route = Route.async().id("1").predicate(exchange -> true) - .uri("https://acme.com").build(); + .uri("http://acme.com").build(); assertThat(route.getUri()).hasHost("acme.com").hasScheme("http").hasPort(80); } @@ -46,7 +46,7 @@ public class RouteTests { @Test public void fullUri() { Route route = Route.async().id("1").predicate(exchange -> true) - .uri("https://acme.com:8080").build(); + .uri("http://acme.com:8080").build(); assertThat(route.getUri()).hasHost("acme.com").hasScheme("http").hasPort(8080); } diff --git a/spring-cloud-gateway-core/src/test/kotlin/org/springframework/cloud/gateway/route/builder/RouteDslTests.kt b/spring-cloud-gateway-core/src/test/kotlin/org/springframework/cloud/gateway/route/builder/RouteDslTests.kt index 5c2c6fce..1121f023 100644 --- a/spring-cloud-gateway-core/src/test/kotlin/org/springframework/cloud/gateway/route/builder/RouteDslTests.kt +++ b/spring-cloud-gateway-core/src/test/kotlin/org/springframework/cloud/gateway/route/builder/RouteDslTests.kt @@ -85,7 +85,7 @@ class RouteDslTests { @Test fun dslWithFunctionParameters() { val routerLocator = builder.routes { - route(id = "test1", order = 10, uri = "https://httpbin.org") { + route(id = "test1", order = 10, uri = "http://httpbin.org") { host("**.abc.org") } route(id = "test2", order = 10, uri = "http://someurl") { From a0a980e8843e0264269f7df805ca08a70fa8a363 Mon Sep 17 00:00:00 2001 From: Olga Maciaszek-Sharma Date: Mon, 1 Apr 2019 20:06:30 +0200 Subject: [PATCH 3/4] Fix checkstyle. --- README.adoc | 2 +- .../gateway/filter/GatewayMetricsFilter.java | 19 +++++++++++-------- .../filter/GatewayMetricFilterTests.java | 17 ++++++++++------- 3 files changed, 22 insertions(+), 16 deletions(-) diff --git a/README.adoc b/README.adoc index 2881b5af..a4538b25 100644 --- a/README.adoc +++ b/README.adoc @@ -62,7 +62,7 @@ credentials and you already have those. The projects that require middleware generally include a `docker-compose.yml`, so consider using -https://compose.docker.io/[Docker Compose] to run the middeware servers +https://docs.docker.com/compose/[Docker Compose] to run the middeware servers in Docker containers. See the README in the https://github.com/spring-cloud-samples/scripts[scripts demo repository] for specific instructions about the common cases of mongo, diff --git a/spring-cloud-gateway-core/src/main/java/org/springframework/cloud/gateway/filter/GatewayMetricsFilter.java b/spring-cloud-gateway-core/src/main/java/org/springframework/cloud/gateway/filter/GatewayMetricsFilter.java index 314e84e8..e105f6a9 100644 --- a/spring-cloud-gateway-core/src/main/java/org/springframework/cloud/gateway/filter/GatewayMetricsFilter.java +++ b/spring-cloud-gateway-core/src/main/java/org/springframework/cloud/gateway/filter/GatewayMetricsFilter.java @@ -1,5 +1,5 @@ /* - * Copyright 2013-2017 the original author or authors. + * Copyright 2013-2018 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -12,12 +12,15 @@ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. - * */ package org.springframework.cloud.gateway.filter; -import static org.springframework.cloud.gateway.support.ServerWebExchangeUtils.GATEWAY_ROUTE_ATTR; +import io.micrometer.core.instrument.MeterRegistry; +import io.micrometer.core.instrument.Tags; +import io.micrometer.core.instrument.Timer; +import io.micrometer.core.instrument.Timer.Sample; +import reactor.core.publisher.Mono; import org.springframework.cloud.gateway.route.Route; import org.springframework.core.Ordered; @@ -26,12 +29,11 @@ import org.springframework.http.server.reactive.AbstractServerHttpResponse; import org.springframework.http.server.reactive.ServerHttpResponse; import org.springframework.web.server.ServerWebExchange; -import io.micrometer.core.instrument.MeterRegistry; -import io.micrometer.core.instrument.Tags; -import io.micrometer.core.instrument.Timer; -import io.micrometer.core.instrument.Timer.Sample; -import reactor.core.publisher.Mono; +import static org.springframework.cloud.gateway.support.ServerWebExchangeUtils.GATEWAY_ROUTE_ATTR; +/** + * @author Tony Clarke + */ public class GatewayMetricsFilter implements GlobalFilter, Ordered { private MeterRegistry meterRegistry; @@ -102,4 +104,5 @@ public class GatewayMetricsFilter implements GlobalFilter, Ordered { route.getUri().toString(), "httpMethod", httpMethod); sample.stop(meterRegistry.timer("gateway.requests", tags)); } + } diff --git a/spring-cloud-gateway-core/src/test/java/org/springframework/cloud/gateway/filter/GatewayMetricFilterTests.java b/spring-cloud-gateway-core/src/test/java/org/springframework/cloud/gateway/filter/GatewayMetricFilterTests.java index eac3017e..cb7244f8 100644 --- a/spring-cloud-gateway-core/src/test/java/org/springframework/cloud/gateway/filter/GatewayMetricFilterTests.java +++ b/spring-cloud-gateway-core/src/test/java/org/springframework/cloud/gateway/filter/GatewayMetricFilterTests.java @@ -1,5 +1,5 @@ /* - * Copyright 2013-2017 the original author or authors. + * Copyright 2013-2018 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -12,16 +12,14 @@ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. - * */ package org.springframework.cloud.gateway.filter; -import static org.assertj.core.api.Assertions.assertThat; -import static org.springframework.boot.test.context.SpringBootTest.WebEnvironment.RANDOM_PORT; - +import io.micrometer.core.instrument.MeterRegistry; import org.junit.Test; import org.junit.runner.RunWith; + import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; import org.springframework.boot.SpringBootConfiguration; @@ -43,7 +41,8 @@ import org.springframework.test.context.junit4.SpringRunner; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; -import io.micrometer.core.instrument.MeterRegistry; +import static org.assertj.core.api.Assertions.assertThat; +import static org.springframework.boot.test.context.SpringBootTest.WebEnvironment.RANDOM_PORT; @RunWith(SpringRunner.class) @SpringBootTest(webEnvironment = RANDOM_PORT) @@ -76,7 +75,8 @@ public class GatewayMetricFilterTests extends BaseWebClientTests { .is5xxServerError(); assertMetricsContainsTag("outcome", HttpStatus.Series.SERVER_ERROR.name()); assertMetricsContainsTag("status", HttpStatus.INTERNAL_SERVER_ERROR.name()); - assertMetricsContainsTag("httpStatusCode", String.valueOf(HttpStatus.INTERNAL_SERVER_ERROR.value())); + assertMetricsContainsTag("httpStatusCode", + String.valueOf(HttpStatus.INTERNAL_SERVER_ERROR.value())); assertMetricsContainsTag("httpMethod", HttpMethod.GET.toString()); assertMetricsContainsTag("routeId", "default_path_to_httpbin"); assertMetricsContainsTag("routeUri", testUri); @@ -109,6 +109,7 @@ public class GatewayMetricFilterTests extends BaseWebClientTests { @RestController @Import(DefaultTestConfig.class) public static class CustomConfig { + @Value("${test.uri}") protected String testUri; @@ -124,5 +125,7 @@ public class GatewayMetricFilterTests extends BaseWebClientTests { public String exception() { throw new RuntimeException("an error"); } + } + } From 7194719c3e9de482598f6a3b47cc6e010f4466da Mon Sep 17 00:00:00 2001 From: Olga Maciaszek-Sharma Date: Mon, 1 Apr 2019 20:20:34 +0200 Subject: [PATCH 4/4] Rename test. --- ...yMetricFilterTests.java => GatewayMetricsFilterTests.java} | 2 +- .../springframework/cloud/gateway/test/AdhocTestSuite.java | 4 +++- 2 files changed, 4 insertions(+), 2 deletions(-) rename spring-cloud-gateway-core/src/test/java/org/springframework/cloud/gateway/filter/{GatewayMetricFilterTests.java => GatewayMetricsFilterTests.java} (98%) diff --git a/spring-cloud-gateway-core/src/test/java/org/springframework/cloud/gateway/filter/GatewayMetricFilterTests.java b/spring-cloud-gateway-core/src/test/java/org/springframework/cloud/gateway/filter/GatewayMetricsFilterTests.java similarity index 98% rename from spring-cloud-gateway-core/src/test/java/org/springframework/cloud/gateway/filter/GatewayMetricFilterTests.java rename to spring-cloud-gateway-core/src/test/java/org/springframework/cloud/gateway/filter/GatewayMetricsFilterTests.java index cb7244f8..81619696 100644 --- a/spring-cloud-gateway-core/src/test/java/org/springframework/cloud/gateway/filter/GatewayMetricFilterTests.java +++ b/spring-cloud-gateway-core/src/test/java/org/springframework/cloud/gateway/filter/GatewayMetricsFilterTests.java @@ -47,7 +47,7 @@ import static org.springframework.boot.test.context.SpringBootTest.WebEnvironmen @RunWith(SpringRunner.class) @SpringBootTest(webEnvironment = RANDOM_PORT) @DirtiesContext -public class GatewayMetricFilterTests extends BaseWebClientTests { +public class GatewayMetricsFilterTests extends BaseWebClientTests { private static final String REQUEST_METRICS_NAME = "gateway.requests"; diff --git a/spring-cloud-gateway-core/src/test/java/org/springframework/cloud/gateway/test/AdhocTestSuite.java b/spring-cloud-gateway-core/src/test/java/org/springframework/cloud/gateway/test/AdhocTestSuite.java index c63e4857..015ef687 100644 --- a/spring-cloud-gateway-core/src/test/java/org/springframework/cloud/gateway/test/AdhocTestSuite.java +++ b/spring-cloud-gateway-core/src/test/java/org/springframework/cloud/gateway/test/AdhocTestSuite.java @@ -24,6 +24,8 @@ import org.junit.runners.Suite; import org.junit.runners.Suite.SuiteClasses; import org.junit.runners.model.Statement; +import org.springframework.cloud.gateway.filter.GatewayMetricsFilterTests; + import static org.hamcrest.Matchers.equalTo; import static org.hamcrest.Matchers.is; import static org.junit.Assume.assumeThat; @@ -93,7 +95,7 @@ import static org.junit.Assume.assumeThat; org.springframework.cloud.gateway.filter.ratelimit.RedisRateLimiterTests.class, org.springframework.cloud.gateway.filter.LoadBalancerClientFilterTests.class, org.springframework.cloud.gateway.filter.NettyRoutingFilterIntegrationTests.class, - org.springframework.cloud.gateway.filter.GatewayMetricFilterTests.class, + GatewayMetricsFilterTests.class, org.springframework.cloud.gateway.filter.ForwardRoutingFilterTests.class, org.springframework.cloud.gateway.route.RouteDefinitionRouteLocatorTests.class, org.springframework.cloud.gateway.route.RouteTests.class,