Commit 878a635b authored by Andy Wilkinson's avatar Andy Wilkinson

Merge branch '2.1.x'

parents 3e3353e0 b7bca872
...@@ -40,5 +40,5 @@ appropriate to the circumstances. Maintainers are obligated to maintain confiden ...@@ -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/]
...@@ -66,7 +66,7 @@ added after the original pull request but before a merge. ...@@ -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. ...@@ -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 ...@@ -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. ...@@ -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
......
...@@ -112,9 +112,9 @@ public class CloudFoundryWebFluxEndpointIntegrationTests { ...@@ -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 { ...@@ -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"),
......
...@@ -107,7 +107,7 @@ public class ReactiveCloudFoundryActuatorAutoConfigurationTests { ...@@ -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 { ...@@ -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 { ...@@ -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 { ...@@ -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 { ...@@ -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 { ...@@ -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 { ...@@ -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 { ...@@ -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 { ...@@ -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 { ...@@ -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 { ...@@ -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);
......
...@@ -61,7 +61,7 @@ public class ReactiveCloudFoundrySecurityInterceptorTests { ...@@ -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))
......
...@@ -46,7 +46,7 @@ public class ReactiveCloudFoundrySecurityServiceTests { ...@@ -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;
......
...@@ -255,7 +255,7 @@ public class ReactiveTokenValidatorTests { ...@@ -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
......
...@@ -85,7 +85,7 @@ public class CloudFoundryActuatorAutoConfigurationTests { ...@@ -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 { ...@@ -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 { ...@@ -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 { ...@@ -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 { ...@@ -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 { ...@@ -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 { ...@@ -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 { ...@@ -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 { ...@@ -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))
......
...@@ -97,9 +97,9 @@ public class CloudFoundryMvcWebEndpointIntegrationTests { ...@@ -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 { ...@@ -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"),
......
...@@ -64,7 +64,7 @@ public class CloudFoundrySecurityInterceptorTests { ...@@ -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"));
......
/* /*
* 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 ...@@ -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 { ...@@ -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"
......
...@@ -179,7 +179,7 @@ public class TokenValidatorTests { ...@@ -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)
......
...@@ -106,7 +106,7 @@ public class WebClientMetricsConfigurationTests { ...@@ -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 { ...@@ -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();
......
...@@ -36,21 +36,21 @@ public class LinkTests { ...@@ -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();
} }
......
...@@ -79,9 +79,9 @@ public class WebFluxEndpointIntegrationTests extends ...@@ -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 ...@@ -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")),
......
...@@ -88,9 +88,9 @@ public class MvcWebEndpointIntegrationTests extends ...@@ -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 ...@@ -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")),
......
...@@ -54,9 +54,9 @@ public class DefaultWebClientExchangeTagsProviderTests { ...@@ -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 { ...@@ -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"),
......
...@@ -71,7 +71,7 @@ public class MetricsWebClientFilterFunctionTests { ...@@ -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 { ...@@ -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 { ...@@ -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 { ...@@ -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 { ...@@ -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)
......
...@@ -52,9 +52,9 @@ public class WebClientExchangeTagsTests { ...@@ -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 { ...@@ -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 { ...@@ -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"));
} }
......
...@@ -46,7 +46,7 @@ import org.springframework.transaction.jta.JtaTransactionManager; ...@@ -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
......
...@@ -45,7 +45,7 @@ import org.springframework.transaction.jta.JtaTransactionManager; ...@@ -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
......
...@@ -74,14 +74,14 @@ public class OAuth2ClientPropertiesRegistrationAdapterTests { ...@@ -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 { ...@@ -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 { ...@@ -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 { ...@@ -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 { ...@@ -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;
......
...@@ -168,7 +168,8 @@ public class ReactiveOAuth2ClientAutoConfigurationTests { ...@@ -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 { ...@@ -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();
} }
......
...@@ -218,7 +218,8 @@ public class OAuth2WebSecurityConfigurationTests { ...@@ -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 { ...@@ -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();
} }
......
...@@ -80,7 +80,7 @@ public class ReactiveOAuth2ResourceServerAutoConfigurationTests { ...@@ -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 { ...@@ -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 { ...@@ -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 { ...@@ -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 { ...@@ -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 { ...@@ -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 { ...@@ -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);
......
...@@ -76,7 +76,7 @@ public class OAuth2ResourceServerAutoConfigurationTests { ...@@ -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 { ...@@ -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 { ...@@ -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 { ...@@ -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 { ...@@ -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 { ...@@ -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());
......
...@@ -101,23 +101,23 @@ public class WebClientAutoConfigurationTests { ...@@ -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));
......
<!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>
......
<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>
......
...@@ -23,7 +23,7 @@ ...@@ -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">
......
@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
......
...@@ -205,7 +205,7 @@ limitations under the License ...@@ -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). ...@@ -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. ...@@ -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/
......
...@@ -44,7 +44,7 @@ import org.eclipse.aether.util.filter.DependencyFilterUtils; ...@@ -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
......
...@@ -54,7 +54,7 @@ public class AetherGrapeEngineTests { ...@@ -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 { ...@@ -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);
} }
......
/* /*
* 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; ...@@ -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";
......
/* /*
* 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 { ...@@ -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);
......
...@@ -3,7 +3,7 @@ ...@@ -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>
......
<!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 @@ ...@@ -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>
......
...@@ -3,7 +3,7 @@ ...@@ -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>
......
...@@ -40,7 +40,7 @@ import org.springframework.util.Assert; ...@@ -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:
......
/* /*
* 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 { ...@@ -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();
} }
......
...@@ -330,6 +330,6 @@ following alternatives: ...@@ -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]
...@@ -34,7 +34,7 @@ section of your `pom.xml`, as shown in the following example: ...@@ -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: ...@@ -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: ...@@ -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`. ...@@ -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.
......
...@@ -114,7 +114,7 @@ using the `cf apps` command, as shown in the following example: ...@@ -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 ...@@ -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 ...@@ -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: ...@@ -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. ...@@ -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 ...@@ -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]]
......
...@@ -131,7 +131,7 @@ The following listing shows a typical `pom.xml` 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). ...@@ -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: ...@@ -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. ...@@ -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. ...@@ -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 ...@@ -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>
......
...@@ -769,7 +769,7 @@ additional dependency. ...@@ -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 ...@@ -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: ...@@ -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 ...@@ -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. ...@@ -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 ...@@ -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>
......
...@@ -491,7 +491,7 @@ configuration permits `GET` and `POST` calls from the `example.com` domain: ...@@ -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: ...@@ -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: ...@@ -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: ...@@ -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: ...@@ -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[ ...@@ -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
......
...@@ -248,7 +248,7 @@ You can use `@DependencyManagementBom` anywhere that you can use `@Grab`. Howeve ...@@ -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: ...@@ -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:
......
...@@ -64,7 +64,7 @@ goal] with a `repackage` execution id. ...@@ -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`
......
...@@ -22,7 +22,7 @@ do as they were designed before this was clarified. ...@@ -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. ...@@ -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. ...@@ -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. ...@@ -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. ...@@ -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. ...@@ -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
|=== |===
...@@ -3,7 +3,7 @@ ...@@ -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>
......
...@@ -31,7 +31,7 @@ public class AnotherExampleRestClient { ...@@ -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() {
......
...@@ -31,7 +31,7 @@ public class ExampleRestClient { ...@@ -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() {
......
...@@ -36,7 +36,7 @@ class HateoasController { ...@@ -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")
......
...@@ -41,7 +41,7 @@ import org.springframework.web.util.UriTemplateHandler; ...@@ -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);
......
...@@ -826,7 +826,7 @@ public class TestRestTemplate { ...@@ -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 { ...@@ -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 { ...@@ -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 { ...@@ -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 { ...@@ -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>
......
...@@ -101,7 +101,7 @@ public class LocalHostUriTemplateHandlerTests { ...@@ -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,
......
...@@ -74,7 +74,7 @@ public class MockServerRestTemplateCustomizerTests { ...@@ -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 { ...@@ -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);
......
/* /*
* 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 ...@@ -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 { ...@@ -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 { ...@@ -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 { ...@@ -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 { ...@@ -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>");
} }
} }
...@@ -125,14 +125,14 @@ public class TestRestTemplateTests { ...@@ -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);
......
...@@ -19,7 +19,7 @@ package org.springframework.boot.configurationprocessor.json; ...@@ -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>
......
/* /*
* 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; ...@@ -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 {
......
/* /*
* 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; ...@@ -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 { ...@@ -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
*/ */
......
...@@ -27,7 +27,7 @@ import org.apache.maven.plugins.shade.relocation.Relocator; ...@@ -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.
* *
......
/* /*
* 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 { ...@@ -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
*/ */
......
...@@ -12,7 +12,7 @@ ...@@ -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>
......
...@@ -33,7 +33,7 @@ Spring Boot Maven Plugin ...@@ -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
......
...@@ -253,7 +253,7 @@ spring.devtools.remote.restart.enabled=false ...@@ -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
......
...@@ -121,7 +121,7 @@ public final class AnsiColors { ...@@ -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);
......
...@@ -28,7 +28,7 @@ import org.springframework.util.StringUtils; ...@@ -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 {
......
...@@ -34,7 +34,7 @@ import org.springframework.util.StringUtils; ...@@ -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
......
...@@ -23,7 +23,7 @@ import org.springframework.boot.context.properties.ConfigurationProperties; ...@@ -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 { ...@@ -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) {
......
...@@ -50,7 +50,7 @@ import org.springframework.util.ResourceUtils; ...@@ -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
......
...@@ -53,7 +53,7 @@ import org.springframework.util.ResourceUtils; ...@@ -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
......
...@@ -99,7 +99,7 @@ public class OriginTrackedYamlLoaderTests { ...@@ -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");
......
...@@ -110,9 +110,9 @@ public class RestTemplateBuilderTests { ...@@ -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 { ...@@ -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
......
/* /*
* 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 { ...@@ -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 { ...@@ -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 { ...@@ -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 { ...@@ -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 { ...@@ -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);
} }
......
# 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: | ...@@ -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
......
...@@ -11,7 +11,7 @@ ...@@ -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>
......
...@@ -11,7 +11,7 @@ ...@@ -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>
......
...@@ -11,7 +11,7 @@ ...@@ -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>
......
...@@ -11,7 +11,7 @@ ...@@ -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>
......
/*! /*!
* 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({ ...@@ -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({ ...@@ -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 ) { ...@@ -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({ ...@@ -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({ ...@@ -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 ) { ...@@ -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 ) { ...@@ -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 ...@@ -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, ...@@ -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, ...@@ -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 ) { ...@@ -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 ) { ...@@ -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 = { ...@@ -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 = { ...@@ -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 = { ...@@ -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 = { ...@@ -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({ ...@@ -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 ) { ...@@ -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 ) { ...@@ -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
......
...@@ -65,7 +65,7 @@ Simply add the `net.sf.ehcache:ehcache` dependency to the project. Since there i ...@@ -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
......
<!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>
......
...@@ -20,7 +20,7 @@ import org.jooq.impl.TableImpl; ...@@ -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> {
......
...@@ -20,7 +20,7 @@ import org.jooq.impl.TableImpl; ...@@ -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> {
......
...@@ -19,7 +19,7 @@ import org.jooq.impl.TableImpl; ...@@ -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> {
......
...@@ -20,7 +20,7 @@ import org.jooq.impl.TableImpl; ...@@ -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> {
......
...@@ -15,7 +15,7 @@ import org.jooq.impl.CatalogImpl; ...@@ -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 {
......
...@@ -14,7 +14,7 @@ import org.jooq.impl.AbstractKeys; ...@@ -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 {
......
...@@ -19,7 +19,7 @@ import org.jooq.impl.TableImpl; ...@@ -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> {
......
...@@ -16,7 +16,7 @@ import org.jooq.impl.SchemaImpl; ...@@ -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 {
......
...@@ -8,7 +8,7 @@ import javax.annotation.Generated; ...@@ -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 {
......
...@@ -11,7 +11,7 @@ JNDI machinery. ...@@ -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: ...@@ -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: ...@@ -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
---- ----
......
...@@ -25,9 +25,9 @@ import static org.assertj.core.api.Assertions.assertThatIllegalArgumentException ...@@ -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 {
......
<%@ 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">
......
/*! /*!
* 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({ ...@@ -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({ ...@@ -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({ ...@@ -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({ ...@@ -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({ ...@@ -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() { ...@@ -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 ...@@ -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 ) { ...@@ -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 ) { ...@@ -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 ) { ...@@ -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
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment