Merge branch '2.1.x'

This commit is contained in:
Andy Wilkinson 2019-03-28 11:48:47 +00:00
commit 878a635bfb
125 changed files with 450 additions and 447 deletions

View File

@ -40,5 +40,5 @@ appropriate to the circumstances. Maintainers are obligated to maintain confiden
with regard to the reporter of an incident. with regard to the reporter of an incident.
This Code of Conduct is adapted from the This Code of Conduct is adapted from the
http://contributor-covenant.org[Contributor Covenant], version 1.3.0, available at https://contributor-covenant.org[Contributor Covenant], version 1.3.0, available at
http://contributor-covenant.org/version/1/3/0/[contributor-covenant.org/version/1/3/0/] https://contributor-covenant.org/version/1/3/0/[contributor-covenant.org/version/1/3/0/]

View File

@ -66,7 +66,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. * 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 * If no-one else is using your branch, please rebase it against the current master (or
other target branch in the main project). 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 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). message (where `XXXX` is the issue number).
@ -75,15 +75,15 @@ added after the original pull request but before a merge.
== Working with the Code == Working with the Code
If you don't have an IDE preference we would recommend that you use If you don't have an IDE preference we would recommend that you use
https://spring.io/tools/sts[Spring Tools Suite] or https://spring.io/tools/sts[Spring Tools Suite] or
http://eclipse.org[Eclipse] when working with the code. We use the https://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://eclipse.org/m2e/[M2Eclipse] eclipse plugin for maven support. Other IDEs and tools
should also work without issue. should also work without issue.
=== Building from Source === Building from Source
Spring Boot source can be build from the command line using Spring Boot source can be built from the command line using
http://maven.apache.org/run-maven/index.html[Apache Maven] on JDK 1.8 or above. https://maven.apache.org/run-maven/index.html[Apache Maven] on JDK 1.8 or above.
We include '`Maven Wrapper`' scripts (`./mvnw` or `mvnw.bat`) that you can run rather We include '`Maven Wrapper`' scripts (`./mvnw` or `mvnw.bat`) that you can run rather
than needing to install Maven locally. than needing to install Maven locally.
@ -148,7 +148,7 @@ Spring Boot includes a `.setup` files which can be used with the Eclipse Install
provision a new environment. To use the installer: provision a new environment. To use the installer:
* Download and run the latest Eclipse Installer from * Download and run the latest Eclipse Installer from
http://www.eclipse.org/downloads/[eclipse.org/downloads/] (under "Get Eclipse"). https://www.eclipse.org/downloads/[eclipse.org/downloads/] (under "Get Eclipse").
* Switch to "Advanced Mode" using the drop down menu on the right. * Switch to "Advanced Mode" using the drop down menu on the right.
* Select "`Eclipse IDE for Java Developers`" under "`Eclipse.org`" as the product to * Select "`Eclipse IDE for Java Developers`" under "`Eclipse.org`" as the product to
install and click "`next`". install and click "`next`".
@ -170,7 +170,7 @@ easier to navigate.
==== Manual Installation with M2Eclipse ==== Manual Installation with M2Eclipse
If you prefer to install Eclipse yourself you should use the If you prefer to install Eclipse yourself you should use the
http://eclipse.org/m2e/[M2Eclipse] eclipse plugin. If you don't already have m2eclipse https://eclipse.org/m2e/[M2Eclipse] eclipse plugin. If you don't already have m2eclipse
installed it is available from the "Eclipse marketplace". installed it is available from the "Eclipse marketplace".
Spring Boot includes project specific source formatting settings, in order to have these Spring Boot includes project specific source formatting settings, in order to have these

View File

