Skip to content

Commit f730779

Browse files
committed
HttpClient: attempt to avoid content length header parsing if we have a body content length we can use
1 parent 1f223aa commit f730779

File tree

2 files changed

+9
-4
lines changed

2 files changed

+9
-4
lines changed

client/src/main/java/org/threadly/litesockets/client/http/HTTPClient.java

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -594,11 +594,15 @@ public HTTPResponseCode getResponseCode() {
594594
}
595595

596596
public long getContentLength() {
597-
long result = hr.getHeaders().getContentLength();
598-
if (result >= 0) {
597+
long result = body.remaining();
598+
if (result > 0) {
599+
return result;
600+
}
601+
result = hr.getHeaders().getContentLength();
602+
if (result > 0) {
599603
return result;
600604
} else {
601-
return body.remaining();
605+
return 0;
602606
}
603607
}
604608

protocol/src/main/java/org/threadly/litesockets/protocols/http/response/HTTPResponseProcessor.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -138,7 +138,8 @@ public void connectionClosed() {
138138
reset(new HTTPParsingException("Did not complete chunked encoding!"));
139139
}
140140
} else {
141-
if(response.getHeaders().getContentLength() > 0 && response.getHeaders().getContentLength() != this.currentBodySize) {
141+
if(response.getHeaders().getContentLength() > 0 &&
142+
response.getHeaders().getContentLength() != this.currentBodySize) {
142143
reset(new HTTPParsingException("Did not get complete body!"));
143144
} else {
144145
reset(null);

0 commit comments

Comments
 (0)