|
21 | 21 | import java.util.regex.Matcher;
|
22 | 22 | import java.util.regex.Pattern;
|
23 | 23 |
|
24 |
| -import org.eclipse.jetty.http.HttpField; |
25 | 24 | import org.eclipse.jetty.reactive.client.ReactiveResponse;
|
26 | 25 | import reactor.core.publisher.Flux;
|
27 | 26 |
|
@@ -55,23 +54,29 @@ public JettyClientHttpResponse(ReactiveResponse reactiveResponse, Flux<DataBuffe
|
55 | 54 | }
|
56 | 55 |
|
57 | 56 | private static HttpHeaders adaptHeaders(ReactiveResponse response) {
|
58 |
| - MultiValueMap<String, String> headers = new JettyHeadersAdapter(response.getHeaders()); |
| 57 | + MultiValueMap<String, String> headers = (Jetty10HttpFieldsHelper.jetty10Present() ? |
| 58 | + Jetty10HttpFieldsHelper.getHttpHeaders(response.getResponse()) : |
| 59 | + new JettyHeadersAdapter(response.getHeaders())); |
59 | 60 | return HttpHeaders.readOnlyHttpHeaders(headers);
|
60 | 61 | }
|
| 62 | + |
61 | 63 | private static MultiValueMap<String, ResponseCookie> adaptCookies(ReactiveResponse response) {
|
62 | 64 | MultiValueMap<String, ResponseCookie> result = new LinkedMultiValueMap<>();
|
63 |
| - List<HttpField> cookieHeaders = response.getHeaders().getFields(HttpHeaders.SET_COOKIE); |
64 |
| - cookieHeaders.forEach(header -> |
65 |
| - HttpCookie.parse(header.getValue()).forEach(cookie -> result.add(cookie.getName(), |
| 65 | + MultiValueMap<String, String> headers = adaptHeaders(response); |
| 66 | + List<String> cookieHeader = headers.get(HttpHeaders.SET_COOKIE); |
| 67 | + if (!CollectionUtils.isEmpty(cookieHeader)) { |
| 68 | + cookieHeader.forEach(header -> |
| 69 | + HttpCookie.parse(header).forEach(cookie -> result.add(cookie.getName(), |
66 | 70 | ResponseCookie.fromClientResponse(cookie.getName(), cookie.getValue())
|
67 | 71 | .domain(cookie.getDomain())
|
68 | 72 | .path(cookie.getPath())
|
69 | 73 | .maxAge(cookie.getMaxAge())
|
70 | 74 | .secure(cookie.getSecure())
|
71 | 75 | .httpOnly(cookie.isHttpOnly())
|
72 |
| - .sameSite(parseSameSite(header.getValue())) |
| 76 | + .sameSite(parseSameSite(header)) |
73 | 77 | .build()))
|
74 | 78 | );
|
| 79 | + } |
75 | 80 | return CollectionUtils.unmodifiableMultiValueMap(result);
|
76 | 81 | }
|
77 | 82 |
|
|
0 commit comments