Use single Cookie header in HttpRequestSnippet

See https://www.rfc-editor.org/rfc/rfc6265#section-5.4

See gh-947
This commit is contained in:
Johnny Lim
2024-10-17 21:16:36 +09:00
committed by Andy Wilkinson
parent 1dcd7480f3
commit 5d9b7ec575
2 changed files with 6 additions and 3 deletions

View File

@@ -103,8 +103,12 @@ public class HttpRequestSnippet extends TemplatedSnippet {
}
}
List<String> cookies = new ArrayList<>();
for (RequestCookie cookie : request.getCookies()) {
headers.add(header(HttpHeaders.COOKIE, String.format("%s=%s", cookie.getName(), cookie.getValue())));
cookies.add(String.format("%s=%s", cookie.getName(), cookie.getValue()));
}
if (!cookies.isEmpty()) {
headers.add(header(HttpHeaders.COOKIE, String.join("; ", cookies)));
}
if (requiresFormEncodingContentTypeHeader(request)) {

View File

@@ -82,8 +82,7 @@ public class HttpRequestSnippetTests extends AbstractSnippetTests {
.build());
assertThat(this.generatedSnippets.httpRequest())
.is(httpRequest(RequestMethod.GET, "/foo").header(HttpHeaders.HOST, "localhost")
.header(HttpHeaders.COOKIE, "name1=value1")
.header(HttpHeaders.COOKIE, "name2=value2"));
.header(HttpHeaders.COOKIE, "name1=value1; name2=value2"));
}
@Test