Skip to content

Commit 5c5923f

Browse files
committed
Uptake cookie parsing/serialization changes from Grizzly.
1 parent 7e9e941 commit 5c5923f

File tree

3 files changed

+12
-7
lines changed

3 files changed

+12
-7
lines changed

providers/grizzly/src/main/java/org/asynchttpclient/providers/grizzly/GrizzlyAsyncHttpProvider.java

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -197,7 +197,10 @@ public Response prepareResponse(HttpResponseStatus status,
197197
HttpResponseHeaders headers,
198198
List<HttpResponseBodyPart> bodyParts) {
199199

200-
return new GrizzlyResponse(status, headers, bodyParts);
200+
return new GrizzlyResponse(status,
201+
headers,
202+
bodyParts,
203+
clientConfig.isRfc6265CookieEncoding());
201204

202205
}
203206

providers/grizzly/src/main/java/org/asynchttpclient/providers/grizzly/GrizzlyResponse.java

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@
1414
package org.asynchttpclient.providers.grizzly;
1515

1616
import static org.asynchttpclient.util.MiscUtil.isNonEmpty;
17+
import static org.glassfish.grizzly.http.CookiesBuilder.ServerCookiesBuilder;
1718

1819
import org.asynchttpclient.Cookie;
1920
import org.asynchttpclient.HttpResponseBodyPart;
@@ -24,7 +25,6 @@
2425

2526
import org.glassfish.grizzly.Buffer;
2627
import org.glassfish.grizzly.http.Cookies;
27-
import org.glassfish.grizzly.http.CookiesBuilder;
2828
import org.glassfish.grizzly.utils.Charsets;
2929
import org.glassfish.grizzly.memory.Buffers;
3030
import org.glassfish.grizzly.memory.MemoryManager;
@@ -46,15 +46,17 @@
4646
*/
4747
public class GrizzlyResponse extends ResponseBase {
4848
private final Buffer responseBody;
49+
private final Boolean rfc6265Enabled;
4950

5051
// ------------------------------------------------------------ Constructors
5152

5253

5354
public GrizzlyResponse(final HttpResponseStatus status,
5455
final HttpResponseHeaders headers,
55-
final List<HttpResponseBodyPart> bodyParts) {
56+
final List<HttpResponseBodyPart> bodyParts,
57+
final boolean rfc6265Enabled) {
5658
super(status, headers, bodyParts);
57-
59+
this.rfc6265Enabled = rfc6265Enabled;
5860
if (isNonEmpty(bodyParts)) {
5961
if (bodyParts.size() == 1) {
6062
responseBody = ((GrizzlyResponseBodyPart) bodyParts.get(0)).getBodyBuffer();
@@ -157,7 +159,7 @@ public List<Cookie> buildCookies() {
157159

158160
List<String> values = headers.getHeaders().get("set-cookie");
159161
if (isNonEmpty(values)) {
160-
CookiesBuilder.ServerCookiesBuilder builder = new CookiesBuilder.ServerCookiesBuilder(false);
162+
ServerCookiesBuilder builder = new ServerCookiesBuilder(false, rfc6265Enabled);
161163
for (String header : values) {
162164
builder.parse(header);
163165
}

providers/grizzly/src/main/java/org/asynchttpclient/providers/grizzly/filters/AsyncHttpClientFilter.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -392,7 +392,7 @@ private void addGeneralHeaders(final Request request,
392392
}
393393

394394

395-
private static void addCookies(final Request request,
395+
private void addCookies(final Request request,
396396
final HttpRequestPacket requestPacket) {
397397

398398
final Collection<Cookie> cookies = request.getCookies();
@@ -401,7 +401,7 @@ private static void addCookies(final Request request,
401401
org.glassfish.grizzly.http.Cookie[] gCookies =
402402
new org.glassfish.grizzly.http.Cookie[cookies.size()];
403403
convertCookies(cookies, gCookies);
404-
CookieSerializerUtils.serializeClientCookies(sb, gCookies);
404+
CookieSerializerUtils.serializeClientCookies(sb, false, config.isRfc6265CookieEncoding(), gCookies);
405405
requestPacket.addHeader(Header.Cookie, sb.toString());
406406
}
407407

0 commit comments

Comments
 (0)