GH-864 Add support for carying HTTP request parameters in Message headers
Resolves #864
This commit is contained in:
@@ -89,7 +89,15 @@ public final class FunctionWebRequestProcessingHelper {
|
||||
|
||||
HttpHeaders headers = wrapper.getHeaders();
|
||||
|
||||
Message<?> inputMessage = argument == null ? null : MessageBuilder.withPayload(argument).copyHeaders(headers.toSingleValueMap()).build();
|
||||
Message<?> inputMessage = null;
|
||||
|
||||
if (argument != null) {
|
||||
MessageBuilder builder = MessageBuilder.withPayload(argument);
|
||||
if (!CollectionUtils.isEmpty(wrapper.getParams())) {
|
||||
builder = builder.setHeader(HeaderUtils.HTTP_REQUEST_PARAM, wrapper.getParams().toSingleValueMap());
|
||||
}
|
||||
inputMessage = builder.copyHeaders(headers.toSingleValueMap()).build();
|
||||
}
|
||||
|
||||
if (function.isRoutingFunction()) {
|
||||
function.setSkipOutputConversion(true);
|
||||
|
||||
@@ -31,6 +31,11 @@ import org.springframework.messaging.MessageHeaders;
|
||||
*/
|
||||
public final class HeaderUtils {
|
||||
|
||||
/**
|
||||
* Message Header name which contains HTTP request parameters.
|
||||
*/
|
||||
public static final String HTTP_REQUEST_PARAM = "http_request_param";
|
||||
|
||||
private static HttpHeaders IGNORED = new HttpHeaders();
|
||||
|
||||
private static HttpHeaders REQUEST_ONLY = new HttpHeaders();
|
||||
|
||||
Reference in New Issue
Block a user