Fix condition in ServletInvocableHandlerMethod
Closes gh-23775
This commit is contained in:
@@ -31,6 +31,7 @@ import reactor.core.publisher.Flux;
|
||||
import org.springframework.core.MethodParameter;
|
||||
import org.springframework.core.ResolvableType;
|
||||
import org.springframework.core.annotation.AliasFor;
|
||||
import org.springframework.http.HttpHeaders;
|
||||
import org.springframework.http.HttpStatus;
|
||||
import org.springframework.http.ResponseEntity;
|
||||
import org.springframework.http.converter.HttpMessageConverter;
|
||||
@@ -46,6 +47,7 @@ import org.springframework.web.bind.annotation.ResponseStatus;
|
||||
import org.springframework.web.context.request.NativeWebRequest;
|
||||
import org.springframework.web.context.request.ServletWebRequest;
|
||||
import org.springframework.web.context.request.async.DeferredResult;
|
||||
import org.springframework.web.filter.ShallowEtagHeaderFilter;
|
||||
import org.springframework.web.method.annotation.RequestParamMethodArgumentResolver;
|
||||
import org.springframework.web.method.support.HandlerMethodArgumentResolverComposite;
|
||||
import org.springframework.web.method.support.HandlerMethodReturnValueHandler;
|
||||
@@ -130,7 +132,26 @@ public class ServletInvocableHandlerMethodTests {
|
||||
ServletInvocableHandlerMethod handlerMethod = getHandlerMethod(new Handler(), "notModified");
|
||||
handlerMethod.invokeAndHandle(this.webRequest, this.mavContainer);
|
||||
|
||||
assertThat(this.mavContainer.isRequestHandled()).as("Null return value + 'not modified' request should result in 'request handled'").isTrue();
|
||||
assertThat(this.mavContainer.isRequestHandled())
|
||||
.as("Null return value + 'not modified' request should result in 'request handled'")
|
||||
.isTrue();
|
||||
}
|
||||
|
||||
@Test // gh-23775
|
||||
public void invokeAndHandle_VoidNotModifiedWithEtag() throws Exception {
|
||||
String etag = "\"deadb33f8badf00d\"";
|
||||
this.request.addHeader(HttpHeaders.IF_NONE_MATCH, etag);
|
||||
this.webRequest.checkNotModified(etag);
|
||||
|
||||
ServletInvocableHandlerMethod handlerMethod = getHandlerMethod(new Handler(), "notModified");
|
||||
handlerMethod.invokeAndHandle(this.webRequest, this.mavContainer);
|
||||
|
||||
assertThat(this.mavContainer.isRequestHandled())
|
||||
.as("Null return value + 'not modified' request should result in 'request handled'")
|
||||
.isTrue();
|
||||
|
||||
assertThat(this.request.getAttribute(ShallowEtagHeaderFilter.class.getName() + ".STREAMING"))
|
||||
.isEqualTo(true);
|
||||
}
|
||||
|
||||
@Test // SPR-9159
|
||||
|
||||
Reference in New Issue
Block a user