From effa55776ad833c5e92da9d6a0e36d199ea96200 Mon Sep 17 00:00:00 2001 From: jansupol Date: Fri, 3 May 2024 11:06:28 +0200 Subject: [PATCH] Allow long content length in the JDK connector Signed-off-by: jansupol --- .../jersey/jdk/connector/internal/HttpParser.java | 4 ++-- .../jdk/connector/internal/TransferEncodingParser.java | 10 +++++----- 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/connectors/jdk-connector/src/main/java/org/glassfish/jersey/jdk/connector/internal/HttpParser.java b/connectors/jdk-connector/src/main/java/org/glassfish/jersey/jdk/connector/internal/HttpParser.java index 3f0a31072c..14322df02a 100644 --- a/connectors/jdk-connector/src/main/java/org/glassfish/jersey/jdk/connector/internal/HttpParser.java +++ b/connectors/jdk-connector/src/main/java/org/glassfish/jersey/jdk/connector/internal/HttpParser.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2015, 2021 Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2015, 2024 Oracle and/or its affiliates. All rights reserved. * * This program and the accompanying materials are made available under the * terms of the Eclipse Public License v. 2.0, which is available at @@ -496,7 +496,7 @@ private void decideTransferEncoding() throws ParseException { if (contentLengths != null) { try { - int bodyLength = Integer.parseInt(contentLengths.get(0)); + long bodyLength = Long.parseLong(contentLengths.get(0)); if (bodyLength == 0) { expectContent = false; return; diff --git a/connectors/jdk-connector/src/main/java/org/glassfish/jersey/jdk/connector/internal/TransferEncodingParser.java b/connectors/jdk-connector/src/main/java/org/glassfish/jersey/jdk/connector/internal/TransferEncodingParser.java index 0a3ede0a0a..7dccd87375 100644 --- a/connectors/jdk-connector/src/main/java/org/glassfish/jersey/jdk/connector/internal/TransferEncodingParser.java +++ b/connectors/jdk-connector/src/main/java/org/glassfish/jersey/jdk/connector/internal/TransferEncodingParser.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2015, 2022 Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2015, 2024 Oracle and/or its affiliates. All rights reserved. * * This program and the accompanying materials are made available under the * terms of the Eclipse Public License v. 2.0, which is available at @@ -31,7 +31,7 @@ abstract class TransferEncodingParser { abstract boolean parse(ByteBuffer input) throws ParseException; - static TransferEncodingParser createFixedLengthParser(AsynchronousBodyInputStream responseBody, int expectedLength) { + static TransferEncodingParser createFixedLengthParser(AsynchronousBodyInputStream responseBody, long expectedLength) { return new FixedLengthEncodingParser(responseBody, expectedLength); } @@ -42,11 +42,11 @@ static TransferEncodingParser createChunkParser(AsynchronousBodyInputStream resp private static class FixedLengthEncodingParser extends TransferEncodingParser { - private final int expectedLength; + private final long expectedLength; private final AsynchronousBodyInputStream responseBody; - private volatile int consumedLength = 0; + private volatile long consumedLength = 0; - FixedLengthEncodingParser(AsynchronousBodyInputStream responseBody, int expectedLength) { + FixedLengthEncodingParser(AsynchronousBodyInputStream responseBody, long expectedLength) { this.expectedLength = expectedLength; this.responseBody = responseBody; }