Add rawStatusCode() to ServerResponse in both WebFlux and Servlet
Closes gh-22872
This commit is contained in:
		
							parent
							
								
									56c2987273
								
							
						
					
					
						commit
						7b73418418
					
				| 
						 | 
				
			
			@ -349,6 +349,11 @@ class DefaultServerResponseBuilder implements ServerResponse.BodyBuilder {
 | 
			
		|||
			return HttpStatus.valueOf(this.statusCode);
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
		@Override
 | 
			
		||||
		public int rawStatusCode() {
 | 
			
		||||
			return this.statusCode;
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
		@Override
 | 
			
		||||
		public final HttpHeaders headers() {
 | 
			
		||||
			return this.headers;
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -60,9 +60,21 @@ public interface ServerResponse {
 | 
			
		|||
 | 
			
		||||
	/**
 | 
			
		||||
	 * Return the status code of this response.
 | 
			
		||||
	 * @return the status as an HttpStatus enum value
 | 
			
		||||
	 * @throws IllegalArgumentException in case of an unknown HTTP status code
 | 
			
		||||
	 * @see HttpStatus#valueOf(int)
 | 
			
		||||
	 */
 | 
			
		||||
	HttpStatus statusCode();
 | 
			
		||||
 | 
			
		||||
	/**
 | 
			
		||||
	 * Return the (potentially non-standard) status code of this response.
 | 
			
		||||
	 * @return the status as an integer
 | 
			
		||||
	 * @since 5.2
 | 
			
		||||
	 * @see #statusCode()
 | 
			
		||||
	 * @see HttpStatus#resolve(int)
 | 
			
		||||
	 */
 | 
			
		||||
	int rawStatusCode();
 | 
			
		||||
 | 
			
		||||
	/**
 | 
			
		||||
	 * Return the headers of this response.
 | 
			
		||||
	 */
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -90,7 +90,8 @@ public class DefaultEntityResponseBuilderTests {
 | 
			
		|||
		String body = "foo";
 | 
			
		||||
		Mono<EntityResponse<String>> result = EntityResponse.fromObject(body).status(HttpStatus.CREATED).build();
 | 
			
		||||
		StepVerifier.create(result)
 | 
			
		||||
				.expectNextMatches(response -> HttpStatus.CREATED.equals(response.statusCode()))
 | 
			
		||||
				.expectNextMatches(response -> HttpStatus.CREATED.equals(response.statusCode()) &&
 | 
			
		||||
						response.rawStatusCode() == 201)
 | 
			
		||||
				.expectComplete()
 | 
			
		||||
				.verify();
 | 
			
		||||
	}
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -86,7 +86,8 @@ public class DefaultServerResponseBuilderTests {
 | 
			
		|||
	public void status() {
 | 
			
		||||
		Mono<ServerResponse> result = ServerResponse.status(HttpStatus.CREATED).build();
 | 
			
		||||
		StepVerifier.create(result)
 | 
			
		||||
				.expectNextMatches(response -> HttpStatus.CREATED.equals(response.statusCode()))
 | 
			
		||||
				.expectNextMatches(response -> HttpStatus.CREATED.equals(response.statusCode()) &&
 | 
			
		||||
						response.rawStatusCode() == 201)
 | 
			
		||||
				.expectComplete()
 | 
			
		||||
				.verify();
 | 
			
		||||
	}
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -195,6 +195,10 @@ public class RouterFunctionsTests {
 | 
			
		|||
						return HttpStatus.OK;
 | 
			
		||||
					}
 | 
			
		||||
					@Override
 | 
			
		||||
					public int rawStatusCode() {
 | 
			
		||||
						return 200;
 | 
			
		||||
					}
 | 
			
		||||
					@Override
 | 
			
		||||
					public HttpHeaders headers() {
 | 
			
		||||
						return new HttpHeaders();
 | 
			
		||||
					}
 | 
			
		||||
| 
						 | 
				
			
			@ -229,6 +233,10 @@ public class RouterFunctionsTests {
 | 
			
		|||
						return HttpStatus.OK;
 | 
			
		||||
					}
 | 
			
		||||
					@Override
 | 
			
		||||
					public int rawStatusCode() {
 | 
			
		||||
						return 200;
 | 
			
		||||
					}
 | 
			
		||||
					@Override
 | 
			
		||||
					public HttpHeaders headers() {
 | 
			
		||||
						return new HttpHeaders();
 | 
			
		||||
					}
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -264,6 +264,11 @@ class DefaultServerResponseBuilder implements ServerResponse.BodyBuilder {
 | 
			
		|||
			return HttpStatus.valueOf(this.statusCode);
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
		@Override
 | 
			
		||||
		public int rawStatusCode() {
 | 
			
		||||
			return this.statusCode;
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
		@Override
 | 
			
		||||
		public final HttpHeaders headers() {
 | 
			
		||||
			return this.headers;
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -57,9 +57,20 @@ public interface ServerResponse {
 | 
			
		|||
 | 
			
		||||
	/**
 | 
			
		||||
	 * Return the status code of this response.
 | 
			
		||||
	 * @return the status as an HttpStatus enum value
 | 
			
		||||
	 * @throws IllegalArgumentException in case of an unknown HTTP status code
 | 
			
		||||
	 * @see HttpStatus#valueOf(int)
 | 
			
		||||
	 */
 | 
			
		||||
	HttpStatus statusCode();
 | 
			
		||||
 | 
			
		||||
	/**
 | 
			
		||||
	 * Return the (potentially non-standard) status code of this response.
 | 
			
		||||
	 * @return the status as an integer
 | 
			
		||||
	 * @see #statusCode()
 | 
			
		||||
	 * @see HttpStatus#valueOf(int)
 | 
			
		||||
	 */
 | 
			
		||||
	int rawStatusCode();
 | 
			
		||||
 | 
			
		||||
	/**
 | 
			
		||||
	 * Return the headers of this response.
 | 
			
		||||
	 */
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -81,6 +81,7 @@ public class DefaultEntityResponseBuilderTests {
 | 
			
		|||
				EntityResponse.fromObject(body).status(HttpStatus.CREATED).build();
 | 
			
		||||
 | 
			
		||||
		assertThat(result.statusCode()).isEqualTo(HttpStatus.CREATED);
 | 
			
		||||
		assertThat(result.rawStatusCode()).isEqualTo(201);
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	@Test
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -67,6 +67,7 @@ public class DefaultServerResponseBuilderTests {
 | 
			
		|||
	public void status() {
 | 
			
		||||
		ServerResponse response = ServerResponse.status(HttpStatus.CREATED).build();
 | 
			
		||||
		assertThat(response.statusCode()).isEqualTo(HttpStatus.CREATED);
 | 
			
		||||
		assertThat(response.rawStatusCode()).isEqualTo(201);
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	@Test
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
		Reference in New Issue