Merge branch '5.1.x'

This commit is contained in:
Juergen Hoeller 2019-07-30 22:52:20 +02:00
commit 3b235a098f
12 changed files with 32 additions and 44 deletions

View File

@ -48,7 +48,7 @@ ext {
slf4jVersion = "1.7.26" // spring-jcl + consistent 3rd party deps
tiles3Version = "3.0.8"
tomcatVersion = "9.0.22"
undertowVersion = "2.0.22.Final"
undertowVersion = "2.0.23.Final"
gradleScriptDir = "${rootProject.projectDir}/gradle"
withoutJclOverSlf4j = {

View File

@ -71,7 +71,7 @@ public class MockClientHttpResponse implements ClientHttpResponse {
@Override
public HttpStatus getStatusCode() {
return HttpStatus.resolve(this.status);
return HttpStatus.valueOf(this.status);
}
@Override
@ -81,10 +81,9 @@ public class MockClientHttpResponse implements ClientHttpResponse {
@Override
public HttpHeaders getHeaders() {
String headerName = HttpHeaders.SET_COOKIE;
if (!getCookies().isEmpty() && this.headers.get(headerName) == null) {
if (!getCookies().isEmpty() && this.headers.get(HttpHeaders.SET_COOKIE) == null) {
getCookies().values().stream().flatMap(Collection::stream)
.forEach(cookie -> getHeaders().add(headerName, cookie.toString()));
.forEach(cookie -> getHeaders().add(HttpHeaders.SET_COOKIE, cookie.toString()));
}
return this.headers;
}

View File

@ -84,5 +84,5 @@ dependencies {
testRuntime("com.sun.xml.bind:jaxb-core:2.3.0.1")
testRuntime("com.sun.xml.bind:jaxb-impl:2.3.0.1")
testRuntime("javax.json:javax.json-api:1.1.4")
testRuntime("org.apache.johnzon:johnzon-jsonb:1.1.11")
testRuntime("org.apache.johnzon:johnzon-jsonb:1.1.12")
}

View File

@ -1,5 +1,5 @@
/*
* Copyright 2002-2017 the original author or authors.
* Copyright 2002-2019 the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@ -35,10 +35,11 @@ import org.springframework.http.HttpStatus;
public interface ClientHttpResponse extends HttpInputMessage, Closeable {
/**
* Return the HTTP status code of the response.
* @return the HTTP status as an HttpStatus enum value
* Return the HTTP status code as an {@link HttpStatus} enum value.
* @return the HTTP status as an HttpStatus enum value (never {@code null})
* @throws IOException in case of I/O errors
* @throws IllegalArgumentException in case of an unknown HTTP status code
* @since #getRawStatusCode()
* @see HttpStatus#valueOf(int)
*/
HttpStatus getStatusCode() throws IOException;
@ -46,7 +47,7 @@ public interface ClientHttpResponse extends HttpInputMessage, Closeable {
/**
* Return the HTTP status code (potentially non-standard and not
* resolvable through the {@link HttpStatus} enum) as an integer.
* @return the HTTP status as an integer
* @return the HTTP status as an integer value
* @throws IOException in case of I/O errors
* @since 3.1.1
* @see #getStatusCode()

View File

@ -19,7 +19,6 @@ package org.springframework.http.client.reactive;
import org.springframework.http.HttpStatus;
import org.springframework.http.ReactiveHttpInputMessage;
import org.springframework.http.ResponseCookie;
import org.springframework.lang.Nullable;
import org.springframework.util.MultiValueMap;
/**
@ -32,18 +31,18 @@ import org.springframework.util.MultiValueMap;
public interface ClientHttpResponse extends ReactiveHttpInputMessage {
/**
* Return the HTTP status code of the response.
* @return the HTTP status as an HttpStatus enum value
* Return the HTTP status code as an {@link HttpStatus} enum value.
* @return the HTTP status as an HttpStatus enum value (never {@code null})
* @throws IllegalArgumentException in case of an unknown HTTP status code
* @see HttpStatus#resolve(int)
* @since #getRawStatusCode()
* @see HttpStatus#valueOf(int)
*/
@Nullable
HttpStatus getStatusCode();
/**
* Return the HTTP status code (potentially non-standard and not
* resolvable through the {@link HttpStatus} enum) as an integer.
* @return the HTTP status as an integer
* @return the HTTP status as an integer value
* @since 5.0.6
* @see #getStatusCode()
* @see HttpStatus#resolve(int)

View File

@ -48,7 +48,7 @@ public class ClientHttpResponseDecorator implements ClientHttpResponse {
}
// ServerHttpResponse delegation methods...
// ClientHttpResponse delegation methods...
@Override
public HttpStatus getStatusCode() {

View File

@ -53,7 +53,7 @@ class JettyClientHttpResponse implements ClientHttpResponse {
@Override
public HttpStatus getStatusCode() {
return HttpStatus.resolve(getRawStatusCode());
return HttpStatus.valueOf(getRawStatusCode());
}
@Override

View File

@ -88,7 +88,7 @@ class ReactorClientHttpResponse implements ClientHttpResponse {
@Override
public HttpStatus getStatusCode() {
return HttpStatus.resolve(getRawStatusCode());
return HttpStatus.valueOf(getRawStatusCode());
}
@Override

View File

@ -71,7 +71,7 @@ public class MockClientHttpResponse implements ClientHttpResponse {
@Override
public HttpStatus getStatusCode() {
return HttpStatus.resolve(this.status);
return HttpStatus.valueOf(this.status);
}
@Override
@ -81,10 +81,9 @@ public class MockClientHttpResponse implements ClientHttpResponse {
@Override
public HttpHeaders getHeaders() {
String headerName = HttpHeaders.SET_COOKIE;
if (!getCookies().isEmpty() && this.headers.get(headerName) == null) {
if (!getCookies().isEmpty() && this.headers.get(HttpHeaders.SET_COOKIE) == null) {
getCookies().values().stream().flatMap(Collection::stream)
.forEach(cookie -> getHeaders().add(headerName, cookie.toString()));
.forEach(cookie -> getHeaders().add(HttpHeaders.SET_COOKIE, cookie.toString()));
}
return this.headers;
}

View File

@ -36,7 +36,6 @@ import org.springframework.http.ResponseEntity;
import org.springframework.http.client.reactive.ClientHttpResponse;
import org.springframework.http.codec.HttpMessageReader;
import org.springframework.http.codec.HttpMessageWriter;
import org.springframework.lang.Nullable;
import org.springframework.util.MultiValueMap;
import org.springframework.web.reactive.function.BodyExtractor;
@ -61,17 +60,17 @@ import org.springframework.web.reactive.function.BodyExtractor;
public interface ClientResponse {
/**
* Return the status code of this response.
* @return the status as an HttpStatus enum value
* Return the HTTP status code as an {@link HttpStatus} enum value.
* @return the HTTP status as an HttpStatus enum value (never {@code null})
* @throws IllegalArgumentException in case of an unknown HTTP status code
* @see HttpStatus#resolve(int)
* @since #getRawStatusCode()
* @see HttpStatus#valueOf(int)
*/
@Nullable
HttpStatus statusCode();
/**
* Return the (potentially non-standard) status code of this response.
* @return the status as an integer
* @return the HTTP status as an integer value
* @since 5.1
* @see #statusCode()
* @see HttpStatus#resolve(int)

View File

@ -203,7 +203,7 @@ final class DefaultClientResponseBuilder implements ClientResponse.Builder {
@Override
public HttpStatus getStatusCode() {
return HttpStatus.resolve(this.statusCode);
return HttpStatus.valueOf(this.statusCode);
}
@Override

View File

@ -18,7 +18,6 @@ package org.springframework.web.reactive.function.client;
import java.nio.charset.StandardCharsets;
import org.junit.Before;
import org.junit.Test;
import reactor.core.publisher.Flux;
import reactor.test.StepVerifier;
@ -31,18 +30,15 @@ import org.springframework.http.HttpStatus;
import org.springframework.http.ResponseCookie;
import static org.assertj.core.api.Assertions.assertThat;
import static org.assertj.core.api.Assertions.assertThatIllegalArgumentException;
/**
* @author Arjen Poutsma
*/
public class DefaultClientResponseBuilderTests {
private DataBufferFactory dataBufferFactory;
private final DataBufferFactory dataBufferFactory = new DefaultDataBufferFactory();
@Before
public void createBufferFactory() {
this.dataBufferFactory = new DefaultDataBufferFactory();
}
@Test
public void normal() {
@ -102,16 +98,11 @@ public class DefaultClientResponseBuilderTests {
@Test
public void fromCustomStatus() {
ClientResponse other = ClientResponse.create(499, ExchangeStrategies.withDefaults())
.build();
ClientResponse result = ClientResponse.from(other)
.build();
ClientResponse other = ClientResponse.create(499, ExchangeStrategies.withDefaults()).build();
ClientResponse result = ClientResponse.from(other).build();
assertThat(result.rawStatusCode()).isEqualTo(499);
assertThat(result.statusCode()).isNull();
assertThatIllegalArgumentException().isThrownBy(result::statusCode);
}
}