Fix error propagation for GCP adapter

Fix tests
This commit is contained in:
dzou
2020-06-15 16:22:50 -04:00
committed by Oleg Zhurakousky
parent d6272d38df
commit aa04fca466
4 changed files with 56 additions and 16 deletions

View File

@@ -85,23 +85,18 @@ public class FunctionInvoker extends AbstractSpringFunctionAdapterInitializer<Ht
*/
@Override
public void service(HttpRequest httpRequest, HttpResponse httpResponse) throws Exception {
try {
Function<Message<BufferedReader>, Message<byte[]>> function = lookupFunction();
Function<Message<BufferedReader>, Message<byte[]>> function = lookupFunction();
Message<BufferedReader> message = getInputType() == Void.class ? null
: MessageBuilder.withPayload(httpRequest.getReader()).copyHeaders(httpRequest.getHeaders()).build();
Message<byte[]> result = function.apply(message);
Message<BufferedReader> message = getInputType() == Void.class ? null
: MessageBuilder.withPayload(httpRequest.getReader()).copyHeaders(httpRequest.getHeaders()).build();
Message<byte[]> result = function.apply(message);
if (result != null) {
httpResponse.getWriter().write(new String(result.getPayload(), StandardCharsets.UTF_8));
for (Entry<String, Object> header : result.getHeaders().entrySet()) {
httpResponse.appendHeader(header.getKey(), header.getValue().toString());
}
if (result != null) {
httpResponse.getWriter().write(new String(result.getPayload(), StandardCharsets.UTF_8));
for (Entry<String, Object> header : result.getHeaders().entrySet()) {
httpResponse.appendHeader(header.getKey(), header.getValue().toString());
}
}
finally {
httpResponse.getWriter().close();
}
}
/**