mirror of
https://github.com/curl/curl.git
synced 2026-04-13 00:31:41 +08:00
- 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
87 lines
1.9 KiB
Plaintext
87 lines
1.9 KiB
Plaintext
<testcase>
|
|
<info>
|
|
<keywords>
|
|
WebSockets
|
|
</keywords>
|
|
</info>
|
|
|
|
<client>
|
|
<name>
|
|
ws: Fragmented messages with empty fragments
|
|
</name>
|
|
<features>
|
|
Debug
|
|
ws
|
|
</features>
|
|
<server>
|
|
http
|
|
</server>
|
|
<tool>
|
|
lib2700
|
|
</tool>
|
|
<command>
|
|
ws://%HOSTIP:%HTTPPORT/%TESTNUMBER
|
|
</command>
|
|
<setenv>
|
|
CURL_WS_FORCE_ZERO_MASK=1
|
|
</setenv>
|
|
</client>
|
|
|
|
<reply>
|
|
<servercmd>
|
|
upgrade
|
|
</servercmd>
|
|
|
|
# Full list of frames: see <verify.stdout> below
|
|
# 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
|
|
Server: server/%TESTNUMBER
|
|
Upgrade: Websocket
|
|
Connection: Upgrade
|
|
Sec-WebSocket-Accept: HkPsVga7+8LuxM4RGQ5p9tZHeYs=
|
|
|
|
%hex[%01%00]hex%%hex[%00%02a1]hex%%hex[%80%02a2]hex%%hex[%01%02b1]hex%%hex[%00%00]hex%%hex[%80%02b2]hex%%hex[%01%02c1]hex%%hex[%00%02c2]hex%%hex[%80%00]hex%%hex[%01%00]hex%%hex[%00%00]hex%%hex[%80%00]hex%%hex[%88%00]hex%
|
|
</data>
|
|
</reply>
|
|
|
|
<verify>
|
|
|
|
# Exact echo of reply data with additional masking
|
|
<protocol nonewline="yes">
|
|
%hex[%01%80%00%00%00%00]hex%%hex[%00%82%00%00%00%00a1]hex%%hex[%80%82%00%00%00%00a2]hex%%hex[%01%82%00%00%00%00b1]hex%%hex[%00%80%00%00%00%00]hex%%hex[%80%82%00%00%00%00b2]hex%%hex[%01%82%00%00%00%00c1]hex%%hex[%00%82%00%00%00%00c2]hex%%hex[%80%80%00%00%00%00]hex%%hex[%01%80%00%00%00%00]hex%%hex[%00%80%00%00%00%00]hex%%hex[%80%80%00%00%00%00]hex%%hex[%88%80%00%00%00%00]hex%
|
|
</protocol>
|
|
|
|
<stdout>
|
|
txt --- [0]
|
|
txt --- [2] a1
|
|
txt fin [2] a2
|
|
txt --- [2] b1
|
|
txt --- [0]
|
|
txt fin [2] b2
|
|
txt --- [2] c1
|
|
txt --- [2] c2
|
|
txt fin [0]
|
|
txt --- [0]
|
|
txt --- [0]
|
|
txt fin [0]
|
|
close [0]
|
|
</stdout>
|
|
|
|
# CURLE_OK
|
|
<errorcode>
|
|
0
|
|
</errorcode>
|
|
|
|
# Strip HTTP header from <protocol>
|
|
<strip>
|
|
^GET /.*
|
|
^(Host|User-Agent|Accept|Upgrade|Connection|Sec-WebSocket-(Version|Key)): .*
|
|
^\s*$
|
|
</strip>
|
|
</verify>
|
|
</testcase>
|