GHA/checksrc: expand spellcheck, fix issues found

- codespell: break logic out into its own runnable script. Allowing
  to run it on local machines.
- codespell: install via `pip`, bump to latest version.
- codespell: show version number in CI log.
- codespell: drop no longer needed word exception: `msdos`.
- codespell: include all curl source tree, except `packages` and
  `winbuild`. Drop an obsolete file exclusion.
- add new spellchecker job using the `typos` tool. It includes
  the codespell dictionary and a couple more. Use linuxbrew to install
  it. This takes 10 seconds, while installing via `cargo` from source
  would take over a minute.
- codespell: introduce an inline ignore filter compatible with `cspell`
  Make `typos` recognize it, too. Move single exceptions inline.

Fix new typos found. Also rename variables and words to keep
spellchecking exceptions at minumum. This involves touching some tests.
Also switch base64 strings to `%b64[]` to avoid false positives.

Ref: https://github.com/crate-ci/typos/blob/master/docs/reference.md
Ref: https://github.com/codespell-project/codespell?tab=readme-ov-file#inline-ignore
Ref: https://github.com/codespell-project/codespell/issues/1212#issuecomment-1721152455
Ref: https://cspell.org/docs/Configuration/document-settings

Closes #17905
This commit is contained in:
Viktor Szakats 2025-07-11 21:50:23 +02:00
parent 792a61e204
commit 0260e8465a
No known key found for this signature in database
GPG key ID: B5ABD165E2AEF201
81 changed files with 279 additions and 206 deletions

View file

@ -10,7 +10,7 @@ connect to non-listen
<reply>
<servercmd>
# Assuming there's nothing listening on port 1
REPLY EPSV 229 Entering Passiv Mode (|||1|)
REPLY EPSV 229 Entering Passive Mode (|||1|)
</servercmd>
<data>
here are some bytes

View file