@ -112,9 +112,9 @@ public class CloudFoundryWebFluxEndpointIntegrationTests {
this.contextRunner.run(withWebTestClient((client) -> client.options() this.contextRunner.run(withWebTestClient((client) -> client.options()
.uri("/cfApplication/test").accept(MediaType.APPLICATION_JSON) .uri("/cfApplication/test").accept(MediaType.APPLICATION_JSON)
.header("Access-Control-Request-Method", "POST") .header("Access-Control-Request-Method", "POST")
.header("Origin", "http://example.com").exchange().expectStatus().isOk() .header("Origin", "https://example.com").exchange().expectStatus().isOk()
.expectHeader() .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"))); .expectHeader().valueEquals("Access-Control-Allow-Methods", "GET,POST")));
} }
@ -203,7 +203,7 @@ public class CloudFoundryWebFluxEndpointIntegrationTests {
EndpointMediaTypes endpointMediaTypes, EndpointMediaTypes endpointMediaTypes,
CloudFoundrySecurityInterceptor interceptor) { CloudFoundrySecurityInterceptor interceptor) {
CorsConfiguration corsConfiguration = new CorsConfiguration(); CorsConfiguration corsConfiguration = new CorsConfiguration();
corsConfiguration.setAllowedOrigins(Arrays.asList("http://example.com")); corsConfiguration.setAllowedOrigins(Arrays.asList("https://example.com"));
corsConfiguration.setAllowedMethods(Arrays.asList("GET", "POST")); corsConfiguration.setAllowedMethods(Arrays.asList("GET", "POST"));
return new CloudFoundryWebFluxEndpointHandlerMapping( return new CloudFoundryWebFluxEndpointHandlerMapping(
new EndpointMapping("/cfApplication"), new EndpointMapping("/cfApplication"),

View File

@ -107,7 +107,7 @@ public class ReactiveCloudFoundryActuatorAutoConfigurationTests {
this.contextRunner this.contextRunner
.withPropertyValues("VCAP_APPLICATION:---", .withPropertyValues("VCAP_APPLICATION:---",
"vcap.application.application_id:my-app-id", "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) -> { .run((context) -> {
CloudFoundryWebFluxEndpointHandlerMapping handlerMapping = getHandlerMapping( CloudFoundryWebFluxEndpointHandlerMapping handlerMapping = getHandlerMapping(
context); context);
@ -131,7 +131,7 @@ public class ReactiveCloudFoundryActuatorAutoConfigurationTests {
this.contextRunner this.contextRunner
.withPropertyValues("VCAP_APPLICATION:---", .withPropertyValues("VCAP_APPLICATION:---",
"vcap.application.application_id:my-app-id", "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) -> { .run((context) -> {
WebTestClient webTestClient = WebTestClient WebTestClient webTestClient = WebTestClient
.bindToApplicationContext(context).build(); .bindToApplicationContext(context).build();
@ -145,7 +145,7 @@ public class ReactiveCloudFoundryActuatorAutoConfigurationTests {
this.contextRunner this.contextRunner
.withPropertyValues("VCAP_APPLICATION:---", .withPropertyValues("VCAP_APPLICATION:---",
"vcap.application.application_id:my-app-id", "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) -> { .run((context) -> {
CloudFoundryWebFluxEndpointHandlerMapping handlerMapping = getHandlerMapping( CloudFoundryWebFluxEndpointHandlerMapping handlerMapping = getHandlerMapping(
context); context);
@ -162,7 +162,7 @@ public class ReactiveCloudFoundryActuatorAutoConfigurationTests {
this.contextRunner this.contextRunner
.withPropertyValues("VCAP_APPLICATION:---", .withPropertyValues("VCAP_APPLICATION:---",
"vcap.application.application_id:my-app-id", "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) -> { .run((context) -> {
CloudFoundryWebFluxEndpointHandlerMapping handlerMapping = getHandlerMapping( CloudFoundryWebFluxEndpointHandlerMapping handlerMapping = getHandlerMapping(
context); context);
@ -173,7 +173,7 @@ public class ReactiveCloudFoundryActuatorAutoConfigurationTests {
String cloudControllerUrl = (String) ReflectionTestUtils String cloudControllerUrl = (String) ReflectionTestUtils
.getField(interceptorSecurityService, "cloudControllerUrl"); .getField(interceptorSecurityService, "cloudControllerUrl");
assertThat(cloudControllerUrl) assertThat(cloudControllerUrl)
.isEqualTo("http://my-cloud-controller.com"); .isEqualTo("https://my-cloud-controller.com");
}); });
} }
@ -198,7 +198,7 @@ public class ReactiveCloudFoundryActuatorAutoConfigurationTests {
this.contextRunner this.contextRunner
.withPropertyValues("VCAP_APPLICATION:---", .withPropertyValues("VCAP_APPLICATION:---",
"vcap.application.application_id:my-app-id", "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) -> { .run((context) -> {
WebFilterChainProxy chainProxy = context WebFilterChainProxy chainProxy = context
.getBean(WebFilterChainProxy.class); .getBean(WebFilterChainProxy.class);
@ -245,7 +245,7 @@ public class ReactiveCloudFoundryActuatorAutoConfigurationTests {
this.contextRunner.withUserConfiguration(TestConfiguration.class) this.contextRunner.withUserConfiguration(TestConfiguration.class)
.withPropertyValues("VCAP_APPLICATION:---", .withPropertyValues("VCAP_APPLICATION:---",
"vcap.application.application_id:my-app-id", "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) -> { .run((context) -> {
CloudFoundryWebFluxEndpointHandlerMapping handlerMapping = getHandlerMapping( CloudFoundryWebFluxEndpointHandlerMapping handlerMapping = getHandlerMapping(
context); context);
@ -263,7 +263,7 @@ public class ReactiveCloudFoundryActuatorAutoConfigurationTests {
this.contextRunner.withUserConfiguration(TestConfiguration.class) this.contextRunner.withUserConfiguration(TestConfiguration.class)
.withPropertyValues("VCAP_APPLICATION:---", .withPropertyValues("VCAP_APPLICATION:---",
"vcap.application.application_id:my-app-id", "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) -> { .run((context) -> {
CloudFoundryWebFluxEndpointHandlerMapping handlerMapping = getHandlerMapping( CloudFoundryWebFluxEndpointHandlerMapping handlerMapping = getHandlerMapping(
context); context);
@ -287,7 +287,7 @@ public class ReactiveCloudFoundryActuatorAutoConfigurationTests {
AutoConfigurations.of(HealthEndpointAutoConfiguration.class)) AutoConfigurations.of(HealthEndpointAutoConfiguration.class))
.withPropertyValues("VCAP_APPLICATION:---", .withPropertyValues("VCAP_APPLICATION:---",
"vcap.application.application_id:my-app-id", "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) -> { .run((context) -> {
Collection<ExposableWebEndpoint> endpoints = getHandlerMapping( Collection<ExposableWebEndpoint> endpoints = getHandlerMapping(
context).getEndpoints(); context).getEndpoints();
@ -322,7 +322,7 @@ public class ReactiveCloudFoundryActuatorAutoConfigurationTests {
AutoConfigurations.of(HealthEndpointAutoConfiguration.class)) AutoConfigurations.of(HealthEndpointAutoConfiguration.class))
.withPropertyValues("VCAP_APPLICATION:---", .withPropertyValues("VCAP_APPLICATION:---",
"vcap.application.application_id:my-app-id", "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") "management.cloudfoundry.skip-ssl-validation:true")
.run((context) -> { .run((context) -> {
CloudFoundryWebFluxEndpointHandlerMapping handlerMapping = getHandlerMapping( CloudFoundryWebFluxEndpointHandlerMapping handlerMapping = getHandlerMapping(
@ -345,7 +345,7 @@ public class ReactiveCloudFoundryActuatorAutoConfigurationTests {
AutoConfigurations.of(HealthEndpointAutoConfiguration.class)) AutoConfigurations.of(HealthEndpointAutoConfiguration.class))
.withPropertyValues("VCAP_APPLICATION:---", .withPropertyValues("VCAP_APPLICATION:---",
"vcap.application.application_id:my-app-id", "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) -> { .run((context) -> {
CloudFoundryWebFluxEndpointHandlerMapping handlerMapping = getHandlerMapping( CloudFoundryWebFluxEndpointHandlerMapping handlerMapping = getHandlerMapping(
context); context);

View File

@ -61,7 +61,7 @@ public class ReactiveCloudFoundrySecurityInterceptorTests {
@Test @Test
public void preHandleWhenRequestIsPreFlightShouldBeOk() { public void preHandleWhenRequestIsPreFlightShouldBeOk() {
MockServerWebExchange request = MockServerWebExchange.from(MockServerHttpRequest 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()); .header(HttpHeaders.ACCESS_CONTROL_REQUEST_METHOD, "GET").build());
StepVerifier.create(this.interceptor.preHandle(request, "/a")).consumeNextWith( StepVerifier.create(this.interceptor.preHandle(request, "/a")).consumeNextWith(
(response) -> assertThat(response.getStatus()).isEqualTo(HttpStatus.OK)) (response) -> assertThat(response.getStatus()).isEqualTo(HttpStatus.OK))

View File

@ -46,7 +46,7 @@ public class ReactiveCloudFoundrySecurityServiceTests {
private static final String CLOUD_CONTROLLER_PERMISSIONS = CLOUD_CONTROLLER private static final String CLOUD_CONTROLLER_PERMISSIONS = CLOUD_CONTROLLER
+ "/v2/apps/my-app-id/permissions"; + "/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; private ReactiveCloudFoundrySecurityService securityService;

View File

@ -255,7 +255,7 @@ public class ReactiveTokenValidatorTests {
public void validateTokenWhenIssuerIsNotValidShouldThrowException() throws Exception { public void validateTokenWhenIssuerIsNotValidShouldThrowException() throws Exception {
given(this.securityService.fetchTokenKeys()).willReturn(Mono.just(VALID_KEYS)); given(this.securityService.fetchTokenKeys()).willReturn(Mono.just(VALID_KEYS));
given(this.securityService.getUaaUrl()) 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 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\"]}"; String claims = "{ \"exp\": 2147483647, \"iss\": \"http://localhost:8080/uaa/oauth/token\", \"scope\": [\"foo.bar\"]}";
StepVerifier StepVerifier

View File

@ -85,7 +85,7 @@ public class CloudFoundryActuatorAutoConfigurationTests {
this.contextRunner this.contextRunner
.withPropertyValues("VCAP_APPLICATION:---", .withPropertyValues("VCAP_APPLICATION:---",
"vcap.application.application_id:my-app-id", "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) -> { .run((context) -> {
CloudFoundryWebEndpointServletHandlerMapping handlerMapping = getHandlerMapping( CloudFoundryWebEndpointServletHandlerMapping handlerMapping = getHandlerMapping(
context); context);
@ -109,7 +109,7 @@ public class CloudFoundryActuatorAutoConfigurationTests {
this.contextRunner this.contextRunner
.withPropertyValues("VCAP_APPLICATION:---", .withPropertyValues("VCAP_APPLICATION:---",
"vcap.application.application_id:my-app-id", "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) -> { .run((context) -> {
MockMvc mockMvc = MockMvcBuilders.webAppContextSetup(context).build(); MockMvc mockMvc = MockMvcBuilders.webAppContextSetup(context).build();
mockMvc.perform(get("/cloudfoundryapplication")) mockMvc.perform(get("/cloudfoundryapplication"))
@ -123,7 +123,7 @@ public class CloudFoundryActuatorAutoConfigurationTests {
this.contextRunner this.contextRunner
.withPropertyValues("VCAP_APPLICATION:---", .withPropertyValues("VCAP_APPLICATION:---",
"vcap.application.application_id:my-app-id", "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) -> { .run((context) -> {
CloudFoundryWebEndpointServletHandlerMapping handlerMapping = getHandlerMapping( CloudFoundryWebEndpointServletHandlerMapping handlerMapping = getHandlerMapping(
context); context);
@ -140,7 +140,7 @@ public class CloudFoundryActuatorAutoConfigurationTests {
this.contextRunner this.contextRunner
.withPropertyValues("VCAP_APPLICATION:---", .withPropertyValues("VCAP_APPLICATION:---",
"vcap.application.application_id:my-app-id", "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) -> { .run((context) -> {
CloudFoundryWebEndpointServletHandlerMapping handlerMapping = getHandlerMapping( CloudFoundryWebEndpointServletHandlerMapping handlerMapping = getHandlerMapping(
context); context);
@ -151,7 +151,7 @@ public class CloudFoundryActuatorAutoConfigurationTests {
String cloudControllerUrl = (String) ReflectionTestUtils String cloudControllerUrl = (String) ReflectionTestUtils
.getField(interceptorSecurityService, "cloudControllerUrl"); .getField(interceptorSecurityService, "cloudControllerUrl");
assertThat(cloudControllerUrl) assertThat(cloudControllerUrl)
.isEqualTo("http://my-cloud-controller.com"); .isEqualTo("https://my-cloud-controller.com");
}); });
} }
@ -160,7 +160,7 @@ public class CloudFoundryActuatorAutoConfigurationTests {
this.contextRunner this.contextRunner
.withPropertyValues("VCAP_APPLICATION:---", .withPropertyValues("VCAP_APPLICATION:---",
"vcap.application.application_id:my-app-id", "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") "management.cloudfoundry.skip-ssl-validation:true")
.run((context) -> { .run((context) -> {
CloudFoundryWebEndpointServletHandlerMapping handlerMapping = getHandlerMapping( CloudFoundryWebEndpointServletHandlerMapping handlerMapping = getHandlerMapping(
@ -230,7 +230,7 @@ public class CloudFoundryActuatorAutoConfigurationTests {
this.contextRunner.withUserConfiguration(TestConfiguration.class) this.contextRunner.withUserConfiguration(TestConfiguration.class)
.withPropertyValues("VCAP_APPLICATION:---", .withPropertyValues("VCAP_APPLICATION:---",
"vcap.application.application_id:my-app-id", "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) -> { .run((context) -> {
CloudFoundryWebEndpointServletHandlerMapping handlerMapping = getHandlerMapping( CloudFoundryWebEndpointServletHandlerMapping handlerMapping = getHandlerMapping(
context); context);
@ -248,7 +248,7 @@ public class CloudFoundryActuatorAutoConfigurationTests {
this.contextRunner this.contextRunner
.withPropertyValues("VCAP_APPLICATION:---", .withPropertyValues("VCAP_APPLICATION:---",
"vcap.application.application_id:my-app-id", "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") "management.endpoints.web.path-mapping.test=custom")
.withUserConfiguration(TestConfiguration.class).run((context) -> { .withUserConfiguration(TestConfiguration.class).run((context) -> {
CloudFoundryWebEndpointServletHandlerMapping handlerMapping = getHandlerMapping( CloudFoundryWebEndpointServletHandlerMapping handlerMapping = getHandlerMapping(
@ -272,7 +272,7 @@ public class CloudFoundryActuatorAutoConfigurationTests {
this.contextRunner this.contextRunner
.withPropertyValues("VCAP_APPLICATION:---", .withPropertyValues("VCAP_APPLICATION:---",
"vcap.application.application_id:my-app-id", "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( .withConfiguration(
AutoConfigurations.of(HealthIndicatorAutoConfiguration.class, AutoConfigurations.of(HealthIndicatorAutoConfiguration.class,
HealthEndpointAutoConfiguration.class)) HealthEndpointAutoConfiguration.class))

View File

@ -97,9 +97,9 @@ public class CloudFoundryMvcWebEndpointIntegrationTests {
load(TestEndpointConfiguration.class, (client) -> client.options() load(TestEndpointConfiguration.class, (client) -> client.options()
.uri("/cfApplication/test").accept(MediaType.APPLICATION_JSON) .uri("/cfApplication/test").accept(MediaType.APPLICATION_JSON)
.header("Access-Control-Request-Method", "POST") .header("Access-Control-Request-Method", "POST")
.header("Origin", "http://example.com").exchange().expectStatus().isOk() .header("Origin", "https://example.com").exchange().expectStatus().isOk()
.expectHeader() .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")); .expectHeader().valueEquals("Access-Control-Allow-Methods", "GET,POST"));
} }
@ -198,7 +198,7 @@ public class CloudFoundryMvcWebEndpointIntegrationTests {
EndpointMediaTypes endpointMediaTypes, EndpointMediaTypes endpointMediaTypes,
CloudFoundrySecurityInterceptor interceptor) { CloudFoundrySecurityInterceptor interceptor) {
CorsConfiguration corsConfiguration = new CorsConfiguration(); CorsConfiguration corsConfiguration = new CorsConfiguration();
corsConfiguration.setAllowedOrigins(Arrays.asList("http://example.com")); corsConfiguration.setAllowedOrigins(Arrays.asList("https://example.com"));
corsConfiguration.setAllowedMethods(Arrays.asList("GET", "POST")); corsConfiguration.setAllowedMethods(Arrays.asList("GET", "POST"));
return new CloudFoundryWebEndpointServletHandlerMapping( return new CloudFoundryWebEndpointServletHandlerMapping(
new EndpointMapping("/cfApplication"), new EndpointMapping("/cfApplication"),

View File

@ -64,7 +64,7 @@ public class CloudFoundrySecurityInterceptorTests {
@Test @Test
public void preHandleWhenRequestIsPreFlightShouldReturnTrue() { public void preHandleWhenRequestIsPreFlightShouldReturnTrue() {
this.request.setMethod("OPTIONS"); 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"); this.request.addHeader(HttpHeaders.ACCESS_CONTROL_REQUEST_METHOD, "GET");
SecurityResponse response = this.interceptor.preHandle(this.request, SecurityResponse response = this.interceptor.preHandle(this.request,
EndpointId.of("test")); EndpointId.of("test"));

View File

@ -1,5 +1,5 @@
/* /*
* Copyright 2012-2018 the original author or authors. * Copyright 2012-2019 the original author or authors.
* *
* Licensed under the Apache License, Version 2.0 (the "License"); * Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License. * you may not use this file except in compliance with the License.
@ -49,12 +49,12 @@ import static org.springframework.test.web.client.response.MockRestResponseCreat
*/ */
public class CloudFoundrySecurityServiceTests { public class CloudFoundrySecurityServiceTests {
private static final String CLOUD_CONTROLLER = "http://my-cloud-controller.com"; private static final String CLOUD_CONTROLLER = "https://my-cloud-controller.com";
private static final String CLOUD_CONTROLLER_PERMISSIONS = CLOUD_CONTROLLER private static final String CLOUD_CONTROLLER_PERMISSIONS = CLOUD_CONTROLLER
+ "/v2/apps/my-app-id/permissions"; + "/v2/apps/my-app-id/permissions";
private static final String UAA_URL = "http://my-uaa.com"; private static final String UAA_URL = "https://my-uaa.com";
private CloudFoundrySecurityService securityService; private CloudFoundrySecurityService securityService;
@ -148,7 +148,7 @@ public class CloudFoundrySecurityServiceTests {
@Test @Test
public void fetchTokenKeysWhenSuccessfulShouldReturnListOfKeysFromUAA() { public void fetchTokenKeysWhenSuccessfulShouldReturnListOfKeysFromUAA() {
this.server.expect(requestTo(CLOUD_CONTROLLER + "/info")) this.server.expect(requestTo(CLOUD_CONTROLLER + "/info"))
.andRespond(withSuccess("{\"token_endpoint\":\"http://my-uaa.com\"}", .andRespond(withSuccess("{\"token_endpoint\":\"https://my-uaa.com\"}",
MediaType.APPLICATION_JSON)); MediaType.APPLICATION_JSON));
String tokenKeyValue = "-----BEGIN PUBLIC KEY-----\n" String tokenKeyValue = "-----BEGIN PUBLIC KEY-----\n"
+ "MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA0m59l2u9iDnMbrXHfqkO\n" + "MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA0m59l2u9iDnMbrXHfqkO\n"

View File

@ -179,7 +179,7 @@ public class TokenValidatorTests {
@Test @Test
public void validateTokenWhenIssuerIsNotValidShouldThrowException() throws Exception { public void validateTokenWhenIssuerIsNotValidShouldThrowException() throws Exception {
given(this.securityService.fetchTokenKeys()).willReturn(VALID_KEYS); given(this.securityService.fetchTokenKeys()).willReturn(VALID_KEYS);
given(this.securityService.getUaaUrl()).willReturn("http://other-uaa.com"); given(this.securityService.getUaaUrl()).willReturn("https://other-uaa.com");
String header = "{ \"alg\": \"RS256\", \"kid\": \"valid-key\", \"typ\": \"JWT\", \"scope\": [\"actuator.read\"]}"; String header = "{ \"alg\": \"RS256\", \"kid\": \"valid-key\", \"typ\": \"JWT\", \"scope\": [\"actuator.read\"]}";
String claims = "{ \"exp\": 2147483647, \"iss\": \"http://localhost:8080/uaa/oauth/token\"}"; String claims = "{ \"exp\": 2147483647, \"iss\": \"http://localhost:8080/uaa/oauth/token\"}";
assertThatExceptionOfType(CloudFoundryAuthorizationException.class) assertThatExceptionOfType(CloudFoundryAuthorizationException.class)

View File

@ -106,7 +106,7 @@ public class WebClientMetricsConfigurationTests {
WebClient webClient = mockWebClient(context.getBean(WebClient.Builder.class)); WebClient webClient = mockWebClient(context.getBean(WebClient.Builder.class));
MeterRegistry registry = context.getBean(MeterRegistry.class); MeterRegistry registry = context.getBean(MeterRegistry.class);
for (int i = 0; i < 3; i++) { for (int i = 0; i < 3; i++) {
webClient.get().uri("http://example.org/projects/" + i).exchange() webClient.get().uri("https://example.org/projects/" + i).exchange()
.block(Duration.ofSeconds(30)); .block(Duration.ofSeconds(30));
} }
return registry; return registry;
@ -115,7 +115,7 @@ public class WebClientMetricsConfigurationTests {
private void validateWebClient(WebClient.Builder builder, MeterRegistry registry) { private void validateWebClient(WebClient.Builder builder, MeterRegistry registry) {
WebClient webClient = mockWebClient(builder); WebClient webClient = mockWebClient(builder);
assertThat(registry.find("http.client.requests").meter()).isNull(); assertThat(registry.find("http.client.requests").meter()).isNull();
webClient.get().uri("http://example.org/projects/{project}", "spring-boot") webClient.get().uri("https://example.org/projects/{project}", "spring-boot")
.exchange().block(Duration.ofSeconds(30)); .exchange().block(Duration.ofSeconds(30));
assertThat(registry.find("http.client.requests") assertThat(registry.find("http.client.requests")
.tags("uri", "/projects/{project}").meter()).isNotNull(); .tags("uri", "/projects/{project}").meter()).isNotNull();

View File

@ -36,21 +36,21 @@ public class LinkTests {
@Test @Test
public void getHrefShouldReturnHref() { public void getHrefShouldReturnHref() {
String href = "http://example.com"; String href = "https://example.com";
Link link = new Link(href); Link link = new Link(href);
assertThat(link.getHref()).isEqualTo(href); assertThat(link.getHref()).isEqualTo(href);
} }
@Test @Test
public void isTemplatedWhenContainsPlaceholderShouldReturnTrue() { public void isTemplatedWhenContainsPlaceholderShouldReturnTrue() {
String href = "http://example.com/{path}"; String href = "https://example.com/{path}";
Link link = new Link(href); Link link = new Link(href);
assertThat(link.isTemplated()).isTrue(); assertThat(link.isTemplated()).isTrue();
} }
@Test @Test
public void isTemplatedWhenContainsNoPlaceholderShouldReturnFalse() { public void isTemplatedWhenContainsNoPlaceholderShouldReturnFalse() {
String href = "http://example.com/path"; String href = "https://example.com/path";
Link link = new Link(href); Link link = new Link(href);
assertThat(link.isTemplated()).isFalse(); assertThat(link.isTemplated()).isFalse();
} }

View File

@ -79,9 +79,9 @@ public class WebFluxEndpointIntegrationTests extends
load(TestEndpointConfiguration.class, (client) -> client.options().uri("/test") load(TestEndpointConfiguration.class, (client) -> client.options().uri("/test")
.accept(MediaType.APPLICATION_JSON) .accept(MediaType.APPLICATION_JSON)
.header("Access-Control-Request-Method", "POST") .header("Access-Control-Request-Method", "POST")
.header("Origin", "http://example.com").exchange().expectStatus().isOk() .header("Origin", "https://example.com").exchange().expectStatus().isOk()
.expectHeader() .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")); .expectHeader().valueEquals("Access-Control-Allow-Methods", "GET,POST"));
} }
@ -124,7 +124,7 @@ public class WebFluxEndpointIntegrationTests extends
Environment environment, WebEndpointDiscoverer endpointDiscoverer, Environment environment, WebEndpointDiscoverer endpointDiscoverer,
EndpointMediaTypes endpointMediaTypes) { EndpointMediaTypes endpointMediaTypes) {
CorsConfiguration corsConfiguration = new CorsConfiguration(); CorsConfiguration corsConfiguration = new CorsConfiguration();
corsConfiguration.setAllowedOrigins(Arrays.asList("http://example.com")); corsConfiguration.setAllowedOrigins(Arrays.asList("https://example.com"));
corsConfiguration.setAllowedMethods(Arrays.asList("GET", "POST")); corsConfiguration.setAllowedMethods(Arrays.asList("GET", "POST"));
return new WebFluxEndpointHandlerMapping( return new WebFluxEndpointHandlerMapping(
new EndpointMapping(environment.getProperty("endpointPath")), new EndpointMapping(environment.getProperty("endpointPath")),

View File

@ -88,9 +88,9 @@ public class MvcWebEndpointIntegrationTests extends
load(TestEndpointConfiguration.class, (client) -> client.options().uri("/test") load(TestEndpointConfiguration.class, (client) -> client.options().uri("/test")
.accept(MediaType.APPLICATION_JSON) .accept(MediaType.APPLICATION_JSON)
.header("Access-Control-Request-Method", "POST") .header("Access-Control-Request-Method", "POST")
.header("Origin", "http://example.com").exchange().expectStatus().isOk() .header("Origin", "https://example.com").exchange().expectStatus().isOk()
.expectHeader() .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")); .expectHeader().valueEquals("Access-Control-Allow-Methods", "GET,POST"));
} }
@ -149,7 +149,7 @@ public class MvcWebEndpointIntegrationTests extends
Environment environment, WebEndpointDiscoverer endpointDiscoverer, Environment environment, WebEndpointDiscoverer endpointDiscoverer,
EndpointMediaTypes endpointMediaTypes) { EndpointMediaTypes endpointMediaTypes) {
CorsConfiguration corsConfiguration = new CorsConfiguration(); CorsConfiguration corsConfiguration = new CorsConfiguration();
corsConfiguration.setAllowedOrigins(Arrays.asList("http://example.com")); corsConfiguration.setAllowedOrigins(Arrays.asList("https://example.com"));
corsConfiguration.setAllowedMethods(Arrays.asList("GET", "POST")); corsConfiguration.setAllowedMethods(Arrays.asList("GET", "POST"));
return new WebMvcEndpointHandlerMapping( return new WebMvcEndpointHandlerMapping(
new EndpointMapping(environment.getProperty("endpointPath")), new EndpointMapping(environment.getProperty("endpointPath")),

View File

@ -54,9 +54,9 @@ public class DefaultWebClientExchangeTagsProviderTests {
public void setup() { public void setup() {
this.request = ClientRequest this.request = ClientRequest
.create(HttpMethod.GET, .create(HttpMethod.GET,
URI.create("http://example.org/projects/spring-boot")) URI.create("https://example.org/projects/spring-boot"))
.attribute(URI_TEMPLATE_ATTRIBUTE, .attribute(URI_TEMPLATE_ATTRIBUTE,
"http://example.org/projects/{project}") "https://example.org/projects/{project}")
.build(); .build();
this.response = mock(ClientResponse.class); this.response = mock(ClientResponse.class);
given(this.response.statusCode()).willReturn(HttpStatus.OK); given(this.response.statusCode()).willReturn(HttpStatus.OK);
@ -73,7 +73,7 @@ public class DefaultWebClientExchangeTagsProviderTests {
@Test @Test
public void tagsWhenNoUriTemplateShouldProvideUriPath() { public void tagsWhenNoUriTemplateShouldProvideUriPath() {
ClientRequest request = ClientRequest.create(HttpMethod.GET, ClientRequest request = ClientRequest.create(HttpMethod.GET,
URI.create("http://example.org/projects/spring-boot")).build(); URI.create("https://example.org/projects/spring-boot")).build();
Iterable<Tag> tags = this.tagsProvider.tags(request, this.response, null); Iterable<Tag> tags = this.tagsProvider.tags(request, this.response, null);
assertThat(tags).containsExactlyInAnyOrder(Tag.of("method", "GET"), assertThat(tags).containsExactlyInAnyOrder(Tag.of("method", "GET"),
Tag.of("uri", "/projects/spring-boot"), Tag.of("uri", "/projects/spring-boot"),

View File

@ -71,7 +71,7 @@ public class MetricsWebClientFilterFunctionTests {
@Test @Test
public void filterShouldRecordTimer() { public void filterShouldRecordTimer() {
ClientRequest request = ClientRequest.create(HttpMethod.GET, ClientRequest request = ClientRequest.create(HttpMethod.GET,
URI.create("http://example.com/projects/spring-boot")).build(); URI.create("https://example.com/projects/spring-boot")).build();
given(this.response.statusCode()).willReturn(HttpStatus.OK); given(this.response.statusCode()).willReturn(HttpStatus.OK);
this.filterFunction.filter(request, this.exchange).block(Duration.ofSeconds(30)); this.filterFunction.filter(request, this.exchange).block(Duration.ofSeconds(30));
assertThat(this.registry.get("http.client.requests") assertThat(this.registry.get("http.client.requests")
@ -83,7 +83,7 @@ public class MetricsWebClientFilterFunctionTests {
public void filterWhenUriTemplatePresentShouldRecordTimer() { public void filterWhenUriTemplatePresentShouldRecordTimer() {
ClientRequest request = ClientRequest ClientRequest request = ClientRequest
.create(HttpMethod.GET, .create(HttpMethod.GET,
URI.create("http://example.com/projects/spring-boot")) URI.create("https://example.com/projects/spring-boot"))
.attribute(URI_TEMPLATE_ATTRIBUTE, "/projects/{project}").build(); .attribute(URI_TEMPLATE_ATTRIBUTE, "/projects/{project}").build();
given(this.response.statusCode()).willReturn(HttpStatus.OK); given(this.response.statusCode()).willReturn(HttpStatus.OK);
this.filterFunction.filter(request, this.exchange).block(Duration.ofSeconds(30)); this.filterFunction.filter(request, this.exchange).block(Duration.ofSeconds(30));
@ -95,7 +95,7 @@ public class MetricsWebClientFilterFunctionTests {
@Test @Test
public void filterWhenIoExceptionThrownShouldRecordTimer() { public void filterWhenIoExceptionThrownShouldRecordTimer() {
ClientRequest request = ClientRequest.create(HttpMethod.GET, ClientRequest request = ClientRequest.create(HttpMethod.GET,
URI.create("http://example.com/projects/spring-boot")).build(); URI.create("https://example.com/projects/spring-boot")).build();
ExchangeFunction errorExchange = (r) -> Mono.error(new IOException()); ExchangeFunction errorExchange = (r) -> Mono.error(new IOException());
this.filterFunction.filter(request, errorExchange) this.filterFunction.filter(request, errorExchange)
.onErrorResume(IOException.class, (t) -> Mono.empty()) .onErrorResume(IOException.class, (t) -> Mono.empty())
@ -110,7 +110,7 @@ public class MetricsWebClientFilterFunctionTests {
@Test @Test
public void filterWhenExceptionThrownShouldRecordTimer() { public void filterWhenExceptionThrownShouldRecordTimer() {
ClientRequest request = ClientRequest.create(HttpMethod.GET, ClientRequest request = ClientRequest.create(HttpMethod.GET,
URI.create("http://example.com/projects/spring-boot")).build(); URI.create("https://example.com/projects/spring-boot")).build();
ExchangeFunction exchange = (r) -> Mono.error(new IllegalArgumentException()); ExchangeFunction exchange = (r) -> Mono.error(new IllegalArgumentException());
this.filterFunction.filter(request, exchange) this.filterFunction.filter(request, exchange)
.onErrorResume(IllegalArgumentException.class, (t) -> Mono.empty()) .onErrorResume(IllegalArgumentException.class, (t) -> Mono.empty())
@ -124,7 +124,7 @@ public class MetricsWebClientFilterFunctionTests {
@Test @Test
public void filterWhenExceptionAndRetryShouldNotCumulateRecordTime() { public void filterWhenExceptionAndRetryShouldNotCumulateRecordTime() {
ClientRequest request = ClientRequest.create(HttpMethod.GET, ClientRequest request = ClientRequest.create(HttpMethod.GET,
URI.create("http://example.com/projects/spring-boot")).build(); URI.create("https://example.com/projects/spring-boot")).build();
ExchangeFunction exchange = (r) -> Mono.error(new IllegalArgumentException()) ExchangeFunction exchange = (r) -> Mono.error(new IllegalArgumentException())
.delaySubscription(Duration.ofMillis(300)).cast(ClientResponse.class); .delaySubscription(Duration.ofMillis(300)).cast(ClientResponse.class);
this.filterFunction.filter(request, exchange).retry(1) this.filterFunction.filter(request, exchange).retry(1)

View File

@ -52,9 +52,9 @@ public class WebClientExchangeTagsTests {
public void setup() { public void setup() {
this.request = ClientRequest this.request = ClientRequest
.create(HttpMethod.GET, .create(HttpMethod.GET,
URI.create("http://example.org/projects/spring-boot")) URI.create("https://example.org/projects/spring-boot"))
.attribute(URI_TEMPLATE_ATTRIBUTE, .attribute(URI_TEMPLATE_ATTRIBUTE,
"http://example.org/projects/{project}") "https://example.org/projects/{project}")
.build(); .build();
this.response = mock(ClientResponse.class); this.response = mock(ClientResponse.class);
given(this.response.statusCode()).willReturn(HttpStatus.OK); given(this.response.statusCode()).willReturn(HttpStatus.OK);
@ -76,7 +76,7 @@ public class WebClientExchangeTagsTests {
public void uriWhenRelativeTemplateIsAvailableShouldReturnTemplate() { public void uriWhenRelativeTemplateIsAvailableShouldReturnTemplate() {
this.request = ClientRequest this.request = ClientRequest
.create(HttpMethod.GET, .create(HttpMethod.GET,
URI.create("http://example.org/projects/spring-boot")) URI.create("https://example.org/projects/spring-boot"))
.attribute(URI_TEMPLATE_ATTRIBUTE, "/projects/{project}").build(); .attribute(URI_TEMPLATE_ATTRIBUTE, "/projects/{project}").build();
assertThat(WebClientExchangeTags.uri(this.request)) assertThat(WebClientExchangeTags.uri(this.request))
.isEqualTo(Tag.of("uri", "/projects/{project}")); .isEqualTo(Tag.of("uri", "/projects/{project}"));
@ -85,7 +85,7 @@ public class WebClientExchangeTagsTests {
@Test @Test
public void uriWhenTemplateIsMissingShouldReturnPath() { public void uriWhenTemplateIsMissingShouldReturnPath() {
this.request = ClientRequest.create(HttpMethod.GET, this.request = ClientRequest.create(HttpMethod.GET,
URI.create("http://example.org/projects/spring-boot")).build(); URI.create("https://example.org/projects/spring-boot")).build();
assertThat(WebClientExchangeTags.uri(this.request)) assertThat(WebClientExchangeTags.uri(this.request))
.isEqualTo(Tag.of("uri", "/projects/spring-boot")); .isEqualTo(Tag.of("uri", "/projects/spring-boot"));
} }

View File

@ -46,7 +46,7 @@ import org.springframework.transaction.jta.JtaTransactionManager;
import org.springframework.util.StringUtils; import org.springframework.util.StringUtils;
/** /**
* JTA Configuration for <A href="http://www.atomikos.com/">Atomikos</a>. * JTA Configuration for <A href="https://www.atomikos.com/">Atomikos</a>.
* *
* @author Josh Long * @author Josh Long
* @author Phillip Webb * @author Phillip Webb

View File

@ -45,7 +45,7 @@ import org.springframework.transaction.jta.JtaTransactionManager;
import org.springframework.util.StringUtils; import org.springframework.util.StringUtils;
/** /**
* JTA Configuration for <A href="http://docs.codehaus.org/display/BTM/Home">Bitronix</A>. * JTA Configuration for <A href="https://github.com/bitronix/btm">Bitronix</A>.
* *
* @author Josh Long * @author Josh Long
* @author Phillip Webb * @author Phillip Webb

View File

@ -74,14 +74,14 @@ public class OAuth2ClientPropertiesRegistrationAdapterTests {
ClientRegistration adapted = registrations.get("registration"); ClientRegistration adapted = registrations.get("registration");
ProviderDetails adaptedProvider = adapted.getProviderDetails(); ProviderDetails adaptedProvider = adapted.getProviderDetails();
assertThat(adaptedProvider.getAuthorizationUri()) assertThat(adaptedProvider.getAuthorizationUri())
.isEqualTo("http://example.com/auth"); .isEqualTo("https://example.com/auth");
assertThat(adaptedProvider.getTokenUri()).isEqualTo("http://example.com/token"); assertThat(adaptedProvider.getTokenUri()).isEqualTo("https://example.com/token");
UserInfoEndpoint userInfoEndpoint = adaptedProvider.getUserInfoEndpoint(); UserInfoEndpoint userInfoEndpoint = adaptedProvider.getUserInfoEndpoint();
assertThat(userInfoEndpoint.getUri()).isEqualTo("http://example.com/info"); assertThat(userInfoEndpoint.getUri()).isEqualTo("https://example.com/info");
assertThat(userInfoEndpoint.getAuthenticationMethod()).isEqualTo( assertThat(userInfoEndpoint.getAuthenticationMethod()).isEqualTo(
org.springframework.security.oauth2.core.AuthenticationMethod.FORM); org.springframework.security.oauth2.core.AuthenticationMethod.FORM);
assertThat(userInfoEndpoint.getUserNameAttributeName()).isEqualTo("sub"); assertThat(userInfoEndpoint.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.getRegistrationId()).isEqualTo("registration");
assertThat(adapted.getClientId()).isEqualTo("clientId"); assertThat(adapted.getClientId()).isEqualTo("clientId");
assertThat(adapted.getClientSecret()).isEqualTo("clientSecret"); assertThat(adapted.getClientSecret()).isEqualTo("clientSecret");
@ -90,7 +90,7 @@ public class OAuth2ClientPropertiesRegistrationAdapterTests {
assertThat(adapted.getAuthorizationGrantType()).isEqualTo( assertThat(adapted.getAuthorizationGrantType()).isEqualTo(
org.springframework.security.oauth2.core.AuthorizationGrantType.AUTHORIZATION_CODE); org.springframework.security.oauth2.core.AuthorizationGrantType.AUTHORIZATION_CODE);
assertThat(adapted.getRedirectUriTemplate()) assertThat(adapted.getRedirectUriTemplate())
.isEqualTo("http://example.com/redirect"); .isEqualTo("https://example.com/redirect");
assertThat(adapted.getScopes()).containsExactly("user"); assertThat(adapted.getScopes()).containsExactly("user");
assertThat(adapted.getClientName()).isEqualTo("clientName"); assertThat(adapted.getClientName()).isEqualTo("clientName");
} }
@ -162,7 +162,7 @@ public class OAuth2ClientPropertiesRegistrationAdapterTests {
assertThat(adapted.getAuthorizationGrantType()).isEqualTo( assertThat(adapted.getAuthorizationGrantType()).isEqualTo(
org.springframework.security.oauth2.core.AuthorizationGrantType.AUTHORIZATION_CODE); org.springframework.security.oauth2.core.AuthorizationGrantType.AUTHORIZATION_CODE);
assertThat(adapted.getRedirectUriTemplate()) assertThat(adapted.getRedirectUriTemplate())
.isEqualTo("http://example.com/redirect"); .isEqualTo("https://example.com/redirect");
assertThat(adapted.getScopes()).containsExactly("user"); assertThat(adapted.getScopes()).containsExactly("user");
assertThat(adapted.getClientName()).isEqualTo("clientName"); assertThat(adapted.getClientName()).isEqualTo("clientName");
} }
@ -271,23 +271,23 @@ public class OAuth2ClientPropertiesRegistrationAdapterTests {
assertThat(adapted.getClientName()).isEqualTo(issuer); assertThat(adapted.getClientName()).isEqualTo(issuer);
assertThat(adapted.getScopes()).containsOnly("user"); assertThat(adapted.getScopes()).containsOnly("user");
assertThat(adapted.getRedirectUriTemplate()) assertThat(adapted.getRedirectUriTemplate())
.isEqualTo("http://example.com/redirect"); .isEqualTo("https://example.com/redirect");
assertThat(providerDetails.getAuthorizationUri()) assertThat(providerDetails.getAuthorizationUri())
.isEqualTo("http://example.com/auth"); .isEqualTo("https://example.com/auth");
assertThat(providerDetails.getTokenUri()).isEqualTo("http://example.com/token"); assertThat(providerDetails.getTokenUri()).isEqualTo("https://example.com/token");
assertThat(providerDetails.getJwkSetUri()).isEqualTo("http://example.com/jwk"); assertThat(providerDetails.getJwkSetUri()).isEqualTo("https://example.com/jwk");
UserInfoEndpoint userInfoEndpoint = providerDetails.getUserInfoEndpoint(); UserInfoEndpoint userInfoEndpoint = providerDetails.getUserInfoEndpoint();
assertThat(userInfoEndpoint.getUri()).isEqualTo("http://example.com/info"); assertThat(userInfoEndpoint.getUri()).isEqualTo("https://example.com/info");
assertThat(userInfoEndpoint.getUserNameAttributeName()).isEqualTo("sub"); assertThat(userInfoEndpoint.getUserNameAttributeName()).isEqualTo("sub");
} }
private Provider createProvider() { private Provider createProvider() {
Provider provider = new Provider(); Provider provider = new Provider();
provider.setAuthorizationUri("http://example.com/auth"); provider.setAuthorizationUri("https://example.com/auth");
provider.setTokenUri("http://example.com/token"); provider.setTokenUri("https://example.com/token");
provider.setUserInfoUri("http://example.com/info"); provider.setUserInfoUri("https://example.com/info");
provider.setUserNameAttribute("sub"); provider.setUserNameAttribute("sub");
provider.setJwkSetUri("http://example.com/jwk"); provider.setJwkSetUri("https://example.com/jwk");
return provider; return provider;
} }
@ -297,7 +297,7 @@ public class OAuth2ClientPropertiesRegistrationAdapterTests {
registration.setClientId("clientId"); registration.setClientId("clientId");
registration.setClientSecret("clientSecret"); registration.setClientSecret("clientSecret");
registration.setClientAuthenticationMethod("post"); registration.setClientAuthenticationMethod("post");
registration.setRedirectUri("http://example.com/redirect"); registration.setRedirectUri("https://example.com/redirect");
registration.setScope(Collections.singleton("user")); registration.setScope(Collections.singleton("user"));
registration.setAuthorizationGrantType("authorization_code"); registration.setAuthorizationGrantType("authorization_code");
return registration; return registration;

View File

@ -168,7 +168,8 @@ public class ReactiveOAuth2ClientAutoConfigurationTests {
@Bean @Bean
public ReactiveClientRegistrationRepository clientRegistrationRepository() { public ReactiveClientRegistrationRepository clientRegistrationRepository() {
List<ClientRegistration> registrations = new ArrayList<>(); List<ClientRegistration> 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")); registrations.add(getClientRegistration("second", "http://other-user-info"));
return new InMemoryReactiveClientRegistrationRepository(registrations); return new InMemoryReactiveClientRegistrationRepository(registrations);
} }
@ -180,9 +181,9 @@ public class ReactiveOAuth2ClientAutoConfigurationTests {
org.springframework.security.oauth2.core.ClientAuthenticationMethod.BASIC) org.springframework.security.oauth2.core.ClientAuthenticationMethod.BASIC)
.authorizationGrantType(AuthorizationGrantType.AUTHORIZATION_CODE) .authorizationGrantType(AuthorizationGrantType.AUTHORIZATION_CODE)
.scope("read").clientSecret("secret") .scope("read").clientSecret("secret")
.redirectUriTemplate("http://redirect-uri.com") .redirectUriTemplate("https://redirect-uri.com")
.authorizationUri("http://authorization-uri.com") .authorizationUri("https://authorization-uri.com")
.tokenUri("http://token-uri.com").userInfoUri(userInfoUri) .tokenUri("https://token-uri.com").userInfoUri(userInfoUri)
.userNameAttributeName("login"); .userNameAttributeName("login");
return builder.build(); return builder.build();
} }

View File

@ -218,7 +218,8 @@ public class OAuth2WebSecurityConfigurationTests {
@Bean @Bean
public ClientRegistrationRepository clientRegistrationRepository() { public ClientRegistrationRepository clientRegistrationRepository() {
List<ClientRegistration> registrations = new ArrayList<>(); List<ClientRegistration> 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")); registrations.add(getClientRegistration("second", "http://other-user-info"));
return new InMemoryClientRegistrationRepository(registrations); return new InMemoryClientRegistrationRepository(registrations);
} }
@ -230,9 +231,9 @@ public class OAuth2WebSecurityConfigurationTests {
org.springframework.security.oauth2.core.ClientAuthenticationMethod.BASIC) org.springframework.security.oauth2.core.ClientAuthenticationMethod.BASIC)
.authorizationGrantType(AuthorizationGrantType.AUTHORIZATION_CODE) .authorizationGrantType(AuthorizationGrantType.AUTHORIZATION_CODE)
.scope("read").clientSecret("secret") .scope("read").clientSecret("secret")
.redirectUriTemplate("http://redirect-uri.com") .redirectUriTemplate("https://redirect-uri.com")
.authorizationUri("http://authorization-uri.com") .authorizationUri("https://authorization-uri.com")
.tokenUri("http://token-uri.com").userInfoUri(userInfoUri) .tokenUri("https://token-uri.com").userInfoUri(userInfoUri)
.userNameAttributeName("login"); .userNameAttributeName("login");
return builder.build(); return builder.build();
} }

View File

@ -80,7 +80,7 @@ public class ReactiveOAuth2ResourceServerAutoConfigurationTests {
@Test @Test
public void autoConfigurationShouldConfigureResourceServer() { public void autoConfigurationShouldConfigureResourceServer() {
this.contextRunner.withPropertyValues( this.contextRunner.withPropertyValues(
"spring.security.oauth2.resourceserver.jwt.jwk-set-uri=http://jwk-set-uri.com") "spring.security.oauth2.resourceserver.jwt.jwk-set-uri=https://jwk-set-uri.com")
.run((context) -> { .run((context) -> {
assertThat(context.getBean(ReactiveJwtDecoder.class)) assertThat(context.getBean(ReactiveJwtDecoder.class))
.isInstanceOf(NimbusReactiveJwtDecoder.class); .isInstanceOf(NimbusReactiveJwtDecoder.class);
@ -110,8 +110,8 @@ public class ReactiveOAuth2ResourceServerAutoConfigurationTests {
@Test @Test
public void autoConfigurationWhenBothSetUriAndIssuerUriPresentShouldUseSetUri() { public void autoConfigurationWhenBothSetUriAndIssuerUriPresentShouldUseSetUri() {
this.contextRunner.withPropertyValues( this.contextRunner.withPropertyValues(
"spring.security.oauth2.resourceserver.jwt.jwk-set-uri=http://jwk-set-uri.com", "spring.security.oauth2.resourceserver.jwt.jwk-set-uri=https://jwk-set-uri.com",
"spring.security.oauth2.resourceserver.jwt.issuer-uri=http://jwk-oidc-issuer-location.com") "spring.security.oauth2.resourceserver.jwt.issuer-uri=https://jwk-oidc-issuer-location.com")
.run((context) -> { .run((context) -> {
assertThat(context.getBean(ReactiveJwtDecoder.class)) assertThat(context.getBean(ReactiveJwtDecoder.class))
.isInstanceOf(NimbusReactiveJwtDecoder.class); .isInstanceOf(NimbusReactiveJwtDecoder.class);
@ -130,7 +130,7 @@ public class ReactiveOAuth2ResourceServerAutoConfigurationTests {
@Test @Test
public void jwtDecoderBeanIsConditionalOnMissingBean() { public void jwtDecoderBeanIsConditionalOnMissingBean() {
this.contextRunner.withPropertyValues( this.contextRunner.withPropertyValues(
"spring.security.oauth2.resourceserver.jwt.jwk-set-uri=http://jwk-set-uri.com") "spring.security.oauth2.resourceserver.jwt.jwk-set-uri=https://jwk-set-uri.com")
.withUserConfiguration(JwtDecoderConfig.class) .withUserConfiguration(JwtDecoderConfig.class)
.run((this::assertFilterConfiguredWithJwtAuthenticationManager)); .run((this::assertFilterConfiguredWithJwtAuthenticationManager));
} }
@ -138,7 +138,7 @@ public class ReactiveOAuth2ResourceServerAutoConfigurationTests {
@Test @Test
public void jwtDecoderByIssuerUriBeanIsConditionalOnMissingBean() { public void jwtDecoderByIssuerUriBeanIsConditionalOnMissingBean() {
this.contextRunner.withPropertyValues( this.contextRunner.withPropertyValues(
"spring.security.oauth2.resourceserver.jwt.issuer-uri=http://jwk-oidc-issuer-location.com") "spring.security.oauth2.resourceserver.jwt.issuer-uri=https://jwk-oidc-issuer-location.com")
.withUserConfiguration(JwtDecoderConfig.class) .withUserConfiguration(JwtDecoderConfig.class)
.run((this::assertFilterConfiguredWithJwtAuthenticationManager)); .run((this::assertFilterConfiguredWithJwtAuthenticationManager));
} }
@ -146,7 +146,7 @@ public class ReactiveOAuth2ResourceServerAutoConfigurationTests {
@Test @Test
public void autoConfigurationShouldBeConditionalOnBearerTokenAuthenticationTokenClass() { public void autoConfigurationShouldBeConditionalOnBearerTokenAuthenticationTokenClass() {
this.contextRunner.withPropertyValues( this.contextRunner.withPropertyValues(
"spring.security.oauth2.resourceserver.jwt.jwk-set-uri=http://jwk-set-uri.com") "spring.security.oauth2.resourceserver.jwt.jwk-set-uri=https://jwk-set-uri.com")
.withUserConfiguration(JwtDecoderConfig.class) .withUserConfiguration(JwtDecoderConfig.class)
.withClassLoader( .withClassLoader(
new FilteredClassLoader(BearerTokenAuthenticationToken.class)) new FilteredClassLoader(BearerTokenAuthenticationToken.class))
@ -157,7 +157,7 @@ public class ReactiveOAuth2ResourceServerAutoConfigurationTests {
@Test @Test
public void autoConfigurationShouldBeConditionalOnReactiveJwtDecoderClass() { public void autoConfigurationShouldBeConditionalOnReactiveJwtDecoderClass() {
this.contextRunner.withPropertyValues( this.contextRunner.withPropertyValues(
"spring.security.oauth2.resourceserver.jwt.jwk-set-uri=http://jwk-set-uri.com") "spring.security.oauth2.resourceserver.jwt.jwk-set-uri=https://jwk-set-uri.com")
.withUserConfiguration(JwtDecoderConfig.class) .withUserConfiguration(JwtDecoderConfig.class)
.withClassLoader(new FilteredClassLoader(ReactiveJwtDecoder.class)) .withClassLoader(new FilteredClassLoader(ReactiveJwtDecoder.class))
.run((context) -> assertThat(context) .run((context) -> assertThat(context)
@ -167,7 +167,7 @@ public class ReactiveOAuth2ResourceServerAutoConfigurationTests {
@Test @Test
public void autoConfigurationWhenSecurityWebFilterChainConfigPresentShouldNotAddOne() { public void autoConfigurationWhenSecurityWebFilterChainConfigPresentShouldNotAddOne() {
this.contextRunner.withPropertyValues( this.contextRunner.withPropertyValues(
"spring.security.oauth2.resourceserver.jwt.jwk-set-uri=http://jwk-set-uri.com") "spring.security.oauth2.resourceserver.jwt.jwk-set-uri=https://jwk-set-uri.com")
.withUserConfiguration(SecurityWebFilterChainConfig.class) .withUserConfiguration(SecurityWebFilterChainConfig.class)
.run((context) -> { .run((context) -> {
assertThat(context).hasSingleBean(SecurityWebFilterChain.class); assertThat(context).hasSingleBean(SecurityWebFilterChain.class);

View File

@ -76,7 +76,7 @@ public class OAuth2ResourceServerAutoConfigurationTests {
@Test @Test
public void autoConfigurationShouldConfigureResourceServer() { public void autoConfigurationShouldConfigureResourceServer() {
this.contextRunner.withPropertyValues( this.contextRunner.withPropertyValues(
"spring.security.oauth2.resourceserver.jwt.jwk-set-uri=http://jwk-set-uri.com") "spring.security.oauth2.resourceserver.jwt.jwk-set-uri=https://jwk-set-uri.com")
.run((context) -> { .run((context) -> {
assertThat(context.getBean(JwtDecoder.class)) assertThat(context.getBean(JwtDecoder.class))
.isInstanceOf(NimbusJwtDecoderJwkSupport.class); .isInstanceOf(NimbusJwtDecoderJwkSupport.class);
@ -130,8 +130,8 @@ public class OAuth2ResourceServerAutoConfigurationTests {
@Test @Test
public void autoConfigurationWhenBothSetUriAndIssuerUriPresentShouldUseSetUri() { public void autoConfigurationWhenBothSetUriAndIssuerUriPresentShouldUseSetUri() {
this.contextRunner.withPropertyValues( this.contextRunner.withPropertyValues(
"spring.security.oauth2.resourceserver.jwt.issuer-uri=http://issuer-uri.com", "spring.security.oauth2.resourceserver.jwt.issuer-uri=https://issuer-uri.com",
"spring.security.oauth2.resourceserver.jwt.jwk-set-uri=http://jwk-set-uri.com") "spring.security.oauth2.resourceserver.jwt.jwk-set-uri=https://jwk-set-uri.com")
.run((context) -> { .run((context) -> {
assertThat(context.getBean(JwtDecoder.class)) assertThat(context.getBean(JwtDecoder.class))
.isInstanceOf(NimbusJwtDecoderJwkSupport.class); .isInstanceOf(NimbusJwtDecoderJwkSupport.class);
@ -151,7 +151,7 @@ public class OAuth2ResourceServerAutoConfigurationTests {
@Test @Test
public void jwtDecoderByJwkSetUriIsConditionalOnMissingBean() { public void jwtDecoderByJwkSetUriIsConditionalOnMissingBean() {
this.contextRunner.withPropertyValues( this.contextRunner.withPropertyValues(
"spring.security.oauth2.resourceserver.jwt.jwk-set-uri=http://jwk-set-uri.com") "spring.security.oauth2.resourceserver.jwt.jwk-set-uri=https://jwk-set-uri.com")
.withUserConfiguration(JwtDecoderConfig.class) .withUserConfiguration(JwtDecoderConfig.class)
.run((context) -> assertThat(getBearerTokenFilter(context)).isNotNull()); .run((context) -> assertThat(getBearerTokenFilter(context)).isNotNull());
} }
@ -159,7 +159,7 @@ public class OAuth2ResourceServerAutoConfigurationTests {
@Test @Test
public void jwtDecoderByOidcIssuerUriIsConditionalOnMissingBean() { public void jwtDecoderByOidcIssuerUriIsConditionalOnMissingBean() {
this.contextRunner.withPropertyValues( this.contextRunner.withPropertyValues(
"spring.security.oauth2.resourceserver.jwt.issuer-uri=http://jwk-oidc-issuer-location.com") "spring.security.oauth2.resourceserver.jwt.issuer-uri=https://jwk-oidc-issuer-location.com")
.withUserConfiguration(JwtDecoderConfig.class) .withUserConfiguration(JwtDecoderConfig.class)
.run((context) -> assertThat(getBearerTokenFilter(context)).isNotNull()); .run((context) -> assertThat(getBearerTokenFilter(context)).isNotNull());
} }
@ -167,7 +167,7 @@ public class OAuth2ResourceServerAutoConfigurationTests {
@Test @Test
public void autoConfigurationShouldBeConditionalOnJwtAuthenticationTokenClass() { public void autoConfigurationShouldBeConditionalOnJwtAuthenticationTokenClass() {
this.contextRunner.withPropertyValues( this.contextRunner.withPropertyValues(
"spring.security.oauth2.resourceserver.jwt.jwk-set-uri=http://jwk-set-uri.com") "spring.security.oauth2.resourceserver.jwt.jwk-set-uri=https://jwk-set-uri.com")
.withUserConfiguration(JwtDecoderConfig.class) .withUserConfiguration(JwtDecoderConfig.class)
.withClassLoader(new FilteredClassLoader(JwtAuthenticationToken.class)) .withClassLoader(new FilteredClassLoader(JwtAuthenticationToken.class))
.run((context) -> assertThat(getBearerTokenFilter(context)).isNull()); .run((context) -> assertThat(getBearerTokenFilter(context)).isNull());
@ -176,7 +176,7 @@ public class OAuth2ResourceServerAutoConfigurationTests {
@Test @Test
public void autoConfigurationShouldBeConditionalOnJwtDecoderClass() { public void autoConfigurationShouldBeConditionalOnJwtDecoderClass() {
this.contextRunner.withPropertyValues( this.contextRunner.withPropertyValues(
"spring.security.oauth2.resourceserver.jwt.jwk-set-uri=http://jwk-set-uri.com") "spring.security.oauth2.resourceserver.jwt.jwk-set-uri=https://jwk-set-uri.com")
.withUserConfiguration(JwtDecoderConfig.class) .withUserConfiguration(JwtDecoderConfig.class)
.withClassLoader(new FilteredClassLoader(JwtDecoder.class)) .withClassLoader(new FilteredClassLoader(JwtDecoder.class))
.run((context) -> assertThat(getBearerTokenFilter(context)).isNull()); .run((context) -> assertThat(getBearerTokenFilter(context)).isNull());

View File

@ -101,23 +101,23 @@ public class WebClientAutoConfigurationTests {
WebClient.Builder firstBuilder = context WebClient.Builder firstBuilder = context
.getBean(WebClient.Builder.class); .getBean(WebClient.Builder.class);
firstBuilder.clientConnector(firstConnector) firstBuilder.clientConnector(firstConnector)
.baseUrl("http://first.example.org"); .baseUrl("https://first.example.org");
ClientHttpConnector secondConnector = mock(ClientHttpConnector.class); ClientHttpConnector secondConnector = mock(ClientHttpConnector.class);
given(secondConnector.connect(any(), any(), any())) given(secondConnector.connect(any(), any(), any()))
.willReturn(Mono.just(response)); .willReturn(Mono.just(response));
WebClient.Builder secondBuilder = context WebClient.Builder secondBuilder = context
.getBean(WebClient.Builder.class); .getBean(WebClient.Builder.class);
secondBuilder.clientConnector(secondConnector) secondBuilder.clientConnector(secondConnector)
.baseUrl("http://second.example.org"); .baseUrl("https://second.example.org");
assertThat(firstBuilder).isNotEqualTo(secondBuilder); assertThat(firstBuilder).isNotEqualTo(secondBuilder);
firstBuilder.build().get().uri("/foo").exchange() firstBuilder.build().get().uri("/foo").exchange()
.block(Duration.ofSeconds(30)); .block(Duration.ofSeconds(30));
secondBuilder.build().get().uri("/foo").exchange() secondBuilder.build().get().uri("/foo").exchange()
.block(Duration.ofSeconds(30)); .block(Duration.ofSeconds(30));
verify(firstConnector).connect(eq(HttpMethod.GET), 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), 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 WebClientCustomizer customizer = context
.getBean("webClientCustomizer", WebClientCustomizer.class); .getBean("webClientCustomizer", WebClientCustomizer.class);
verify(customizer, times(1)).customize(any(WebClient.Builder.class)); verify(customizer, times(1)).customize(any(WebClient.Builder.class));

View File

@ -1,5 +1,5 @@
<!DOCTYPE html> <!DOCTYPE html>
<html xmlns:th="http://www.thymeleaf.org" xmlns:layout="http://www.ultraq.net.nz/thymeleaf/layout"> <html xmlns:th="https://www.thymeleaf.org" xmlns:layout="https://github.com/ultraq/thymeleaf-layout-dialect">
<head> <head>
<title layout:fragment="title">Layout</title> <title layout:fragment="title">Layout</title>
</head> </head>

View File

@ -1,4 +1,4 @@
<html xmlns:th="http://www.thymeleaf.org" xmlns:layout="http://www.ultraq.net.nz/web/thymeleaf/layout" layout:decorator="layout"> <html xmlns:th="https://www.thymeleaf.org" xmlns:layout="http://www.ultraq.net.nz/web/thymeleaf/layout" layout:decorator="layout">
<head> <head>
<title layout:fragment="title">Content</title> <title layout:fragment="title">Content</title>
</head> </head>

View File

@ -23,7 +23,7 @@
</wsdl:portType> </wsdl:portType>
<wsdl:binding name="binding" type="tns:portType"> <wsdl:binding name="binding" type="tns:portType">
<wsdlsoap:binding style="document" <wsdlsoap:binding style="document"
transport="http://schemas.xmlsoap.org/soap/http" /> transport="http://schemas.xmlsoap.org/soap/http/" />
<wsdl:operation name="operation"> <wsdl:operation name="operation">
<wsdlsoap:operation soapAction="" /> <wsdlsoap:operation soapAction="" />
<wsdl:input name="request"> <wsdl:input name="request">

View File

@ -1,4 +1,4 @@
@GrabResolver(name='clojars.org', root='http://clojars.org/repo') @GrabResolver(name='clojars.org', root='https://clojars.org/repo')
@Grab('redis.embedded:embedded-redis:0.2') @Grab('redis.embedded:embedded-redis:0.2')
@Component @Component

View File

@ -205,7 +205,7 @@ limitations under the License
>>> CGLIB 3.0 (cglib:cglib:3.0): >>> CGLIB 3.0 (cglib:cglib:3.0):
Per the LICENSE file in the CGLIB JAR distribution downloaded from Per the LICENSE file in the CGLIB JAR distribution downloaded from
http://sourceforge.net/projects/cglib/files/cglib3/3.0/cglib-3.0.jar/download, https://sourceforge.net/projects/cglib/files/cglib3/3.0/cglib-3.0.jar/download,
CGLIB 3.0 is licensed under the Apache License, version 2.0, the text of which CGLIB 3.0 is licensed under the Apache License, version 2.0, the text of which
is included above. is included above.
@ -225,7 +225,7 @@ Eclipse Public License, Version 1.0 is applicable to the following component(s).
The Eclipse Foundation makes available all content in this plug-in ("Content"). The Eclipse Foundation makes available all content in this plug-in ("Content").
Unless otherwise indicated below, the Content is provided to you under the terms Unless otherwise indicated below, the Content is provided to you under the terms
and conditions of the Eclipse Public License Version 1.0 ("EPL"). A copy of the and conditions of the Eclipse Public License Version 1.0 ("EPL"). A copy of the
EPL is available at http://www.eclipse.org/legal/epl-v10.html. EPL is available at https://www.eclipse.org/legal/epl-v10.html.
For purposes of the EPL, "Program" will mean the Content. For purposes of the EPL, "Program" will mean the Content.
@ -235,7 +235,7 @@ terms and conditions may apply to your use of any object code in the Content.
Check the Redistributor's license that was provided with the Content. If no such Check the Redistributor's license that was provided with the Content. If no such
license exists, contact the Redistributor. Unless otherwise indicated below, the license exists, contact the Redistributor. Unless otherwise indicated below, the
terms and conditions of the EPL still apply to any source code in the Content and terms and conditions of the EPL still apply to any source code in the Content and
such source code may be obtained at http://www.eclipse.org/ such source code may be obtained at https://www.eclipse.org/

View File

@ -44,7 +44,7 @@ import org.eclipse.aether.util.filter.DependencyFilterUtils;
/** /**
* A {@link GrapeEngine} implementation that uses * A {@link GrapeEngine} implementation that uses
* <a href="http://eclipse.org/aether">Aether</a>, the dependency resolution system used * <a href="https://eclipse.org/aether">Aether</a>, the dependency resolution system used
* by Maven. * by Maven.
* *
* @author Andy Wilkinson * @author Andy Wilkinson

View File

@ -54,7 +54,7 @@ public class AetherGrapeEngineTests {
RepositoryConfiguration... additionalRepositories) { RepositoryConfiguration... additionalRepositories) {
List<RepositoryConfiguration> repositoryConfigurations = new ArrayList<>(); List<RepositoryConfiguration> repositoryConfigurations = new ArrayList<>();
repositoryConfigurations.add(new RepositoryConfiguration("central", repositoryConfigurations.add(new RepositoryConfiguration("central",
URI.create("https://repo.maven.apache.org/maven2"), false)); URI.create("https://repo1.maven.org/maven2"), false));
repositoryConfigurations.addAll(Arrays.asList(additionalRepositories)); repositoryConfigurations.addAll(Arrays.asList(additionalRepositories));
DependencyResolutionContext dependencyResolutionContext = new DependencyResolutionContext(); DependencyResolutionContext dependencyResolutionContext = new DependencyResolutionContext();
dependencyResolutionContext.addDependencyManagement( dependencyResolutionContext.addDependencyManagement(
@ -143,7 +143,7 @@ public class AetherGrapeEngineTests {
Map<String, Object> args = new HashMap<>(); Map<String, Object> args = new HashMap<>();
AetherGrapeEngine grapeEngine = this.createGrapeEngine(); AetherGrapeEngine grapeEngine = this.createGrapeEngine();
grapeEngine grapeEngine
.addResolver(createResolver("restlet.org", "http://maven.restlet.org")); .addResolver(createResolver("restlet.org", "https://maven.restlet.org"));
grapeEngine.grab(args, createDependency("org.restlet", "org.restlet", "1.1.6")); grapeEngine.grab(args, createDependency("org.restlet", "org.restlet", "1.1.6"));
assertThat(this.groovyClassLoader.getURLs().length).isEqualTo(1); assertThat(this.groovyClassLoader.getURLs().length).isEqualTo(1);
} }

View File

@ -1,5 +1,5 @@
/* /*
* Copyright 2012-2018 the original author or authors. * Copyright 2012-2019 the original author or authors.
* *
* Licensed under the Apache License, Version 2.0 (the "License"); * Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License. * you may not use this file except in compliance with the License.
@ -35,7 +35,7 @@ import static org.assertj.core.api.Assertions.assertThat;
*/ */
public final class DetailedProgressReporterTests { public final class DetailedProgressReporterTests {
private static final String REPOSITORY = "http://my.repository.com/"; private static final String REPOSITORY = "https://repo.example.com/";
private static final String ARTIFACT = "org/alpha/bravo/charlie/1.2.3/charlie-1.2.3.jar"; private static final String ARTIFACT = "org/alpha/bravo/charlie/1.2.3/charlie-1.2.3.jar";

View File

@ -1,5 +1,5 @@
/* /*
* Copyright 2012-2018 the original author or authors. * Copyright 2012-2019 the original author or authors.
* *
* Licensed under the Apache License, Version 2.0 (the "License"); * Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License. * you may not use this file except in compliance with the License.
@ -96,7 +96,7 @@ public class SettingsXmlRepositorySystemSessionAutoConfigurationTests {
return null; return null;
}); });
RemoteRepository repository = new RemoteRepository.Builder("my-server", "default", RemoteRepository repository = new RemoteRepository.Builder("my-server", "default",
"http://maven.example.com").build(); "https://maven.example.com").build();
assertMirrorSelectorConfiguration(session, repository); assertMirrorSelectorConfiguration(session, repository);
assertProxySelectorConfiguration(session, repository); assertProxySelectorConfiguration(session, repository);
assertAuthenticationSelectorConfiguration(session, repository); assertAuthenticationSelectorConfiguration(session, repository);

View File

@ -3,7 +3,7 @@
xmlns="http://maven.apache.org/POM/4.0.0" xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation=" xsi:schemaLocation="
http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> http://maven.apache.org/POM/4.0.0 https://maven.apache.org/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion> <modelVersion>4.0.0</modelVersion>

View File

@ -1,5 +1,5 @@
<!DOCTYPE html> <!DOCTYPE html>
<html xmlns:th="http://www.thymeleaf.org"> <html xmlns:th="https://www.thymeleaf.org">
<head> <head>
<title th:text="${title}">Title</title> <title th:text="${title}">Title</title>
<link rel="stylesheet" th:href="@{/resources/css/bootstrap.min.css}" <link rel="stylesheet" th:href="@{/resources/css/bootstrap.min.css}"
@ -9,7 +9,7 @@
<div class="container"> <div class="container">
<div class="navbar"> <div class="navbar">
<div class="navbar-inner"> <div class="navbar-inner">
<a class="brand" href="http://www.thymeleaf.org"> Thymeleaf - <a class="brand" href="https://www.thymeleaf.org"> Thymeleaf -
Plain </a> Plain </a>
<ul class="nav"> <ul class="nav">
<li><a th:href="@{/}" href="home.html"> Home </a></li> <li><a th:href="@{/}" href="home.html"> Home </a></li>

View File

@ -3,7 +3,7 @@
xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:m="http://maven.apache.org/POM/4.0.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:m="http://maven.apache.org/POM/4.0.0"
exclude-result-prefixes="m"> exclude-result-prefixes="m">
<xsl:output method="xml" encoding="utf-8" indent="yes" <xsl:output method="xml" encoding="utf-8" indent="yes"
xslt:indent-amount="4" xmlns:xslt="http://xml.apache.org/xslt" /> xslt:indent-amount="4" xmlns:xslt="https://xml.apache.org/xslt" />
<xsl:strip-space elements="*" /> <xsl:strip-space elements="*" />
<xsl:template match="@*|node()"> <xsl:template match="@*|node()">
<xsl:copy> <xsl:copy>

View File

@ -40,7 +40,7 @@ import org.springframework.util.Assert;
/** /**
* A server that can be used to tunnel TCP traffic over HTTP. Similar in design to the * A server that can be used to tunnel TCP traffic over HTTP. Similar in design to the
* <a href="http://xmpp.org/extensions/xep-0124.html">Bidirectional-streams Over * <a href="https://xmpp.org/extensions/xep-0124.html">Bidirectional-streams Over
* Synchronous HTTP (BOSH)</a> XMPP extension protocol, the server uses long polling with * Synchronous HTTP (BOSH)</a> XMPP extension protocol, the server uses long polling with
* HTTP requests held open until a response is available. A typical traffic pattern would * HTTP requests held open until a response is available. A typical traffic pattern would
* be as follows: * be as follows:

View File

@ -1,5 +1,5 @@
/* /*
* Copyright 2012-2018 the original author or authors. * Copyright 2012-2019 the original author or authors.
* *
* Licensed under the Apache License, Version 2.0 (the "License"); * Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License. * you may not use this file except in compliance with the License.
@ -59,7 +59,7 @@ public class ChangeableUrlsTests {
@Test @Test
public void httpUrl() throws Exception { public void httpUrl() throws Exception {
URL url = new URL("http://spring.io"); URL url = new URL("https://spring.io");
assertThat(ChangeableUrls.fromUrls(url)).isEmpty(); assertThat(ChangeableUrls.fromUrls(url)).isEmpty();
} }

View File

@ -330,6 +330,6 @@ following alternatives:
* https://maven.apache.org/plugins/maven-shade-plugin/[Maven Shade Plugin] * https://maven.apache.org/plugins/maven-shade-plugin/[Maven Shade Plugin]
* http://www.jdotsoft.com/JarClassLoader.php[JarClassLoader] * http://www.jdotsoft.com/JarClassLoader.php[JarClassLoader]
* http://one-jar.sourceforge.net[OneJar] * https://sourceforge.net/projects/one-jar/[OneJar]
* https://imperceptiblethoughts.com/shadow/[Gradle Shadow Plugin] * https://imperceptiblethoughts.com/shadow/[Gradle Shadow Plugin]

View File

@ -34,7 +34,7 @@ section of your `pom.xml`, as shown in the following example:
---- ----
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion> <modelVersion>4.0.0</modelVersion>
<!-- ... --> <!-- ... -->
<build> <build>
@ -109,7 +109,7 @@ the usual `packaging` element, as shown in the following example:
---- ----
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
<!-- ... --> <!-- ... -->
<packaging>jar</packaging> <packaging>jar</packaging>
<!-- ... --> <!-- ... -->
@ -138,7 +138,7 @@ following example:
---- ----
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
<!-- ... --> <!-- ... -->
<packaging>war</packaging> <packaging>war</packaging>
<!-- ... --> <!-- ... -->
@ -367,7 +367,7 @@ If your archive already includes libraries, you can use `Libraries.NONE`.
[[build-tool-plugins-find-a-main-class]] [[build-tool-plugins-find-a-main-class]]
=== Finding a Main Class === Finding a Main Class
If you do not use `Repackager.setMainClass()` to specify a main class, the repackager 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 a `public static void main(String[] args)` method. An exception is thrown if more than one
candidate is found. candidate is found.

View File

@ -114,7 +114,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 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 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/`.
@ -203,7 +203,7 @@ deployments is to `git push` the code to production, as shown in the following e
Downloading: https://repo.spring.io/... Downloading: https://repo.spring.io/...
Downloaded: https://repo.spring.io/... (818 B at 1.8 KB/sec) 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/target/...
[INFO] Installing /tmp/build_0c35a5d2-a067-4abc-a232-14b1fb7a8229/pom.xml ... [INFO] Installing /tmp/build_0c35a5d2-a067-4abc-a232-14b1fb7a8229/pom.xml ...
[INFO] ------------------------------------------------------------------------ [INFO] ------------------------------------------------------------------------
@ -219,7 +219,7 @@ deployments is to `git push` the code to production, as shown in the following e
-----> Compressing... *done*, 70.4MB -----> Compressing... *done*, 70.4MB
-----> Launching... *done*, v6 -----> 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 To git@heroku.com:agile-sierra-1405.git
* [new branch] master -> master * [new branch] master -> master
@ -373,11 +373,11 @@ example:
Creating security group boxfuse-sg_axelfontaine/myapp:1.0 ... Creating security group boxfuse-sg_axelfontaine/myapp:1.0 ...
Launching t2.micro instance of axelfontaine/myapp:1.0 (ami-d23f38cf) in eu-central-1 ... Launching t2.micro instance of axelfontaine/myapp:1.0 (ami-d23f38cf) in eu-central-1 ...
Instance launched in 00:30.306s -> i-92ef9f53 Instance launched in 00:30.306s -> i-92ef9f53
Waiting for AWS to boot Instance i-92ef9f53 and Payload to start at http://52.28.235.61/ ... Waiting for AWS to boot Instance i-92ef9f53 and Payload to start at https://52.28.235.61/ ...
Payload started in 00:29.266s -> http://52.28.235.61/ Payload started in 00:29.266s -> https://52.28.235.61/
Remapping Elastic IP 52.28.233.167 to i-92ef9f53 ... Remapping Elastic IP 52.28.233.167 to i-92ef9f53 ...
Waiting 15s for AWS to complete Elastic IP Zero Downtime transition ... 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. Your application should now be up and running on AWS.
@ -644,7 +644,7 @@ the `run` command is used by default.
Note that, unlike when running as an `init.d` service, the user that runs the application, 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 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 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. configuration man page] for more details.
To flag the application to start automatically on system boot, use the following command: To flag the application to start automatically on system boot, use the following command:
@ -842,7 +842,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 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 `init.d` service. For `systemd`, the equivalent customizations are made by using the
'`service`' script. See 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. configuration man page] for more details.
[[deployment-script-customization-conf-file]] [[deployment-script-customization-conf-file]]

View File

@ -131,7 +131,7 @@ The following listing shows a typical `pom.xml` file:
---- ----
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion> <modelVersion>4.0.0</modelVersion>
<groupId>com.example</groupId> <groupId>com.example</groupId>
@ -259,7 +259,7 @@ classpath is set correctly).
==== Installation with SDKMAN! ==== Installation with SDKMAN!
SDKMAN! (The Software Development Kit Manager) can be used for managing multiple versions SDKMAN! (The Software Development Kit Manager) can be used for managing multiple versions
of various binary SDKs, including Groovy and the Spring Boot CLI. 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: commands:
[indent=0,subs="verbatim,quotes,attributes"] [indent=0,subs="verbatim,quotes,attributes"]
@ -307,7 +307,7 @@ You can see it by running the following command:
[[getting-started-homebrew-cli-installation]] [[getting-started-homebrew-cli-installation]]
==== OSX Homebrew 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: CLI by using the following commands:
[indent=0] [indent=0]
@ -325,7 +325,7 @@ that case, run `brew update` and try again.
[[getting-started-macports-cli-installation]] [[getting-started-macports-cli-installation]]
==== MacPorts 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: Spring Boot CLI by using the following command:
[indent=0] [indent=0]
@ -360,7 +360,7 @@ completion scripts are automatically registered with your shell.
[[getting-started-scoop-cli-installation]] [[getting-started-scoop-cli-installation]]
==== Windows Scoop 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: CLI by using the following commands:
[indent=0] [indent=0]
@ -501,7 +501,7 @@ used to build your project. Open your favorite text editor and add the following
---- ----
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion> <modelVersion>4.0.0</modelVersion>
<groupId>com.example</groupId> <groupId>com.example</groupId>

View File

@ -769,7 +769,7 @@ additional dependency.
Spring Boot manages the version for the Spring Boot manages the version for the
`io.netty:netty-tcnative-boringssl-static` "uber jar", containing native libraries for `io.netty:netty-tcnative-boringssl-static` "uber jar", containing native libraries for
all platforms. Developers can choose to import only the required dependencies using all platforms. Developers can choose to import only the required dependencies using
a classifier (see http://netty.io/wiki/forked-tomcat-native.html[the Netty official a classifier (see https://netty.io/wiki/forked-tomcat-native.html[the Netty official
documentation]). documentation]).
@ -1502,7 +1502,7 @@ include::{code-examples}/web/client/RestTemplateProxyCustomizationExample.java[t
Spring Boot has no mandatory logging dependency, except for the Commons Logging API, which 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 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 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-logging`. For a web application, you need only
`spring-boot-starter-web`, since it depends transitively on the logging starter. If you `spring-boot-starter-web`, since it depends transitively on the logging starter. If you
@ -1606,7 +1606,7 @@ following example:
[[howto-configure-log4j-for-logging]] [[howto-configure-log4j-for-logging]]
=== 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 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 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 instead. If you do not use the starters, you need to provide (at least) `spring-jcl` in
@ -2290,7 +2290,7 @@ You can also switch off the initialization explicitly by setting
[[howto-use-a-higher-level-database-migration-tool]] [[howto-use-a-higher-level-database-migration-tool]]
=== 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] 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]] [[howto-execute-flyway-database-migrations-on-startup]]
==== Execute Flyway Database Migrations on Startup ==== Execute Flyway Database Migrations on Startup
@ -2683,7 +2683,7 @@ for other Groovy customization options.
=== Fast Application Restarts === Fast Application Restarts
The `spring-boot-devtools` module includes support for automatic application restarts. The `spring-boot-devtools` module includes support for automatic application restarts.
While not as fast as technologies such as 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 a "`cold start`". You should probably give it a try before investigating some of the more
complex reload options discussed later in this document. complex reload options discussed later in this document.
@ -3319,9 +3319,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:wls="http://xmlns.oracle.com/weblogic/weblogic-web-app"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee 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
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">
<wls:container-descriptor> <wls:container-descriptor>
<wls:prefer-application-packages> <wls:prefer-application-packages>
<wls:package-name>org.slf4j</wls:package-name> <wls:package-name>org.slf4j</wls:package-name>

View File

@ -491,7 +491,7 @@ configuration permits `GET` and `POST` calls from the `example.com` domain:
[source,properties,indent=0] [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 management.endpoints.web.cors.allowed-methods=GET,POST
---- ----
@ -1461,7 +1461,7 @@ https://github.com/Netflix/atlas[Atlas server] to use can be provided using:
[source,properties,indent=0] [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
---- ----
@ -1516,7 +1516,7 @@ using the following property:
[source,properties,indent=0] [source,properties,indent=0]
---- ----
management.metrics.export.elastic.host=http://elastic.example.com:8086 management.metrics.export.elastic.host=https://elastic.example.com:8086
---- ----
@ -1595,7 +1595,7 @@ server] to use can be provided using:
[source,properties,indent=0] [source,properties,indent=0]
---- ----
management.metrics.export.influx.uri=http://influx.example.com:8086 management.metrics.export.influx.uri=https://influx.example.com:8086
---- ----
@ -1638,7 +1638,7 @@ server] to use can be provided using:
[source,properties,indent=0] [source,properties,indent=0]
---- ----
management.metrics.export.kairos.uri=http://kairosdb.example.com:8080/api/v1/datapoints management.metrics.export.kairos.uri=https://kairosdb.example.com:8080/api/v1/datapoints
---- ----
@ -2338,7 +2338,7 @@ include::{code-examples}/cloudfoundry/CloudFoundryCustomContextPathExample.java[
== What to Read Next == What to Read Next
If you want to explore some of the concepts discussed in this chapter, you can take a 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 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 <<deployment.adoc#deployment, '`deployment Otherwise, you can continue on, to read about <<deployment.adoc#deployment, '`deployment
options`'>> or jump ahead for some in-depth information about Spring Boot's options`'>> or jump ahead for some in-depth information about Spring Boot's

View File

@ -248,7 +248,7 @@ You can use `@DependencyManagementBom` anywhere that you can use `@Grab`. Howeve
ensure consistent ordering of the dependency management, you can use ensure consistent ordering of the dependency management, you can use
`@DependencyManagementBom` at most once in your application. A useful source of dependency `@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 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: line:
[source,java,indent=0] [source,java,indent=0]
@ -422,7 +422,7 @@ following example:
[[cli-groovy-beans-dsl]] [[cli-groovy-beans-dsl]]
== Developing Applications with the Groovy Beans DSL == Developing Applications with the Groovy Beans DSL
Spring Framework 4.0 has native support for a `beans{}` "`DSL`" (borrowed from 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 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: features like middleware declarations, as shown in the following example:

View File

@ -700,10 +700,10 @@ https://www.vaultproject.io/[HashiCorp Vault].
[[boot-features-external-config-yaml]] [[boot-features-external-config-yaml]]
=== Using YAML Instead of Properties === 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 specifying hierarchical configuration data. The `SpringApplication` class automatically
supports YAML as an alternative to properties whenever you have the 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 NOTE: If you use "`Starters`", SnakeYAML is automatically provided by
`spring-boot-starter`. `spring-boot-starter`.
@ -722,10 +722,10 @@ For example, consider the following YAML document:
---- ----
environments: environments:
dev: dev:
url: http://dev.example.com url: https://dev.example.com
name: Developer Setup name: Developer Setup
prod: prod:
url: http://another.example.com url: https://another.example.com
name: My Cool App name: My Cool App
---- ----
@ -733,9 +733,9 @@ The preceding example would be transformed into the following properties:
[source,properties,indent=0] [source,properties,indent=0]
---- ----
environments.dev.url=http://dev.example.com environments.dev.url=https://dev.example.com
environments.dev.name=Developer Setup 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 environments.prod.name=My Cool App
---- ----
@ -1705,12 +1705,12 @@ See "<<boot-features-external-config-profile-specific-properties>>" for details.
[[boot-features-logging]] [[boot-features-logging]]
== 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 logging but leaves the underlying log implementation open. Default configurations are
provided for provided for
{java-javadoc}/java/util/logging/package-summary.html[Java Util {java-javadoc}/java/util/logging/package-summary.html[Java Util
Logging], http://logging.apache.org/log4j/2.x/[Log4J2], and Logging], https://logging.apache.org/log4j/2.x/[Log4J2], and
http://logback.qos.ch/[Logback]. In each case, loggers are pre-configured to use console https://logback.qos.ch/[Logback]. In each case, loggers are pre-configured to use console
output with optional file output also available. output with optional file output also available.
By default, if you use the "`Starters`", Logback is used for logging. Appropriate Logback By default, if you use the "`Starters`", Logback is used for logging. Appropriate Logback
@ -2081,7 +2081,7 @@ cannot use extensions in it. You need to either use `logback-spring.xml` or defi
`logging.config` property. `logging.config` property.
WARNING: The extensions cannot be used with Logback's 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 attempt to do so, making changes to the configuration file results in an error similar to
one of the following being logged: one of the following being logged:
@ -2578,7 +2578,7 @@ Spring Boot includes auto-configuration support for the following templating eng
* https://freemarker.apache.org/docs/[FreeMarker] * https://freemarker.apache.org/docs/[FreeMarker]
* http://docs.groovy-lang.org/docs/next/html/documentation/template-engines.html#_the_markuptemplateengine[Groovy] * 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] * https://mustache.github.io/[Mustache]
TIP: If possible, JSPs should be avoided. There are several TIP: If possible, JSPs should be avoided. There are several
@ -2793,7 +2793,7 @@ described earlier.
==== CORS Support ==== CORS Support
https://en.wikipedia.org/wiki/Cross-origin_resource_sharing[Cross-origin resource sharing] 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 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 way what kind of cross-domain requests are authorized, instead of using some less secure
and less powerful approaches such as IFRAME or JSONP. and less powerful approaches such as IFRAME or JSONP.
@ -2831,7 +2831,7 @@ defined by registering a `WebMvcConfigurer` bean with a customized
Spring WebFlux is the new reactive web framework introduced in Spring Framework 5.0. 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 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]. specification through https://projectreactor.io/[the Reactor project].
Spring WebFlux comes in two flavors: functional and annotation-based. The Spring WebFlux comes in two flavors: functional and annotation-based. The
@ -3008,8 +3008,8 @@ Thymeleaf, FreeMarker, and Mustache.
Spring Boot includes auto-configuration support for the following templating engines: Spring Boot includes auto-configuration support for the following templating engines:
* https://freemarker.apache.org/docs/[FreeMarker] * https://freemarker.apache.org/docs/[FreeMarker]
* http://www.thymeleaf.org[Thymeleaf] * https://www.thymeleaf.org[Thymeleaf]
* http://mustache.github.io/[Mustache] * https://mustache.github.io/[Mustache]
When you use one of these templating engines with the default configuration, your When you use one of these templating engines with the default configuration, your
templates are picked up automatically from `src/main/resources/templates`. templates are picked up automatically from `src/main/resources/templates`.
@ -3130,7 +3130,7 @@ does so, the orders shown in the following table will be used:
=== JAX-RS and Jersey === JAX-RS and Jersey
If you prefer the JAX-RS programming model for REST endpoints, you can use one of the 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] and available implementations instead of Spring MVC. https://jersey.github.io/[Jersey] and
http://cxf.apache.org/[Apache CXF] work quite well out of the box. CXF requires you to https://cxf.apache.org/[Apache CXF] work quite well out of the box. CXF requires you to
register its `Servlet` or `Filter` as a `@Bean` in your application context. Jersey has register its `Servlet` or `Filter` as a `@Bean` in your application context. Jersey has
some native Spring support, so we also provide auto-configuration support for it in some native Spring support, so we also provide auto-configuration support for it in
Spring Boot, together with a starter. Spring Boot, together with a starter.
@ -3201,10 +3201,11 @@ that you can see how to set things up.
[[boot-features-embedded-container]] [[boot-features-embedded-container]]
=== Embedded Servlet Container Support === 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 https://www.eclipse.org/jetty/[Jetty], and
developers use the appropriate "`Starter`" to obtain a fully configured instance. By https://github.com/undertow-io/undertow[Undertow] servers. Most developers use the
default, the embedded server listens for HTTP requests on port `8080`. appropriate "`Starter`" to obtain a fully configured instance. By default, the embedded
server listens for HTTP requests on port `8080`.
WARNING: If you choose to use Tomcat on https://www.centos.org/[CentOS], be aware that, by WARNING: If you choose to use Tomcat on https://www.centos.org/[CentOS], be aware that, by
default, a temporary directory is used to store compiled JSPs, file uploads, and so on. default, a temporary directory is used to store compiled JSPs, file uploads, and so on.
@ -3558,7 +3559,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.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.provider=my-oauth-provider
spring.security.oauth2.client.registration.my-client-1.scope=user 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.client-authentication-method=basic
spring.security.oauth2.client.registration.my-client-1.authorization-grant-type=authorization_code spring.security.oauth2.client.registration.my-client-1.authorization-grant-type=authorization_code
@ -3567,7 +3568,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.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.provider=my-oauth-provider
spring.security.oauth2.client.registration.my-client-2.scope=email 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.client-authentication-method=basic
spring.security.oauth2.client.registration.my-client-2.authorization-grant-type=authorization_code spring.security.oauth2.client.registration.my-client-2.authorization-grant-type=authorization_code
@ -3740,8 +3741,8 @@ application ends.
TIP: The "`How-to`" section includes a <<howto.adoc#howto-database-initialization, TIP: The "`How-to`" section includes a <<howto.adoc#howto-database-initialization,
section on how to initialize a database>>. section on how to initialize a database>>.
Spring Boot can auto-configure embedded http://www.h2database.com[H2], Spring Boot can auto-configure embedded https://www.h2database.com[H2],
http://hsqldb.org/[HSQL], and http://db.apache.org/derby/[Derby] databases. You need not 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 provide any connection URLs. You need only include a build dependency to the embedded
database that you want to use. database that you want to use.
@ -3835,7 +3836,7 @@ settings by using their respective prefix (`+spring.datasource.hikari.*+`,
documentation of the connection pool implementation you are using for more details. documentation of the connection pool implementation you are using for more details.
For instance, if you use the 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 connection pool], you could customize many additional settings, as shown in the following
example: example:
@ -4101,8 +4102,8 @@ https://projects.spring.io/spring-data-jdbc/[reference documentation].
[[boot-features-sql-h2-console]] [[boot-features-sql-h2-console]]
=== Using H2's Web Console === Using H2's Web Console
The http://www.h2database.com[H2 database] provides a The https://www.h2database.com[H2 database] provides a
http://www.h2database.com/html/quickstart.html#h2_console[browser-based console] that 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 Spring Boot can auto-configure for you. The console is auto-configured when the following
conditions are met: conditions are met:
@ -4129,8 +4130,8 @@ path by using the `spring.h2.console.path` property.
[[boot-features-jooq]] [[boot-features-jooq]]
=== Using jOOQ === Using jOOQ
Java Object Oriented Querying (http://www.jooq.org/[jOOQ]) is a popular product from Java Object Oriented Querying (https://www.jooq.org/[jOOQ]) is a popular product from
http://www.datageekery.com/[Data Geekery] which generates Java code from your 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 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. commercial and open source editions can be used with Spring Boot.
@ -4263,7 +4264,7 @@ https://projects.spring.io/spring-data[projects.spring.io/spring-data].
[[boot-features-redis]] [[boot-features-redis]]
=== 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 Spring Boot offers basic auto-configuration for the
https://github.com/lettuce-io/lettuce-core/[Lettuce] and https://github.com/lettuce-io/lettuce-core/[Lettuce] and
https://github.com/xetorthio/jedis/[Jedis] client libraries and the abstractions on top https://github.com/xetorthio/jedis/[Jedis] client libraries and the abstractions on top
@ -4317,7 +4318,7 @@ get a pooled connection factory.
[[boot-features-mongodb]] [[boot-features-mongodb]]
=== 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 JSON-like schema instead of traditional table-based relational data. Spring Boot offers
several conveniences for working with MongoDB, including the several conveniences for working with MongoDB, including the
`spring-boot-starter-data-mongodb` and `spring-boot-starter-data-mongodb-reactive` `spring-boot-starter-data-mongodb` and `spring-boot-starter-data-mongodb-reactive`
@ -4489,7 +4490,7 @@ customized by declaring a `DownloadConfigBuilderCustomizer` bean.
[[boot-features-neo4j]] [[boot-features-neo4j]]
=== 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 model of nodes connected by first class relationships, which is better suited for
connected big data than traditional RDBMS approaches. Spring Boot offers several connected big data than traditional RDBMS approaches. Spring Boot offers several
conveniences for working with Neo4j, including the `spring-boot-starter-data-neo4j` conveniences for working with Neo4j, including the `spring-boot-starter-data-neo4j`
@ -4646,7 +4647,7 @@ https://github.com/spring-projects/spring-data-gemfire/blob/master/src/main/java
[[boot-features-solr]] [[boot-features-solr]]
=== 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 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 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 is a `spring-boot-starter-data-solr` "`Starter`" for collecting the dependencies in a
@ -4710,7 +4711,6 @@ The transport client is still being used by
https://github.com/spring-projects/spring-data-elasticsearch[Spring Data Elasticsearch], https://github.com/spring-projects/spring-data-elasticsearch[Spring Data Elasticsearch],
which you can start using with the `spring-boot-starter-data-elasticsearch` "`Starter`". which you can start using with the `spring-boot-starter-data-elasticsearch` "`Starter`".
[[boot-features-connecting-to-elasticsearch-rest]] [[boot-features-connecting-to-elasticsearch-rest]]
==== Connecting to Elasticsearch by REST clients ==== Connecting to Elasticsearch by REST clients
Elasticsearch ships Elasticsearch ships
@ -4724,7 +4724,7 @@ You can further tune how `RestClient` is configured, as shown in the following e
[source,properties,indent=0] [source,properties,indent=0]
---- ----
spring.elasticsearch.rest.uris=http://search.example.com:9200 spring.elasticsearch.rest.uris=https://search.example.com:9200
spring.elasticsearch.rest.username=user spring.elasticsearch.rest.username=user
spring.elasticsearch.rest.password=secret spring.elasticsearch.rest.password=secret
---- ----
@ -4746,7 +4746,7 @@ configured, as shown in the following example:
[source,properties,indent=0] [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.read-timeout=10000
spring.elasticsearch.jest.username=user spring.elasticsearch.jest.username=user
spring.elasticsearch.jest.password=secret spring.elasticsearch.jest.password=secret
@ -4817,7 +4817,7 @@ https://docs.spring.io/spring-data/elasticsearch/docs/[reference documentation].
[[boot-features-cassandra]] [[boot-features-cassandra]]
=== 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. 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 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 provided by https://github.com/spring-projects/spring-data-cassandra[Spring Data
@ -4878,7 +4878,7 @@ https://docs.spring.io/spring-data/cassandra/docs/[reference documentation].
[[boot-features-couchbase]] [[boot-features-couchbase]]
=== 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 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 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 https://github.com/spring-projects/spring-data-couchbase[Spring Data Couchbase]. There are
@ -5122,7 +5122,7 @@ example:
[source,properties,indent=0] [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 If the connection to InfluxDB requires a user and password, you can set the
@ -5305,7 +5305,7 @@ abstraction expects. No further customization is applied to it.
[[boot-features-caching-provider-ehcache2]] [[boot-features-caching-provider-ehcache2]]
==== EhCache 2.x ==== 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 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 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: alternate configuration file can be provided as well, as shown in the following example:
@ -5328,7 +5328,7 @@ Spring Boot has <<boot-features-hazelcast,general support for Hazelcast>>. If a
[[boot-features-caching-provider-infinispan]] [[boot-features-caching-provider-infinispan]]
==== 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. be specified explicitly. Otherwise, the default bootstrap is used.
[source,properties,indent=0] [source,properties,indent=0]
@ -5404,7 +5404,7 @@ auto-configuration.
[[boot-features-caching-provider-redis]] [[boot-features-caching-provider-redis]]
==== 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 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.cache-names` property and cache defaults can be configured by using
`spring.cache.redis.*` properties. For instance, the following configuration creates `spring.cache.redis.*` properties. For instance, the following configuration creates
@ -5516,7 +5516,7 @@ infrastructure to send and receive messages.
[[boot-features-activemq]] [[boot-features-activemq]]
==== ActiveMQ Support ==== 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 also configure a `ConnectionFactory`. If the broker is present, an embedded broker is
automatically started and configured (provided no broker URL is specified through automatically started and configured (provided no broker URL is specified through
configuration). configuration).
@ -5568,7 +5568,7 @@ are resolved against their provided names.
[[boot-features-artemis]] [[boot-features-artemis]]
==== Artemis Support ==== Artemis Support
Spring Boot can auto-configure a `ConnectionFactory` when it detects that 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 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 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 that an embedded broker is required and that an error should occur if the broker is not
@ -5936,7 +5936,7 @@ delivery attempts is reached.
[[boot-features-kafka]] [[boot-features-kafka]]
=== Apache Kafka Support === 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. the `spring-kafka` project.
Kafka configuration is controlled by external configuration properties in Kafka configuration is controlled by external configuration properties in
@ -6189,7 +6189,7 @@ The following code shows a typical example:
private final WebClient webClient; private final WebClient webClient;
public MyService(WebClient.Builder webClientBuilder) { public MyService(WebClient.Builder webClientBuilder) {
this.webClient = webClientBuilder.baseUrl("http://example.org").build(); this.webClient = webClientBuilder.baseUrl("https://example.org").build();
} }
public Mono<Details> someRestCall(String name) { public Mono<Details> someRestCall(String name) {
@ -6317,7 +6317,7 @@ When a `jndi-name` is set, it takes precedence over all other Session-related se
[[boot-features-jta]] [[boot-features-jta]]
== Distributed Transactions with JTA == Distributed Transactions with JTA
Spring Boot supports distributed JTA transactions across multiple XA resources by using 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 embedded transaction manager. JTA transactions are also supported when deploying to a
suitable Java EE Application Server. suitable Java EE Application Server.
@ -6466,7 +6466,7 @@ configuration, as shown in the following example:
Otherwise, Spring Boot tries to find the Hazelcast configuration from the default 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 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 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. more details.
If `hazelcast-client` is present on the classpath, Spring Boot first attempts to create a If `hazelcast-client` is present on the classpath, Spring Boot first attempts to create a
@ -6487,7 +6487,7 @@ implementation.
[[boot-features-quartz]] [[boot-features-quartz]]
== Quartz Scheduler == Quartz Scheduler
Spring Boot offers several conveniences for working with the 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 `spring-boot-starter-quartz` "`Starter`". If Quartz is available, a `Scheduler` is
auto-configured (through the `SchedulerFactoryBean` abstraction). auto-configured (through the `SchedulerFactoryBean` abstraction).
@ -6718,13 +6718,13 @@ libraries.
The `spring-boot-starter-test` "`Starter`" (in the `test` `scope`) contains The `spring-boot-starter-test` "`Starter`" (in the `test` `scope`) contains
the following provided libraries: 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: * {spring-reference}testing.html#integration-testing[Spring Test] & Spring Boot Test:
Utilities and integration test support for Spring Boot applications. 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 * https://github.com/hamcrest/JavaHamcrest[Hamcrest]: A library of matcher objects (also
as constraints or predicates). 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/skyscreamer/JSONassert[JSONassert]: An assertion library for JSON.
* https://github.com/jayway/JsonPath[JsonPath]: XPath for JSON. * https://github.com/jayway/JsonPath[JsonPath]: XPath for JSON.
@ -8157,7 +8157,7 @@ the following example:
@Test @Test
public void testRequest() throws Exception { public void testRequest() throws Exception {
HttpHeaders headers = this.template.getForEntity( 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"); assertThat(headers.getLocation()).hasHost("other.example.com");
} }
@ -8358,7 +8358,7 @@ annotations include:
==== Class Conditions ==== Class Conditions
The `@ConditionalOnClass` and `@ConditionalOnMissingClass` annotations let The `@ConditionalOnClass` and `@ConditionalOnMissingClass` annotations let
`@Configuration` classes be included based on the presence or absence of specific classes. `@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 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` 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. attribute if you prefer to specify the class name by using a `String` value.
@ -8674,7 +8674,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 https://spring.io/guides/tutorials/spring-boot-kotlin/[this comprehensive tutorial]. You
can create new Kotlin projects via can create new Kotlin projects via
https://start.spring.io/#!language=kotlin[start.spring.io]. Feel free to join the #spring 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 and `kotlin` tags on https://stackoverflow.com/questions/tagged/spring+kotlin[Stack
Overflow] if you need support. Overflow] if you need support.
@ -8709,7 +8709,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 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 without paying the cost of wrappers like `Optional`. Kotlin also allows using functional
constructs with nullable values as described in this 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 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 Framework, Spring Data, and Reactor now provide null-safety of their API via
@ -8852,7 +8852,7 @@ provides similar `@MockkBean` and `@SpykBean` annotations.
[[boot-features-kotlin-resources-further-reading]] [[boot-features-kotlin-resources-further-reading]]
==== Further reading ==== Further reading
* {kotlin-documentation}[Kotlin language reference] * {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://stackoverflow.com/questions/tagged/spring+kotlin[Stackoverflow with `spring` and `kotlin` tags]
* https://try.kotlinlang.org/[Try Kotlin in your browser] * https://try.kotlinlang.org/[Try Kotlin in your browser]
* https://blog.jetbrains.com/kotlin/[Kotlin blog] * https://blog.jetbrains.com/kotlin/[Kotlin blog]

View File

@ -64,7 +64,7 @@ goal] with a `repackage` execution id.
* Sensible * Sensible
https://maven.apache.org/plugins/maven-resources-plugin/examples/filter.html[resource https://maven.apache.org/plugins/maven-resources-plugin/examples/filter.html[resource
filtering]. filtering].
* Sensible plugin configuration (http://www.mojohaus.org/exec-maven-plugin/[exec plugin], * Sensible plugin configuration (https://www.mojohaus.org/exec-maven-plugin/[exec plugin],
https://github.com/ktoso/maven-git-commit-id-plugin[Git commit ID], and https://github.com/ktoso/maven-git-commit-id-plugin[Git commit ID], and
https://maven.apache.org/plugins/maven-shade-plugin/[shade]). https://maven.apache.org/plugins/maven-shade-plugin/[shade]).
* Sensible resource filtering for `application.properties` and `application.yml` * Sensible resource filtering for `application.properties` and `application.yml`

View File

@ -22,7 +22,7 @@ do as they were designed before this was clarified.
|=== |===
| Name | Location | Name | Location
| http://camel.apache.org/spring-boot.html[Apache Camel] | https://camel.apache.org/spring-boot.html[Apache Camel]
| https://github.com/apache/camel/tree/master/components/camel-spring-boot | https://github.com/apache/camel/tree/master/components/camel-spring-boot
| https://cxf.apache.org/docs/springboot.html[Apache CXF] | https://cxf.apache.org/docs/springboot.html[Apache CXF]
@ -31,13 +31,13 @@ do as they were designed before this was clarified.
| https://qpid.apache.org/components/jms/[Apache Qpid] | https://qpid.apache.org/components/jms/[Apache Qpid]
| https://github.com/amqphub/amqp-10-jms-spring-boot | https://github.com/amqphub/amqp-10-jms-spring-boot
| http://wicket.apache.org/[Apache Wicket] | https://wicket.apache.org/[Apache Wicket]
| https://github.com/MarcGiffing/wicket-spring-boot | https://github.com/MarcGiffing/wicket-spring-boot
| http://arangodb.com/[ArangoDB] | https://arangodb.com/[ArangoDB]
| https://github.com/arangodb/spring-boot-starter | https://github.com/arangodb/spring-boot-starter
| http://www.axonframework.org/[Axon Framework] | https://axoniq.io[Axon Framework]
| https://github.com/AxonFramework/AxonFramework | https://github.com/AxonFramework/AxonFramework
| https://azure.microsoft.com/[Azure] | https://azure.microsoft.com/[Azure]
@ -58,7 +58,7 @@ do as they were designed before this was clarified.
| https://cloudant.com/[Cloudant] | https://cloudant.com/[Cloudant]
| https://github.com/icha024/cloudant-spring-boot-starter | https://github.com/icha024/cloudant-spring-boot-starter
| http://www.couchbase.com/[Couchbase] HTTP session | https://www.couchbase.com/[Couchbase] HTTP session
| https://github.com/mkopylec/session-couchbase-spring-boot-starter | https://github.com/mkopylec/session-couchbase-spring-boot-starter
| DataSource decorating (https://github.com/p6spy/p6spy[P6Spy], https://github.com/ttddyy/datasource-proxy[datasource-proxy], https://github.com/vladmihalcea/flexy-pool[FlexyPool]) | DataSource decorating (https://github.com/p6spy/p6spy[P6Spy], https://github.com/ttddyy/datasource-proxy[datasource-proxy], https://github.com/vladmihalcea/flexy-pool[FlexyPool])
@ -79,25 +79,25 @@ do as they were designed before this was clarified.
| https://www.google.com/recaptcha[Google's reCAPTCHA] | https://www.google.com/recaptcha[Google's reCAPTCHA]
| https://github.com/mkopylec/recaptcha-spring-boot-starter | 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://github.com/graphql-java/graphql-spring-boot
| http://www.grpc.io/[gRPC] | https://www.grpc.io/[gRPC]
| https://github.com/LogNet/grpc-spring-boot-starter | https://github.com/LogNet/grpc-spring-boot-starter
| http://ha-jdbc.github.io/[HA JDBC] | https://ha-jdbc.github.io/[HA JDBC]
| https://github.com/lievendoclo/hajdbc-spring-boot | https://github.com/lievendoclo/hajdbc-spring-boot
| https://github.com/jknack/handlebars.java[Handlebars] | https://github.com/jknack/handlebars.java[Handlebars]
| https://github.com/allegro/handlebars-spring-boot-starter | https://github.com/allegro/handlebars-spring-boot-starter
| http://hdiv.org/[HDIV] | https://hdiv.org/[HDIV]
| https://github.com/hdiv/spring-boot-starter-hdiv | https://github.com/hdiv/spring-boot-starter-hdiv
| Hiatus for Spring Boot | Hiatus for Spring Boot
| https://github.com/jihor/hiatus-spring-boot | https://github.com/jihor/hiatus-spring-boot
| http://infinispan.org/[Infinispan] | https://infinispan.org/[Infinispan]
| https://github.com/infinispan/infinispan-spring-boot | https://github.com/infinispan/infinispan-spring-boot
| https://github.com/neuland/jade4j[Jade Templates] (Jade4J) | https://github.com/neuland/jade4j[Jade Templates] (Jade4J)
@ -113,36 +113,36 @@ do as they were designed before this was clarified.
| https://github.com/sbraconnier/jodconverter | https://github.com/sbraconnier/jodconverter
| JSF integration for various libraries | JSF integration for various libraries
| http://joinfaces.org | https://github.com/joinfaces/joinfaces
| http://www.liquigraph.org/[Liquigraph] | https://www.liquigraph.org/[Liquigraph]
| https://github.com/liquigraph/liquigraph | https://github.com/liquigraph/liquigraph
| https://logback.qos.ch/access.html[Logback-access] | https://logback.qos.ch/access.html[Logback-access]
| https://github.com/akihyro/logback-access-spring-boot-starter | https://github.com/akihyro/logback-access-spring-boot-starter
| http://mybatis.org/mybatis-3/[MyBatis] | https://github.com/mybatis/mybatis-3[MyBatis]
| https://github.com/mybatis/mybatis-spring-boot | https://github.com/mybatis/mybatis-spring-boot
| http://narayana.io/[Narayana] | https://github.com/jbosstm/narayana[Narayana]
| https://github.com/snowdrop/narayana-spring-boot | https://github.com/snowdrop/narayana-spring-boot
| https://github.com/nutzam/nutz[Nutz] | https://github.com/nutzam/nutz[Nutz]
| https://github.com/nutzam/nutzmore | https://github.com/nutzam/nutzmore
| http://square.github.io/okhttp/[OkHttp] | https://square.github.io/okhttp/[OkHttp]
| https://github.com/freefair/okhttp-spring-boot | https://github.com/freefair/okhttp-spring-boot
| https://developer.okta.com/[Okta] | https://developer.okta.com/[Okta]
| https://github.com/okta/okta-spring-boot | https://github.com/okta/okta-spring-boot
| http://orika-mapper.github.io/orika-docs/[Orika] | https://orika-mapper.github.io/orika-docs/[Orika]
| https://github.com/akihyro/orika-spring-boot-starter | https://github.com/akihyro/orika-spring-boot-starter
| https://www.rabbitmq.com/[RabbitMQ] (Advanced usage) | https://www.rabbitmq.com/[RabbitMQ] (Advanced usage)
| https://github.com/societe-generale/rabbitmq-advanced-spring-boot-starter | https://github.com/societe-generale/rabbitmq-advanced-spring-boot-starter
| http://resteasy.jboss.org/[RESTEasy] | https://resteasy.jboss.org/[RESTEasy]
| https://github.com/resteasy/resteasy-spring-boot | https://github.com/resteasy/resteasy-spring-boot
| https://github.com/rollbar/rollbar-java/[Rollbar] | https://github.com/rollbar/rollbar-java/[Rollbar]
@ -181,10 +181,10 @@ do as they were designed before this was clarified.
| https://github.com/valiktor/valiktor[Valiktor] | https://github.com/valiktor/valiktor[Valiktor]
| https://github.com/valiktor/valiktor/tree/master/valiktor-spring/valiktor-spring-boot-starter | https://github.com/valiktor/valiktor/tree/master/valiktor-spring/valiktor-spring-boot-starter
| http://www.wiremock.org[WireMock] and Spring REST Docs | https://github.com/tomakehurst/wiremock[WireMock] and Spring REST Docs
| https://github.com/ePages-de/restdocs-wiremock | https://github.com/ePages-de/restdocs-wiremock
| http://alexo.github.io/wro4j/[Wro4j] | https://alexo.github.io/wro4j/[Wro4j] (Advanced usage)
| https://github.com/michael-simons/wro4j-spring-boot-starter | https://github.com/michael-simons/wro4j-spring-boot-starter
|=== |===

View File

@ -3,7 +3,7 @@
xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:m="http://maven.apache.org/POM/4.0.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:m="http://maven.apache.org/POM/4.0.0"
exclude-result-prefixes="m"> exclude-result-prefixes="m">
<xsl:output method="xml" encoding="utf-8" indent="yes" <xsl:output method="xml" encoding="utf-8" indent="yes"
xslt:indent-amount="4" xmlns:xslt="http://xml.apache.org/xslt" /> xslt:indent-amount="4" xmlns:xslt="https://xml.apache.org/xslt" />
<xsl:strip-space elements="*" /> <xsl:strip-space elements="*" />
<xsl:template match="@*|node()"> <xsl:template match="@*|node()">
<xsl:copy> <xsl:copy>

View File

@ -31,7 +31,7 @@ public class AnotherExampleRestClient {
private RestTemplate restTemplate; private RestTemplate restTemplate;
public AnotherExampleRestClient(RestTemplateBuilder builder) { public AnotherExampleRestClient(RestTemplateBuilder builder) {
this.restTemplate = builder.rootUri("http://example.com").build(); this.restTemplate = builder.rootUri("https://example.com").build();
} }
protected RestTemplate getRestTemplate() { protected RestTemplate getRestTemplate() {

View File

@ -31,7 +31,7 @@ public class ExampleRestClient {
private RestTemplate restTemplate; private RestTemplate restTemplate;
public ExampleRestClient(RestTemplateBuilder builder) { public ExampleRestClient(RestTemplateBuilder builder) {
this.restTemplate = builder.rootUri("http://example.com").build(); this.restTemplate = builder.rootUri("https://example.com").build();
} }
protected RestTemplate getRestTemplate() { protected RestTemplate getRestTemplate() {

View File

@ -36,7 +36,7 @@ class HateoasController {
@RequestMapping("/resource") @RequestMapping("/resource")
public EntityModel<Map<String, String>> resource() { public EntityModel<Map<String, String>> resource() {
return new EntityModel<>(new HashMap<>(), return new EntityModel<>(new HashMap<>(),
new Link("self", "http://api.example.com")); new Link("self", "https://api.example.com"));
} }
@RequestMapping("/plain") @RequestMapping("/plain")

View File

@ -41,7 +41,7 @@ import org.springframework.web.util.UriTemplateHandler;
* {@link RequestExpectationManager} that strips the specified root URI from the request * {@link RequestExpectationManager} that strips the specified root URI from the request
* before verification. Can be used to simply test declarations when all REST calls start * before verification. Can be used to simply test declarations when all REST calls start
* the same way. For example: <pre class="code"> * the same way. For example: <pre class="code">
* RestTemplate restTemplate = new RestTemplateBuilder().rootUri("http://example.com").build(); * RestTemplate restTemplate = new RestTemplateBuilder().rootUri("https://example.com").build();
* MockRestServiceServer server = RootUriRequestExpectationManager.bindTo(restTemplate); * MockRestServiceServer server = RootUriRequestExpectationManager.bindTo(restTemplate);
* server.expect(requestTo("/hello")).andRespond(withSuccess()); * server.expect(requestTo("/hello")).andRespond(withSuccess());
* restTemplate.getForEntity("/hello", String.class); * restTemplate.getForEntity("/hello", String.class);

View File

@ -826,7 +826,7 @@ public class TestRestTemplate {
* {@link ParameterizedTypeReference} is used to pass generic type information: * {@link ParameterizedTypeReference} is used to pass generic type information:
* <pre class="code"> * <pre class="code">
* ParameterizedTypeReference&lt;List&lt;MyBean&gt;&gt; myBean = new ParameterizedTypeReference&lt;List&lt;MyBean&gt;&gt;() {}; * ParameterizedTypeReference&lt;List&lt;MyBean&gt;&gt; myBean = new ParameterizedTypeReference&lt;List&lt;MyBean&gt;&gt;() {};
* ResponseEntity&lt;List&lt;MyBean&gt;&gt; response = template.exchange(&quot;http://example.com&quot;,HttpMethod.GET, null, myBean); * ResponseEntity&lt;List&lt;MyBean&gt;&gt; response = template.exchange(&quot;https://example.com&quot;,HttpMethod.GET, null, myBean);
* </pre> * </pre>
* @param url the URL * @param url the URL
* @param method the HTTP method (GET, POST, etc) * @param method the HTTP method (GET, POST, etc)
@ -854,7 +854,7 @@ public class TestRestTemplate {
* {@link ParameterizedTypeReference} is used to pass generic type information: * {@link ParameterizedTypeReference} is used to pass generic type information:
* <pre class="code"> * <pre class="code">
* ParameterizedTypeReference&lt;List&lt;MyBean&gt;&gt; myBean = new ParameterizedTypeReference&lt;List&lt;MyBean&gt;&gt;() {}; * ParameterizedTypeReference&lt;List&lt;MyBean&gt;&gt; myBean = new ParameterizedTypeReference&lt;List&lt;MyBean&gt;&gt;() {};
* ResponseEntity&lt;List&lt;MyBean&gt;&gt; response = template.exchange(&quot;http://example.com&quot;,HttpMethod.GET, null, myBean); * ResponseEntity&lt;List&lt;MyBean&gt;&gt; response = template.exchange(&quot;https://example.com&quot;,HttpMethod.GET, null, myBean);
* </pre> * </pre>
* @param url the URL * @param url the URL
* @param method the HTTP method (GET, POST, etc) * @param method the HTTP method (GET, POST, etc)
@ -882,7 +882,7 @@ public class TestRestTemplate {
* {@link ParameterizedTypeReference} is used to pass generic type information: * {@link ParameterizedTypeReference} is used to pass generic type information:
* <pre class="code"> * <pre class="code">
* ParameterizedTypeReference&lt;List&lt;MyBean&gt;&gt; myBean = new ParameterizedTypeReference&lt;List&lt;MyBean&gt;&gt;() {}; * ParameterizedTypeReference&lt;List&lt;MyBean&gt;&gt; myBean = new ParameterizedTypeReference&lt;List&lt;MyBean&gt;&gt;() {};
* ResponseEntity&lt;List&lt;MyBean&gt;&gt; response = template.exchange(&quot;http://example.com&quot;,HttpMethod.GET, null, myBean); * ResponseEntity&lt;List&lt;MyBean&gt;&gt; response = template.exchange(&quot;https://example.com&quot;,HttpMethod.GET, null, myBean);
* </pre> * </pre>
* @param url the URL * @param url the URL
* @param method the HTTP method (GET, POST, etc) * @param method the HTTP method (GET, POST, etc)
@ -908,7 +908,7 @@ public class TestRestTemplate {
* response as {@link ResponseEntity}. Typically used in combination with the static * response as {@link ResponseEntity}. Typically used in combination with the static
* builder methods on {@code RequestEntity}, for instance: <pre class="code"> * builder methods on {@code RequestEntity}, for instance: <pre class="code">
* MyRequest body = ... * MyRequest body = ...
* RequestEntity request = RequestEntity.post(new URI(&quot;http://example.com/foo&quot;)).accept(MediaType.APPLICATION_JSON).body(body); * RequestEntity request = RequestEntity.post(new URI(&quot;https://example.com/foo&quot;)).accept(MediaType.APPLICATION_JSON).body(body);
* ResponseEntity&lt;MyResponse&gt; response = template.exchange(request, MyResponse.class); * ResponseEntity&lt;MyResponse&gt; response = template.exchange(request, MyResponse.class);
* </pre> * </pre>
* @param requestEntity the entity to write to the request * @param requestEntity the entity to write to the request
@ -929,7 +929,7 @@ public class TestRestTemplate {
* response as {@link ResponseEntity}. The given {@link ParameterizedTypeReference} is * response as {@link ResponseEntity}. The given {@link ParameterizedTypeReference} is
* used to pass generic type information: <pre class="code"> * used to pass generic type information: <pre class="code">
* MyRequest body = ... * MyRequest body = ...
* RequestEntity request = RequestEntity.post(new URI(&quot;http://example.com/foo&quot;)).accept(MediaType.APPLICATION_JSON).body(body); * RequestEntity request = RequestEntity.post(new URI(&quot;https://example.com/foo&quot;)).accept(MediaType.APPLICATION_JSON).body(body);
* ParameterizedTypeReference&lt;List&lt;MyResponse&gt;&gt; myBean = new ParameterizedTypeReference&lt;List&lt;MyResponse&gt;&gt;() {}; * ParameterizedTypeReference&lt;List&lt;MyResponse&gt;&gt; myBean = new ParameterizedTypeReference&lt;List&lt;MyResponse&gt;&gt;() {};
* ResponseEntity&lt;List&lt;MyResponse&gt;&gt; response = template.exchange(request, myBean); * ResponseEntity&lt;List&lt;MyResponse&gt;&gt; response = template.exchange(request, myBean);
* </pre> * </pre>

View File

@ -101,7 +101,7 @@ public class LocalHostUriTemplateHandlerTests {
MockEnvironment environment = new MockEnvironment(); MockEnvironment environment = new MockEnvironment();
UriTemplateHandler uriTemplateHandler = mock(UriTemplateHandler.class); UriTemplateHandler uriTemplateHandler = mock(UriTemplateHandler.class);
Map<String, ?> uriVariables = new HashMap<>(); Map<String, ?> 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)) given(uriTemplateHandler.expand("https://localhost:8080/", uriVariables))
.willReturn(uri); .willReturn(uri);
LocalHostUriTemplateHandler handler = new LocalHostUriTemplateHandler(environment, LocalHostUriTemplateHandler handler = new LocalHostUriTemplateHandler(environment,

View File

@ -74,7 +74,7 @@ public class MockServerRestTemplateCustomizerTests {
MockServerRestTemplateCustomizer customizer = new MockServerRestTemplateCustomizer( MockServerRestTemplateCustomizer customizer = new MockServerRestTemplateCustomizer(
UnorderedRequestExpectationManager.class); UnorderedRequestExpectationManager.class);
customizer.customize( customizer.customize(
new RestTemplateBuilder().rootUri("http://example.com").build()); new RestTemplateBuilder().rootUri("https://example.com").build());
assertThat(customizer.getServer()).extracting("expectationManager") assertThat(customizer.getServer()).extracting("expectationManager")
.hasAtLeastOneElementOfType(RootUriRequestExpectationManager.class); .hasAtLeastOneElementOfType(RootUriRequestExpectationManager.class);
} }
@ -83,7 +83,7 @@ public class MockServerRestTemplateCustomizerTests {
public void setDetectRootUriShouldDisableRootUriDetection() { public void setDetectRootUriShouldDisableRootUriDetection() {
this.customizer.setDetectRootUri(false); this.customizer.setDetectRootUri(false);
this.customizer.customize( this.customizer.customize(
new RestTemplateBuilder().rootUri("http://example.com").build()); new RestTemplateBuilder().rootUri("https://example.com").build());
assertThat(this.customizer.getServer()).extracting("expectationManager") assertThat(this.customizer.getServer()).extracting("expectationManager")
.hasAtLeastOneElementOfType(SimpleRequestExpectationManager.class); .hasAtLeastOneElementOfType(SimpleRequestExpectationManager.class);

View File

@ -1,5 +1,5 @@
/* /*
* Copyright 2012-2018 the original author or authors. * Copyright 2012-2019 the original author or authors.
* *
* Licensed under the Apache License, Version 2.0 (the "License"); * Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License. * you may not use this file except in compliance with the License.
@ -51,7 +51,7 @@ import static org.springframework.test.web.client.response.MockRestResponseCreat
*/ */
public class RootUriRequestExpectationManagerTests { public class RootUriRequestExpectationManagerTests {
private String uri = "http://example.com"; private String uri = "https://example.com";
@Mock @Mock
private RequestExpectationManager delegate; private RequestExpectationManager delegate;
@ -94,7 +94,7 @@ public class RootUriRequestExpectationManagerTests {
public void validateRequestWhenUriDoesNotStartWithRootUriShouldDelegateToExpectationManager() public void validateRequestWhenUriDoesNotStartWithRootUriShouldDelegateToExpectationManager()
throws Exception { throws Exception {
ClientHttpRequest request = mock(ClientHttpRequest.class); ClientHttpRequest request = mock(ClientHttpRequest.class);
given(request.getURI()).willReturn(new URI("http://spring.io/test")); given(request.getURI()).willReturn(new URI("https://spring.io/test"));
this.manager.validateRequest(request); this.manager.validateRequest(request);
verify(this.delegate).validateRequest(request); verify(this.delegate).validateRequest(request);
} }
@ -118,10 +118,11 @@ public class RootUriRequestExpectationManagerTests {
given(request.getURI()).willReturn(new URI(this.uri + "/hello")); given(request.getURI()).willReturn(new URI(this.uri + "/hello"));
given(this.delegate.validateRequest(any(ClientHttpRequest.class))) given(this.delegate.validateRequest(any(ClientHttpRequest.class)))
.willThrow(new AssertionError( .willThrow(new AssertionError(
"Request URI expected:</hello> was:<http://example.com/bad>")); "Request URI expected:</hello> was:<https://example.com/bad>"));
assertThatExceptionOfType(AssertionError.class) assertThatExceptionOfType(AssertionError.class)
.isThrownBy(() -> this.manager.validateRequest(request)) .isThrownBy(() -> this.manager.validateRequest(request))
.withMessageContaining("Request URI expected:<http://example.com/hello>"); .withMessageContaining(
"Request URI expected:<https://example.com/hello>");
} }
@Test @Test
@ -166,7 +167,7 @@ public class RootUriRequestExpectationManagerTests {
@Test @Test
public void boundRestTemplateShouldPrefixRootUri() { public void boundRestTemplateShouldPrefixRootUri() {
RestTemplate restTemplate = new RestTemplateBuilder() RestTemplate restTemplate = new RestTemplateBuilder()
.rootUri("http://example.com").build(); .rootUri("https://example.com").build();
MockRestServiceServer server = RootUriRequestExpectationManager MockRestServiceServer server = RootUriRequestExpectationManager
.bindTo(restTemplate); .bindTo(restTemplate);
server.expect(requestTo("/hello")).andRespond(withSuccess()); server.expect(requestTo("/hello")).andRespond(withSuccess());
@ -176,14 +177,14 @@ public class RootUriRequestExpectationManagerTests {
@Test @Test
public void boundRestTemplateWhenUrlIncludesDomainShouldNotPrefixRootUri() { public void boundRestTemplateWhenUrlIncludesDomainShouldNotPrefixRootUri() {
RestTemplate restTemplate = new RestTemplateBuilder() RestTemplate restTemplate = new RestTemplateBuilder()
.rootUri("http://example.com").build(); .rootUri("https://example.com").build();
MockRestServiceServer server = RootUriRequestExpectationManager MockRestServiceServer server = RootUriRequestExpectationManager
.bindTo(restTemplate); .bindTo(restTemplate);
server.expect(requestTo("/hello")).andRespond(withSuccess()); server.expect(requestTo("/hello")).andRespond(withSuccess());
assertThatExceptionOfType(AssertionError.class).isThrownBy( assertThatExceptionOfType(AssertionError.class).isThrownBy(
() -> restTemplate.getForEntity("http://spring.io/hello", String.class)) () -> restTemplate.getForEntity("https://spring.io/hello", String.class))
.withMessageContaining( .withMessageContaining(
"expected:<http://example.com/hello> but was:<http://spring.io/hello>"); "expected:<https://example.com/hello> but was:<https://spring.io/hello>");
} }
} }

View File

@ -125,14 +125,14 @@ public class TestRestTemplateTests {
@Test @Test
public void getRootUriRootUriSetViaRestTemplateBuilder() { public void getRootUriRootUriSetViaRestTemplateBuilder() {
String rootUri = "http://example.com"; String rootUri = "https://example.com";
RestTemplateBuilder delegate = new RestTemplateBuilder().rootUri(rootUri); RestTemplateBuilder delegate = new RestTemplateBuilder().rootUri(rootUri);
assertThat(new TestRestTemplate(delegate).getRootUri()).isEqualTo(rootUri); assertThat(new TestRestTemplate(delegate).getRootUri()).isEqualTo(rootUri);
} }
@Test @Test
public void getRootUriRootUriSetViaLocalHostUriTemplateHandler() { public void getRootUriRootUriSetViaLocalHostUriTemplateHandler() {
String rootUri = "http://example.com"; String rootUri = "https://example.com";
TestRestTemplate template = new TestRestTemplate(); TestRestTemplate template = new TestRestTemplate();
LocalHostUriTemplateHandler templateHandler = mock( LocalHostUriTemplateHandler templateHandler = mock(
LocalHostUriTemplateHandler.class); LocalHostUriTemplateHandler.class);

View File

@ -19,7 +19,7 @@ package org.springframework.boot.configurationprocessor.json;
// Note: this class was written without inspecting the non-free org.json source code. // Note: this class was written without inspecting the non-free org.json source code.
/** /**
* Parses a JSON (<a href="http://www.ietf.org/rfc/rfc4627.txt">RFC 4627</a>) encoded * Parses a JSON (<a href="https://www.ietf.org/rfc/rfc4627.txt">RFC 4627</a>) encoded
* string into the corresponding object. Most clients of this class will use only need the * string into the corresponding object. Most clients of this class will use only need the
* {@link #JSONTokener(String) constructor} and {@link #nextValue} method. Example usage: * {@link #JSONTokener(String) constructor} and {@link #nextValue} method. Example usage:
* <pre> * <pre>

View File

@ -1,5 +1,5 @@
/* /*
* Copyright 2012-2018 the original author or authors. * Copyright 2012-2019 the original author or authors.
* *
* Licensed under the Apache License, Version 2.0 (the "License"); * Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License. * you may not use this file except in compliance with the License.
@ -25,7 +25,7 @@ import org.springframework.boot.loader.data.RandomAccessData;
* *
* @author Phillip Webb * @author Phillip Webb
* @author Andy Wilkinson * @author Andy Wilkinson
* @see <a href="http://en.wikipedia.org/wiki/Zip_%28file_format%29">Zip File Format</a> * @see <a href="https://en.wikipedia.org/wiki/Zip_%28file_format%29">Zip File Format</a>
*/ */
class CentralDirectoryEndRecord { class CentralDirectoryEndRecord {

View File

@ -1,5 +1,5 @@
/* /*
* Copyright 2012-2018 the original author or authors. * Copyright 2012-2019 the original author or authors.
* *
* Licensed under the Apache License, Version 2.0 (the "License"); * Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License. * you may not use this file except in compliance with the License.
@ -27,7 +27,7 @@ import org.springframework.boot.loader.data.RandomAccessData;
* *
* @author Phillip Webb * @author Phillip Webb
* @author Andy Wilkinson * @author Andy Wilkinson
* @see <a href="http://en.wikipedia.org/wiki/Zip_%28file_format%29">Zip File Format</a> * @see <a href="https://en.wikipedia.org/wiki/Zip_%28file_format%29">Zip File Format</a>
*/ */
final class CentralDirectoryFileHeader implements FileHeader { final class CentralDirectoryFileHeader implements FileHeader {
@ -120,9 +120,9 @@ final class CentralDirectoryFileHeader implements FileHeader {
} }
/** /**
* Decode MS-DOS Date Time details. See * Decode MS-DOS Date Time details. See <a href=
* <a href="http://mindprod.com/jgloss/zip.html">mindprod.com/jgloss/zip.html</a> for * "https://docs.microsoft.com/en-gb/windows/desktop/api/winbase/nf-winbase-dosdatetimetofiletime">
* more details of the format. * Microsoft's documentation</a> for more details of the format.
* @param datetime the date and time * @param datetime the date and time
* @return the date and time as milliseconds since the epoch * @return the date and time as milliseconds since the epoch
*/ */

View File

@ -27,7 +27,7 @@ import org.apache.maven.plugins.shade.relocation.Relocator;
import org.apache.maven.plugins.shade.resource.ResourceTransformer; import org.apache.maven.plugins.shade.resource.ResourceTransformer;
/** /**
* Extension for the <a href="http://maven.apache.org/plugins/maven-shade-plugin/">Maven * Extension for the <a href="https://maven.apache.org/plugins/maven-shade-plugin/">Maven
* shade plugin</a> to allow properties files (e.g. {@literal META-INF/spring.factories}) * shade plugin</a> to allow properties files (e.g. {@literal META-INF/spring.factories})
* to be merged without losing any information. * to be merged without losing any information.
* *

View File

@ -1,5 +1,5 @@
/* /*
* Copyright 2012-2018 the original author or authors. * Copyright 2012-2019 the original author or authors.
* *
* Licensed under the Apache License, Version 2.0 (the "License"); * Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License. * you may not use this file except in compliance with the License.
@ -108,7 +108,7 @@ public class RepackageMojo extends AbstractDependencyFilterMojo {
* the main artifact will be used as source and the repackaged archive will be * the main artifact will be used as source and the repackaged archive will be
* attached as a supplemental artifact with that classifier. Attaching the artifact * attached as a supplemental artifact with that classifier. Attaching the artifact
* allows to deploy it alongside to the original one, see <a href= * allows to deploy it alongside to the original one, see <a href=
* "http://maven.apache.org/plugins/maven-deploy-plugin/examples/deploying-with-classifiers.html" * "https://maven.apache.org/plugins/maven-deploy-plugin/examples/deploying-with-classifiers.html"
* > the maven documentation for more details</a>. * > the maven documentation for more details</a>.
* @since 1.0 * @since 1.0
*/ */

View File

@ -12,7 +12,7 @@
port to the integration test itself. port to the integration test itself.
The example below showcases how you could achieve the same feature using the The example below showcases how you could achieve the same feature using the
{{{http://mojo.codehaus.org/build-helper-maven-plugin/}build-helper-plugin}}: {{{https://www.mojohaus.org/build-helper-maven-plugin/}build-helper-plugin}}:
--- ---
<project> <project>

View File

@ -33,7 +33,7 @@ Spring Boot Maven Plugin
more specific use cases are described in the examples given below. more specific use cases are described in the examples given below.
In case you still have questions regarding the plugin's usage, please have a look at the existing In case you still have questions regarding the plugin's usage, please have a look at the existing
{{{http://stackoverflow.com/questions/tagged/spring-boot}stack overflow issue}}. If you still don't get an {{{https://stackoverflow.com/questions/tagged/spring-boot}stack overflow issue}}. If you still don't get an
answer, feel free to create a new thread with the <<<#spring-boot>>> tag. answer, feel free to create a new thread with the <<<#spring-boot>>> tag.
If you feel like the plugin is missing a feature or has a defect, you can fill a feature request or bug report If you feel like the plugin is missing a feature or has a defect, you can fill a feature request or bug report

View File

@ -253,7 +253,7 @@ spring.devtools.remote.restart.enabled=false
</build> </build>
--- ---
Such setup can now use the {{{http://maven.apache.org/surefire/maven-failsafe-plugin/}failsafe-plugin}} to Such setup can now use the {{{https://maven.apache.org/surefire/maven-failsafe-plugin/}failsafe-plugin}} to
run your integration tests as you would expect. run your integration tests as you would expect.
You could also configure a more advanced setup to skip the integration tests when a specific property has You could also configure a more advanced setup to skip the integration tests when a specific property has

View File

@ -121,7 +121,7 @@ public final class AnsiColors {
: (1.0 / 3.0) * Math.pow(29.0 / 6.0, 2) * t + (4.0 / 29.0); : (1.0 / 3.0) * Math.pow(29.0 / 6.0, 2) * t + (4.0 / 29.0);
} }
// See http://en.wikipedia.org/wiki/Color_difference#CIE94 // See https://en.wikipedia.org/wiki/Color_difference#CIE94
public double getDistance(LabColor other) { public double getDistance(LabColor other) {
double c1 = Math.sqrt(this.a * this.a + this.b * this.b); double c1 = Math.sqrt(this.a * this.a + this.b * this.b);
double deltaC = c1 - Math.sqrt(other.a * other.a + other.b * other.b); double deltaC = c1 - Math.sqrt(other.a * other.a + other.b * other.b);

View File

@ -28,7 +28,7 @@ import org.springframework.util.StringUtils;
* *
* @author Phillip Webb * @author Phillip Webb
* @since 1.3.0 * @since 1.3.0
* @see "http://cloud.spring.io" * @see "https://cloud.spring.io"
*/ */
public enum CloudPlatform { public enum CloudPlatform {

View File

@ -34,7 +34,7 @@ import org.springframework.util.StringUtils;
/** /**
* {@link BeanFactoryPostProcessor} to automatically setup the recommended * {@link BeanFactoryPostProcessor} to automatically setup the recommended
* {@link BeanDefinition#setDependsOn(String[]) dependsOn} settings for * {@link BeanDefinition#setDependsOn(String[]) dependsOn} settings for
* <a href="http://www.atomikos.com/Documentation/SpringIntegration">correct Atomikos * <a href="https://www.atomikos.com/Documentation/SpringIntegration">correct Atomikos
* ordering</a>. * ordering</a>.
* *
* @author Phillip Webb * @author Phillip Webb

View File

@ -23,7 +23,7 @@ import org.springframework.boot.context.properties.ConfigurationProperties;
/** /**
* Bean friendly variant of * Bean friendly variant of
* <a href="http://www.atomikos.com/Documentation/JtaProperties">Atomikos configuration * <a href="https://www.atomikos.com/Documentation/JtaProperties">Atomikos configuration
* properties</a>. Allows for setter based configuration and is amiable to relaxed data * properties</a>. Allows for setter based configuration and is amiable to relaxed data
* binding. * binding.
* *
@ -191,10 +191,10 @@ public class AtomikosProperties {
* address. If you plan to run more than one transaction manager against one database * address. If you plan to run more than one transaction manager against one database
* you must set this property to a unique value or you might run into duplicate * you must set this property to a unique value or you might run into duplicate
* transaction ID (XID) problems that can be quite subtle (example: * transaction ID (XID) problems that can be quite subtle (example:
* {@literal http://fogbugz.atomikos.com/default.asp?community.6.2225.7}). If multiple * {@literal https://fogbugz.atomikos.com/default.asp?community.6.2225.7}). If
* instances need to use the same properties file then the easiest way to ensure * multiple instances need to use the same properties file then the easiest way to
* uniqueness for this property is by referencing a system property specified at VM * ensure uniqueness for this property is by referencing a system property specified
* startup. * at VM startup.
* @param uniqueName the unique name * @param uniqueName the unique name
*/ */
public void setTransactionManagerUniqueName(String uniqueName) { public void setTransactionManagerUniqueName(String uniqueName) {

View File

@ -50,7 +50,7 @@ import org.springframework.util.ResourceUtils;
import org.springframework.util.StringUtils; import org.springframework.util.StringUtils;
/** /**
* {@link LoggingSystem} for <a href="http://logging.apache.org/log4j/2.x/">Log4j 2</a>. * {@link LoggingSystem} for <a href="https://logging.apache.org/log4j/2.x/">Log4j 2</a>.
* *
* @author Daniel Fullarton * @author Daniel Fullarton
* @author Andy Wilkinson * @author Andy Wilkinson

View File

@ -53,7 +53,7 @@ import org.springframework.util.ResourceUtils;
import org.springframework.util.StringUtils; import org.springframework.util.StringUtils;
/** /**
* {@link LoggingSystem} for <a href="http://logback.qos.ch">logback</a>. * {@link LoggingSystem} for <a href="https://logback.qos.ch">logback</a>.
* *
* @author Phillip Webb * @author Phillip Webb
* @author Dave Syer * @author Dave Syer

View File

@ -99,7 +99,7 @@ public class OriginTrackedYamlLoaderTests {
OriginTrackedValue bar2 = getValue("example.foo[0].bar[1].bar2"); OriginTrackedValue bar2 = getValue("example.foo[0].bar[1].bar2");
assertThat(name.toString()).isEqualTo("springboot"); assertThat(name.toString()).isEqualTo("springboot");
assertThat(getLocation(name)).isEqualTo("22:15"); assertThat(getLocation(name)).isEqualTo("22:15");
assertThat(url.toString()).isEqualTo("http://springboot.com"); assertThat(url.toString()).isEqualTo("https://springboot.example.com/");
assertThat(getLocation(url)).isEqualTo("23:14"); assertThat(getLocation(url)).isEqualTo("23:14");
assertThat(bar1.toString()).isEqualTo("baz"); assertThat(bar1.toString()).isEqualTo("baz");
assertThat(getLocation(bar1)).isEqualTo("25:19"); assertThat(getLocation(bar1)).isEqualTo("25:19");

View File

@ -110,9 +110,9 @@ public class RestTemplateBuilderTests {
@Test @Test
public void rootUriShouldApply() { public void rootUriShouldApply() {
RestTemplate restTemplate = this.builder.rootUri("http://example.com").build(); RestTemplate restTemplate = this.builder.rootUri("https://example.com").build();
MockRestServiceServer server = MockRestServiceServer.bindTo(restTemplate).build(); MockRestServiceServer server = MockRestServiceServer.bindTo(restTemplate).build();
server.expect(requestTo("http://example.com/hello")).andRespond(withSuccess()); server.expect(requestTo("https://example.com/hello")).andRespond(withSuccess());
restTemplate.getForEntity("/hello", String.class); restTemplate.getForEntity("/hello", String.class);
server.verify(); server.verify();
} }
@ -121,11 +121,11 @@ public class RestTemplateBuilderTests {
public void rootUriShouldApplyAfterUriTemplateHandler() { public void rootUriShouldApplyAfterUriTemplateHandler() {
UriTemplateHandler uriTemplateHandler = mock(UriTemplateHandler.class); UriTemplateHandler uriTemplateHandler = mock(UriTemplateHandler.class);
RestTemplate template = this.builder.uriTemplateHandler(uriTemplateHandler) RestTemplate template = this.builder.uriTemplateHandler(uriTemplateHandler)
.rootUri("http://example.com").build(); .rootUri("https://example.com").build();
UriTemplateHandler handler = template.getUriTemplateHandler(); UriTemplateHandler handler = template.getUriTemplateHandler();
handler.expand("/hello"); handler.expand("/hello");
assertThat(handler).isInstanceOf(RootUriTemplateHandler.class); assertThat(handler).isInstanceOf(RootUriTemplateHandler.class);
verify(uriTemplateHandler).expand("http://example.com/hello"); verify(uriTemplateHandler).expand("https://example.com/hello");
} }
@Test @Test

View File

@ -1,5 +1,5 @@
/* /*
* Copyright 2012-2018 the original author or authors. * Copyright 2012-2019 the original author or authors.
* *
* Licensed under the Apache License, Version 2.0 (the "License"); * Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License. * you may not use this file except in compliance with the License.
@ -54,8 +54,8 @@ public class RootUriTemplateHandlerTests {
@SuppressWarnings("unchecked") @SuppressWarnings("unchecked")
public void setup() throws URISyntaxException { public void setup() throws URISyntaxException {
MockitoAnnotations.initMocks(this); MockitoAnnotations.initMocks(this);
this.uri = new URI("http://example.com/hello"); this.uri = new URI("https://example.com/hello");
this.handler = new RootUriTemplateHandler("http://example.com", this.delegate); this.handler = new RootUriTemplateHandler("https://example.com", this.delegate);
given(this.delegate.expand(anyString(), any(Map.class))).willReturn(this.uri); given(this.delegate.expand(anyString(), any(Map.class))).willReturn(this.uri);
given(this.delegate.expand(anyString(), any(Object[].class))) given(this.delegate.expand(anyString(), any(Object[].class)))
.willReturn(this.uri); .willReturn(this.uri);
@ -71,7 +71,7 @@ public class RootUriTemplateHandlerTests {
@Test @Test
public void createWithNullHandlerShouldThrowException() { public void createWithNullHandlerShouldThrowException() {
assertThatIllegalArgumentException() assertThatIllegalArgumentException()
.isThrownBy(() -> new RootUriTemplateHandler("http://example.com", null)) .isThrownBy(() -> new RootUriTemplateHandler("https://example.com", null))
.withMessageContaining("Handler must not be null"); .withMessageContaining("Handler must not be null");
} }
@ -79,15 +79,15 @@ public class RootUriTemplateHandlerTests {
public void expandMapVariablesShouldPrefixRoot() { public void expandMapVariablesShouldPrefixRoot() {
HashMap<String, Object> uriVariables = new HashMap<>(); HashMap<String, Object> uriVariables = new HashMap<>();
URI expanded = this.handler.expand("/hello", uriVariables); URI expanded = this.handler.expand("/hello", uriVariables);
verify(this.delegate).expand("http://example.com/hello", uriVariables); verify(this.delegate).expand("https://example.com/hello", uriVariables);
assertThat(expanded).isEqualTo(this.uri); assertThat(expanded).isEqualTo(this.uri);
} }
@Test @Test
public void expandMapVariablesWhenPathDoesNotStartWithSlashShouldNotPrefixRoot() { public void expandMapVariablesWhenPathDoesNotStartWithSlashShouldNotPrefixRoot() {
HashMap<String, Object> uriVariables = new HashMap<>(); HashMap<String, Object> uriVariables = new HashMap<>();
URI expanded = this.handler.expand("http://spring.io/hello", uriVariables); URI expanded = this.handler.expand("https://spring.io/hello", uriVariables);
verify(this.delegate).expand("http://spring.io/hello", uriVariables); verify(this.delegate).expand("https://spring.io/hello", uriVariables);
assertThat(expanded).isEqualTo(this.uri); assertThat(expanded).isEqualTo(this.uri);
} }
@ -95,15 +95,15 @@ public class RootUriTemplateHandlerTests {
public void expandArrayVariablesShouldPrefixRoot() { public void expandArrayVariablesShouldPrefixRoot() {
Object[] uriVariables = new Object[0]; Object[] uriVariables = new Object[0];
URI expanded = this.handler.expand("/hello", uriVariables); URI expanded = this.handler.expand("/hello", uriVariables);
verify(this.delegate).expand("http://example.com/hello", uriVariables); verify(this.delegate).expand("https://example.com/hello", uriVariables);
assertThat(expanded).isEqualTo(this.uri); assertThat(expanded).isEqualTo(this.uri);
} }
@Test @Test
public void expandArrayVariablesWhenPathDoesNotStartWithSlashShouldNotPrefixRoot() { public void expandArrayVariablesWhenPathDoesNotStartWithSlashShouldNotPrefixRoot() {
Object[] uriVariables = new Object[0]; Object[] uriVariables = new Object[0];
URI expanded = this.handler.expand("http://spring.io/hello", uriVariables); URI expanded = this.handler.expand("https://spring.io/hello", uriVariables);
verify(this.delegate).expand("http://spring.io/hello", uriVariables); verify(this.delegate).expand("https://spring.io/hello", uriVariables);
assertThat(expanded).isEqualTo(this.uri); assertThat(expanded).isEqualTo(this.uri);
} }
@ -111,10 +111,10 @@ public class RootUriTemplateHandlerTests {
public void applyShouldWrapExistingTemplate() { public void applyShouldWrapExistingTemplate() {
RestTemplate restTemplate = new RestTemplate(); RestTemplate restTemplate = new RestTemplate();
restTemplate.setUriTemplateHandler(this.delegate); restTemplate.setUriTemplateHandler(this.delegate);
this.handler = RootUriTemplateHandler.addTo(restTemplate, "http://example.com"); this.handler = RootUriTemplateHandler.addTo(restTemplate, "https://example.com");
Object[] uriVariables = new Object[0]; Object[] uriVariables = new Object[0];
URI expanded = this.handler.expand("/hello", uriVariables); URI expanded = this.handler.expand("/hello", uriVariables);
verify(this.delegate).expand("http://example.com/hello", uriVariables); verify(this.delegate).expand("https://example.com/hello", uriVariables);
assertThat(expanded).isEqualTo(this.uri); assertThat(expanded).isEqualTo(this.uri);
} }

View File

@ -1,4 +1,4 @@
# http://docs.ansible.com/ansible/YAMLSyntax.html # https://docs.ansible.com/ansible/YAMLSyntax.html
name: Martin D'vloper name: Martin D'vloper
job: Developer job: Developer
@ -20,7 +20,7 @@ education: |
example: example:
foo: foo:
- name: springboot - name: springboot
url: http://springboot.com url: https://springboot.example.com/
bar: bar:
- bar1: baz - bar1: baz
- bar2: bling - bar2: bling

View File

@ -11,7 +11,7 @@
<div class="container"> <div class="container">
<div class="navbar"> <div class="navbar">
<div class="navbar-inner"> <div class="navbar-inner">
<a class="brand" href="http://freemarker.org/"> FreeMarker - <a class="brand" href="https://freemarker.apache.org/"> FreeMarker -
Plain </a> Plain </a>
<ul class="nav"> <ul class="nav">
<li><a href="${home}"> Home </a></li> <li><a href="${home}"> Home </a></li>

View File

@ -11,7 +11,7 @@
<div class="container"> <div class="container">
<div class="navbar"> <div class="navbar">
<div class="navbar-inner"> <div class="navbar-inner">
<a class="brand" href="http://freemarker.org/"> FreeMarker - <a class="brand" href="https://freemarker.apache.org/"> FreeMarker -
Plain </a> Plain </a>
<ul class="nav"> <ul class="nav">
<li><a href="${home}"> Home </a></li> <li><a href="${home}"> Home </a></li>

View File

@ -11,7 +11,7 @@
<div class="container"> <div class="container">
<div class="navbar"> <div class="navbar">
<div class="navbar-inner"> <div class="navbar-inner">
<a class="brand" href="http://freemarker.org/"> FreeMarker - <a class="brand" href="https://freemarker.apache.org/"> FreeMarker -
Plain </a> Plain </a>
<ul class="nav"> <ul class="nav">
<li><a href="${home}"> Home </a></li> <li><a href="${home}"> Home </a></li>

View File

@ -11,7 +11,7 @@
<div class="container"> <div class="container">
<div class="navbar"> <div class="navbar">
<div class="navbar-inner"> <div class="navbar-inner">
<a class="brand" href="http://freemarker.org/"> FreeMarker - <a class="brand" href="https://freemarker.apache.org/"> FreeMarker -
Plain </a> Plain </a>
<ul class="nav"> <ul class="nav">
<li><a href="${home}"> Home </a></li> <li><a href="${home}"> Home </a></li>

View File

@ -1,13 +1,13 @@
/*! /*!
* jQuery JavaScript Library v1.9.0 * jQuery JavaScript Library v1.9.0
* http://jquery.com/ * https://jquery.com/
* *
* Includes Sizzle.js * Includes Sizzle.js
* http://sizzlejs.com/ * https://sizzlejs.com/
* *
* Copyright 2005, 2012 jQuery Foundation, Inc. and other contributors * Copyright 2005, 2012 jQuery Foundation, Inc. and other contributors
* Released under the MIT license * Released under the MIT license
* http://jquery.org/license * https://jquery.org/license
* *
* Date: 2013-1-14 * Date: 2013-1-14
*/ */
@ -535,7 +535,7 @@ jQuery.extend({
if ( data ) { if ( data ) {
// Make sure the incoming data is actual JSON // Make sure the incoming data is actual JSON
// Logic borrowed from http://json.org/json2.js // Logic borrowed from https://json.org/json2.js
if ( rvalidchars.test( data.replace( rvalidescape, "@" ) if ( rvalidchars.test( data.replace( rvalidescape, "@" )
.replace( rvalidtokens, "]" ) .replace( rvalidtokens, "]" )
.replace( rvalidbraces, "")) ) { .replace( rvalidbraces, "")) ) {
@ -576,7 +576,7 @@ jQuery.extend({
// Evaluates a script in a global context // Evaluates a script in a global context
// Workarounds based on findings by Jim Driscoll // Workarounds based on findings by Jim Driscoll
// http://weblogs.java.net/blog/driscoll/archive/2009/09/08/eval-javascript-global-context // https://weblogs.java.net/blog/driscoll/archive/2009/09/08/eval-javascript-global-context
globalEval: function( data ) { globalEval: function( data ) {
if ( data && jQuery.trim( data ) ) { if ( data && jQuery.trim( data ) ) {
// We use execScript on Internet Explorer // We use execScript on Internet Explorer
@ -872,7 +872,7 @@ jQuery.ready.promise = function( obj ) {
// Catch cases where $(document).ready() is called after the browser event has already occurred. // Catch cases where $(document).ready() is called after the browser event has already occurred.
// we once tried to use readyState "interactive" here, but it caused issues like the one // we once tried to use readyState "interactive" here, but it caused issues like the one
// discovered by ChrisS here: http://bugs.jquery.com/ticket/12282#comment:15 // discovered by ChrisS here: https://bugs.jquery.com/ticket/12282#comment:15
if ( document.readyState === "complete" ) { if ( document.readyState === "complete" ) {
// Handle it asynchronously to allow scripts the opportunity to delay ready // Handle it asynchronously to allow scripts the opportunity to delay ready
setTimeout( jQuery.ready ); setTimeout( jQuery.ready );
@ -1956,7 +1956,7 @@ jQuery.fn.extend({
}); });
}, },
// Based off of the plugin by Clint Helfers, with permission. // Based off of the plugin by Clint Helfers, with permission.
// http://blindsignals.com/index.php/2009/07/jquery-delay/ // http://blindsignals.com
delay: function( time, type ) { delay: function( time, type ) {
time = jQuery.fx ? jQuery.fx.speeds[ time ] || time : time; time = jQuery.fx ? jQuery.fx.speeds[ time ] || time : time;
type = type || "fx"; type = type || "fx";
@ -2448,7 +2448,7 @@ jQuery.extend({
tabIndex: { tabIndex: {
get: function( elem ) { get: function( elem ) {
// elem.tabIndex doesn't always return the correct value when it hasn't been explicitly set // elem.tabIndex doesn't always return the correct value when it hasn't been explicitly set
// http://fluidproject.org/blog/2008/01/09/getting-setting-and-removing-tabindex-values-with-javascript/ // https://fluidproject.org/blog/2008/01/09/getting-setting-and-removing-tabindex-values-with-javascript/
var attributeNode = elem.getAttributeNode("tabindex"); var attributeNode = elem.getAttributeNode("tabindex");
return attributeNode && attributeNode.specified ? return attributeNode && attributeNode.specified ?
@ -2583,7 +2583,7 @@ if ( !getSetAttribute ) {
// Some attributes require a special call on IE // Some attributes require a special call on IE
// http://msdn.microsoft.com/en-us/library/ms536429%28VS.85%29.aspx // https://msdn.microsoft.com/en-us/library/ms536429%28VS.85%29.aspx
if ( !jQuery.support.hrefNormalized ) { if ( !jQuery.support.hrefNormalized ) {
jQuery.each([ "href", "src", "width", "height" ], function( i, name ) { jQuery.each([ "href", "src", "width", "height" ], function( i, name ) {
jQuery.attrHooks[ name ] = jQuery.extend( jQuery.attrHooks[ name ], { jQuery.attrHooks[ name ] = jQuery.extend( jQuery.attrHooks[ name ], {
@ -3325,7 +3325,7 @@ jQuery.Event = function( src, props ) {
}; };
// jQuery.Event is based on DOM3 Events as specified by the ECMAScript Language Binding // jQuery.Event is based on DOM3 Events as specified by the ECMAScript Language Binding
// http://www.w3.org/TR/2003/WD-DOM-Level-3-Events-20030331/ecma-script-binding.html // https://www.w3.org/TR/2003/WD-DOM-Level-3-Events-20030331/ecma-script-binding.html
jQuery.Event.prototype = { jQuery.Event.prototype = {
isDefaultPrevented: returnFalse, isDefaultPrevented: returnFalse,
isPropagationStopped: returnFalse, isPropagationStopped: returnFalse,
@ -3674,7 +3674,7 @@ jQuery.each( ("blur focus focusin focusout load resize scroll unload click dblcl
* Sizzle CSS Selector Engine * Sizzle CSS Selector Engine
* Copyright 2012 jQuery Foundation and other contributors * Copyright 2012 jQuery Foundation and other contributors
* Released under the MIT license * Released under the MIT license
* http://sizzlejs.com/ * https://sizzlejs.com/
*/ */
(function( window, undefined ) { (function( window, undefined ) {
@ -3732,17 +3732,17 @@ var i,
// Regular expressions // Regular expressions
// Whitespace characters http://www.w3.org/TR/css3-selectors/#whitespace // Whitespace characters https://www.w3.org/TR/css3-selectors/#whitespace
whitespace = "[\\x20\\t\\r\\n\\f]", whitespace = "[\\x20\\t\\r\\n\\f]",
// http://www.w3.org/TR/css3-syntax/#characters // https://www.w3.org/TR/css3-syntax/#characters
characterEncoding = "(?:\\\\.|[\\w-]|[^\\x00-\\xa0])+", characterEncoding = "(?:\\\\.|[\\w-]|[^\\x00-\\xa0])+",
// Loosely modeled on CSS identifier characters // Loosely modeled on CSS identifier characters
// An unquoted value should be a CSS identifier http://www.w3.org/TR/css3-selectors/#attribute-selectors // An unquoted value should be a CSS identifier https://www.w3.org/TR/css3-selectors/#attribute-selectors
// Proper syntax: http://www.w3.org/TR/CSS21/syndata.html#value-def-identifier // Proper syntax: https://www.w3.org/TR/CSS21/syndata.html#value-def-identifier
identifier = characterEncoding.replace( "w", "w#" ), identifier = characterEncoding.replace( "w", "w#" ),
// Acceptable operators http://www.w3.org/TR/selectors/#attribute-selectors // Acceptable operators https://www.w3.org/TR/selectors/#attribute-selectors
operators = "([*^$|!~]?=)", operators = "([*^$|!~]?=)",
attributes = "\\[" + whitespace + "*(" + characterEncoding + ")" + whitespace + attributes = "\\[" + whitespace + "*(" + characterEncoding + ")" + whitespace +
"*(?:" + operators + whitespace + "*(?:(['\"])((?:\\\\.|[^\\\\])*?)\\3|(" + identifier + ")|)|)" + whitespace + "*\\]", "*(?:" + operators + whitespace + "*(?:(['\"])((?:\\\\.|[^\\\\])*?)\\3|(" + identifier + ")|)|)" + whitespace + "*\\]",
@ -3792,7 +3792,7 @@ var i,
rescape = /'|\\/g, rescape = /'|\\/g,
rattributeQuotes = /\=[\x20\t\r\n\f]*([^'"\]]*)[\x20\t\r\n\f]*\]/g, rattributeQuotes = /\=[\x20\t\r\n\f]*([^'"\]]*)[\x20\t\r\n\f]*\]/g,
// CSS escapes http://www.w3.org/TR/CSS21/syndata.html#escaped-characters // CSS escapes https://www.w3.org/TR/CSS21/syndata.html#escaped-characters
runescape = /\\([\da-fA-F]{1,6}[\x20\t\r\n\f]?|.)/g, runescape = /\\([\da-fA-F]{1,6}[\x20\t\r\n\f]?|.)/g,
funescape = function( _, escaped ) { funescape = function( _, escaped ) {
var high = "0x" + escaped - 0x10000; var high = "0x" + escaped - 0x10000;
@ -4175,7 +4175,7 @@ setDocument = Sizzle.setDocument = function( node ) {
// This is to test IE's treatment of not explictly // This is to test IE's treatment of not explictly
// setting a boolean content attribute, // setting a boolean content attribute,
// since its presence should be enough // since its presence should be enough
// http://bugs.jquery.com/ticket/12359 // https://bugs.jquery.com/ticket/12359
div.innerHTML = "<select><option selected=''></option></select>"; div.innerHTML = "<select><option selected=''></option></select>";
// IE8 - Some boolean attributes are not treated correctly // IE8 - Some boolean attributes are not treated correctly
@ -4184,7 +4184,7 @@ setDocument = Sizzle.setDocument = function( node ) {
} }
// Webkit/Opera - :checked should return selected option elements // Webkit/Opera - :checked should return selected option elements
// http://www.w3.org/TR/2011/REC-css3-selectors-20110929/#checked // https://www.w3.org/TR/2011/REC-css3-selectors-20110929/#checked
// IE8 throws error here and will not see later tests // IE8 throws error here and will not see later tests
if ( !div.querySelectorAll(":checked").length ) { if ( !div.querySelectorAll(":checked").length ) {
rbuggyQSA.push(":checked"); rbuggyQSA.push(":checked");
@ -4749,7 +4749,7 @@ Expr = Sizzle.selectors = {
"PSEUDO": function( pseudo, argument ) { "PSEUDO": function( pseudo, argument ) {
// pseudo-class names are case-insensitive // pseudo-class names are case-insensitive
// http://www.w3.org/TR/selectors/#pseudo-classes // https://www.w3.org/TR/selectors/#pseudo-classes
// Prioritize by case sensitivity in case custom pseudos are added with uppercase letters // Prioritize by case sensitivity in case custom pseudos are added with uppercase letters
// Remember that setFilters inherits from pseudos // Remember that setFilters inherits from pseudos
var args, var args,
@ -4833,7 +4833,7 @@ Expr = Sizzle.selectors = {
// or beginning with the identifier C immediately followed by "-". // or beginning with the identifier C immediately followed by "-".
// The matching of C against the element's language value is performed case-insensitively. // The matching of C against the element's language value is performed case-insensitively.
// The identifier C does not have to be a valid language name." // The identifier C does not have to be a valid language name."
// http://www.w3.org/TR/selectors/#lang-pseudo // https://www.w3.org/TR/selectors/#lang-pseudo
"lang": markFunction( function( lang ) { "lang": markFunction( function( lang ) {
// lang value must be a valid identifider // lang value must be a valid identifider
if ( !ridentifier.test(lang || "") ) { if ( !ridentifier.test(lang || "") ) {
@ -4880,7 +4880,7 @@ Expr = Sizzle.selectors = {
"checked": function( elem ) { "checked": function( elem ) {
// In CSS3, :checked should return both checked and selected elements // In CSS3, :checked should return both checked and selected elements
// http://www.w3.org/TR/2011/REC-css3-selectors-20110929/#checked // https://www.w3.org/TR/2011/REC-css3-selectors-20110929/#checked
var nodeName = elem.nodeName.toLowerCase(); var nodeName = elem.nodeName.toLowerCase();
return (nodeName === "input" && !!elem.checked) || (nodeName === "option" && !!elem.selected); return (nodeName === "input" && !!elem.checked) || (nodeName === "option" && !!elem.selected);
}, },
@ -4897,7 +4897,7 @@ Expr = Sizzle.selectors = {
// Contents // Contents
"empty": function( elem ) { "empty": function( elem ) {
// http://www.w3.org/TR/selectors/#empty-pseudo // https://www.w3.org/TR/selectors/#empty-pseudo
// :empty is only affected by element nodes and content nodes(including text(3), cdata(4)), // :empty is only affected by element nodes and content nodes(including text(3), cdata(4)),
// not comment, processing instructions, or others // not comment, processing instructions, or others
// Thanks to Diego Perini for the nodeName shortcut // Thanks to Diego Perini for the nodeName shortcut
@ -6377,7 +6377,7 @@ jQuery.extend({
if ( (!jQuery.support.noCloneEvent || !jQuery.support.noCloneChecked) && if ( (!jQuery.support.noCloneEvent || !jQuery.support.noCloneChecked) &&
(elem.nodeType === 1 || elem.nodeType === 11) && !jQuery.isXMLDoc(elem) ) { (elem.nodeType === 1 || elem.nodeType === 11) && !jQuery.isXMLDoc(elem) ) {
// We eschew Sizzle here for performance reasons: http://jsperf.com/getall-vs-sizzle/2 // We eschew Sizzle here for performance reasons: https://jsperf.com/getall-vs-sizzle/2
destElements = getAll( clone ); destElements = getAll( clone );
srcElements = getAll( elem ); srcElements = getAll( elem );
@ -6915,7 +6915,7 @@ if ( window.getComputedStyle ) {
// A tribute to the "awesome hack by Dean Edwards" // A tribute to the "awesome hack by Dean Edwards"
// Chrome < 17 and Safari 5.0 uses "computed value" instead of "used value" for margin-right // Chrome < 17 and Safari 5.0 uses "computed value" instead of "used value" for margin-right
// Safari 5.1.7 (at least) returns percentage for a larger set of values, but width seems to be reliably pixels // Safari 5.1.7 (at least) returns percentage for a larger set of values, but width seems to be reliably pixels
// this is against the CSSOM draft spec: http://dev.w3.org/csswg/cssom/#resolved-values // this is against the CSSOM draft spec: https://dev.w3.org/csswg/cssom/#resolved-values
if ( rnumnonpx.test( ret ) && rmargin.test( name ) ) { if ( rnumnonpx.test( ret ) && rmargin.test( name ) ) {
// Remember the original values // Remember the original values
@ -8485,7 +8485,7 @@ if ( xhrSupported ) {
// Firefox throws exceptions when accessing properties // Firefox throws exceptions when accessing properties
// of an xhr when a network error occurred // of an xhr when a network error occurred
// http://helpful.knobs-dials.com/index.php/Component_returned_failure_code:_0x80040111_(NS_ERROR_NOT_AVAILABLE) // https://helpful.knobs-dials.com/index.php/Component_returned_failure_code:_0x80040111_(NS_ERROR_NOT_AVAILABLE)
try { try {
// Was never called and is aborted or complete // Was never called and is aborted or complete

View File

@ -65,7 +65,7 @@ Simply add the `net.sf.ehcache:ehcache` dependency to the project. Since there i
default `ehcache.xml` configuration file at the root of the classpath, default `ehcache.xml` configuration file at the root of the classpath,
it is automatically used to configure the underlying `CacheManager`. it is automatically used to configure the underlying `CacheManager`.
Note that EhCache 3 uses a different format and doesn't default to `ehcache.xml` Note that EhCache 3 uses a different format and doesn't default to `ehcache.xml`
anymore. Check http://www.ehcache.org/documentation/3.0/xml.html[the documentation] anymore. Check https://www.ehcache.org/documentation/3.0/xml.html[the documentation]
for more details. for more details.
TIP: Run sample cache application using EhCache with TIP: Run sample cache application using EhCache with

View File

@ -1,5 +1,5 @@
<!DOCTYPE html> <!DOCTYPE html>
<html xmlns:th="http://www.thymeleaf.org"> <html xmlns:th="https://www.thymeleaf.org">
<head> <head>
<title>Hello</title> <title>Hello</title>
</head> </head>

View File

@ -20,7 +20,7 @@ import org.jooq.impl.TableImpl;
/** /**
* This class is generated by jOOQ. * This class is generated by jOOQ.
*/ */
@Generated(value = { "http://www.jooq.org", @Generated(value = { "https://www.jooq.org",
"jOOQ version:3.8.2" }, comments = "This class is generated by jOOQ") "jOOQ version:3.8.2" }, comments = "This class is generated by jOOQ")
@SuppressWarnings({ "all", "unchecked", "rawtypes" }) @SuppressWarnings({ "all", "unchecked", "rawtypes" })
public class Author extends TableImpl<Record> { public class Author extends TableImpl<Record> {

View File

@ -20,7 +20,7 @@ import org.jooq.impl.TableImpl;
/** /**
* This class is generated by jOOQ. * This class is generated by jOOQ.
*/ */
@Generated(value = { "http://www.jooq.org", @Generated(value = { "https://www.jooq.org",
"jOOQ version:3.8.2" }, comments = "This class is generated by jOOQ") "jOOQ version:3.8.2" }, comments = "This class is generated by jOOQ")
@SuppressWarnings({ "all", "unchecked", "rawtypes" }) @SuppressWarnings({ "all", "unchecked", "rawtypes" })
public class Book extends TableImpl<Record> { public class Book extends TableImpl<Record> {

View File

@ -19,7 +19,7 @@ import org.jooq.impl.TableImpl;
/** /**
* This class is generated by jOOQ. * This class is generated by jOOQ.
*/ */
@Generated(value = { "http://www.jooq.org", @Generated(value = { "https://www.jooq.org",
"jOOQ version:3.8.2" }, comments = "This class is generated by jOOQ") "jOOQ version:3.8.2" }, comments = "This class is generated by jOOQ")
@SuppressWarnings({ "all", "unchecked", "rawtypes" }) @SuppressWarnings({ "all", "unchecked", "rawtypes" })
public class BookStore extends TableImpl<Record> { public class BookStore extends TableImpl<Record> {

View File

@ -20,7 +20,7 @@ import org.jooq.impl.TableImpl;
/** /**
* This class is generated by jOOQ. * This class is generated by jOOQ.
*/ */
@Generated(value = { "http://www.jooq.org", @Generated(value = { "https://www.jooq.org",
"jOOQ version:3.8.2" }, comments = "This class is generated by jOOQ") "jOOQ version:3.8.2" }, comments = "This class is generated by jOOQ")
@SuppressWarnings({ "all", "unchecked", "rawtypes" }) @SuppressWarnings({ "all", "unchecked", "rawtypes" })
public class BookToBookStore extends TableImpl<Record> { public class BookToBookStore extends TableImpl<Record> {

View File

@ -15,7 +15,7 @@ import org.jooq.impl.CatalogImpl;
/** /**
* This class is generated by jOOQ. * This class is generated by jOOQ.
*/ */
@Generated(value = { "http://www.jooq.org", @Generated(value = { "https://www.jooq.org",
"jOOQ version:3.8.2" }, comments = "This class is generated by jOOQ") "jOOQ version:3.8.2" }, comments = "This class is generated by jOOQ")
@SuppressWarnings({ "all", "unchecked", "rawtypes" }) @SuppressWarnings({ "all", "unchecked", "rawtypes" })
public class DefaultCatalog extends CatalogImpl { public class DefaultCatalog extends CatalogImpl {

View File

@ -14,7 +14,7 @@ import org.jooq.impl.AbstractKeys;
* A class modelling foreign key relationships between tables of the <code>PUBLIC</code> * A class modelling foreign key relationships between tables of the <code>PUBLIC</code>
* schema * schema
*/ */
@Generated(value = { "http://www.jooq.org", @Generated(value = { "https://www.jooq.org",
"jOOQ version:3.8.2" }, comments = "This class is generated by jOOQ") "jOOQ version:3.8.2" }, comments = "This class is generated by jOOQ")
@SuppressWarnings({ "all", "unchecked", "rawtypes" }) @SuppressWarnings({ "all", "unchecked", "rawtypes" })
public class Keys { public class Keys {

View File

@ -19,7 +19,7 @@ import org.jooq.impl.TableImpl;
/** /**
* This class is generated by jOOQ. * This class is generated by jOOQ.
*/ */
@Generated(value = { "http://www.jooq.org", @Generated(value = { "https://www.jooq.org",
"jOOQ version:3.8.2" }, comments = "This class is generated by jOOQ") "jOOQ version:3.8.2" }, comments = "This class is generated by jOOQ")
@SuppressWarnings({ "all", "unchecked", "rawtypes" }) @SuppressWarnings({ "all", "unchecked", "rawtypes" })
public class Language extends TableImpl<Record> { public class Language extends TableImpl<Record> {

View File

@ -16,7 +16,7 @@ import org.jooq.impl.SchemaImpl;
/** /**
* This class is generated by jOOQ. * This class is generated by jOOQ.
*/ */
@Generated(value = { "http://www.jooq.org", @Generated(value = { "https://www.jooq.org",
"jOOQ version:3.8.2" }, comments = "This class is generated by jOOQ") "jOOQ version:3.8.2" }, comments = "This class is generated by jOOQ")
@SuppressWarnings({ "all", "unchecked", "rawtypes" }) @SuppressWarnings({ "all", "unchecked", "rawtypes" })
public class Public extends SchemaImpl { public class Public extends SchemaImpl {

View File

@ -8,7 +8,7 @@ import javax.annotation.Generated;
/** /**
* Convenience access to all tables in PUBLIC * Convenience access to all tables in PUBLIC
*/ */
@Generated(value = { "http://www.jooq.org", @Generated(value = { "https://www.jooq.org",
"jOOQ version:3.8.2" }, comments = "This class is generated by jOOQ") "jOOQ version:3.8.2" }, comments = "This class is generated by jOOQ")
@SuppressWarnings({ "all", "unchecked", "rawtypes" }) @SuppressWarnings({ "all", "unchecked", "rawtypes" })
public class Tables { public class Tables {

View File

@ -11,7 +11,7 @@ JNDI machinery.
### Postgres ### Postgres
We will use postgres as the underlying database, v9.3.5 or above is recommend. Follow We will use postgres as the underlying database, v9.3.5 or above is recommend. Follow
the installation instructions from http://www.postgresql.org/[postgresql.org] or use the installation instructions from https://www.postgresql.org/[postgresql.org] or use
a package manager to install the appropriate binaries. a package manager to install the appropriate binaries.
Once installed you will need to initialize and start the server. Once installed you will need to initialize and start the server.
@ -40,7 +40,7 @@ Finally you can type `psql bootdemo` to configure a password:
### WildFly 8.1 ### WildFly 8.1
Download an install WildFly 8.1 from http://wildfly.org/downloads/[wildfly.org]. Once Download an install WildFly 8.1 from https://wildfly.org/downloads/[wildfly.org]. Once
installed you will need to add a management user by running `$JBOSS_HOME/bin/add-user.sh` installed you will need to add a management user by running `$JBOSS_HOME/bin/add-user.sh`
(see the WildFly documentation for details). (see the WildFly documentation for details).
@ -51,7 +51,7 @@ structure:
---- ----
$ cd $JBOSS_HOME $ cd $JBOSS_HOME
mkdir -p modules/org/postgresql/main mkdir -p modules/org/postgresql/main
wget http://jdbc.postgresql.org/download/postgresql-9.3-1102.jdbc41.jar wget https://jdbc.postgresql.org/download/postgresql-9.3-1102.jdbc41.jar
mv postgresql-9.3-1102.jdbc41.jar modules/org/postgresql/main mv postgresql-9.3-1102.jdbc41.jar modules/org/postgresql/main
---- ----

View File

@ -25,9 +25,9 @@ import static org.assertj.core.api.Assertions.assertThatIllegalArgumentException
* Tests for {@link VehicleIdentificationNumber}. * Tests for {@link VehicleIdentificationNumber}.
* *
* @author Phillip Webb * @author Phillip Webb
* @see <a href="http://osherove.com/blog/2005/4/3/naming-standards-for-unit-tests.html"> * @see <a href="https://osherove.com/blog/2005/4/3/naming-standards-for-unit-tests.html">
* Naming standards for unit tests</a> * Naming standards for unit tests</a>
* @see <a href="http://joel-costigliola.github.io/assertj/">AssertJ</a> * @see <a href="https://joel-costigliola.github.io/assertj/">AssertJ</a>
*/ */
public class VehicleIdentificationNumberTests { public class VehicleIdentificationNumberTests {

View File

@ -1,5 +1,5 @@
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "https://www.w3.org/TR/html4/loose.dtd">
<html> <html>
<head> <head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">

View File

@ -1,13 +1,13 @@
/*! /*!
* jQuery JavaScript Library v1.7.2 * jQuery JavaScript Library v1.7.2
* http://jquery.com/ * https://jquery.com/
* *
* Copyright 2011, John Resig * Copyright 2011, John Resig
* Dual licensed under the MIT or GPL Version 2 licenses. * Dual licensed under the MIT or GPL Version 2 licenses.
* http://jquery.org/license * https://jquery.org/license
* *
* Includes Sizzle.js * Includes Sizzle.js
* http://sizzlejs.com/ * https://sizzlejs.com/
* Copyright 2011, The Dojo Foundation * Copyright 2011, The Dojo Foundation
* Released under the MIT, BSD, and GPL Licenses. * Released under the MIT, BSD, and GPL Licenses.
* *
@ -565,7 +565,7 @@ jQuery.extend({
} }
// Make sure the incoming data is actual JSON // Make sure the incoming data is actual JSON
// Logic borrowed from http://json.org/json2.js // Logic borrowed from https://json.org/json2.js
if ( rvalidchars.test( data.replace( rvalidescape, "@" ) if ( rvalidchars.test( data.replace( rvalidescape, "@" )
.replace( rvalidtokens, "]" ) .replace( rvalidtokens, "]" )
.replace( rvalidbraces, "")) ) { .replace( rvalidbraces, "")) ) {
@ -604,7 +604,7 @@ jQuery.extend({
// Evaluates a script in a global context // Evaluates a script in a global context
// Workarounds based on findings by Jim Driscoll // Workarounds based on findings by Jim Driscoll
// http://weblogs.java.net/blog/driscoll/archive/2009/09/08/eval-javascript-global-context // https://weblogs.java.net/blog/driscoll/archive/2009/09/08/eval-javascript-global-context
globalEval: function( data ) { globalEval: function( data ) {
if ( data && rnotwhite.test( data ) ) { if ( data && rnotwhite.test( data ) ) {
// We use execScript on Internet Explorer // We use execScript on Internet Explorer
@ -880,7 +880,7 @@ jQuery.extend({
}, },
// Use of jQuery.browser is frowned upon. // Use of jQuery.browser is frowned upon.
// More details: http://docs.jquery.com/Utilities/jQuery.browser // More details: https://docs.jquery.com/Utilities/jQuery.browser
uaMatch: function( ua ) { uaMatch: function( ua ) {
ua = ua.toLowerCase(); ua = ua.toLowerCase();
@ -2159,7 +2159,7 @@ jQuery.fn.extend({
}); });
}, },
// Based off of the plugin by Clint Helfers, with permission. // Based off of the plugin by Clint Helfers, with permission.
// http://blindsignals.com/index.php/2009/07/jquery-delay/ // http://blindsignals.com
delay: function( time, type ) { delay: function( time, type ) {
time = jQuery.fx ? jQuery.fx.speeds[ time ] || time : time; time = jQuery.fx ? jQuery.fx.speeds[ time ] || time : time;
type = type || "fx"; type = type || "fx";
@ -2688,7 +2688,7 @@ jQuery.extend({
tabIndex: { tabIndex: {
get: function( elem ) { get: function( elem ) {
// elem.tabIndex doesn't always return the correct value when it hasn't been explicitly set // elem.tabIndex doesn't always return the correct value when it hasn't been explicitly set
// http://fluidproject.org/blog/2008/01/09/getting-setting-and-removing-tabindex-values-with-javascript/ // https://fluidproject.org/blog/2008/01/09/getting-setting-and-removing-tabindex-values-with-javascript/
var attributeNode = elem.getAttributeNode("tabindex"); var attributeNode = elem.getAttributeNode("tabindex");
return attributeNode && attributeNode.specified ? return attributeNode && attributeNode.specified ?
@ -3551,7 +3551,7 @@ function returnTrue() {
} }
// jQuery.Event is based on DOM3 Events as specified by the ECMAScript Language Binding // jQuery.Event is based on DOM3 Events as specified by the ECMAScript Language Binding
// http://www.w3.org/TR/2003/WD-DOM-Level-3-Events-20030331/ecma-script-binding.html // https://www.w3.org/TR/2003/WD-DOM-Level-3-Events-20030331/ecma-script-binding.html
jQuery.Event.prototype = { jQuery.Event.prototype = {
preventDefault: function() { preventDefault: function() {
this.isDefaultPrevented = returnTrue; this.isDefaultPrevented = returnTrue;
@ -3941,7 +3941,7 @@ jQuery.each( ("blur focus focusin focusout load resize scroll unload click dblcl
* Sizzle CSS Selector Engine * Sizzle CSS Selector Engine
* Copyright 2011, The Dojo Foundation * Copyright 2011, The Dojo Foundation
* Released under the MIT, BSD, and GPL Licenses. * Released under the MIT, BSD, and GPL Licenses.
* More information: http://sizzlejs.com/ * More information: https://sizzlejs.com/
*/ */
(function(){ (function(){
@ -6298,7 +6298,7 @@ function findInputs( elem ) {
} }
} }
// Derived From: http://www.iecss.com/shimprove/javascript/shimprove.1-0-1.js // Derived From: https://www.iecss.com/shimprove/javascript/shimprove.1-0-1.js
function shimCloneNode( elem ) { function shimCloneNode( elem ) {
var div = document.createElement( "div" ); var div = document.createElement( "div" );
safeFragment.appendChild( div ); safeFragment.appendChild( div );
@ -6735,7 +6735,7 @@ if ( document.defaultView && document.defaultView.getComputedStyle ) {
// A tribute to the "awesome hack by Dean Edwards" // A tribute to the "awesome hack by Dean Edwards"
// WebKit uses "computed value (percentage if specified)" instead of "used value" for margins // WebKit uses "computed value (percentage if specified)" instead of "used value" for margins
// which is against the CSSOM draft spec: http://dev.w3.org/csswg/cssom/#resolved-values // which is against the CSSOM draft spec: https://dev.w3.org/csswg/cssom/#resolved-values
if ( !jQuery.support.pixelMargin && computedStyle && rmargin.test( name ) && rnumnonpx.test( ret ) ) { if ( !jQuery.support.pixelMargin && computedStyle && rmargin.test( name ) && rnumnonpx.test( ret ) ) {
width = style.width; width = style.width;
style.width = ret; style.width = ret;
@ -8250,7 +8250,7 @@ if ( jQuery.support.ajax ) {
// Firefox throws exceptions when accessing properties // Firefox throws exceptions when accessing properties
// of an xhr when a network error occured // of an xhr when a network error occured
// http://helpful.knobs-dials.com/index.php/Component_returned_failure_code:_0x80040111_(NS_ERROR_NOT_AVAILABLE) // https://helpful.knobs-dials.com/index.php/Component_returned_failure_code:_0x80040111_(NS_ERROR_NOT_AVAILABLE)
try { try {
// Was never called and is aborted or complete // Was never called and is aborted or complete

View File

@ -1,20 +1,20 @@
/** /**
* jQuery Validation Plugin @VERSION * jQuery Validation Plugin @VERSION
* *
* http://bassistance.de/jquery-plugins/jquery-plugin-validation/ * https://bassistance.de/jquery-plugins/jquery-plugin-validation/
* http://docs.jquery.com/Plugins/Validation * https://docs.jquery.com/Plugins/Validation
* *
* Copyright (c) 2012 rn Zaefferer * Copyright (c) 2012 rn Zaefferer
* *
* Dual licensed under the MIT and GPL licenses: * Dual licensed under the MIT and GPL licenses:
* http://www.opensource.org/licenses/mit-license.php * https://www.opensource.org/licenses/mit-license.php
* http://www.gnu.org/licenses/gpl.html * https://www.gnu.org/licenses/gpl.html
*/ */
(function($) { (function($) {
$.extend($.fn, { $.extend($.fn, {
// http://docs.jquery.com/Plugins/Validation/validate // https://docs.jquery.com/Plugins/Validation/validate
validate: function( options ) { validate: function( options ) {
// if nothing is selected, return nothing; can't chain anyway // if nothing is selected, return nothing; can't chain anyway
@ -92,7 +92,7 @@ $.extend($.fn, {
return validator; return validator;
}, },
// http://docs.jquery.com/Plugins/Validation/valid // https://docs.jquery.com/Plugins/Validation/valid
valid: function() { valid: function() {
if ( $(this[0]).is('form')) { if ( $(this[0]).is('form')) {
return this.validate().form(); return this.validate().form();
@ -115,7 +115,7 @@ $.extend($.fn, {
}); });
return result; return result;
}, },
// http://docs.jquery.com/Plugins/Validation/rules // https://docs.jquery.com/Plugins/Validation/rules
rules: function(command, argument) { rules: function(command, argument) {
var element = this[0]; var element = this[0];
@ -167,11 +167,11 @@ $.extend($.fn, {
// Custom selectors // Custom selectors
$.extend($.expr[":"], { $.extend($.expr[":"], {
// http://docs.jquery.com/Plugins/Validation/blank // https://docs.jquery.com/Plugins/Validation/blank
blank: function(a) {return !$.trim("" + a.value);}, blank: function(a) {return !$.trim("" + a.value);},
// http://docs.jquery.com/Plugins/Validation/filled // https://docs.jquery.com/Plugins/Validation/filled
filled: function(a) {return !!$.trim("" + a.value);}, filled: function(a) {return !!$.trim("" + a.value);},
// http://docs.jquery.com/Plugins/Validation/unchecked // https://docs.jquery.com/Plugins/Validation/unchecked
unchecked: function(a) {return !a.checked;} unchecked: function(a) {return !a.checked;}
}); });
@ -264,7 +264,7 @@ $.extend($.validator, {
} }
}, },
// http://docs.jquery.com/Plugins/Validation/Validator/setDefaults // https://docs.jquery.com/Plugins/Validation/Validator/setDefaults
setDefaults: function(settings) { setDefaults: function(settings) {
$.extend( $.validator.defaults, settings ); $.extend( $.validator.defaults, settings );
}, },
@ -336,7 +336,7 @@ $.extend($.validator, {
} }
}, },
// http://docs.jquery.com/Plugins/Validation/Validator/form // https://docs.jquery.com/Plugins/Validation/Validator/form
form: function() { form: function() {
this.checkForm(); this.checkForm();
$.extend(this.submitted, this.errorMap); $.extend(this.submitted, this.errorMap);
@ -356,7 +356,7 @@ $.extend($.validator, {
return this.valid(); return this.valid();
}, },
// http://docs.jquery.com/Plugins/Validation/Validator/element // https://docs.jquery.com/Plugins/Validation/Validator/element
element: function( element ) { element: function( element ) {
element = this.validationTargetFor( this.clean( element ) ); element = this.validationTargetFor( this.clean( element ) );
this.lastElement = element; this.lastElement = element;
@ -376,7 +376,7 @@ $.extend($.validator, {
return result; return result;
}, },
// http://docs.jquery.com/Plugins/Validation/Validator/showErrors // https://docs.jquery.com/Plugins/Validation/Validator/showErrors
showErrors: function(errors) { showErrors: function(errors) {
if(errors) { if(errors) {
// add items to error list and map // add items to error list and map
@ -400,7 +400,7 @@ $.extend($.validator, {
} }
}, },
// http://docs.jquery.com/Plugins/Validation/Validator/resetForm // https://docs.jquery.com/Plugins/Validation/Validator/resetForm
resetForm: function() { resetForm: function() {
if ( $.fn.resetForm ) { if ( $.fn.resetForm ) {
$( this.currentForm ).resetForm(); $( this.currentForm ).resetForm();
@ -966,7 +966,7 @@ $.extend($.validator, {
return data; return data;
}, },
// http://docs.jquery.com/Plugins/Validation/Validator/addMethod // https://docs.jquery.com/Plugins/Validation/Validator/addMethod
addMethod: function(name, method, message) { addMethod: function(name, method, message) {
$.validator.methods[name] = method; $.validator.methods[name] = method;
$.validator.messages[name] = message !== undefined ? message : $.validator.messages[name]; $.validator.messages[name] = message !== undefined ? message : $.validator.messages[name];
@ -977,7 +977,7 @@ $.extend($.validator, {
methods: { methods: {
// http://docs.jquery.com/Plugins/Validation/Methods/required // https://docs.jquery.com/Plugins/Validation/Methods/required
required: function(value, element, param) { required: function(value, element, param) {
// check if dependency is met // check if dependency is met
if ( !this.depend(param, element) ) { if ( !this.depend(param, element) ) {
@ -994,7 +994,7 @@ $.extend($.validator, {
return $.trim(value).length > 0; return $.trim(value).length > 0;
}, },
// http://docs.jquery.com/Plugins/Validation/Methods/remote // https://docs.jquery.com/Plugins/Validation/Methods/remote
remote: function(value, element, param) { remote: function(value, element, param) {
if ( this.optional(element) ) { if ( this.optional(element) ) {
return "dependency-mismatch"; return "dependency-mismatch";
@ -1049,73 +1049,73 @@ $.extend($.validator, {
return "pending"; return "pending";
}, },
// http://docs.jquery.com/Plugins/Validation/Methods/minlength // https://docs.jquery.com/Plugins/Validation/Methods/minlength
minlength: function(value, element, param) { minlength: function(value, element, param) {
var length = $.isArray( value ) ? value.length : this.getLength($.trim(value), element); var length = $.isArray( value ) ? value.length : this.getLength($.trim(value), element);
return this.optional(element) || length >= param; return this.optional(element) || length >= param;
}, },
// http://docs.jquery.com/Plugins/Validation/Methods/maxlength // https://docs.jquery.com/Plugins/Validation/Methods/maxlength
maxlength: function(value, element, param) { maxlength: function(value, element, param) {
var length = $.isArray( value ) ? value.length : this.getLength($.trim(value), element); var length = $.isArray( value ) ? value.length : this.getLength($.trim(value), element);
return this.optional(element) || length <= param; return this.optional(element) || length <= param;
}, },
// http://docs.jquery.com/Plugins/Validation/Methods/rangelength // https://docs.jquery.com/Plugins/Validation/Methods/rangelength
rangelength: function(value, element, param) { rangelength: function(value, element, param) {
var length = $.isArray( value ) ? value.length : this.getLength($.trim(value), element); var length = $.isArray( value ) ? value.length : this.getLength($.trim(value), element);
return this.optional(element) || ( length >= param[0] && length <= param[1] ); return this.optional(element) || ( length >= param[0] && length <= param[1] );
}, },
// http://docs.jquery.com/Plugins/Validation/Methods/min // https://docs.jquery.com/Plugins/Validation/Methods/min
min: function( value, element, param ) { min: function( value, element, param ) {
return this.optional(element) || value >= param; return this.optional(element) || value >= param;
}, },
// http://docs.jquery.com/Plugins/Validation/Methods/max // https://docs.jquery.com/Plugins/Validation/Methods/max
max: function( value, element, param ) { max: function( value, element, param ) {
return this.optional(element) || value <= param; return this.optional(element) || value <= param;
}, },
// http://docs.jquery.com/Plugins/Validation/Methods/range // https://docs.jquery.com/Plugins/Validation/Methods/range
range: function( value, element, param ) { range: function( value, element, param ) {
return this.optional(element) || ( value >= param[0] && value <= param[1] ); return this.optional(element) || ( value >= param[0] && value <= param[1] );
}, },
// http://docs.jquery.com/Plugins/Validation/Methods/email // https://docs.jquery.com/Plugins/Validation/Methods/email
email: function(value, element) { email: function(value, element) {
// contributed by Scott Gonzalez: http://projects.scottsplayground.com/email_address_validation/ // contributed by Scott Gonzalez: http://projects.scottsplayground.com/email_address_validation/
return this.optional(element) || /^((([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+(\.([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+)*)|((\x22)((((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(([\x01-\x08\x0b\x0c\x0e-\x1f\x7f]|\x21|[\x23-\x5b]|[\x5d-\x7e]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(\\([\x01-\x09\x0b\x0c\x0d-\x7f]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]))))*(((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(\x22)))@((([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.)+(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))$/i.test(value); return this.optional(element) || /^((([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+(\.([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+)*)|((\x22)((((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(([\x01-\x08\x0b\x0c\x0e-\x1f\x7f]|\x21|[\x23-\x5b]|[\x5d-\x7e]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(\\([\x01-\x09\x0b\x0c\x0d-\x7f]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]))))*(((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(\x22)))@((([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.)+(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))$/i.test(value);
}, },
// http://docs.jquery.com/Plugins/Validation/Methods/url // https://docs.jquery.com/Plugins/Validation/Methods/url
url: function(value, element) { url: function(value, element) {
// contributed by Scott Gonzalez: http://projects.scottsplayground.com/iri/ // contributed by Scott Gonzalez: http://projects.scottsplayground.com/iri/
return this.optional(element) || /^(https?|ftp):\/\/(((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:)*@)?(((\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5]))|((([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.)+(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.?)(:\d*)?)(\/((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)+(\/(([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)*)*)?)?(\?((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)|[\uE000-\uF8FF]|\/|\?)*)?(\#((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)|\/|\?)*)?$/i.test(value); return this.optional(element) || /^(https?|ftp):\/\/(((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:)*@)?(((\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5]))|((([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.)+(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.?)(:\d*)?)(\/((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)+(\/(([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)*)*)?)?(\?((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)|[\uE000-\uF8FF]|\/|\?)*)?(\#((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)|\/|\?)*)?$/i.test(value);
}, },
// http://docs.jquery.com/Plugins/Validation/Methods/date // https://docs.jquery.com/Plugins/Validation/Methods/date
date: function(value, element) { date: function(value, element) {
return this.optional(element) || !/Invalid|NaN/.test(new Date(value)); return this.optional(element) || !/Invalid|NaN/.test(new Date(value));
}, },
// http://docs.jquery.com/Plugins/Validation/Methods/dateISO // https://docs.jquery.com/Plugins/Validation/Methods/dateISO
dateISO: function(value, element) { dateISO: function(value, element) {
return this.optional(element) || /^\d{4}[\/\-]\d{1,2}[\/\-]\d{1,2}$/.test(value); return this.optional(element) || /^\d{4}[\/\-]\d{1,2}[\/\-]\d{1,2}$/.test(value);
}, },
// http://docs.jquery.com/Plugins/Validation/Methods/number // https://docs.jquery.com/Plugins/Validation/Methods/number
number: function(value, element) { number: function(value, element) {
return this.optional(element) || /^-?(?:\d+|\d{1,3}(?:,\d{3})+)?(?:\.\d+)?$/.test(value); return this.optional(element) || /^-?(?:\d+|\d{1,3}(?:,\d{3})+)?(?:\.\d+)?$/.test(value);
}, },
// http://docs.jquery.com/Plugins/Validation/Methods/digits // https://docs.jquery.com/Plugins/Validation/Methods/digits
digits: function(value, element) { digits: function(value, element) {
return this.optional(element) || /^\d+$/.test(value); return this.optional(element) || /^\d+$/.test(value);
}, },
// http://docs.jquery.com/Plugins/Validation/Methods/creditcard // https://docs.jquery.com/Plugins/Validation/Methods/creditcard
// based on http://en.wikipedia.org/wiki/Luhn // based on https://en.wikipedia.org/wiki/Luhn
creditcard: function(value, element) { creditcard: function(value, element) {
if ( this.optional(element) ) { if ( this.optional(element) ) {
return "dependency-mismatch"; return "dependency-mismatch";
@ -1145,13 +1145,13 @@ $.extend($.validator, {
return (nCheck % 10) === 0; return (nCheck % 10) === 0;
}, },
// http://docs.jquery.com/Plugins/Validation/Methods/accept // https://docs.jquery.com/Plugins/Validation/Methods/accept
accept: function(value, element, param) { accept: function(value, element, param) {
param = typeof param === "string" ? param.replace(/,/g, '|') : "png|jpe?g|gif"; param = typeof param === "string" ? param.replace(/,/g, '|') : "png|jpe?g|gif";
return this.optional(element) || value.match(new RegExp(".(" + param + ")$", "i")); return this.optional(element) || value.match(new RegExp(".(" + param + ")$", "i"));
}, },
// http://docs.jquery.com/Plugins/Validation/Methods/equalTo // https://docs.jquery.com/Plugins/Validation/Methods/equalTo
equalTo: function(value, element, param) { equalTo: function(value, element, param) {
// bind to the blur event of the target in order to revalidate whenever the target field is updated // bind to the blur event of the target in order to revalidate whenever the target field is updated
// TODO find a way to bind the event just once, avoiding the unbind-rebind overhead // TODO find a way to bind the event just once, avoiding the unbind-rebind overhead

Some files were not shown because too many files have changed in this diff Show More