@@ -118,7 +118,7 @@ private static void throwInnerException(Exception e) throws VaasAuthenticationEx
118118 }
119119
120120 private CompletableFuture <VaasVerdict > sendUrlWithRetry (HttpClient httpClient , URI uri , String vaasRequestId ) {
121- return CreateHttpRequestBuilderWithHeaders (uri , vaasRequestId ).thenCompose (request ->
121+ return createHttpRequestBuilderWithHeaders (uri , vaasRequestId ).thenCompose (request ->
122122 httpClient .sendAsync (request .build (), HttpResponse .BodyHandlers .ofString ())
123123 .thenCompose (handleException (response -> switch (response .statusCode ()) {
124124 case 200 -> {
@@ -135,7 +135,7 @@ private CompletableFuture<VaasVerdict> sendUrlWithRetry(HttpClient httpClient, U
135135 }
136136
137137 private CompletableFuture <VaasVerdict > sendFileWithRetry (HttpClient httpClient , URI uri , String vaasRequestId ) {
138- return CreateHttpRequestBuilderWithHeaders (uri , vaasRequestId ).thenCompose (request ->
138+ return createHttpRequestBuilderWithHeaders (uri , vaasRequestId ).thenCompose (request ->
139139 httpClient .sendAsync (request .build (), HttpResponse .BodyHandlers .ofString ())
140140 .thenCompose (handleException (response -> switch (response .statusCode ()) {
141141 case 200 -> {
@@ -150,7 +150,7 @@ private CompletableFuture<VaasVerdict> sendFileWithRetry(HttpClient httpClient,
150150 })));
151151 }
152152
153- private CompletableFuture <HttpRequest .Builder > CreateHttpRequestBuilderWithHeaders (URI uri , String requestId ) {
153+ private CompletableFuture <HttpRequest .Builder > createHttpRequestBuilderWithHeaders (URI uri , String requestId ) {
154154 return this .authenticator .getToken ().thenApply (token -> {
155155 var httpRequestBuilder = HttpRequest .newBuilder ()
156156 .uri (uri )
@@ -274,9 +274,10 @@ public CompletableFuture<VaasVerdict> forStreamAsync(InputStream inputStream, lo
274274 ForStreamOptions options ) {
275275 var params = Map .of ("useHashLookup" , String .valueOf (options .isUseHashLookup ()));
276276 var filesUri = this .config .getUrl () + "/files?" + encodeParams (params );
277- var bodyPublisher = BodyPublishers .fromPublisher (BodyPublishers .ofInputStream (() -> inputStream ),
278- contentLength );
279- return CreateHttpRequestBuilderWithHeaders (URI .create (filesUri ), options .getVaasRequestId ()).thenCompose (
277+ var bodyPublisher = contentLength > 0
278+ ? BodyPublishers .fromPublisher (BodyPublishers .ofInputStream (() -> inputStream ), contentLength )
279+ : BodyPublishers .noBody ();
280+ return createHttpRequestBuilderWithHeaders (URI .create (filesUri ), options .getVaasRequestId ()).thenCompose (
280281 requestBuilder -> {
281282 var postRequest = requestBuilder
282283 .POST (bodyPublisher )
@@ -329,7 +330,7 @@ public CompletableFuture<VaasVerdict> forUrlAsync(URL url, ForUrlOptions options
329330 var params = Map .of ("useHashLookup" , String .valueOf (options .isUseHashLookup ()));
330331 var urlsUri = this .config .getUrl () + "/urls" ;
331332 var urlAnalysisRequest = new UrlAnalysisRequest (url .toString (), options .isUseHashLookup ());
332- return CreateHttpRequestBuilderWithHeaders (URI .create (urlsUri ), options .getVaasRequestId ()).thenCompose (requestBuilder -> {
333+ return createHttpRequestBuilderWithHeaders (URI .create (urlsUri ), options .getVaasRequestId ()).thenCompose (requestBuilder -> {
333334 var postRequest = requestBuilder
334335 .POST (HttpRequest .BodyPublishers .ofString (UrlAnalysisRequest .ToJson (urlAnalysisRequest )))
335336 .header ("Content-Type" , "application/json" )
0 commit comments