diff --git a/connectors/jdk-connector/src/main/java/org/glassfish/jersey/jdk/connector/internal/HttpRequestEncoder.java b/connectors/jdk-connector/src/main/java/org/glassfish/jersey/jdk/connector/internal/HttpRequestEncoder.java index d1a116b078..6b04b59742 100644 --- a/connectors/jdk-connector/src/main/java/org/glassfish/jersey/jdk/connector/internal/HttpRequestEncoder.java +++ b/connectors/jdk-connector/src/main/java/org/glassfish/jersey/jdk/connector/internal/HttpRequestEncoder.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2015, 2019 Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2015, 2021 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 @@ -36,10 +36,11 @@ class HttpRequestEncoder { private static void appendUpgradeHeaders(StringBuilder request, Map> headers) { for (Map.Entry> header : headers.entrySet()) { + String delimiter = "Cookie".equalsIgnoreCase(header.getKey()) ? "; " : ","; StringBuilder value = new StringBuilder(); for (String valuePart : header.getValue()) { if (value.length() != 0) { - value.append(","); + value.append(delimiter); } value.append(valuePart); } diff --git a/core-client/src/main/java/org/glassfish/jersey/client/internal/HttpUrlConnector.java b/core-client/src/main/java/org/glassfish/jersey/client/internal/HttpUrlConnector.java index 443c8573ed..568b9cb221 100644 --- a/core-client/src/main/java/org/glassfish/jersey/client/internal/HttpUrlConnector.java +++ b/core-client/src/main/java/org/glassfish/jersey/client/internal/HttpUrlConnector.java @@ -425,6 +425,7 @@ private void setOutboundHeaders(MultivaluedMap headers, HttpURLC boolean restrictedSent = false; for (Map.Entry> header : headers.entrySet()) { String headerName = header.getKey(); + String delimiter = "Cookie".equalsIgnoreCase(headerName) ? "; " : ","; String headerValue; List headerValues = header.getValue(); @@ -436,7 +437,7 @@ private void setOutboundHeaders(MultivaluedMap headers, HttpURLC boolean add = false; for (Object value : headerValues) { if (add) { - b.append(','); + b.append(delimiter); } add = true; b.append(value);