From d13a1fceaf39d733d84d3d8be44b05073dfd6e6d Mon Sep 17 00:00:00 2001 From: David Turanski Date: Thu, 13 Aug 2020 13:16:13 -0400 Subject: [PATCH] Add max-buffer-size and fix app deps --- .../processor/http-request-processor/pom.xml | 1 - .../HttpRequestFunctionConfiguration.java | 4 +++- .../request/HttpRequestFunctionProperties.java | 17 +++++++++++++++++ 3 files changed, 20 insertions(+), 2 deletions(-) diff --git a/applications/processor/http-request-processor/pom.xml b/applications/processor/http-request-processor/pom.xml index 21293938..fcd612ff 100644 --- a/applications/processor/http-request-processor/pom.xml +++ b/applications/processor/http-request-processor/pom.xml @@ -69,7 +69,6 @@ org.springframework.cloud.fn http-request-function - ${project.version} diff --git a/functions/function/http-request-function/src/main/java/org/springframework/cloud/fn/http/request/HttpRequestFunctionConfiguration.java b/functions/function/http-request-function/src/main/java/org/springframework/cloud/fn/http/request/HttpRequestFunctionConfiguration.java index 61f50a3d..a68a459b 100644 --- a/functions/function/http-request-function/src/main/java/org/springframework/cloud/fn/http/request/HttpRequestFunctionConfiguration.java +++ b/functions/function/http-request-function/src/main/java/org/springframework/cloud/fn/http/request/HttpRequestFunctionConfiguration.java @@ -47,8 +47,10 @@ public class HttpRequestFunctionConfiguration { @Bean @ConditionalOnMissingBean(WebClient.class) - public WebClient webClient() { + public WebClient webClient(HttpRequestFunctionProperties properties) { return WebClient.builder() + .codecs(clientCodecConfigurer -> + clientCodecConfigurer.defaultCodecs().maxInMemorySize(properties.getMaximumBufferSize())) .build(); } diff --git a/functions/function/http-request-function/src/main/java/org/springframework/cloud/fn/http/request/HttpRequestFunctionProperties.java b/functions/function/http-request-function/src/main/java/org/springframework/cloud/fn/http/request/HttpRequestFunctionProperties.java index f180279f..12dce44c 100644 --- a/functions/function/http-request-function/src/main/java/org/springframework/cloud/fn/http/request/HttpRequestFunctionProperties.java +++ b/functions/function/http-request-function/src/main/java/org/springframework/cloud/fn/http/request/HttpRequestFunctionProperties.java @@ -17,6 +17,7 @@ package org.springframework.cloud.fn.http.request; import javax.validation.constraints.NotNull; +import javax.validation.constraints.Positive; import org.springframework.boot.context.properties.ConfigurationProperties; import org.springframework.expression.Expression; @@ -51,6 +52,13 @@ public class HttpRequestFunctionProperties { */ private long timeout = 30_000; + /** + * Maximum buffer size in bytes allocated for input stream buffers. Defaults to 256k. + * Increase, as necessary, for posting or getting large binary content. + */ + + private int maximumBufferSize = 256 * 1024; + /** * A SpEL expression against incoming message to determine the URL to use. */ @@ -111,6 +119,15 @@ public class HttpRequestFunctionProperties { this.timeout = timeout; } + @Positive + public int getMaximumBufferSize() { + return maximumBufferSize; + } + + public void setMaximumBufferSize(int maximumBufferSize) { + this.maximumBufferSize = maximumBufferSize; + } + public Expression getBodyExpression() { return bodyExpression; }