@ -44,7 +44,7 @@ HTTP GET with split initial request send
CURL_SMALLREQSEND=128
</setenv>
<command>
http://%HOSTIP:%HTTPPORT/012345679012345679012345679012345679012345679012345679012345679012345679012345679012345679012345679012345679012345679012345679012345679012345679012345679012345679012345679012345679012345679012345679012345679012345679012345679012345679012345679012345679012345679012345679/%TESTNUMBER -H "Among other public buildings in a certain town, which for many reasons it will be prudent to refrain from mentioning, and to which I will assign no fictitious name, there is one anciently common to most towns, great or small to wit, a workhouse; and in this workhouse was born; on a day and date which I need not trouble myself to repeat, inasmuch as it can be of no possible consequence to the reader, in this stage of the business at all events; the item of mortality whose name is prefixed to the head of this chapter: 511"
http://%HOSTIP:%HTTPPORT/012345679012345679012345679012345679012345679012345679012345679012345679012345679012345679012345679012345679012345679012345679012345679012345679012345679012345679012345679012345679012345679012345679012345679012345679012345679012345679012345679012345679012345679012345679/%TESTNUMBER -H "Among other public buildings in a certain town, which for many reasons it will be prudent to refrain from mentioning, and to which I will assign no fictitious name, there is one anciently common to most towns, great or small to ___, a workhouse; and in this workhouse was born; on a day and date which I need not trouble myself to repeat, inasmuch as it can be of no possible consequence to the reader, in this stage of the business at all events; the item of mortality whose name is prefixed to the head of this chapter: 511"
</command>
</client>
@ -56,7 +56,7 @@ GET /012345679012345679012345679012345679012345679012345679012345679012345679012
Host: %HOSTIP:%HTTPPORT
User-Agent: curl/%VERSION
Accept: */*
Among other public buildings in a certain town, which for many reasons it will be prudent to refrain from mentioning, and to which I will assign no fictitious name, there is one anciently common to most towns, great or small to wit, a workhouse; and in this workhouse was born; on a day and date which I need not trouble myself to repeat, inasmuch as it can be of no possible consequence to the reader, in this stage of the business at all events; the item of mortality whose name is prefixed to the head of this chapter: 511
Among other public buildings in a certain town, which for many reasons it will be prudent to refrain from mentioning, and to which I will assign no fictitious name, there is one anciently common to most towns, great or small to ___, a workhouse; and in this workhouse was born; on a day and date which I need not trouble myself to repeat, inasmuch as it can be of no possible consequence to the reader, in this stage of the business at all events; the item of mortality whose name is prefixed to the head of this chapter: 511
</protocol>
</verify>

View file

@ -15,7 +15,7 @@ Date: Tue, 09 Nov 2010 14:49:00 GMT
Content-Length: 6
Funny-head: yesyes
-noo-
-nooo-
</data>
<data1>
HTTP/1.1 200 OK

View file

@ -30,7 +30,7 @@ connection-monitor
http
</server>
<name>
Re-using HTTP proxy connection for two different host names
Reusing HTTP proxy connection for two different host names
</name>
<command>
--proxy http://%HOSTIP:%HTTPPORT http://test.remote.haxx.se.%TESTNUMBER:8990/ http://different.remote.haxx.se.%TESTNUMBER:8990

View file

@ -116,7 +116,7 @@ Accept: */*
GET /%TESTNUMBER0002 HTTP/1.1
Host: %HOSTIP:%HTTPPORT
Authorization: Digest username="testuser", realm="testrealm", nonce="999999", uri="/%TESTNUMBER0002", cnonce="MTA4MzIy", nc="00000001", qop="auth", response="25291c357671604a16c0242f56721c07", algorithm=MD5
Authorization: Digest username="testuser", realm="testrealm", nonce="999999", uri="/%TESTNUMBER0002", cnonce="MTA4MzIr", nc="00000001", qop="auth", response="25291c357671604a16c0242f56721c07", algorithm=MD5
User-Agent: curl/%VERSION
Accept: */*

View file

@ -52,7 +52,7 @@ digest
HTTP with proxy-requiring-Basic to site-requiring-Digest
</name>
<command>
http://data.from.server.requiring.digest.hohoho.com/%TESTNUMBER --proxy http://%HOSTIP:%HTTPPORT --proxy-user foo:bar --digest --user digest:alot
http://data.from.server.requiring.digest.hohoho.com/%TESTNUMBER --proxy http://%HOSTIP:%HTTPPORT --proxy-user foo:bar --digest --user digest:a-lot
</command>
</client>
@ -69,7 +69,7 @@ Proxy-Connection: Keep-Alive
GET http://data.from.server.requiring.digest.hohoho.com/%TESTNUMBER HTTP/1.1
Host: data.from.server.requiring.digest.hohoho.com
Proxy-Authorization: Basic %b64[foo:bar]b64%
Authorization: Digest username="digest", realm="weirdorealm", nonce="12345", uri="/%TESTNUMBER", response="13c7c02a252cbe1c46d8669898a3be26"
Authorization: Digest username="digest", realm="weirdorealm", nonce="12345", uri="/%TESTNUMBER", response="304c55b19dbcb9c7e7a3354abd11ba1b"
User-Agent: curl/%VERSION
Accept: */*
Proxy-Connection: Keep-Alive

View file

@ -66,7 +66,7 @@ digest
HTTP with proxy-requiring-Digest to site-requiring-Digest
</name>
<command>
http://data.from.server.requiring.digest.hohoho.com/%TESTNUMBER --proxy http://%HOSTIP:%HTTPPORT --proxy-user foo:bar --proxy-digest --digest --user digest:alot
http://data.from.server.requiring.digest.hohoho.com/%TESTNUMBER --proxy http://%HOSTIP:%HTTPPORT --proxy-user foo:bar --proxy-digest --digest --user digest:a-lot
</command>
</client>
@ -89,7 +89,7 @@ Proxy-Connection: Keep-Alive
GET http://data.from.server.requiring.digest.hohoho.com/%TESTNUMBER HTTP/1.1
Host: data.from.server.requiring.digest.hohoho.com
Proxy-Authorization: Digest username="foo", realm="weirdorealm", nonce="12345", uri="/%TESTNUMBER", response="fb8608e00ad9239a3dedb14bc8575976"
Authorization: Digest username="digest", realm="realmweirdo", nonce="123456", uri="/%TESTNUMBER", response="ca87f2d768a231e2d637a55698d5c416"
Authorization: Digest username="digest", realm="realmweirdo", nonce="123456", uri="/%TESTNUMBER", response="bfecb43898f3db12543650d45493313b"
User-Agent: curl/%VERSION
Accept: */*
Proxy-Connection: Keep-Alive

View file

@ -87,7 +87,7 @@ digest
HTTP with proxy-requiring-NTLM to site-requiring-Digest
</name>
<command>
http://data.from.server.requiring.digest.hohoho.com/%TESTNUMBER --proxy http://%HOSTIP:%HTTPPORT --proxy-user testuser:testpass --proxy-ntlm --digest --user digest:alot
http://data.from.server.requiring.digest.hohoho.com/%TESTNUMBER --proxy http://%HOSTIP:%HTTPPORT --proxy-user testuser:testpass --proxy-ntlm --digest --user digest:a-lot
</command>
</client>
@ -110,7 +110,7 @@ Proxy-Connection: Keep-Alive
GET http://data.from.server.requiring.digest.hohoho.com/%TESTNUMBER HTTP/1.1
Host: data.from.server.requiring.digest.hohoho.com
Authorization: Digest username="digest", realm="r e a l m", nonce="abcdef", uri="/%TESTNUMBER", response="95d48591985a03c4b49cb962aa7bd3e6"
Authorization: Digest username="digest", realm="r e a l m", nonce="abcdef", uri="/%TESTNUMBER", response="89b737a4b6eefde285c093c92e9bd6ea"
User-Agent: curl/%VERSION
Accept: */*
Proxy-Connection: Keep-Alive

