Fix un-ignored test - content-length should not be propagated
This commit is contained in:
@@ -96,8 +96,8 @@ public class FunctionController {
|
||||
if (logger.isDebugEnabled()) {
|
||||
logger.debug("Handled POST with function");
|
||||
}
|
||||
return ResponseEntity.ok().body(
|
||||
debug ? result.log() : response(request, function, single, result));
|
||||
return ResponseEntity.ok()
|
||||
.body(response(request, function, single, result));
|
||||
}
|
||||
|
||||
if (consumer != null) {
|
||||
@@ -157,7 +157,7 @@ public class FunctionController {
|
||||
|
||||
@GetMapping(path = "/**")
|
||||
@ResponseBody
|
||||
public Publisher<?> get(WebRequest request) {
|
||||
public ResponseEntity<Publisher<?>> get(WebRequest request) {
|
||||
@SuppressWarnings("unchecked")
|
||||
Function<Publisher<?>, Publisher<?>> function = (Function<Publisher<?>, Publisher<?>>) request
|
||||
.getAttribute(WebRequestConstants.FUNCTION, WebRequest.SCOPE_REQUEST);
|
||||
@@ -167,10 +167,19 @@ public class FunctionController {
|
||||
String argument = (String) request.getAttribute(WebRequestConstants.ARGUMENT,
|
||||
WebRequest.SCOPE_REQUEST);
|
||||
|
||||
Publisher<?> result;
|
||||
if (function != null) {
|
||||
return value(function, argument);
|
||||
result = value(function, argument);
|
||||
}
|
||||
return response(request, supplier, true, supplier(supplier));
|
||||
else {
|
||||
result = response(request, supplier, true, supplier(supplier));
|
||||
}
|
||||
if (inspector.isMessage(function)) {
|
||||
if (inspector.isMessage(function)) {
|
||||
result = Flux.from(result).map(message -> MessageUtils.unpack(function, message));
|
||||
}
|
||||
}
|
||||
return ResponseEntity.ok().body(result);
|
||||
}
|
||||
|
||||
private Publisher<?> supplier(Supplier<Publisher<?>> supplier) {
|
||||
|
||||
@@ -17,8 +17,10 @@ package org.springframework.cloud.function.web.util;
|
||||
|
||||
import java.util.Arrays;
|
||||
import java.util.Collection;
|
||||
import java.util.HashSet;
|
||||
import java.util.LinkedHashMap;
|
||||
import java.util.Map;
|
||||
import java.util.Set;
|
||||
|
||||
import org.springframework.http.HttpHeaders;
|
||||
import org.springframework.messaging.MessageHeaders;
|
||||
@@ -29,12 +31,19 @@ import org.springframework.messaging.MessageHeaders;
|
||||
*/
|
||||
public class HeaderUtils {
|
||||
|
||||
private static HttpHeaders IGNORED = new HttpHeaders();
|
||||
|
||||
static {
|
||||
IGNORED.add(MessageHeaders.ID, "");
|
||||
IGNORED.add(HttpHeaders.CONTENT_LENGTH, "0");
|
||||
}
|
||||
|
||||
public static HttpHeaders fromMessage(MessageHeaders headers, HttpHeaders request) {
|
||||
HttpHeaders result = new HttpHeaders();
|
||||
for (String name : headers.keySet()) {
|
||||
Object value = headers.get(name);
|
||||
name = name.toLowerCase();
|
||||
if (!MessageHeaders.ID.equals(name)) {
|
||||
if (!IGNORED.containsKey(name)) {
|
||||
Collection<?> values = multi(value);
|
||||
for (Object object : values) {
|
||||
result.set(name, object.toString());
|
||||
|
||||
Reference in New Issue
Block a user