INT-1753, INT-1754 added support for returning HttpStatus as MessageHeader rehgardles of the payload to the Http Outbound Gateway. Added support forreturning with HttpStatus set by downstream endpoint to Http Inbound Gateway
This commit is contained in:
@@ -23,6 +23,7 @@ import javax.servlet.ServletException;
|
||||
import javax.servlet.http.HttpServletRequest;
|
||||
import javax.servlet.http.HttpServletResponse;
|
||||
|
||||
import org.springframework.http.HttpStatus;
|
||||
import org.springframework.http.MediaType;
|
||||
import org.springframework.http.converter.HttpMessageConverter;
|
||||
import org.springframework.http.server.ServletServerHttpRequest;
|
||||
@@ -52,6 +53,7 @@ import org.springframework.web.HttpRequestHandler;
|
||||
* the {@link #setMessageConverters(List)} method.
|
||||
*
|
||||
* @author Mark Fisher
|
||||
* @author Oleg Zhurakousky
|
||||
* @since 2.0
|
||||
*/
|
||||
public class HttpRequestHandlingMessagingGateway extends HttpRequestHandlingEndpointSupport implements HttpRequestHandler {
|
||||
@@ -96,7 +98,12 @@ public class HttpRequestHandlingMessagingGateway extends HttpRequestHandlingEndp
|
||||
if (responseContent != null) {
|
||||
ServletServerHttpRequest request = new ServletServerHttpRequest(servletRequest);
|
||||
ServletServerHttpResponse response = new ServletServerHttpResponse(servletResponse);
|
||||
this.writeResponse(responseContent, response, request.getHeaders().getAccept());
|
||||
if (responseContent instanceof HttpStatus){
|
||||
response.setStatusCode((HttpStatus) responseContent);
|
||||
}
|
||||
else {
|
||||
this.writeResponse(responseContent, response, request.getHeaders().getAccept());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -240,7 +240,9 @@ public class HttpRequestExecutingMessageHandler extends AbstractReplyProducingMe
|
||||
return replyBuilder.copyHeaders(headers).build();
|
||||
}
|
||||
else {
|
||||
return MessageBuilder.withPayload(httpResponse.getStatusCode()).copyHeaders(headers).build();
|
||||
return MessageBuilder.withPayload(httpResponse.getStatusCode()).
|
||||
copyHeaders(headers).setHeader(org.springframework.integration.http.HttpHeaders.STATUS_CODE, httpResponse.getStatusCode()).
|
||||
build();
|
||||
}
|
||||
}
|
||||
return null;
|
||||
|
||||
Reference in New Issue
Block a user