View file

@ -9,7 +9,7 @@ HTTP POST
# Server-side
<reply>
<data>
HTTP/1.1 200 beng swsclose
HTTP/1.1 200 foobar swsclose
Server: Microsoft-IIS/6.0
Authentication-Info: Passport1.4 tname=MSPAuth,tname=MSPProf,tname=MSPConsent,tname=MSPSecAuth
Content-Type: text/html; charset=iso-8859-1

View file

@ -10,7 +10,7 @@ HTTP Digest auth
# Server-side
<reply>
<data>
HTTP/1.1 200 beng swsclose swsbounce
HTTP/1.1 200 foobar swsclose swsbounce
Server: Microsoft-IIS/6.0
Authentication-Info: Passport1.4 tname=MSPAuth,tname=MSPProf,tname=MSPConsent,tname=MSPSecAuth
Content-Type: text/html; charset=iso-8859-1
@ -28,7 +28,7 @@ content for you
</data1>
<datacheck>
HTTP/1.1 200 beng swsclose swsbounce
HTTP/1.1 200 foobar swsclose swsbounce
Server: Microsoft-IIS/6.0
Authentication-Info: Passport1.4 tname=MSPAuth,tname=MSPProf,tname=MSPConsent,tname=MSPSecAuth
Content-Type: text/html; charset=iso-8859-1

View file

@ -11,7 +11,7 @@ HTTP NTLM auth
<reply>
# the first request has NTLM type-1 included, and then the 1001 is returned
<data1001>
HTTP/1.1 200 beng swsclose
HTTP/1.1 200 foobar swsclose
Server: Microsoft-IIS/6.0
Authentication-Info: Passport1.4 tname=MSPAuth,tname=MSPProf,tname=MSPConsent,tname=MSPSecAuth
Content-Type: text/html; charset=iso-8859-1
@ -29,7 +29,7 @@ content for you
</data>
<datacheck>
HTTP/1.1 200 beng swsclose
HTTP/1.1 200 foobar swsclose
Server: Microsoft-IIS/6.0
Authentication-Info: Passport1.4 tname=MSPAuth,tname=MSPProf,tname=MSPConsent,tname=MSPSecAuth
Content-Type: text/html; charset=iso-8859-1

View file

@ -8,7 +8,7 @@ FTP
# Server-side
<reply>
<servercmd>
REPLY PASV 227 Entering Passiv Mode (1216,256,2,127,127,127)
REPLY PASV 227 Entering Passive Mode (1216,256,2,127,127,127)
</servercmd>
</reply>

View file

@ -8,7 +8,7 @@ FTP
# Server-side
<reply>
<servercmd>
REPLY EPSV 229 Entering Passiv Mode (|||1000000|)
REPLY EPSV 229 Entering Passive Mode (|||1000000|)
</servercmd>
</reply>

View file

