From 570851e8e4ff0072492c18b8753ca185841f5488 Mon Sep 17 00:00:00 2001 From: Juergen Hoeller Date: Wed, 13 Apr 2016 18:44:56 +0200 Subject: [PATCH] Consistent headers.getContentLength() checks (cherry picked from commit 7f438dc) --- .../http/client/AbstractBufferingAsyncClientHttpRequest.java | 4 ++-- .../http/client/AbstractBufferingClientHttpRequest.java | 4 ++-- .../springframework/http/server/ServletServerHttpRequest.java | 2 +- .../java/org/springframework/web/client/RestTemplate.java | 2 +- 4 files changed, 6 insertions(+), 6 deletions(-) diff --git a/spring-web/src/main/java/org/springframework/http/client/AbstractBufferingAsyncClientHttpRequest.java b/spring-web/src/main/java/org/springframework/http/client/AbstractBufferingAsyncClientHttpRequest.java index cf83983de5..2bcbcdb298 100644 --- a/spring-web/src/main/java/org/springframework/http/client/AbstractBufferingAsyncClientHttpRequest.java +++ b/spring-web/src/main/java/org/springframework/http/client/AbstractBufferingAsyncClientHttpRequest.java @@ -1,5 +1,5 @@ /* - * Copyright 2002-2014 the original author or authors. + * Copyright 2002-2016 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -43,7 +43,7 @@ abstract class AbstractBufferingAsyncClientHttpRequest extends AbstractAsyncClie @Override protected ListenableFuture executeInternal(HttpHeaders headers) throws IOException { byte[] bytes = this.bufferedOutput.toByteArray(); - if (headers.getContentLength() == -1) { + if (headers.getContentLength() < 0) { headers.setContentLength(bytes.length); } ListenableFuture result = executeInternal(headers, bytes); diff --git a/spring-web/src/main/java/org/springframework/http/client/AbstractBufferingClientHttpRequest.java b/spring-web/src/main/java/org/springframework/http/client/AbstractBufferingClientHttpRequest.java index 4af7348798..d468b5877b 100644 --- a/spring-web/src/main/java/org/springframework/http/client/AbstractBufferingClientHttpRequest.java +++ b/spring-web/src/main/java/org/springframework/http/client/AbstractBufferingClientHttpRequest.java @@ -1,5 +1,5 @@ /* - * Copyright 2002-2014 the original author or authors. + * Copyright 2002-2016 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -42,7 +42,7 @@ abstract class AbstractBufferingClientHttpRequest extends AbstractClientHttpRequ @Override protected ClientHttpResponse executeInternal(HttpHeaders headers) throws IOException { byte[] bytes = this.bufferedOutput.toByteArray(); - if (headers.getContentLength() == -1) { + if (headers.getContentLength() < 0) { headers.setContentLength(bytes.length); } ClientHttpResponse result = executeInternal(headers, bytes); diff --git a/spring-web/src/main/java/org/springframework/http/server/ServletServerHttpRequest.java b/spring-web/src/main/java/org/springframework/http/server/ServletServerHttpRequest.java index a906da520d..6fda91d29b 100644 --- a/spring-web/src/main/java/org/springframework/http/server/ServletServerHttpRequest.java +++ b/spring-web/src/main/java/org/springframework/http/server/ServletServerHttpRequest.java @@ -132,7 +132,7 @@ public class ServletServerHttpRequest implements ServerHttpRequest { this.headers.setContentType(newContentType); } } - if (this.headers.getContentLength() == -1) { + if (this.headers.getContentLength() < 0) { int requestContentLength = this.servletRequest.getContentLength(); if (requestContentLength != -1) { this.headers.setContentLength(requestContentLength); diff --git a/spring-web/src/main/java/org/springframework/web/client/RestTemplate.java b/spring-web/src/main/java/org/springframework/web/client/RestTemplate.java index 7a841b6fbf..8cd389f18e 100644 --- a/spring-web/src/main/java/org/springframework/web/client/RestTemplate.java +++ b/spring-web/src/main/java/org/springframework/web/client/RestTemplate.java @@ -780,7 +780,7 @@ public class RestTemplate extends InterceptingHttpAccessor implements RestOperat if (!requestHeaders.isEmpty()) { httpHeaders.putAll(requestHeaders); } - if (httpHeaders.getContentLength() == -1) { + if (httpHeaders.getContentLength() < 0) { httpHeaders.setContentLength(0L); } }