Skip to content

Commit ce68ba8

Browse files
committed
return only cookies in RequestImpl#getCookies
1 parent 2f8f783 commit ce68ba8

File tree

2 files changed

+19
-8
lines changed

2 files changed

+19
-8
lines changed

modules/transport/http/src/main/java/org/apache/axis2/transport/http/impl/httpclient5/RequestImpl.java

Lines changed: 14 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -20,13 +20,9 @@
2020

2121
import java.io.IOException;
2222
import java.io.InputStream;
23-
import java.net.URISyntaxException;
2423
import java.net.URI;
25-
import java.net.URL;
26-
import java.time.LocalDateTime;
2724
import java.util.ArrayList;
2825
import java.util.HashMap;
29-
import java.util.Iterator;
3026
import java.util.List;
3127
import java.util.Map;
3228

@@ -56,9 +52,11 @@
5652
import org.apache.hc.core5.http.HttpHost;
5753
import org.apache.hc.core5.http.HttpVersion;
5854
import org.apache.hc.core5.http.ProtocolVersion;
59-
import org.apache.hc.core5.http.ProtocolException;
55+
import org.apache.hc.core5.http.HeaderElement;
56+
import org.apache.hc.core5.http.message.BasicHeaderValueParser;
6057
import org.apache.hc.core5.http.message.HeaderGroup;
6158
import org.apache.hc.core5.http.io.entity.EntityUtils;
59+
import org.apache.hc.core5.http.message.ParserCursor;
6260
import org.apache.hc.core5.net.URIAuthority;
6361
import org.apache.hc.core5.util.Timeout;
6462

@@ -195,8 +193,17 @@ public Header[] getResponseHeaders() {
195193
public Map<String,String> getCookies() {
196194
Map<String,String> cookies = new HashMap<>();
197195
for (String name : COOKIE_HEADER_NAMES) {
198-
for (final org.apache.hc.core5.http.Header header : response.getHeaders()) {
199-
cookies.put(header.getName(), header.getValue());
196+
for (final org.apache.hc.core5.http.Header header : response.getHeaders(name)) {
197+
final String headerValue = header.getValue();
198+
if (headerValue == null) {
199+
continue;
200+
}
201+
final ParserCursor cursor = new ParserCursor(0, headerValue.length());
202+
final HeaderElement[] headerElements = BasicHeaderValueParser.INSTANCE.parseElements(headerValue,
203+
cursor);
204+
for (final HeaderElement headerElement : headerElements) {
205+
cookies.put(headerElement.getName(), headerElement.getValue());
206+
}
200207
}
201208
}
202209
return cookies;

modules/transport/http/src/test/java/org/apache/axis2/transport/http/HTTPSenderTest.java

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,11 @@
2020
package org.apache.axis2.transport.http;
2121

2222
import org.apache.axis2.Constants;
23-
import org.apache.axis2.context.*;
23+
import org.apache.axis2.context.ConfigurationContext;
24+
import org.apache.axis2.context.ConfigurationContextFactory;
25+
import org.apache.axis2.context.MessageContext;
26+
import org.apache.axis2.context.OperationContext;
27+
import org.apache.axis2.context.ServiceContext;
2428
import org.apache.axis2.kernel.http.HTTPConstants;
2529
import org.apache.axis2.transport.http.mock.server.AbstractHTTPServerTest;
2630
import org.apache.axis2.transport.http.mock.server.BasicHttpServer;

0 commit comments

Comments
 (0)