@ -33,9 +33,9 @@ upgrade
</servercmd>
# Full list of frames: see <verify.stdout> below
# 1st a message with an emtpy fragment at the beginning
# 2nd a message with an emtpy fragment in the middle
# 3rd a message with an emtpy fragment at the end
# 1st a message with an empty fragment at the beginning
# 2nd a message with an empty fragment in the middle
# 3rd a message with an empty fragment at the end
# 4th a message with only empty fragments
<data nocheck="yes" nonewline="yes">
HTTP/1.1 101 Switching to WebSockets

View file

@ -68,7 +68,7 @@ digest
HTTP with proxy Digest and site Digest with creds in URLs
</name>
<command>
http://digest:alot@data.from.server.requiring.digest.hohoho.com/%TESTNUMBER --proxy http://foo:bar@%HOSTIP:%HTTPPORT --proxy-digest --digest
http://digest:a-lot@data.from.server.requiring.digest.hohoho.com/%TESTNUMBER --proxy http://foo:bar@%HOSTIP:%HTTPPORT --proxy-digest --digest
</command>
</client>
@ -91,7 +91,7 @@ Proxy-Connection: Keep-Alive
GET http://data.from.server.requiring.digest.hohoho.com/%TESTNUMBER HTTP/1.1
Host: data.from.server.requiring.digest.hohoho.com
Proxy-Authorization: Digest username="foo", realm="weirdorealm", nonce="12345", uri="/%TESTNUMBER", response="f61609cd8f5bb205ef4e169b2c5626cb"
Authorization: Digest username="digest", realm="realmweirdo", nonce="123456", uri="/%TESTNUMBER", response="08a2e2e684047f4219a38ddc189ac00c"
Authorization: Digest username="digest", realm="realmweirdo", nonce="123456", uri="/%TESTNUMBER", response="ea0f4cb7a119a1a6f6c6c6c2e4190860"
User-Agent: curl/%VERSION
Accept: */*
Proxy-Connection: Keep-Alive

View file

@ -35,7 +35,7 @@ http
HTTP with --json
</name>
<command>
--json '{ "drink": "coffe" }' http://%HOSTIP:%HTTPPORT/%TESTNUMBER
--json '{ "drink": "coffee" }' http://%HOSTIP:%HTTPPORT/%TESTNUMBER
</command>
</client>
@ -48,9 +48,9 @@ Host: %HOSTIP:%HTTPPORT
User-Agent: curl/%VERSION
Content-Type: application/json
Accept: application/json
Content-Length: 20
Content-Length: 21
{ "drink": "coffe" }
{ "drink": "coffee" }
</protocol>
</verify>
</testcase>

View file

@ -35,7 +35,7 @@ http
HTTP with --json from stdin
</name>
<stdin>
{ "drink": "coffe" }
{ "drink": "coffee" }
</stdin>
<command>
--json @- http://%HOSTIP:%HTTPPORT/%TESTNUMBER -H "Accept: foobar/*"
@ -51,9 +51,9 @@ Host: %HOSTIP:%HTTPPORT
User-Agent: curl/%VERSION
Accept: foobar/*
Content-Type: application/json
Content-Length: 21
Content-Length: 22
{ "drink": "coffe" }
{ "drink": "coffee" }
</protocol>
</verify>
</testcase>

View file

@ -35,7 +35,7 @@ http
HTTP with --json x 2
</name>
<command>
--json '{ "drink": "coffe",' --json ' "crunch": "cookie" }' http://%HOSTIP:%HTTPPORT/%TESTNUMBER -H "Content-Type: drinks/hot"
--json '{ "drink": "coffee",' --json ' "crunch": "cookie" }' http://%HOSTIP:%HTTPPORT/%TESTNUMBER -H "Content-Type: drinks/hot"
</command>
</client>
@ -48,9 +48,9 @@ Host: %HOSTIP:%HTTPPORT
User-Agent: curl/%VERSION
Content-Type: drinks/hot
Accept: application/json
Content-Length: 40
Content-Length: 41
{ "drink": "coffe", "crunch": "cookie" }
{ "drink": "coffee", "crunch": "cookie" }
</protocol>
</verify>
</testcase>

View file

@ -49,7 +49,7 @@ http
HTTP with --json + --next
</name>
<command>
--json '{ "drink": "coffe" }' http://%HOSTIP:%HTTPPORT/%TESTNUMBER --next http://%HOSTIP:%HTTPPORT/%TESTNUMBER0002
--json '{ "drink": "coffee" }' http://%HOSTIP:%HTTPPORT/%TESTNUMBER --next http://%HOSTIP:%HTTPPORT/%TESTNUMBER0002
</command>
</client>
@ -62,9 +62,9 @@ Host: %HOSTIP:%HTTPPORT
User-Agent: curl/%VERSION
Content-Type: application/json
Accept: application/json
Content-Length: 20
Content-Length: 21
{ "drink": "coffe" }GET /%TESTNUMBER0002 HTTP/1.1
{ "drink": "coffee" }GET /%TESTNUMBER0002 HTTP/1.1
Host: %HOSTIP:%HTTPPORT
User-Agent: curl/%VERSION
Accept: */*

