curl-curl/tests/data/test1671
Viktor Szakats 6cf3d7b1b1
tests: avoid more hard-coded CRLFs in protocol sections
- fix regex to not catch CR (from CRLF), in `PORT`, `EPRT`
  commands, allowing to use `crlf="yes"` more.
- add `crlf="headers"` mode for `protocol` sections.
  To call `subnewlines()` without its force option.
  This is the mode used in `data` sections when `crlf="yes"`.
  (This confusion may be subject to a future commit.)
- subnewlines: apply CRLF to `HEAD` and `CONNECT` HTTP requests.
- subnewlines: apply CRLF to RTSP requests.
- delete remaining empty `protocol` sections.

Reducing the number of `tests/data/test*`:
- CRLF newlines from 11325 to 10295. (119984 lines total)
- files with mixed newlines from 707 to 656. (1890 files total)

Follow-up to 4d2a05d3fe #19284

Closes #19318
2025-11-01 23:52:55 +01:00

75 lines
1.3 KiB
Plaintext

<testcase>
<info>
<keywords>
HTTP
HTTP GET
-w
%header
</keywords>
</info>
#
# Server-side
<reply>
<data nocheck="yes">
HTTP/1.1 200 OK
Date: Tue, 09 Nov 2010 14:49:00 GMT
Server: test-server/fake
Last-Modified: Tue, 13 Jun 2000 12:10:00 GMT
ETag: "21025-dc7-39462498"
Accept-Ranges: bytes
Set-Cookie: firstcookie=want1; path=/
Funny-head: yesyes
Set-Cookie: 2cookie=want2; path=/
Content-Type: text/html
Set-Cookie: cookie3=want3; path=/
Content-Length: 6
Connection: close
-foo-
</data>
</reply>
#
# Client-side
<client>
<features>
headers-api
</features>
<server>
http
</server>
<name>
-w header JSON output
</name>
<command option="no-output">
http://%HOSTIP:%HTTPPORT/%TESTNUMBER -w '%{header_json}\n' -o %LOGDIR/%TESTNUMBER.out
</command>
</client>
#
# Verify data after the test has been "shot"
<verify>
<protocol crlf="yes">
GET /%TESTNUMBER HTTP/1.1
Host: %HOSTIP:%HTTPPORT
User-Agent: curl/%VERSION
Accept: */*
</protocol>
<stdout mode="text">
{"date":["Tue, 09 Nov 2010 14:49:00 GMT"],
"server":["test-server/fake"],
"last-modified":["Tue, 13 Jun 2000 12:10:00 GMT"],
"etag":["\"21025-dc7-39462498\""],
"accept-ranges":["bytes"],
"set-cookie":["firstcookie=want1; path=/","2cookie=want2; path=/","cookie3=want3; path=/"],
"funny-head":["yesyes"],
"content-type":["text/html"],
"content-length":["6"],
"connection":["close"]
}
</stdout>
</verify>
</testcase>