From 1a4c6f2dacac9d2ab9fa5e2649a36b2a96b2f894 Mon Sep 17 00:00:00 2001 From: Spring Operator Date: Tue, 26 Mar 2019 04:15:59 -0500 Subject: [PATCH] Use HTTPS for external links wherever possible See gh-16319 --- ...oundryWebFluxEndpointIntegrationTests.java | 6 +- ...FoundryActuatorAutoConfigurationTests.java | 22 ++-- ...eCloudFoundrySecurityInterceptorTests.java | 2 +- ...ctiveCloudFoundrySecurityServiceTests.java | 2 +- .../reactive/ReactiveTokenValidatorTests.java | 2 +- ...FoundryActuatorAutoConfigurationTests.java | 18 +-- ...FoundryMvcWebEndpointIntegrationTests.java | 6 +- .../CloudFoundrySecurityInterceptorTests.java | 2 +- .../boot/actuate/endpoint/web/LinkTests.java | 6 +- .../WebFluxEndpointIntegrationTests.java | 6 +- .../MvcWebEndpointIntegrationTests.java | 6 +- ...entPropertiesRegistrationAdapterTests.java | 24 ++-- .../OAuth2WebSecurityConfigurationTests.java | 8 +- .../WebClientAutoConfigurationTests.java | 8 +- .../src/test/resources/wsdl/service.wsdl | 2 +- .../main/xslt/post-process-flattened-pom.xsl | 2 +- .../devtools/restart/ChangeableUrlsTests.java | 2 +- .../src/main/asciidoc/build-tool-plugins.adoc | 8 +- .../src/main/asciidoc/deployment.adoc | 12 +- .../src/main/asciidoc/getting-started.adoc | 12 +- .../src/main/asciidoc/howto.adoc | 12 +- .../src/main/asciidoc/index.adoc | 10 +- .../asciidoc/production-ready-features.adoc | 8 +- .../src/main/asciidoc/spring-boot-cli.adoc | 4 +- .../main/asciidoc/spring-boot-features.adoc | 106 +++++++++--------- .../spring-boot-starters/README.adoc | 8 +- .../main/xslt/post-process-flattened-pom.xsl | 2 +- .../LocalHostUriTemplateHandlerTests.java | 2 +- .../web/client/TestRestTemplateTests.java | 4 +- .../env/OriginTrackedYamlLoaderTests.java | 2 +- .../springframework/boot/env/test-yaml.yml | 4 +- .../src/main/resources/templates/error.ftl | 2 +- .../src/main/resources/templates/home.ftl | 2 +- .../main/resources/templates/fragments.html | 4 +- 34 files changed, 163 insertions(+), 163 deletions(-) diff --git a/spring-boot-project/spring-boot-actuator-autoconfigure/src/test/java/org/springframework/boot/actuate/autoconfigure/cloudfoundry/reactive/CloudFoundryWebFluxEndpointIntegrationTests.java b/spring-boot-project/spring-boot-actuator-autoconfigure/src/test/java/org/springframework/boot/actuate/autoconfigure/cloudfoundry/reactive/CloudFoundryWebFluxEndpointIntegrationTests.java index 51a9f021d1..8c773f57bd 100644 --- a/spring-boot-project/spring-boot-actuator-autoconfigure/src/test/java/org/springframework/boot/actuate/autoconfigure/cloudfoundry/reactive/CloudFoundryWebFluxEndpointIntegrationTests.java +++ b/spring-boot-project/spring-boot-actuator-autoconfigure/src/test/java/org/springframework/boot/actuate/autoconfigure/cloudfoundry/reactive/CloudFoundryWebFluxEndpointIntegrationTests.java @@ -113,9 +113,9 @@ public class CloudFoundryWebFluxEndpointIntegrationTests { this.contextRunner.run(withWebTestClient((client) -> client.options() .uri("/cfApplication/test").accept(MediaType.APPLICATION_JSON) .header("Access-Control-Request-Method", "POST") - .header("Origin", "http://example.com").exchange().expectStatus().isOk() + .header("Origin", "https://example.com").exchange().expectStatus().isOk() .expectHeader() - .valueEquals("Access-Control-Allow-Origin", "http://example.com") + .valueEquals("Access-Control-Allow-Origin", "https://example.com") .expectHeader().valueEquals("Access-Control-Allow-Methods", "GET,POST"))); } @@ -204,7 +204,7 @@ public class CloudFoundryWebFluxEndpointIntegrationTests { EndpointMediaTypes endpointMediaTypes, CloudFoundrySecurityInterceptor interceptor) { CorsConfiguration corsConfiguration = new CorsConfiguration(); - corsConfiguration.setAllowedOrigins(Arrays.asList("http://example.com")); + corsConfiguration.setAllowedOrigins(Arrays.asList("https://example.com")); corsConfiguration.setAllowedMethods(Arrays.asList("GET", "POST")); return new CloudFoundryWebFluxEndpointHandlerMapping( new EndpointMapping("/cfApplication"), diff --git a/spring-boot-project/spring-boot-actuator-autoconfigure/src/test/java/org/springframework/boot/actuate/autoconfigure/cloudfoundry/reactive/ReactiveCloudFoundryActuatorAutoConfigurationTests.java b/spring-boot-project/spring-boot-actuator-autoconfigure/src/test/java/org/springframework/boot/actuate/autoconfigure/cloudfoundry/reactive/ReactiveCloudFoundryActuatorAutoConfigurationTests.java index afac3d603b..1a37ef949d 100644 --- a/spring-boot-project/spring-boot-actuator-autoconfigure/src/test/java/org/springframework/boot/actuate/autoconfigure/cloudfoundry/reactive/ReactiveCloudFoundryActuatorAutoConfigurationTests.java +++ b/spring-boot-project/spring-boot-actuator-autoconfigure/src/test/java/org/springframework/boot/actuate/autoconfigure/cloudfoundry/reactive/ReactiveCloudFoundryActuatorAutoConfigurationTests.java @@ -102,7 +102,7 @@ public class ReactiveCloudFoundryActuatorAutoConfigurationTests { this.contextRunner .withPropertyValues("VCAP_APPLICATION:---", "vcap.application.application_id:my-app-id", - "vcap.application.cf_api:http://my-cloud-controller.com") + "vcap.application.cf_api:https://my-cloud-controller.com") .run((context) -> { CloudFoundryWebFluxEndpointHandlerMapping handlerMapping = getHandlerMapping( context); @@ -126,7 +126,7 @@ public class ReactiveCloudFoundryActuatorAutoConfigurationTests { this.contextRunner .withPropertyValues("VCAP_APPLICATION:---", "vcap.application.application_id:my-app-id", - "vcap.application.cf_api:http://my-cloud-controller.com") + "vcap.application.cf_api:https://my-cloud-controller.com") .run((context) -> { WebTestClient webTestClient = WebTestClient .bindToApplicationContext(context).build(); @@ -140,7 +140,7 @@ public class ReactiveCloudFoundryActuatorAutoConfigurationTests { this.contextRunner .withPropertyValues("VCAP_APPLICATION:---", "vcap.application.application_id:my-app-id", - "vcap.application.cf_api:http://my-cloud-controller.com") + "vcap.application.cf_api:https://my-cloud-controller.com") .run((context) -> { CloudFoundryWebFluxEndpointHandlerMapping handlerMapping = getHandlerMapping( context); @@ -157,7 +157,7 @@ public class ReactiveCloudFoundryActuatorAutoConfigurationTests { this.contextRunner .withPropertyValues("VCAP_APPLICATION:---", "vcap.application.application_id:my-app-id", - "vcap.application.cf_api:http://my-cloud-controller.com") + "vcap.application.cf_api:https://my-cloud-controller.com") .run((context) -> { CloudFoundryWebFluxEndpointHandlerMapping handlerMapping = getHandlerMapping( context); @@ -168,7 +168,7 @@ public class ReactiveCloudFoundryActuatorAutoConfigurationTests { String cloudControllerUrl = (String) ReflectionTestUtils .getField(interceptorSecurityService, "cloudControllerUrl"); assertThat(cloudControllerUrl) - .isEqualTo("http://my-cloud-controller.com"); + .isEqualTo("https://my-cloud-controller.com"); }); } @@ -193,7 +193,7 @@ public class ReactiveCloudFoundryActuatorAutoConfigurationTests { this.contextRunner .withPropertyValues("VCAP_APPLICATION:---", "vcap.application.application_id:my-app-id", - "vcap.application.cf_api:http://my-cloud-controller.com") + "vcap.application.cf_api:https://my-cloud-controller.com") .run((context) -> { WebFilterChainProxy chainProxy = context .getBean(WebFilterChainProxy.class); @@ -240,7 +240,7 @@ public class ReactiveCloudFoundryActuatorAutoConfigurationTests { this.contextRunner.withUserConfiguration(TestConfiguration.class) .withPropertyValues("VCAP_APPLICATION:---", "vcap.application.application_id:my-app-id", - "vcap.application.cf_api:http://my-cloud-controller.com") + "vcap.application.cf_api:https://my-cloud-controller.com") .run((context) -> { CloudFoundryWebFluxEndpointHandlerMapping handlerMapping = getHandlerMapping( context); @@ -258,7 +258,7 @@ public class ReactiveCloudFoundryActuatorAutoConfigurationTests { this.contextRunner.withUserConfiguration(TestConfiguration.class) .withPropertyValues("VCAP_APPLICATION:---", "vcap.application.application_id:my-app-id", - "vcap.application.cf_api:http://my-cloud-controller.com") + "vcap.application.cf_api:https://my-cloud-controller.com") .run((context) -> { CloudFoundryWebFluxEndpointHandlerMapping handlerMapping = getHandlerMapping( context); @@ -282,7 +282,7 @@ public class ReactiveCloudFoundryActuatorAutoConfigurationTests { AutoConfigurations.of(HealthEndpointAutoConfiguration.class)) .withPropertyValues("VCAP_APPLICATION:---", "vcap.application.application_id:my-app-id", - "vcap.application.cf_api:http://my-cloud-controller.com") + "vcap.application.cf_api:https://my-cloud-controller.com") .run((context) -> { Collection endpoints = getHandlerMapping( context).getEndpoints(); @@ -304,7 +304,7 @@ public class ReactiveCloudFoundryActuatorAutoConfigurationTests { AutoConfigurations.of(HealthEndpointAutoConfiguration.class)) .withPropertyValues("VCAP_APPLICATION:---", "vcap.application.application_id:my-app-id", - "vcap.application.cf_api:http://my-cloud-controller.com", + "vcap.application.cf_api:https://my-cloud-controller.com", "management.cloudfoundry.skip-ssl-validation:true") .run((context) -> { CloudFoundryWebFluxEndpointHandlerMapping handlerMapping = getHandlerMapping( @@ -327,7 +327,7 @@ public class ReactiveCloudFoundryActuatorAutoConfigurationTests { AutoConfigurations.of(HealthEndpointAutoConfiguration.class)) .withPropertyValues("VCAP_APPLICATION:---", "vcap.application.application_id:my-app-id", - "vcap.application.cf_api:http://my-cloud-controller.com") + "vcap.application.cf_api:https://my-cloud-controller.com") .run((context) -> { CloudFoundryWebFluxEndpointHandlerMapping handlerMapping = getHandlerMapping( context); diff --git a/spring-boot-project/spring-boot-actuator-autoconfigure/src/test/java/org/springframework/boot/actuate/autoconfigure/cloudfoundry/reactive/ReactiveCloudFoundrySecurityInterceptorTests.java b/spring-boot-project/spring-boot-actuator-autoconfigure/src/test/java/org/springframework/boot/actuate/autoconfigure/cloudfoundry/reactive/ReactiveCloudFoundrySecurityInterceptorTests.java index e18dd43135..b2be64d684 100644 --- a/spring-boot-project/spring-boot-actuator-autoconfigure/src/test/java/org/springframework/boot/actuate/autoconfigure/cloudfoundry/reactive/ReactiveCloudFoundrySecurityInterceptorTests.java +++ b/spring-boot-project/spring-boot-actuator-autoconfigure/src/test/java/org/springframework/boot/actuate/autoconfigure/cloudfoundry/reactive/ReactiveCloudFoundrySecurityInterceptorTests.java @@ -61,7 +61,7 @@ public class ReactiveCloudFoundrySecurityInterceptorTests { @Test public void preHandleWhenRequestIsPreFlightShouldBeOk() { MockServerWebExchange request = MockServerWebExchange.from(MockServerHttpRequest - .options("/a").header(HttpHeaders.ORIGIN, "http://example.com") + .options("/a").header(HttpHeaders.ORIGIN, "https://example.com") .header(HttpHeaders.ACCESS_CONTROL_REQUEST_METHOD, "GET").build()); StepVerifier.create(this.interceptor.preHandle(request, "/a")).consumeNextWith( (response) -> assertThat(response.getStatus()).isEqualTo(HttpStatus.OK)) diff --git a/spring-boot-project/spring-boot-actuator-autoconfigure/src/test/java/org/springframework/boot/actuate/autoconfigure/cloudfoundry/reactive/ReactiveCloudFoundrySecurityServiceTests.java b/spring-boot-project/spring-boot-actuator-autoconfigure/src/test/java/org/springframework/boot/actuate/autoconfigure/cloudfoundry/reactive/ReactiveCloudFoundrySecurityServiceTests.java index 3cd8e92001..2d7055afad 100644 --- a/spring-boot-project/spring-boot-actuator-autoconfigure/src/test/java/org/springframework/boot/actuate/autoconfigure/cloudfoundry/reactive/ReactiveCloudFoundrySecurityServiceTests.java +++ b/spring-boot-project/spring-boot-actuator-autoconfigure/src/test/java/org/springframework/boot/actuate/autoconfigure/cloudfoundry/reactive/ReactiveCloudFoundrySecurityServiceTests.java @@ -46,7 +46,7 @@ public class ReactiveCloudFoundrySecurityServiceTests { private static final String CLOUD_CONTROLLER_PERMISSIONS = CLOUD_CONTROLLER + "/v2/apps/my-app-id/permissions"; - private static final String UAA_URL = "http://my-cloud-controller.com/uaa"; + private static final String UAA_URL = "https://my-cloud-controller.com/uaa"; private ReactiveCloudFoundrySecurityService securityService; diff --git a/spring-boot-project/spring-boot-actuator-autoconfigure/src/test/java/org/springframework/boot/actuate/autoconfigure/cloudfoundry/reactive/ReactiveTokenValidatorTests.java b/spring-boot-project/spring-boot-actuator-autoconfigure/src/test/java/org/springframework/boot/actuate/autoconfigure/cloudfoundry/reactive/ReactiveTokenValidatorTests.java index a7a663f2ba..5286356700 100644 --- a/spring-boot-project/spring-boot-actuator-autoconfigure/src/test/java/org/springframework/boot/actuate/autoconfigure/cloudfoundry/reactive/ReactiveTokenValidatorTests.java +++ b/spring-boot-project/spring-boot-actuator-autoconfigure/src/test/java/org/springframework/boot/actuate/autoconfigure/cloudfoundry/reactive/ReactiveTokenValidatorTests.java @@ -259,7 +259,7 @@ public class ReactiveTokenValidatorTests { public void validateTokenWhenIssuerIsNotValidShouldThrowException() throws Exception { given(this.securityService.fetchTokenKeys()).willReturn(Mono.just(VALID_KEYS)); given(this.securityService.getUaaUrl()) - .willReturn(Mono.just("http://other-uaa.com")); + .willReturn(Mono.just("https://other-uaa.com")); String header = "{ \"alg\": \"RS256\", \"kid\": \"valid-key\", \"typ\": \"JWT\", \"scope\": [\"actuator.read\"]}"; String claims = "{ \"exp\": 2147483647, \"iss\": \"http://localhost:8080/uaa/oauth/token\", \"scope\": [\"foo.bar\"]}"; StepVerifier diff --git a/spring-boot-project/spring-boot-actuator-autoconfigure/src/test/java/org/springframework/boot/actuate/autoconfigure/cloudfoundry/servlet/CloudFoundryActuatorAutoConfigurationTests.java b/spring-boot-project/spring-boot-actuator-autoconfigure/src/test/java/org/springframework/boot/actuate/autoconfigure/cloudfoundry/servlet/CloudFoundryActuatorAutoConfigurationTests.java index b9762af38d..ba3babeb99 100644 --- a/spring-boot-project/spring-boot-actuator-autoconfigure/src/test/java/org/springframework/boot/actuate/autoconfigure/cloudfoundry/servlet/CloudFoundryActuatorAutoConfigurationTests.java +++ b/spring-boot-project/spring-boot-actuator-autoconfigure/src/test/java/org/springframework/boot/actuate/autoconfigure/cloudfoundry/servlet/CloudFoundryActuatorAutoConfigurationTests.java @@ -84,7 +84,7 @@ public class CloudFoundryActuatorAutoConfigurationTests { this.contextRunner .withPropertyValues("VCAP_APPLICATION:---", "vcap.application.application_id:my-app-id", - "vcap.application.cf_api:http://my-cloud-controller.com") + "vcap.application.cf_api:https://my-cloud-controller.com") .run((context) -> { CloudFoundryWebEndpointServletHandlerMapping handlerMapping = getHandlerMapping( context); @@ -108,7 +108,7 @@ public class CloudFoundryActuatorAutoConfigurationTests { this.contextRunner .withPropertyValues("VCAP_APPLICATION:---", "vcap.application.application_id:my-app-id", - "vcap.application.cf_api:http://my-cloud-controller.com") + "vcap.application.cf_api:https://my-cloud-controller.com") .run((context) -> { MockMvc mockMvc = MockMvcBuilders.webAppContextSetup(context).build(); mockMvc.perform(get("/cloudfoundryapplication")) @@ -122,7 +122,7 @@ public class CloudFoundryActuatorAutoConfigurationTests { this.contextRunner .withPropertyValues("VCAP_APPLICATION:---", "vcap.application.application_id:my-app-id", - "vcap.application.cf_api:http://my-cloud-controller.com") + "vcap.application.cf_api:https://my-cloud-controller.com") .run((context) -> { CloudFoundryWebEndpointServletHandlerMapping handlerMapping = getHandlerMapping( context); @@ -139,7 +139,7 @@ public class CloudFoundryActuatorAutoConfigurationTests { this.contextRunner .withPropertyValues("VCAP_APPLICATION:---", "vcap.application.application_id:my-app-id", - "vcap.application.cf_api:http://my-cloud-controller.com") + "vcap.application.cf_api:https://my-cloud-controller.com") .run((context) -> { CloudFoundryWebEndpointServletHandlerMapping handlerMapping = getHandlerMapping( context); @@ -150,7 +150,7 @@ public class CloudFoundryActuatorAutoConfigurationTests { String cloudControllerUrl = (String) ReflectionTestUtils .getField(interceptorSecurityService, "cloudControllerUrl"); assertThat(cloudControllerUrl) - .isEqualTo("http://my-cloud-controller.com"); + .isEqualTo("https://my-cloud-controller.com"); }); } @@ -159,7 +159,7 @@ public class CloudFoundryActuatorAutoConfigurationTests { this.contextRunner .withPropertyValues("VCAP_APPLICATION:---", "vcap.application.application_id:my-app-id", - "vcap.application.cf_api:http://my-cloud-controller.com", + "vcap.application.cf_api:https://my-cloud-controller.com", "management.cloudfoundry.skip-ssl-validation:true") .run((context) -> { CloudFoundryWebEndpointServletHandlerMapping handlerMapping = getHandlerMapping( @@ -229,7 +229,7 @@ public class CloudFoundryActuatorAutoConfigurationTests { this.contextRunner.withUserConfiguration(TestConfiguration.class) .withPropertyValues("VCAP_APPLICATION:---", "vcap.application.application_id:my-app-id", - "vcap.application.cf_api:http://my-cloud-controller.com") + "vcap.application.cf_api:https://my-cloud-controller.com") .run((context) -> { CloudFoundryWebEndpointServletHandlerMapping handlerMapping = getHandlerMapping( context); @@ -247,7 +247,7 @@ public class CloudFoundryActuatorAutoConfigurationTests { this.contextRunner .withPropertyValues("VCAP_APPLICATION:---", "vcap.application.application_id:my-app-id", - "vcap.application.cf_api:http://my-cloud-controller.com", + "vcap.application.cf_api:https://my-cloud-controller.com", "management.endpoints.web.path-mapping.test=custom") .withUserConfiguration(TestConfiguration.class).run((context) -> { CloudFoundryWebEndpointServletHandlerMapping handlerMapping = getHandlerMapping( @@ -271,7 +271,7 @@ public class CloudFoundryActuatorAutoConfigurationTests { this.contextRunner .withPropertyValues("VCAP_APPLICATION:---", "vcap.application.application_id:my-app-id", - "vcap.application.cf_api:http://my-cloud-controller.com") + "vcap.application.cf_api:https://my-cloud-controller.com") .withConfiguration( AutoConfigurations.of(HealthEndpointAutoConfiguration.class)) .run((context) -> { diff --git a/spring-boot-project/spring-boot-actuator-autoconfigure/src/test/java/org/springframework/boot/actuate/autoconfigure/cloudfoundry/servlet/CloudFoundryMvcWebEndpointIntegrationTests.java b/spring-boot-project/spring-boot-actuator-autoconfigure/src/test/java/org/springframework/boot/actuate/autoconfigure/cloudfoundry/servlet/CloudFoundryMvcWebEndpointIntegrationTests.java index c904a39c98..cc107cb500 100644 --- a/spring-boot-project/spring-boot-actuator-autoconfigure/src/test/java/org/springframework/boot/actuate/autoconfigure/cloudfoundry/servlet/CloudFoundryMvcWebEndpointIntegrationTests.java +++ b/spring-boot-project/spring-boot-actuator-autoconfigure/src/test/java/org/springframework/boot/actuate/autoconfigure/cloudfoundry/servlet/CloudFoundryMvcWebEndpointIntegrationTests.java @@ -98,9 +98,9 @@ public class CloudFoundryMvcWebEndpointIntegrationTests { load(TestEndpointConfiguration.class, (client) -> client.options() .uri("/cfApplication/test").accept(MediaType.APPLICATION_JSON) .header("Access-Control-Request-Method", "POST") - .header("Origin", "http://example.com").exchange().expectStatus().isOk() + .header("Origin", "https://example.com").exchange().expectStatus().isOk() .expectHeader() - .valueEquals("Access-Control-Allow-Origin", "http://example.com") + .valueEquals("Access-Control-Allow-Origin", "https://example.com") .expectHeader().valueEquals("Access-Control-Allow-Methods", "GET,POST")); } @@ -203,7 +203,7 @@ public class CloudFoundryMvcWebEndpointIntegrationTests { EndpointMediaTypes endpointMediaTypes, CloudFoundrySecurityInterceptor interceptor) { CorsConfiguration corsConfiguration = new CorsConfiguration(); - corsConfiguration.setAllowedOrigins(Arrays.asList("http://example.com")); + corsConfiguration.setAllowedOrigins(Arrays.asList("https://example.com")); corsConfiguration.setAllowedMethods(Arrays.asList("GET", "POST")); return new CloudFoundryWebEndpointServletHandlerMapping( new EndpointMapping("/cfApplication"), diff --git a/spring-boot-project/spring-boot-actuator-autoconfigure/src/test/java/org/springframework/boot/actuate/autoconfigure/cloudfoundry/servlet/CloudFoundrySecurityInterceptorTests.java b/spring-boot-project/spring-boot-actuator-autoconfigure/src/test/java/org/springframework/boot/actuate/autoconfigure/cloudfoundry/servlet/CloudFoundrySecurityInterceptorTests.java index 5fa174c60d..391656e2a6 100644 --- a/spring-boot-project/spring-boot-actuator-autoconfigure/src/test/java/org/springframework/boot/actuate/autoconfigure/cloudfoundry/servlet/CloudFoundrySecurityInterceptorTests.java +++ b/spring-boot-project/spring-boot-actuator-autoconfigure/src/test/java/org/springframework/boot/actuate/autoconfigure/cloudfoundry/servlet/CloudFoundrySecurityInterceptorTests.java @@ -64,7 +64,7 @@ public class CloudFoundrySecurityInterceptorTests { @Test public void preHandleWhenRequestIsPreFlightShouldReturnTrue() { this.request.setMethod("OPTIONS"); - this.request.addHeader(HttpHeaders.ORIGIN, "http://example.com"); + this.request.addHeader(HttpHeaders.ORIGIN, "https://example.com"); this.request.addHeader(HttpHeaders.ACCESS_CONTROL_REQUEST_METHOD, "GET"); SecurityResponse response = this.interceptor.preHandle(this.request, EndpointId.of("test")); diff --git a/spring-boot-project/spring-boot-actuator/src/test/java/org/springframework/boot/actuate/endpoint/web/LinkTests.java b/spring-boot-project/spring-boot-actuator/src/test/java/org/springframework/boot/actuate/endpoint/web/LinkTests.java index 8d306f92f9..462599457c 100644 --- a/spring-boot-project/spring-boot-actuator/src/test/java/org/springframework/boot/actuate/endpoint/web/LinkTests.java +++ b/spring-boot-project/spring-boot-actuator/src/test/java/org/springframework/boot/actuate/endpoint/web/LinkTests.java @@ -41,21 +41,21 @@ public class LinkTests { @Test public void getHrefShouldReturnHref() { - String href = "http://example.com"; + String href = "https://example.com"; Link link = new Link(href); assertThat(link.getHref()).isEqualTo(href); } @Test public void isTemplatedWhenContainsPlaceholderShouldReturnTrue() { - String href = "http://example.com/{path}"; + String href = "https://example.com/{path}"; Link link = new Link(href); assertThat(link.isTemplated()).isTrue(); } @Test public void isTemplatedWhenContainsNoPlaceholderShouldReturnFalse() { - String href = "http://example.com/path"; + String href = "https://example.com/path"; Link link = new Link(href); assertThat(link.isTemplated()).isFalse(); } diff --git a/spring-boot-project/spring-boot-actuator/src/test/java/org/springframework/boot/actuate/endpoint/web/reactive/WebFluxEndpointIntegrationTests.java b/spring-boot-project/spring-boot-actuator/src/test/java/org/springframework/boot/actuate/endpoint/web/reactive/WebFluxEndpointIntegrationTests.java index 7066fcb7fe..01d06909bc 100644 --- a/spring-boot-project/spring-boot-actuator/src/test/java/org/springframework/boot/actuate/endpoint/web/reactive/WebFluxEndpointIntegrationTests.java +++ b/spring-boot-project/spring-boot-actuator/src/test/java/org/springframework/boot/actuate/endpoint/web/reactive/WebFluxEndpointIntegrationTests.java @@ -82,9 +82,9 @@ public class WebFluxEndpointIntegrationTests extends load(TestEndpointConfiguration.class, (client) -> client.options().uri("/test") .accept(MediaType.APPLICATION_JSON) .header("Access-Control-Request-Method", "POST") - .header("Origin", "http://example.com").exchange().expectStatus().isOk() + .header("Origin", "https://example.com").exchange().expectStatus().isOk() .expectHeader() - .valueEquals("Access-Control-Allow-Origin", "http://example.com") + .valueEquals("Access-Control-Allow-Origin", "https://example.com") .expectHeader().valueEquals("Access-Control-Allow-Methods", "GET,POST")); } @@ -127,7 +127,7 @@ public class WebFluxEndpointIntegrationTests extends Environment environment, WebEndpointDiscoverer endpointDiscoverer, EndpointMediaTypes endpointMediaTypes) { CorsConfiguration corsConfiguration = new CorsConfiguration(); - corsConfiguration.setAllowedOrigins(Arrays.asList("http://example.com")); + corsConfiguration.setAllowedOrigins(Arrays.asList("https://example.com")); corsConfiguration.setAllowedMethods(Arrays.asList("GET", "POST")); return new WebFluxEndpointHandlerMapping( new EndpointMapping(environment.getProperty("endpointPath")), diff --git a/spring-boot-project/spring-boot-actuator/src/test/java/org/springframework/boot/actuate/endpoint/web/servlet/MvcWebEndpointIntegrationTests.java b/spring-boot-project/spring-boot-actuator/src/test/java/org/springframework/boot/actuate/endpoint/web/servlet/MvcWebEndpointIntegrationTests.java index f5e6fbda04..a3187ec048 100644 --- a/spring-boot-project/spring-boot-actuator/src/test/java/org/springframework/boot/actuate/endpoint/web/servlet/MvcWebEndpointIntegrationTests.java +++ b/spring-boot-project/spring-boot-actuator/src/test/java/org/springframework/boot/actuate/endpoint/web/servlet/MvcWebEndpointIntegrationTests.java @@ -88,9 +88,9 @@ public class MvcWebEndpointIntegrationTests extends load(TestEndpointConfiguration.class, (client) -> client.options().uri("/test") .accept(MediaType.APPLICATION_JSON) .header("Access-Control-Request-Method", "POST") - .header("Origin", "http://example.com").exchange().expectStatus().isOk() + .header("Origin", "https://example.com").exchange().expectStatus().isOk() .expectHeader() - .valueEquals("Access-Control-Allow-Origin", "http://example.com") + .valueEquals("Access-Control-Allow-Origin", "https://example.com") .expectHeader().valueEquals("Access-Control-Allow-Methods", "GET,POST")); } @@ -149,7 +149,7 @@ public class MvcWebEndpointIntegrationTests extends Environment environment, WebEndpointDiscoverer endpointDiscoverer, EndpointMediaTypes endpointMediaTypes) { CorsConfiguration corsConfiguration = new CorsConfiguration(); - corsConfiguration.setAllowedOrigins(Arrays.asList("http://example.com")); + corsConfiguration.setAllowedOrigins(Arrays.asList("https://example.com")); corsConfiguration.setAllowedMethods(Arrays.asList("GET", "POST")); return new WebMvcEndpointHandlerMapping( new EndpointMapping(environment.getProperty("endpointPath")), diff --git a/spring-boot-project/spring-boot-autoconfigure/src/test/java/org/springframework/boot/autoconfigure/security/oauth2/client/OAuth2ClientPropertiesRegistrationAdapterTests.java b/spring-boot-project/spring-boot-autoconfigure/src/test/java/org/springframework/boot/autoconfigure/security/oauth2/client/OAuth2ClientPropertiesRegistrationAdapterTests.java index 25ccf44c21..5e8ebd3e6d 100644 --- a/spring-boot-project/spring-boot-autoconfigure/src/test/java/org/springframework/boot/autoconfigure/security/oauth2/client/OAuth2ClientPropertiesRegistrationAdapterTests.java +++ b/spring-boot-project/spring-boot-autoconfigure/src/test/java/org/springframework/boot/autoconfigure/security/oauth2/client/OAuth2ClientPropertiesRegistrationAdapterTests.java @@ -47,18 +47,18 @@ public class OAuth2ClientPropertiesRegistrationAdapterTests { public void getClientRegistrationsWhenUsingDefinedProviderShouldAdapt() { OAuth2ClientProperties properties = new OAuth2ClientProperties(); Provider provider = new Provider(); - provider.setAuthorizationUri("http://example.com/auth"); - provider.setTokenUri("http://example.com/token"); - provider.setUserInfoUri("http://example.com/info"); + provider.setAuthorizationUri("https://example.com/auth"); + provider.setTokenUri("https://example.com/token"); + provider.setUserInfoUri("https://example.com/info"); provider.setUserNameAttribute("sub"); - provider.setJwkSetUri("http://example.com/jwk"); + provider.setJwkSetUri("https://example.com/jwk"); Registration registration = new Registration(); registration.setProvider("provider"); registration.setClientId("clientId"); registration.setClientSecret("clientSecret"); registration.setClientAuthenticationMethod("post"); registration.setAuthorizationGrantType("authorization_code"); - registration.setRedirectUriTemplate("http://example.com/redirect"); + registration.setRedirectUriTemplate("https://example.com/redirect"); registration.setScope(Collections.singleton("scope")); registration.setClientName("clientName"); properties.getProvider().put("provider", provider); @@ -68,13 +68,13 @@ public class OAuth2ClientPropertiesRegistrationAdapterTests { ClientRegistration adapted = registrations.get("registration"); ProviderDetails adaptedProvider = adapted.getProviderDetails(); assertThat(adaptedProvider.getAuthorizationUri()) - .isEqualTo("http://example.com/auth"); - assertThat(adaptedProvider.getTokenUri()).isEqualTo("http://example.com/token"); + .isEqualTo("https://example.com/auth"); + assertThat(adaptedProvider.getTokenUri()).isEqualTo("https://example.com/token"); assertThat(adaptedProvider.getUserInfoEndpoint().getUri()) - .isEqualTo("http://example.com/info"); + .isEqualTo("https://example.com/info"); assertThat(adaptedProvider.getUserInfoEndpoint().getUserNameAttributeName()) .isEqualTo("sub"); - assertThat(adaptedProvider.getJwkSetUri()).isEqualTo("http://example.com/jwk"); + assertThat(adaptedProvider.getJwkSetUri()).isEqualTo("https://example.com/jwk"); assertThat(adapted.getRegistrationId()).isEqualTo("registration"); assertThat(adapted.getClientId()).isEqualTo("clientId"); assertThat(adapted.getClientSecret()).isEqualTo("clientSecret"); @@ -83,7 +83,7 @@ public class OAuth2ClientPropertiesRegistrationAdapterTests { assertThat(adapted.getAuthorizationGrantType()).isEqualTo( org.springframework.security.oauth2.core.AuthorizationGrantType.AUTHORIZATION_CODE); assertThat(adapted.getRedirectUriTemplate()) - .isEqualTo("http://example.com/redirect"); + .isEqualTo("https://example.com/redirect"); assertThat(adapted.getScopes()).containsExactly("scope"); assertThat(adapted.getClientName()).isEqualTo("clientName"); } @@ -132,7 +132,7 @@ public class OAuth2ClientPropertiesRegistrationAdapterTests { registration.setClientSecret("clientSecret"); registration.setClientAuthenticationMethod("post"); registration.setAuthorizationGrantType("authorization_code"); - registration.setRedirectUriTemplate("http://example.com/redirect"); + registration.setRedirectUriTemplate("https://example.com/redirect"); registration.setScope(Collections.singleton("scope")); registration.setClientName("clientName"); properties.getRegistration().put("registration", registration); @@ -158,7 +158,7 @@ public class OAuth2ClientPropertiesRegistrationAdapterTests { assertThat(adapted.getAuthorizationGrantType()).isEqualTo( org.springframework.security.oauth2.core.AuthorizationGrantType.AUTHORIZATION_CODE); assertThat(adapted.getRedirectUriTemplate()) - .isEqualTo("http://example.com/redirect"); + .isEqualTo("https://example.com/redirect"); assertThat(adapted.getScopes()).containsExactly("scope"); assertThat(adapted.getClientName()).isEqualTo("clientName"); } diff --git a/spring-boot-project/spring-boot-autoconfigure/src/test/java/org/springframework/boot/autoconfigure/security/oauth2/client/OAuth2WebSecurityConfigurationTests.java b/spring-boot-project/spring-boot-autoconfigure/src/test/java/org/springframework/boot/autoconfigure/security/oauth2/client/OAuth2WebSecurityConfigurationTests.java index 7eab884b20..f3f2b49ef2 100644 --- a/spring-boot-project/spring-boot-autoconfigure/src/test/java/org/springframework/boot/autoconfigure/security/oauth2/client/OAuth2WebSecurityConfigurationTests.java +++ b/spring-boot-project/spring-boot-autoconfigure/src/test/java/org/springframework/boot/autoconfigure/security/oauth2/client/OAuth2WebSecurityConfigurationTests.java @@ -183,7 +183,7 @@ public class OAuth2WebSecurityConfigurationTests { @Bean public ClientRegistrationRepository clientRegistrationRepository() { List registrations = new ArrayList<>(); - registrations.add(getClientRegistration("first", "http://user-info-uri.com")); + registrations.add(getClientRegistration("first", "https://user-info-uri.com")); registrations.add(getClientRegistration("second", "http://other-user-info")); return new InMemoryClientRegistrationRepository(registrations); } @@ -195,9 +195,9 @@ public class OAuth2WebSecurityConfigurationTests { org.springframework.security.oauth2.core.ClientAuthenticationMethod.BASIC) .authorizationGrantType(AuthorizationGrantType.AUTHORIZATION_CODE) .scope("read").clientSecret("secret") - .redirectUriTemplate("http://redirect-uri.com") - .authorizationUri("http://authorization-uri.com") - .tokenUri("http://token-uri.com").userInfoUri(userInfoUri) + .redirectUriTemplate("https://redirect-uri.com") + .authorizationUri("https://authorization-uri.com") + .tokenUri("https://token-uri.com").userInfoUri(userInfoUri) .userNameAttributeName("login"); return builder.build(); } diff --git a/spring-boot-project/spring-boot-autoconfigure/src/test/java/org/springframework/boot/autoconfigure/web/reactive/function/client/WebClientAutoConfigurationTests.java b/spring-boot-project/spring-boot-autoconfigure/src/test/java/org/springframework/boot/autoconfigure/web/reactive/function/client/WebClientAutoConfigurationTests.java index 0b3a16aa44..017b0f8b34 100644 --- a/spring-boot-project/spring-boot-autoconfigure/src/test/java/org/springframework/boot/autoconfigure/web/reactive/function/client/WebClientAutoConfigurationTests.java +++ b/spring-boot-project/spring-boot-autoconfigure/src/test/java/org/springframework/boot/autoconfigure/web/reactive/function/client/WebClientAutoConfigurationTests.java @@ -100,23 +100,23 @@ public class WebClientAutoConfigurationTests { WebClient.Builder firstBuilder = context .getBean(WebClient.Builder.class); firstBuilder.clientConnector(firstConnector) - .baseUrl("http://first.example.org"); + .baseUrl("https://first.example.org"); ClientHttpConnector secondConnector = mock(ClientHttpConnector.class); given(secondConnector.connect(any(), any(), any())) .willReturn(Mono.just(response)); WebClient.Builder secondBuilder = context .getBean(WebClient.Builder.class); secondBuilder.clientConnector(secondConnector) - .baseUrl("http://second.example.org"); + .baseUrl("https://second.example.org"); assertThat(firstBuilder).isNotEqualTo(secondBuilder); firstBuilder.build().get().uri("/foo").exchange() .block(Duration.ofSeconds(30)); secondBuilder.build().get().uri("/foo").exchange() .block(Duration.ofSeconds(30)); verify(firstConnector).connect(eq(HttpMethod.GET), - eq(URI.create("http://first.example.org/foo")), any()); + eq(URI.create("https://first.example.org/foo")), any()); verify(secondConnector).connect(eq(HttpMethod.GET), - eq(URI.create("http://second.example.org/foo")), any()); + eq(URI.create("https://second.example.org/foo")), any()); WebClientCustomizer customizer = context .getBean(WebClientCustomizer.class); verify(customizer, times(1)).customize(any(WebClient.Builder.class)); diff --git a/spring-boot-project/spring-boot-autoconfigure/src/test/resources/wsdl/service.wsdl b/spring-boot-project/spring-boot-autoconfigure/src/test/resources/wsdl/service.wsdl index 82c0467301..7daeeabdc1 100644 --- a/spring-boot-project/spring-boot-autoconfigure/src/test/resources/wsdl/service.wsdl +++ b/spring-boot-project/spring-boot-autoconfigure/src/test/resources/wsdl/service.wsdl @@ -23,7 +23,7 @@ + transport="http://schemas.xmlsoap.org/soap/http/" /> diff --git a/spring-boot-project/spring-boot-dependencies/src/main/xslt/post-process-flattened-pom.xsl b/spring-boot-project/spring-boot-dependencies/src/main/xslt/post-process-flattened-pom.xsl index 72e984b0f9..f00a6e8da0 100644 --- a/spring-boot-project/spring-boot-dependencies/src/main/xslt/post-process-flattened-pom.xsl +++ b/spring-boot-project/spring-boot-dependencies/src/main/xslt/post-process-flattened-pom.xsl @@ -3,7 +3,7 @@ xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:m="http://maven.apache.org/POM/4.0.0" exclude-result-prefixes="m"> + xslt:indent-amount="4" xmlns:xslt="https://xml.apache.org/xslt" /> diff --git a/spring-boot-project/spring-boot-devtools/src/test/java/org/springframework/boot/devtools/restart/ChangeableUrlsTests.java b/spring-boot-project/spring-boot-devtools/src/test/java/org/springframework/boot/devtools/restart/ChangeableUrlsTests.java index 236acd5d01..1bf089221d 100644 --- a/spring-boot-project/spring-boot-devtools/src/test/java/org/springframework/boot/devtools/restart/ChangeableUrlsTests.java +++ b/spring-boot-project/spring-boot-devtools/src/test/java/org/springframework/boot/devtools/restart/ChangeableUrlsTests.java @@ -59,7 +59,7 @@ public class ChangeableUrlsTests { @Test public void httpUrl() throws Exception { - URL url = new URL("http://spring.io"); + URL url = new URL("https://spring.io"); assertThat(ChangeableUrls.fromUrls(url)).isEmpty(); } diff --git a/spring-boot-project/spring-boot-docs/src/main/asciidoc/build-tool-plugins.adoc b/spring-boot-project/spring-boot-docs/src/main/asciidoc/build-tool-plugins.adoc index 4a29dbe0a8..b4c6ff1112 100644 --- a/spring-boot-project/spring-boot-docs/src/main/asciidoc/build-tool-plugins.adoc +++ b/spring-boot-project/spring-boot-docs/src/main/asciidoc/build-tool-plugins.adoc @@ -33,7 +33,7 @@ section of your `pom.xml`, as shown in the following example: ---- + xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd"> 4.0.0 @@ -108,7 +108,7 @@ the usual `packaging` element, as shown in the following example: ---- + xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd"> jar @@ -137,7 +137,7 @@ following example: ---- + xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd"> war @@ -366,7 +366,7 @@ If your archive already includes libraries, you can use `Libraries.NONE`. [[build-tool-plugins-find-a-main-class]] === Finding a Main Class If you do not use `Repackager.setMainClass()` to specify a main class, the repackager -uses http://asm.ow2.org/[ASM] to read class files and tries to find a suitable class with +uses https://asm.ow2.org/[ASM] to read class files and tries to find a suitable class with a `public static void main(String[] args)` method. An exception is thrown if more than one candidate is found. diff --git a/spring-boot-project/spring-boot-docs/src/main/asciidoc/deployment.adoc b/spring-boot-project/spring-boot-docs/src/main/asciidoc/deployment.adoc index cc644d783d..9adde705ab 100644 --- a/spring-boot-project/spring-boot-docs/src/main/asciidoc/deployment.adoc +++ b/spring-boot-project/spring-boot-docs/src/main/asciidoc/deployment.adoc @@ -113,7 +113,7 @@ using the `cf apps` command, as shown in the following example: Once Cloud Foundry acknowledges that your application has been deployed, you should be able to find the application at the URI given. In the preceding example, you could find -it at `\http://acloudyspringtime.cfapps.io/`. +it at `\https://acloudyspringtime.cfapps.io/`. @@ -202,7 +202,7 @@ deployments is to `git push` the code to production, as shown in the following e Downloading: https://repo.spring.io/... Downloaded: https://repo.spring.io/... (818 B at 1.8 KB/sec) .... - Downloaded: http://s3pository.heroku.com/jvm/... (152 KB at 595.3 KB/sec) + Downloaded: https://s3pository.heroku.com/jvm/... (152 KB at 595.3 KB/sec) [INFO] Installing /tmp/build_0c35a5d2-a067-4abc-a232-14b1fb7a8229/target/... [INFO] Installing /tmp/build_0c35a5d2-a067-4abc-a232-14b1fb7a8229/pom.xml ... [INFO] ------------------------------------------------------------------------ @@ -218,7 +218,7 @@ deployments is to `git push` the code to production, as shown in the following e -----> Compressing... *done*, 70.4MB -----> Launching... *done*, v6 - http://agile-sierra-1405.herokuapp.com/ *deployed to Heroku* + https://agile-sierra-1405.herokuapp.com/ *deployed to Heroku* To git@heroku.com:agile-sierra-1405.git * [new branch] master -> master @@ -376,7 +376,7 @@ example: Payload started in 00:29.266s -> http://52.28.235.61/ Remapping Elastic IP 52.28.233.167 to i-92ef9f53 ... Waiting 15s for AWS to complete Elastic IP Zero Downtime transition ... - Deployment completed successfully. axelfontaine/myapp:1.0 is up and running at http://myapp-axelfontaine.boxfuse.io/ + Deployment completed successfully. axelfontaine/myapp:1.0 is up and running at https://myapp-axelfontaine.boxfuse.io/ ---- Your application should now be up and running on AWS. @@ -643,7 +643,7 @@ the `run` command is used by default. Note that, unlike when running as an `init.d` service, the user that runs the application, the PID file, and the console log file are managed by `systemd` itself and therefore must be configured by using appropriate fields in the '`service`' script. Consult the -http://www.freedesktop.org/software/systemd/man/systemd.service.html[service unit +https://www.freedesktop.org/software/systemd/man/systemd.service.html[service unit configuration man page] for more details. To flag the application to start automatically on system boot, use the following command: @@ -812,7 +812,7 @@ If it is not a symlink or you want to explicitly set the app name, this can be u NOTE: The `PID_FOLDER`, `LOG_FOLDER`, and `LOG_FILENAME` variables are only valid for an `init.d` service. For `systemd`, the equivalent customizations are made by using the '`service`' script. See the -http://www.freedesktop.org/software/systemd/man/systemd.service.html[service unit +https://www.freedesktop.org/software/systemd/man/systemd.service.html[service unit configuration man page] for more details. [[deployment-script-customization-conf-file]] diff --git a/spring-boot-project/spring-boot-docs/src/main/asciidoc/getting-started.adoc b/spring-boot-project/spring-boot-docs/src/main/asciidoc/getting-started.adoc index d247c077c4..04ce237570 100644 --- a/spring-boot-project/spring-boot-docs/src/main/asciidoc/getting-started.adoc +++ b/spring-boot-project/spring-boot-docs/src/main/asciidoc/getting-started.adoc @@ -129,7 +129,7 @@ The following listing shows a typical `pom.xml` file: ---- + xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd"> 4.0.0 com.example @@ -257,7 +257,7 @@ classpath is set correctly). ==== Installation with SDKMAN! SDKMAN! (The Software Development Kit Manager) can be used for managing multiple versions of various binary SDKs, including Groovy and the Spring Boot CLI. -Get SDKMAN! from http://sdkman.io and install Spring Boot by using the following +Get SDKMAN! from https://sdkman.io and install Spring Boot by using the following commands: [indent=0,subs="verbatim,quotes,attributes"] @@ -305,7 +305,7 @@ You can see it by running the following command: [[getting-started-homebrew-cli-installation]] ==== OSX Homebrew Installation -If you are on a Mac and use http://brew.sh/[Homebrew], you can install the Spring Boot +If you are on a Mac and use https://brew.sh/[Homebrew], you can install the Spring Boot CLI by using the following commands: [indent=0] @@ -323,7 +323,7 @@ that case, run `brew update` and try again. [[getting-started-macports-cli-installation]] ==== MacPorts Installation -If you are on a Mac and use http://www.macports.org/[MacPorts], you can install the +If you are on a Mac and use https://www.macports.org/[MacPorts], you can install the Spring Boot CLI by using the following command: [indent=0] @@ -358,7 +358,7 @@ completion scripts are automatically registered with your shell. [[getting-started-scoop-cli-installation]] ==== Windows Scoop Installation -If you are on a Windows and use http://scoop.sh/[Scoop], you can install the Spring Boot +If you are on a Windows and use https://scoop.sh/[Scoop], you can install the Spring Boot CLI by using the following commands: [indent=0] @@ -499,7 +499,7 @@ used to build your project. Open your favorite text editor and add the following ---- + xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd"> 4.0.0 com.example diff --git a/spring-boot-project/spring-boot-docs/src/main/asciidoc/howto.adoc b/spring-boot-project/spring-boot-docs/src/main/asciidoc/howto.adoc index ca932b8c2c..5c85640967 100644 --- a/spring-boot-project/spring-boot-docs/src/main/asciidoc/howto.adoc +++ b/spring-boot-project/spring-boot-docs/src/main/asciidoc/howto.adoc @@ -1447,7 +1447,7 @@ include::{code-examples}/web/client/RestTemplateProxyCustomizationExample.java[t Spring Boot has no mandatory logging dependency, except for the Commons Logging API, which is typically provided by Spring Framework's `spring-jcl` module. To use -http://logback.qos.ch[Logback], you need to include it and `spring-jcl` on the classpath. +https://logback.qos.ch[Logback], you need to include it and `spring-jcl` on the classpath. The simplest way to do that is through the starters, which all depend on `spring-boot-starter-logging`. For a web application, you need only `spring-boot-starter-web`, since it depends transitively on the logging starter. If you @@ -1551,7 +1551,7 @@ following example: [[howto-configure-log4j-for-logging]] === Configure Log4j for Logging -Spring Boot supports http://logging.apache.org/log4j/2.x[Log4j 2] for logging +Spring Boot supports https://logging.apache.org/log4j/2.x[Log4j 2] for logging configuration if it is on the classpath. If you use the starters for assembling dependencies, you have to exclude Logback and then include log4j 2 instead. If you do not use the starters, you need to provide (at least) `spring-jcl` in @@ -2201,7 +2201,7 @@ You can also switch off the initialization explicitly by setting [[howto-use-a-higher-level-database-migration-tool]] === Use a Higher-level Database Migration Tool Spring Boot supports two higher-level migration tools: https://flywaydb.org/[Flyway] -and http://www.liquibase.org/[Liquibase]. +and https://www.liquibase.org/[Liquibase]. [[howto-execute-flyway-database-migrations-on-startup]] ==== Execute Flyway Database Migrations on Startup @@ -2591,7 +2591,7 @@ for other Groovy customization options. === Fast Application Restarts The `spring-boot-devtools` module includes support for automatic application restarts. While not as fast as technologies such as -http://zeroturnaround.com/software/jrebel/[JRebel] it is usually significantly faster than +https://zeroturnaround.com/software/jrebel/[JRebel] it is usually significantly faster than a "`cold start`". You should probably give it a try before investigating some of the more complex reload options discussed later in this document. @@ -3227,9 +3227,9 @@ rather than the version that was pre-installed with the server. You can do so by xmlns:wls="http://xmlns.oracle.com/weblogic/weblogic-web-app" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee - http://java.sun.com/xml/ns/javaee/ejb-jar_3_0.xsd + https://java.sun.com/xml/ns/javaee/ejb-jar_3_0.xsd http://xmlns.oracle.com/weblogic/weblogic-web-app - http://xmlns.oracle.com/weblogic/weblogic-web-app/1.4/weblogic-web-app.xsd"> + https://xmlns.oracle.com/weblogic/weblogic-web-app/1.4/weblogic-web-app.xsd"> org.slf4j diff --git a/spring-boot-project/spring-boot-docs/src/main/asciidoc/index.adoc b/spring-boot-project/spring-boot-docs/src/main/asciidoc/index.adoc index ada56e9adf..5c3db85e90 100644 --- a/spring-boot-project/spring-boot-docs/src/main/asciidoc/index.adoc +++ b/spring-boot-project/spring-boot-docs/src/main/asciidoc/index.adoc @@ -46,9 +46,9 @@ Phillip Webb; Dave Syer; Josh Long; Stéphane Nicoll; Rob Winch; Andy Wilkinson; :spring-rest-docs: https://projects.spring.io/spring-restdocs/ :spring-integration: https://projects.spring.io/spring-integration/ :spring-session: https://projects.spring.io/spring-session/ -:spring-framework: http://projects.spring.io/spring-framework/ -:spring-security: http://projects.spring.io/spring-security/ -:spring-data-jpa: http://projects.spring.io/spring-data-jpa/ +:spring-framework: https://projects.spring.io/spring-framework/ +:spring-security: https://projects.spring.io/spring-security/ +:spring-data-jpa: https://projects.spring.io/spring-data-jpa/ :spring-security-reference: https://docs.spring.io/spring-security/site/docs/{spring-security-docs-version}/reference/htmlsingle :spring-security-oauth2-reference: https://projects.spring.io/spring-security-oauth/docs/oauth2.html :spring-webservices-reference: https://docs.spring.io/spring-ws/docs/{spring-webservices-docs-version}/reference/ @@ -62,7 +62,7 @@ Phillip Webb; Dave Syer; Josh Long; Stéphane Nicoll; Rob Winch; Andy Wilkinson; :spring-data: https://projects.spring.io/spring-data/ :spring-data-rest-javadoc: https://docs.spring.io/spring-data/rest/docs/current/api/org/springframework/data/rest :gradle-userguide: https://www.gradle.org/docs/current/userguide -:ant-manual: http://ant.apache.org/manual +:ant-manual: https://ant.apache.org/manual :code-examples: ../java/org/springframework/boot/docs :test-examples: ../../test/java/org/springframework/boot/docs :gradle-user-guide: https://docs.gradle.org/4.2.1/userguide @@ -70,7 +70,7 @@ Phillip Webb; Dave Syer; Josh Long; Stéphane Nicoll; Rob Winch; Andy Wilkinson; :jetty-documentation: https://www.eclipse.org/jetty/documentation/9.4.x :jooq-manual: https://www.jooq.org/doc/{jooq-version}/manual-single-page :micrometer-concepts-documentation: https://micrometer.io/docs/concepts -:micrometer-registry-documentation: http://micrometer.io/docs/registry +:micrometer-registry-documentation: https://micrometer.io/docs/registry :tomcat-documentation: https://tomcat.apache.org/tomcat-8.5-doc :kotlin-documentation: https://kotlinlang.org/docs/reference/ :junit5-documentation: https://junit.org/junit5/docs/current/user-guide diff --git a/spring-boot-project/spring-boot-docs/src/main/asciidoc/production-ready-features.adoc b/spring-boot-project/spring-boot-docs/src/main/asciidoc/production-ready-features.adoc index 005ecb1465..f5b17a62d8 100644 --- a/spring-boot-project/spring-boot-docs/src/main/asciidoc/production-ready-features.adoc +++ b/spring-boot-project/spring-boot-docs/src/main/asciidoc/production-ready-features.adoc @@ -474,7 +474,7 @@ configuration permits `GET` and `POST` calls from the `example.com` domain: [source,properties,indent=0] ---- - management.endpoints.web.cors.allowed-origins=http://example.com + management.endpoints.web.cors.allowed-origins=https://example.com management.endpoints.web.cors.allowed-methods=GET,POST ---- @@ -1401,7 +1401,7 @@ https://github.com/Netflix/atlas[Atlas server] to use can be provided using: [source,properties,indent=0] ---- - management.metrics.export.atlas.uri=http://atlas.example.com:7101/api/v1/publish + management.metrics.export.atlas.uri=https://atlas.example.com:7101/api/v1/publish ---- @@ -1478,7 +1478,7 @@ server] to use can be provided using: [source,properties,indent=0] ---- - management.metrics.export.influx.uri=http://influx.example.com:8086 + management.metrics.export.influx.uri=https://influx.example.com:8086 ---- @@ -2049,7 +2049,7 @@ include::{code-examples}/cloudfoundry/CloudFoundryCustomContextPathExample.java[ == What to Read Next If you want to explore some of the concepts discussed in this chapter, you can take a look at the actuator {github-code}/spring-boot-samples[sample applications]. You also -might want to read about graphing tools such as http://graphite.wikidot.com/[Graphite]. +might want to read about graphing tools such as https://graphite.wikidot.com/[Graphite]. Otherwise, you can continue on, to read about <> or jump ahead for some in-depth information about Spring Boot's diff --git a/spring-boot-project/spring-boot-docs/src/main/asciidoc/spring-boot-cli.adoc b/spring-boot-project/spring-boot-docs/src/main/asciidoc/spring-boot-cli.adoc index 215a93989c..cf24b7dce6 100644 --- a/spring-boot-project/spring-boot-docs/src/main/asciidoc/spring-boot-cli.adoc +++ b/spring-boot-project/spring-boot-docs/src/main/asciidoc/spring-boot-cli.adoc @@ -247,7 +247,7 @@ You can use `@DependencyManagementBom` anywhere that you can use `@Grab`. Howeve ensure consistent ordering of the dependency management, you can use `@DependencyManagementBom` at most once in your application. A useful source of dependency management (which is a superset of Spring Boot's dependency management) is the -http://platform.spring.io/[Spring IO Platform], which you might include with the following +https://platform.spring.io/[Spring IO Platform], which you might include with the following line: [source,java,indent=0] @@ -421,7 +421,7 @@ following example: [[cli-groovy-beans-dsl]] == Developing Applications with the Groovy Beans DSL Spring Framework 4.0 has native support for a `beans{}` "`DSL`" (borrowed from -http://grails.org/[Grails]), and you can embed bean definitions in your Groovy application +https://grails.org/[Grails]), and you can embed bean definitions in your Groovy application scripts by using the same format. This is sometimes a good way to include external features like middleware declarations, as shown in the following example: diff --git a/spring-boot-project/spring-boot-docs/src/main/asciidoc/spring-boot-features.adoc b/spring-boot-project/spring-boot-docs/src/main/asciidoc/spring-boot-features.adoc index b968e9a241..12630181a5 100644 --- a/spring-boot-project/spring-boot-docs/src/main/asciidoc/spring-boot-features.adoc +++ b/spring-boot-project/spring-boot-docs/src/main/asciidoc/spring-boot-features.adoc @@ -667,10 +667,10 @@ https://www.vaultproject.io/[HashiCorp Vault]. [[boot-features-external-config-yaml]] === Using YAML Instead of Properties -http://yaml.org[YAML] is a superset of JSON and, as such, is a convenient format for +https://yaml.org[YAML] is a superset of JSON and, as such, is a convenient format for specifying hierarchical configuration data. The `SpringApplication` class automatically supports YAML as an alternative to properties whenever you have the -http://www.snakeyaml.org/[SnakeYAML] library on your classpath. +https://bitbucket.org/asomov/snakeyaml[SnakeYAML] library on your classpath. NOTE: If you use "`Starters`", SnakeYAML is automatically provided by `spring-boot-starter`. @@ -689,10 +689,10 @@ For example, consider the following YAML document: ---- environments: dev: - url: http://dev.example.com + url: https://dev.example.com name: Developer Setup prod: - url: http://another.example.com + url: https://another.example.com name: My Cool App ---- @@ -700,9 +700,9 @@ The preceding example would be transformed into the following properties: [source,properties,indent=0] ---- - environments.dev.url=http://dev.example.com + environments.dev.url=https://dev.example.com environments.dev.name=Developer Setup - environments.prod.url=http://another.example.com + environments.prod.url=https://another.example.com environments.prod.name=My Cool App ---- @@ -1506,12 +1506,12 @@ See "<>" for details. [[boot-features-logging]] == Logging -Spring Boot uses http://commons.apache.org/logging[Commons Logging] for all internal +Spring Boot uses https://commons.apache.org/logging[Commons Logging] for all internal logging but leaves the underlying log implementation open. Default configurations are provided for {java-javadoc}/java/util/logging/package-summary.html[Java Util -Logging], http://logging.apache.org/log4j/2.x/[Log4J2], and -http://logback.qos.ch/[Logback]. In each case, loggers are pre-configured to use console +Logging], https://logging.apache.org/log4j/2.x/[Log4J2], and +https://logback.qos.ch/[Logback]. In each case, loggers are pre-configured to use console output with optional file output also available. By default, if you use the "`Starters`", Logback is used for logging. Appropriate Logback @@ -1829,7 +1829,7 @@ cannot use extensions in it. You need to either use `logback-spring.xml` or defi `logging.config` property. WARNING: The extensions cannot be used with Logback's -http://logback.qos.ch/manual/configuration.html#autoScan[configuration scanning]. If you +https://logback.qos.ch/manual/configuration.html#autoScan[configuration scanning]. If you attempt to do so, making changes to the configuration file results in an error similar to one of the following being logged: @@ -2293,7 +2293,7 @@ Spring Boot includes auto-configuration support for the following templating eng * https://freemarker.apache.org/docs/[FreeMarker] * http://docs.groovy-lang.org/docs/next/html/documentation/template-engines.html#_the_markuptemplateengine[Groovy] - * http://www.thymeleaf.org[Thymeleaf] + * https://www.thymeleaf.org[Thymeleaf] * https://mustache.github.io/[Mustache] TIP: If possible, JSPs should be avoided. There are several @@ -2508,7 +2508,7 @@ described earlier. ==== CORS Support https://en.wikipedia.org/wiki/Cross-origin_resource_sharing[Cross-origin resource sharing] -(CORS) is a http://www.w3.org/TR/cors/[W3C specification] implemented by +(CORS) is a https://www.w3.org/TR/cors/[W3C specification] implemented by https://caniuse.com/#feat=cors[most browsers] that lets you specify in a flexible way what kind of cross-domain requests are authorized, instead of using some less secure and less powerful approaches such as IFRAME or JSONP. @@ -2546,7 +2546,7 @@ defined by registering a `WebMvcConfigurer` bean with a customized Spring WebFlux is the new reactive web framework introduced in Spring Framework 5.0. Unlike Spring MVC, it does not require the Servlet API, is fully asynchronous and -non-blocking, and implements the http://www.reactive-streams.org/[Reactive Streams] +non-blocking, and implements the https://www.reactive-streams.org/[Reactive Streams] specification through https://projectreactor.io/[the Reactor project]. Spring WebFlux comes in two flavors: functional and annotation-based. The @@ -2723,8 +2723,8 @@ Thymeleaf, FreeMarker, and Mustache. Spring Boot includes auto-configuration support for the following templating engines: * https://freemarker.apache.org/docs/[FreeMarker] - * http://www.thymeleaf.org[Thymeleaf] - * http://mustache.github.io/[Mustache] + * https://www.thymeleaf.org[Thymeleaf] + * https://mustache.github.io/[Mustache] When you use one of these templating engines with the default configuration, your templates are picked up automatically from `src/main/resources/templates`. @@ -2845,7 +2845,7 @@ does so, the orders shown in the following table will be used: === JAX-RS and Jersey If you prefer the JAX-RS programming model for REST endpoints, you can use one of the available implementations instead of Spring MVC. https://jersey.github.io/[Jersey] 1.x and -http://cxf.apache.org/[Apache CXF] work quite well out of the box if you register their +https://cxf.apache.org/[Apache CXF] work quite well out of the box if you register their `Servlet` or `Filter` as a `@Bean` in your application context. Jersey 2.x has some native Spring support, so we also provide auto-configuration support for it in Spring Boot, together with a starter. @@ -2921,7 +2921,7 @@ JAX-RS resources are packaged as nested jars, you may need to do the same. [[boot-features-embedded-container]] === Embedded Servlet Container Support -Spring Boot includes support for embedded http://tomcat.apache.org/[Tomcat], +Spring Boot includes support for embedded https://tomcat.apache.org/[Tomcat], https://www.eclipse.org/jetty/[Jetty], and http://undertow.io/[Undertow] servers. Most developers use the appropriate "`Starter`" to obtain a fully configured instance. By default, the embedded server listens for HTTP requests on port `8080`. @@ -3248,7 +3248,7 @@ You can register multiple OAuth2 clients and providers under the spring.security.oauth2.client.registration.my-client-1.client-name=Client for user scope spring.security.oauth2.client.registration.my-client-1.provider=my-oauth-provider spring.security.oauth2.client.registration.my-client-1.scope=user - spring.security.oauth2.client.registration.my-client-1.redirect-uri-template=http://my-redirect-uri.com + spring.security.oauth2.client.registration.my-client-1.redirect-uri-template=https://my-redirect-uri.com spring.security.oauth2.client.registration.my-client-1.client-authentication-method=basic spring.security.oauth2.client.registration.my-client-1.authorization-grant-type=authorization_code @@ -3257,7 +3257,7 @@ You can register multiple OAuth2 clients and providers under the spring.security.oauth2.client.registration.my-client-2.client-name=Client for email scope spring.security.oauth2.client.registration.my-client-2.provider=my-oauth-provider spring.security.oauth2.client.registration.my-client-2.scope=email - spring.security.oauth2.client.registration.my-client-2.redirect-uri-template=http://my-redirect-uri.com + spring.security.oauth2.client.registration.my-client-2.redirect-uri-template=https://my-redirect-uri.com spring.security.oauth2.client.registration.my-client-2.client-authentication-method=basic spring.security.oauth2.client.registration.my-client-2.authorization-grant-type=authorization_code @@ -3388,8 +3388,8 @@ application ends. TIP: The "`How-to`" section includes a <>. -Spring Boot can auto-configure embedded http://www.h2database.com[H2], -http://hsqldb.org/[HSQL], and http://db.apache.org/derby/[Derby] databases. You need not +Spring Boot can auto-configure embedded https://www.h2database.com[H2], +http://hsqldb.org/[HSQL], and https://db.apache.org/derby/[Derby] databases. You need not provide any connection URLs. You need only include a build dependency to the embedded database that you want to use. @@ -3483,7 +3483,7 @@ settings by using their respective prefix (`+spring.datasource.hikari.*+`, documentation of the connection pool implementation you are using for more details. For instance, if you use the -http://tomcat.apache.org/tomcat-8.0-doc/jdbc-pool.html#Common_Attributes[Tomcat +https://tomcat.apache.org/tomcat-8.0-doc/jdbc-pool.html#Common_Attributes[Tomcat connection pool], you could customize many additional settings, as shown in the following example: @@ -3725,8 +3725,8 @@ views. If you do not want this behavior, you should set `spring.jpa.open-in-view [[boot-features-sql-h2-console]] === Using H2's Web Console -The http://www.h2database.com[H2 database] provides a -http://www.h2database.com/html/quickstart.html#h2_console[browser-based console] that +The https://www.h2database.com[H2 database] provides a +https://www.h2database.com/html/quickstart.html#h2_console[browser-based console] that Spring Boot can auto-configure for you. The console is auto-configured when the following conditions are met: @@ -3753,8 +3753,8 @@ path by using the `spring.h2.console.path` property. [[boot-features-jooq]] === Using jOOQ -Java Object Oriented Querying (http://www.jooq.org/[jOOQ]) is a popular product from -http://www.datageekery.com/[Data Geekery] which generates Java code from your +Java Object Oriented Querying (https://www.jooq.org/[jOOQ]) is a popular product from +https://www.datageekery.com/[Data Geekery] which generates Java code from your database and lets you build type-safe SQL queries through its fluent API. Both the commercial and open source editions can be used with Spring Boot. @@ -3886,7 +3886,7 @@ https://projects.spring.io/spring-data[projects.spring.io/spring-data]. [[boot-features-redis]] === Redis -http://redis.io/[Redis] is a cache, message broker, and richly-featured key-value store. +https://redis.io/[Redis] is a cache, message broker, and richly-featured key-value store. Spring Boot offers basic auto-configuration for the https://github.com/lettuce-io/lettuce-core/[Lettuce] and https://github.com/xetorthio/jedis/[Jedis] client libraries and the abstractions on top @@ -3940,7 +3940,7 @@ get a pooled connection factory. [[boot-features-mongodb]] === MongoDB -http://www.mongodb.com/[MongoDB] is an open-source NoSQL document database that uses a +https://www.mongodb.com/[MongoDB] is an open-source NoSQL document database that uses a JSON-like schema instead of traditional table-based relational data. Spring Boot offers several conveniences for working with MongoDB, including the `spring-boot-starter-data-mongodb` and `spring-boot-starter-data-mongodb-reactive` @@ -4107,7 +4107,7 @@ the Mongo instance's configuration and logging routing. [[boot-features-neo4j]] === Neo4j -http://neo4j.com/[Neo4j] is an open-source NoSQL graph database that uses a rich data +https://neo4j.com/[Neo4j] is an open-source NoSQL graph database that uses a rich data model of nodes connected by first class relationships, which is better suited for connected big data than traditional RDBMS approaches. Spring Boot offers several conveniences for working with Neo4j, including the `spring-boot-starter-data-neo4j` @@ -4248,7 +4248,7 @@ https://github.com/spring-projects/spring-data-gemfire/blob/master/src/main/java [[boot-features-solr]] === Solr -http://lucene.apache.org/solr/[Apache Solr] is a search engine. Spring Boot offers basic +https://lucene.apache.org/solr/[Apache Solr] is a search engine. Spring Boot offers basic auto-configuration for the Solr 5 client library and the abstractions on top of it provided by https://github.com/spring-projects/spring-data-solr[Spring Data Solr]. There is a `spring-boot-starter-data-solr` "`Starter`" for collecting the dependencies in a @@ -4299,7 +4299,7 @@ https://projects.spring.io/spring-data-solr/[reference documentation]. [[boot-features-elasticsearch]] === Elasticsearch -http://www.elasticsearch.org/[Elasticsearch] is an open source, distributed, real-time +https://www.elastic.co/[Elasticsearch] is an open source, distributed, real-time search and analytics engine. Spring Boot offers basic auto-configuration for Elasticsearch and the abstractions on top of it provided by https://github.com/spring-projects/spring-data-elasticsearch[Spring Data Elasticsearch]. @@ -4317,7 +4317,7 @@ configured, as shown in the following example: [source,properties,indent=0] ---- - spring.elasticsearch.jest.uris=http://search.example.com:9200 + spring.elasticsearch.jest.uris=https://search.example.com:9200 spring.elasticsearch.jest.read-timeout=10000 spring.elasticsearch.jest.username=user spring.elasticsearch.jest.password=secret @@ -4388,7 +4388,7 @@ https://docs.spring.io/spring-data/elasticsearch/docs/[reference documentation]. [[boot-features-cassandra]] === Cassandra -http://cassandra.apache.org/[Cassandra] is an open source, distributed database +https://cassandra.apache.org/[Cassandra] is an open source, distributed database management system designed to handle large amounts of data across many commodity servers. Spring Boot offers auto-configuration for Cassandra and the abstractions on top of it provided by https://github.com/spring-projects/spring-data-cassandra[Spring Data @@ -4446,7 +4446,7 @@ https://docs.spring.io/spring-data/cassandra/docs/[reference documentation]. [[boot-features-couchbase]] === Couchbase -http://www.couchbase.com/[Couchbase] is an open-source, distributed, multi-model NoSQL +https://www.couchbase.com/[Couchbase] is an open-source, distributed, multi-model NoSQL document-oriented database that is optimized for interactive applications. Spring Boot offers auto-configuration for Couchbase and the abstractions on top of it provided by https://github.com/spring-projects/spring-data-couchbase[Spring Data Couchbase]. There are @@ -4685,7 +4685,7 @@ example: [source,properties,indent=0] ---- - spring.influx.url=http://172.0.0.1:8086 + spring.influx.url=https://172.0.0.1:8086 ---- If the connection to InfluxDB requires a user and password, you can set the @@ -4868,7 +4868,7 @@ abstraction expects. No further customization is applied to it. [[boot-features-caching-provider-ehcache2]] ==== EhCache 2.x -http://www.ehcache.org/[EhCache] 2.x is used if a file named `ehcache.xml` can be found at +https://www.ehcache.org/[EhCache] 2.x is used if a file named `ehcache.xml` can be found at the root of the classpath. If EhCache 2.x is found, the `EhCacheCacheManager` provided by the `spring-boot-starter-cache` "`Starter`" is used to bootstrap the cache manager. An alternate configuration file can be provided as well, as shown in the following example: @@ -4891,7 +4891,7 @@ Spring Boot has <>. If a [[boot-features-caching-provider-infinispan]] ==== Infinispan -http://infinispan.org/[Infinispan] has no default configuration file location, so it must +https://infinispan.org/[Infinispan] has no default configuration file location, so it must be specified explicitly. Otherwise, the default bootstrap is used. [source,properties,indent=0] @@ -4967,7 +4967,7 @@ auto-configuration. [[boot-features-caching-provider-redis]] ==== Redis -If http://redis.io/[Redis] is available and configured, a `RedisCacheManager` is +If https://redis.io/[Redis] is available and configured, a `RedisCacheManager` is auto-configured. It is possible to create additional caches on startup by setting the `spring.cache.cache-names` property and cache defaults can be configured by using `spring.cache.redis.*` properties. For instance, the following configuration creates @@ -5079,7 +5079,7 @@ infrastructure to send and receive messages. [[boot-features-activemq]] ==== ActiveMQ Support -When http://activemq.apache.org/[ActiveMQ] is available on the classpath, Spring Boot can +When https://activemq.apache.org/[ActiveMQ] is available on the classpath, Spring Boot can also configure a `ConnectionFactory`. If the broker is present, an embedded broker is automatically started and configured (provided no broker URL is specified through configuration). @@ -5124,7 +5124,7 @@ are resolved against their provided names. [[boot-features-artemis]] ==== Artemis Support Spring Boot can auto-configure a `ConnectionFactory` when it detects that -http://activemq.apache.org/artemis/[Artemis] is available on the classpath. If the broker +https://activemq.apache.org/artemis/[Artemis] is available on the classpath. If the broker is present, an embedded broker is automatically started and configured (unless the mode property has been explicitly set). The supported modes are `embedded` (to make explicit that an embedded broker is required and that an error should occur if the broker is not @@ -5463,7 +5463,7 @@ delivery attempts is reached. [[boot-features-kafka]] === Apache Kafka Support -http://kafka.apache.org/[Apache Kafka] is supported by providing auto-configuration of +https://kafka.apache.org/[Apache Kafka] is supported by providing auto-configuration of the `spring-kafka` project. Kafka configuration is controlled by external configuration properties in @@ -5672,7 +5672,7 @@ The following code shows a typical example: private final WebClient webClient; public MyService(WebClient.Builder webClientBuilder) { - this.webClient = webClientBuilder.baseUrl("http://example.org").build(); + this.webClient = webClientBuilder.baseUrl("https://example.org").build(); } public Mono
someRestCall(String name) { @@ -5774,7 +5774,7 @@ When a `jndi-name` is set, it takes precedence over all other Session-related se [[boot-features-jta]] == Distributed Transactions with JTA Spring Boot supports distributed JTA transactions across multiple XA resources by using -either an http://www.atomikos.com/[Atomikos] or https://github.com/bitronix/btm[Bitronix] +either an https://www.atomikos.com/[Atomikos] or https://github.com/bitronix/btm[Bitronix] embedded transaction manager. JTA transactions are also supported when deploying to a suitable Java EE Application Server. @@ -5948,7 +5948,7 @@ configuration, as shown in the following example: Otherwise, Spring Boot tries to find the Hazelcast configuration from the default locations: `hazelcast.xml` in the working directory or at the root of the classpath. We also check if the `hazelcast.config` system property is set. See the -http://docs.hazelcast.org/docs/latest/manual/html-single/[Hazelcast documentation] for +https://docs.hazelcast.org/docs/latest/manual/html-single/[Hazelcast documentation] for more details. If `hazelcast-client` is present on the classpath, Spring Boot first attempts to create a @@ -5969,7 +5969,7 @@ implementation. [[boot-features-quartz]] == Quartz Scheduler Spring Boot offers several conveniences for working with the -http://www.quartz-scheduler.org/[Quartz scheduler], including the +https://www.quartz-scheduler.org/[Quartz scheduler], including the `spring-boot-starter-quartz` "`Starter`". If Quartz is available, a `Scheduler` is auto-configured (through the `SchedulerFactoryBean` abstraction). @@ -6146,13 +6146,13 @@ libraries. The `spring-boot-starter-test` "`Starter`" (in the `test` `scope`) contains the following provided libraries: -* http://junit.org[JUnit]: The de-facto standard for unit testing Java applications. +* https://junit.org[JUnit]: The de-facto standard for unit testing Java applications. * {spring-reference}testing.html#integration-testing[Spring Test] & Spring Boot Test: Utilities and integration test support for Spring Boot applications. -* http://joel-costigliola.github.io/assertj/[AssertJ]: A fluent assertion library. +* https://joel-costigliola.github.io/assertj/[AssertJ]: A fluent assertion library. * http://hamcrest.org/JavaHamcrest/[Hamcrest]: A library of matcher objects (also known as constraints or predicates). -* http://mockito.org/[Mockito]: A Java mocking framework. +* https://mockito.github.io[Mockito]: A Java mocking framework. * https://github.com/skyscreamer/JSONassert[JSONassert]: An assertion library for JSON. * https://github.com/jayway/JsonPath[JsonPath]: XPath for JSON. @@ -7466,7 +7466,7 @@ the following example: @Test public void testRequest() throws Exception { HttpHeaders headers = this.template.getForEntity( - "http://myhost.example.com/example", String.class).getHeaders(); + "https://myhost.example.com/example", String.class).getHeaders(); assertThat(headers.getLocation()).hasHost("other.example.com"); } @@ -7608,7 +7608,7 @@ annotations include: ==== Class Conditions The `@ConditionalOnClass` and `@ConditionalOnMissingClass` annotations let `@Configuration` classes be included based on the presence or absence of specific classes. -Due to the fact that annotation metadata is parsed by using http://asm.ow2.org/[ASM], you +Due to the fact that annotation metadata is parsed by using https://asm.ow2.org/[ASM], you can use the `value` attribute to refer to the real class, even though that class might not actually appear on the running application classpath. You can also use the `name` attribute if you prefer to specify the class name by using a `String` value. @@ -7924,7 +7924,7 @@ The easiest way to start with Spring Boot and Kotlin is to follow https://spring.io/guides/tutorials/spring-boot-kotlin/[this comprehensive tutorial]. You can create new Kotlin projects via https://start.spring.io/#!language=kotlin[start.spring.io]. Feel free to join the #spring -channel of http://slack.kotlinlang.org/[Kotlin Slack] or ask a question with the `spring` +channel of https://slack.kotlinlang.org/[Kotlin Slack] or ask a question with the `spring` and `kotlin` tags on https://stackoverflow.com/questions/tagged/spring+kotlin[Stack Overflow] if you need support. @@ -7959,7 +7959,7 @@ deals with `null` values at compile time rather than deferring the problem to ru encountering a `NullPointerException`. This helps to eliminate a common source of bugs without paying the cost of wrappers like `Optional`. Kotlin also allows using functional constructs with nullable values as described in this -http://www.baeldung.com/kotlin-null-safety[comprehensive guide to null-safety in Kotlin]. +https://www.baeldung.com/kotlin-null-safety[comprehensive guide to null-safety in Kotlin]. Although Java does not allow one to express null-safety in its type system, Spring Framework, Spring Data, and Reactor now provide null-safety of their API via @@ -8111,7 +8111,7 @@ instance lifecycle to "per-class"]. [[boot-features-kotlin-resources-further-reading]] ==== Further reading * {kotlin-documentation}[Kotlin language reference] -* http://slack.kotlinlang.org/[Kotlin Slack] (with a dedicated #spring channel) +* https://slack.kotlinlang.org/[Kotlin Slack] (with a dedicated #spring channel) * https://stackoverflow.com/questions/tagged/spring+kotlin[Stackoverflow with `spring` and `kotlin` tags] * https://try.kotlinlang.org/[Try Kotlin in your browser] * https://blog.jetbrains.com/kotlin/[Kotlin blog] diff --git a/spring-boot-project/spring-boot-starters/README.adoc b/spring-boot-project/spring-boot-starters/README.adoc index 94e5f537f6..1cc5dff17f 100644 --- a/spring-boot-project/spring-boot-starters/README.adoc +++ b/spring-boot-project/spring-boot-starters/README.adoc @@ -34,7 +34,7 @@ do as they were designed before this was clarified. | https://wicket.apache.org/[Apache Wicket] | https://github.com/MarcGiffing/wicket-spring-boot -| http://www.axonframework.org/[Axon Framework] +| https://axoniq.io[Axon Framework] | https://github.com/AxonFramework/AxonFramework | https://azure.microsoft.com/[Azure] @@ -70,7 +70,7 @@ do as they were designed before this was clarified. | https://www.google.com/recaptcha[Google's reCAPTCHA] | https://github.com/mkopylec/recaptcha-spring-boot-starter -| http://graphql.org/[GraphQL] and https://github.com/graphql/graphiql[GraphiQL] with https://github.com/graphql-java/[GraphQL Java] +| https://graphql.org/[GraphQL] and https://github.com/graphql/graphiql[GraphiQL] with https://github.com/graphql-java/[GraphQL Java] | https://github.com/graphql-java/graphql-spring-boot | https://www.grpc.io/[gRPC] @@ -100,7 +100,7 @@ do as they were designed before this was clarified. | JSF integration for various libraries | https://github.com/joinfaces/joinfaces -| http://www.liquigraph.org/[Liquigraph] +| https://www.liquigraph.org/[Liquigraph] | https://github.com/liquigraph/liquigraph | https://logback.qos.ch/access.html[Logback-access] @@ -122,7 +122,7 @@ do as they were designed before this was clarified. | https://github.com/societe-generale/rabbitmq-advanced-spring-boot-starter | https://resteasy.jboss.org/[RESTEasy] -| https://github.com/paypal/resteasy-spring-boot +| https://github.com/resteasy/resteasy-spring-boot | https://github.com/rollbar/rollbar-java/[Rollbar] | https://github.com/olmero/rollbar-spring-boot-starter diff --git a/spring-boot-project/spring-boot-starters/spring-boot-starter-parent/src/main/xslt/post-process-flattened-pom.xsl b/spring-boot-project/spring-boot-starters/spring-boot-starter-parent/src/main/xslt/post-process-flattened-pom.xsl index 7b7cdc494e..ac9faabcda 100644 --- a/spring-boot-project/spring-boot-starters/spring-boot-starter-parent/src/main/xslt/post-process-flattened-pom.xsl +++ b/spring-boot-project/spring-boot-starters/spring-boot-starter-parent/src/main/xslt/post-process-flattened-pom.xsl @@ -3,7 +3,7 @@ xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:m="http://maven.apache.org/POM/4.0.0" exclude-result-prefixes="m"> + xslt:indent-amount="4" xmlns:xslt="https://xml.apache.org/xslt" /> diff --git a/spring-boot-project/spring-boot-test/src/test/java/org/springframework/boot/test/web/client/LocalHostUriTemplateHandlerTests.java b/spring-boot-project/spring-boot-test/src/test/java/org/springframework/boot/test/web/client/LocalHostUriTemplateHandlerTests.java index ce021e2758..a9525839c4 100644 --- a/spring-boot-project/spring-boot-test/src/test/java/org/springframework/boot/test/web/client/LocalHostUriTemplateHandlerTests.java +++ b/spring-boot-project/spring-boot-test/src/test/java/org/springframework/boot/test/web/client/LocalHostUriTemplateHandlerTests.java @@ -104,7 +104,7 @@ public class LocalHostUriTemplateHandlerTests { MockEnvironment environment = new MockEnvironment(); UriTemplateHandler uriTemplateHandler = mock(UriTemplateHandler.class); Map uriVariables = new HashMap<>(); - URI uri = URI.create("http://www.example.com"); + URI uri = URI.create("https://www.example.com"); given(uriTemplateHandler.expand("https://localhost:8080/", uriVariables)) .willReturn(uri); LocalHostUriTemplateHandler handler = new LocalHostUriTemplateHandler(environment, diff --git a/spring-boot-project/spring-boot-test/src/test/java/org/springframework/boot/test/web/client/TestRestTemplateTests.java b/spring-boot-project/spring-boot-test/src/test/java/org/springframework/boot/test/web/client/TestRestTemplateTests.java index a19ef2ed30..e66c4116b0 100644 --- a/spring-boot-project/spring-boot-test/src/test/java/org/springframework/boot/test/web/client/TestRestTemplateTests.java +++ b/spring-boot-project/spring-boot-test/src/test/java/org/springframework/boot/test/web/client/TestRestTemplateTests.java @@ -95,14 +95,14 @@ public class TestRestTemplateTests { @Test public void getRootUriRootUriSetViaRestTemplateBuilder() { - String rootUri = "http://example.com"; + String rootUri = "https://example.com"; RestTemplateBuilder delegate = new RestTemplateBuilder().rootUri(rootUri); assertThat(new TestRestTemplate(delegate).getRootUri()).isEqualTo(rootUri); } @Test public void getRootUriRootUriSetViaLocalHostUriTemplateHandler() { - String rootUri = "http://example.com"; + String rootUri = "https://example.com"; TestRestTemplate template = new TestRestTemplate(); LocalHostUriTemplateHandler templateHandler = mock( LocalHostUriTemplateHandler.class); diff --git a/spring-boot-project/spring-boot/src/test/java/org/springframework/boot/env/OriginTrackedYamlLoaderTests.java b/spring-boot-project/spring-boot/src/test/java/org/springframework/boot/env/OriginTrackedYamlLoaderTests.java index f22e0b3397..946e68bed5 100644 --- a/spring-boot-project/spring-boot/src/test/java/org/springframework/boot/env/OriginTrackedYamlLoaderTests.java +++ b/spring-boot-project/spring-boot/src/test/java/org/springframework/boot/env/OriginTrackedYamlLoaderTests.java @@ -99,7 +99,7 @@ public class OriginTrackedYamlLoaderTests { OriginTrackedValue bar2 = getValue("example.foo[0].bar[1].bar2"); assertThat(name.toString()).isEqualTo("springboot"); assertThat(getLocation(name)).isEqualTo("22:15"); - assertThat(url.toString()).isEqualTo("http://springboot.com"); + assertThat(url.toString()).isEqualTo("http://www.springboot.com/"); assertThat(getLocation(url)).isEqualTo("23:14"); assertThat(bar1.toString()).isEqualTo("baz"); assertThat(getLocation(bar1)).isEqualTo("25:19"); diff --git a/spring-boot-project/spring-boot/src/test/resources/org/springframework/boot/env/test-yaml.yml b/spring-boot-project/spring-boot/src/test/resources/org/springframework/boot/env/test-yaml.yml index ef4aeb09c9..e0217c13a2 100644 --- a/spring-boot-project/spring-boot/src/test/resources/org/springframework/boot/env/test-yaml.yml +++ b/spring-boot-project/spring-boot/src/test/resources/org/springframework/boot/env/test-yaml.yml @@ -1,4 +1,4 @@ -# http://docs.ansible.com/ansible/YAMLSyntax.html +# https://docs.ansible.com/ansible/YAMLSyntax.html name: Martin D'vloper job: Developer @@ -20,7 +20,7 @@ education: | example: foo: - name: springboot - url: http://springboot.com + url: http://www.springboot.com/ bar: - bar1: baz - bar2: bling diff --git a/spring-boot-samples/spring-boot-sample-actuator-custom-security/src/main/resources/templates/error.ftl b/spring-boot-samples/spring-boot-sample-actuator-custom-security/src/main/resources/templates/error.ftl index b16ae5895b..f1c4444f93 100644 --- a/spring-boot-samples/spring-boot-sample-actuator-custom-security/src/main/resources/templates/error.ftl +++ b/spring-boot-samples/spring-boot-sample-actuator-custom-security/src/main/resources/templates/error.ftl @@ -11,7 +11,7 @@