View file

@ -116,7 +116,7 @@ Accept: */*
GET /%TESTNUMBER0002 HTTP/1.1
Host: %HOSTIP:%HTTPPORT
Authorization: Digest username="testuser", realm="testrealm", nonce="999999", uri="/%TESTNUMBER0002", cnonce="MTA4MzIy", nc="00000001", qop="auth", response="25291c357671604a16c0242f56721c07", algorithm=MD5
Authorization: Digest username="testuser", realm="testrealm", nonce="999999", uri="/%TESTNUMBER0002", cnonce="MTA4MzIr", nc="00000001", qop="auth", response="25291c357671604a16c0242f56721c07", algorithm=MD5
User-Agent: curl/%VERSION
Accept: */*

View file

@ -71,7 +71,7 @@ proxy
digest
</features>
<name>
HTTP proxy auth Digest multi API re-using connection
HTTP proxy auth Digest multi API reusing connection
</name>
<command>
http://test.remote.example.com/path/%TESTNUMBER http://%HOSTIP:%HTTPPORT silly:person custom.set.host.name

View file

@ -25,7 +25,7 @@ body
imap
</server>
<name>
IMAP doesn't perform SELECT if re-using the same mailbox
IMAP doesn't perform SELECT if reusing the same mailbox
</name>
<command>
'imap://%HOSTIP:%IMAPPORT/%TESTNUMBER/;MAILINDEX=123/;SECTION=1' 'imap://%HOSTIP:%IMAPPORT/%TESTNUMBER/;MAILINDEX=456/;SECTION=2.3' -u user:secret

View file

@ -16,7 +16,7 @@ RFC7628
<servercmd>
AUTH OAUTHBEARER
CAPA SASL-IR
REPLY AUTHENTICATE + eyJzdGF0dXMiOiJpbnZhbGlkX3Rva2VuIiwic2NvcGUiOiJleGFtcGxlX3Njb3BlIiwib3BlbmlkLWNvbmZpZ3VyYXRpb24iOiJodHRwczovL2V4YW1wbGUuY29tLy53ZWxsLWtub3duL29wZW5pZC1jb25maWd1cmF0aW9uIn0=
REPLY AUTHENTICATE + %b64[{"status":"invalid_token","scope":"example_scope","openid-configuration":"https://example.com/.well-known/openid-configuration"}]b64%
REPLY AQ== A002 NO Authentication failed
</servercmd>
</reply>

View file

@ -17,7 +17,7 @@ RFC7628
<servercmd>
AUTH OAUTHBEARER
REPLY AUTH +
REPLY %b64[n,a=user,%01host=127.0.0.1%01port=%POP3PORT%01auth=Bearer mF_9.B5f-4.1JqM%01%01]b64% + eyJzdGF0dXMiOiJpbnZhbGlkX3Rva2VuIiwic2NvcGUiOiJleGFtcGxlX3Njb3BlIiwib3BlbmlkLWNvbmZpZ3VyYXRpb24iOiJodHRwczovL2V4YW1wbGUuY29tLy53ZWxsLWtub3duL29wZW5pZC1jb25maWd1cmF0aW9uIn0
REPLY %b64[n,a=user,%01host=127.0.0.1%01port=%POP3PORT%01auth=Bearer mF_9.B5f-4.1JqM%01%01]b64% + %b64[{"status":"invalid_token","scope":"example_scope","openid-configuration":"https://example.com/.well-known/openid-configuration"}]b64%
REPLY AQ== -ERR Authentication failed
</servercmd>
</reply>

View file

@ -17,7 +17,7 @@ RFC7628
<reply>
<servercmd>
AUTH OAUTHBEARER
REPLY AUTH + eyJzdGF0dXMiOiJpbnZhbGlkX3Rva2VuIiwic2NvcGUiOiJleGFtcGxlX3Njb3BlIiwib3BlbmlkLWNvbmZpZ3VyYXRpb24iOiJodHRwczovL2V4YW1wbGUuY29tLy53ZWxsLWtub3duL29wZW5pZC1jb25maWd1cmF0aW9uIn0
REPLY AUTH + %b64[{"status":"invalid_token","scope":"example_scope","openid-configuration":"https://example.com/.well-known/openid-configuration"}]b64%
REPLY AQ== -ERR Authentication failed
</servercmd>
</reply>

View file

@ -16,7 +16,7 @@ RFC7628
<servercmd>
AUTH OAUTHBEARER
REPLY AUTH 334 OAUTHBEARER supported
REPLY %b64[n,a=user,%01host=127.0.0.1%01port=%SMTPPORT%01auth=Bearer mF_9.B5f-4.1JqM%01%01]b64% 334 eyJzdGF0dXMiOiJpbnZhbGlkX3Rva2VuIiwic2NvcGUiOiJleGFtcGxlX3Njb3BlIiwib3BlbmlkLWNvbmZpZ3VyYXRpb24iOiJodHRwczovL2V4YW1wbGUuY29tLy53ZWxsLWtub3duL29wZW5pZC1jb25maWd1cmF0aW9uIn0
REPLY %b64[n,a=user,%01host=127.0.0.1%01port=%SMTPPORT%01auth=Bearer mF_9.B5f-4.1JqM%01%01]b64% 334 %b64[{"status":"invalid_token","scope":"example_scope","openid-configuration":"https://example.com/.well-known/openid-configuration"}]b64%
REPLY AQ== 535 Username and Password not accepted. Learn more at\r\n535 http://support.example.com/mail/oauth
</servercmd>
</reply>

View file

@ -16,7 +16,7 @@ RFC7628
<reply>
<servercmd>
AUTH OAUTHBEARER
REPLY AUTH 334 eyJzdGF0dXMiOiJpbnZhbGlkX3Rva2VuIiwic2NvcGUiOiJleGFtcGxlX3Njb3BlIiwib3BlbmlkLWNvbmZpZ3VyYXRpb24iOiJodHRwczovL2V4YW1wbGUuY29tLy53ZWxsLWtub3duL29wZW5pZC1jb25maWd1cmF0aW9uIn0
REPLY AUTH 334 %b64[{"status":"invalid_token","scope":"example_scope","openid-configuration":"https://example.com/.well-known/openid-configuration"}]b64%
REPLY AQ== 535 Username and Password not accepted. Learn more at\r\n535 http://support.example.com/mail/oauth
</servercmd>
</reply>

View file

@ -62,7 +62,7 @@ http
HTTP with auth in URL redirected to another host
</name>
<command>
-x %HOSTIP:%HTTPPORT http://alberto:einstein@somwhere.example/%TESTNUMBER --location-trusted
-x %HOSTIP:%HTTPPORT http://alberto:einstein@somewhere.example/%TESTNUMBER --location-trusted
</command>
</client>
@ -73,8 +73,8 @@ HTTP with auth in URL redirected to another host
QUIT
</strip>
<protocol>
GET http://somwhere.example/998 HTTP/1.1
Host: somwhere.example
GET http://somewhere.example/998 HTTP/1.1
Host: somewhere.example
Authorization: Basic %b64[alberto:einstein]b64%
User-Agent: curl/%VERSION
Accept: */*

View file

@ -52,7 +52,7 @@ http
HTTP with auth in first URL but not second
</name>
<command>
-x %HOSTIP:%HTTPPORT http://alberto:einstein@somwhere.example/%TESTNUMBER http://somewhere.else.example/%TESTNUMBER
-x %HOSTIP:%HTTPPORT http://alberto:einstein@somewhere.example/%TESTNUMBER http://somewhere.else.example/%TESTNUMBER
</command>
</client>
@ -63,8 +63,8 @@ HTTP with auth in first URL but not second
QUIT
</strip>
<protocol>
GET http://somwhere.example/%TESTNUMBER HTTP/1.1
Host: somwhere.example
GET http://somewhere.example/%TESTNUMBER HTTP/1.1
Host: somewhere.example
Authorization: Basic %b64[alberto:einstein]b64%
User-Agent: curl/%VERSION
Accept: */*