From 26a029d407be480d791972afb5975cf62c9360a6 Mon Sep 17 00:00:00 2001 From: Daniel Baumann Date: Fri, 19 Apr 2024 02:47:55 +0200 Subject: Adding upstream version 124.0.1. Signed-off-by: Daniel Baumann --- .../vendor/llhttp/test/response/connection.md | 502 +++++++++++++++++++++ 1 file changed, 502 insertions(+) create mode 100644 third_party/python/aiohttp/vendor/llhttp/test/response/connection.md (limited to 'third_party/python/aiohttp/vendor/llhttp/test/response/connection.md') diff --git a/third_party/python/aiohttp/vendor/llhttp/test/response/connection.md b/third_party/python/aiohttp/vendor/llhttp/test/response/connection.md new file mode 100644 index 0000000000..4457743a1b --- /dev/null +++ b/third_party/python/aiohttp/vendor/llhttp/test/response/connection.md @@ -0,0 +1,502 @@ +Connection header +================= + +## Proxy-Connection + + +```http +HTTP/1.1 200 OK +Content-Type: text/html; charset=UTF-8 +Content-Length: 11 +Proxy-Connection: close +Date: Thu, 31 Dec 2009 20:55:48 +0000 + +hello world +``` + +```log +off=0 message begin +off=5 len=3 span[version]="1.1" +off=8 version complete +off=13 len=2 span[status]="OK" +off=17 status complete +off=17 len=12 span[header_field]="Content-Type" +off=30 header_field complete +off=31 len=24 span[header_value]="text/html; charset=UTF-8" +off=57 header_value complete +off=57 len=14 span[header_field]="Content-Length" +off=72 header_field complete +off=73 len=2 span[header_value]="11" +off=77 header_value complete +off=77 len=16 span[header_field]="Proxy-Connection" +off=94 header_field complete +off=95 len=5 span[header_value]="close" +off=102 header_value complete +off=102 len=4 span[header_field]="Date" +off=107 header_field complete +off=108 len=31 span[header_value]="Thu, 31 Dec 2009 20:55:48 +0000" +off=141 header_value complete +off=143 headers complete status=200 v=1/1 flags=22 content_length=11 +off=143 len=11 span[body]="hello world" +off=154 message complete +``` + +## HTTP/1.0 with keep-alive and EOF-terminated 200 status + +There is no `Content-Length` in this response, so even though the +`keep-alive` is on - it should read until EOF. + + +```http +HTTP/1.0 200 OK +Connection: keep-alive + +HTTP/1.0 200 OK +``` + +```log +off=0 message begin +off=5 len=3 span[version]="1.0" +off=8 version complete +off=13 len=2 span[status]="OK" +off=17 status complete +off=17 len=10 span[header_field]="Connection" +off=28 header_field complete +off=29 len=10 span[header_value]="keep-alive" +off=41 header_value complete +off=43 headers complete status=200 v=1/0 flags=1 content_length=0 +off=43 len=15 span[body]="HTTP/1.0 200 OK" +``` + +## HTTP/1.0 with keep-alive and 204 status + +Responses with `204` status cannot have a body. + + +```http +HTTP/1.0 204 No content +Connection: keep-alive + +HTTP/1.0 200 OK +``` + +```log +off=0 message begin +off=5 len=3 span[version]="1.0" +off=8 version complete +off=13 len=10 span[status]="No content" +off=25 status complete +off=25 len=10 span[header_field]="Connection" +off=36 header_field complete +off=37 len=10 span[header_value]="keep-alive" +off=49 header_value complete +off=51 headers complete status=204 v=1/0 flags=1 content_length=0 +off=51 message complete +off=51 reset +off=51 message begin +off=56 len=3 span[version]="1.0" +off=59 version complete +off=64 len=2 span[status]="OK" +``` + +## HTTP/1.1 with EOF-terminated 200 status + +There is no `Content-Length` in this response, so even though the +`keep-alive` is on (implicitly in HTTP 1.1) - it should read until EOF. + + +```http +HTTP/1.1 200 OK + +HTTP/1.1 200 OK +``` + +```log +off=0 message begin +off=5 len=3 span[version]="1.1" +off=8 version complete +off=13 len=2 span[status]="OK" +off=17 status complete +off=19 headers complete status=200 v=1/1 flags=0 content_length=0 +off=19 len=15 span[body]="HTTP/1.1 200 OK" +``` + +## HTTP/1.1 with 204 status + +Responses with `204` status cannot have a body. + + +```http +HTTP/1.1 204 No content + +HTTP/1.1 200 OK +``` + +```log +off=0 message begin +off=5 len=3 span[version]="1.1" +off=8 version complete +off=13 len=10 span[status]="No content" +off=25 status complete +off=27 headers complete status=204 v=1/1 flags=0 content_length=0 +off=27 message complete +off=27 reset +off=27 message begin +off=32 len=3 span[version]="1.1" +off=35 version complete +off=40 len=2 span[status]="OK" +``` + +## HTTP/1.1 with keep-alive disabled and 204 status in strict mode + + +```http +HTTP/1.1 204 No content +Connection: close + +HTTP/1.1 200 OK +``` + +```log +off=0 message begin +off=5 len=3 span[version]="1.1" +off=8 version complete +off=13 len=10 span[status]="No content" +off=25 status complete +off=25 len=10 span[header_field]="Connection" +off=36 header_field complete +off=37 len=5 span[header_value]="close" +off=44 header_value complete +off=46 headers complete status=204 v=1/1 flags=2 content_length=0 +off=46 message complete +off=47 error code=5 reason="Data after `Connection: close`" +``` + +## HTTP/1.1 with keep-alive disabled, content-length, and in loose mode + +Parser should discard extra request in loose mode. + + +```http +HTTP/1.1 200 No content +Content-Length: 5 +Connection: close + +2ad731e3-4dcd-4f70-b871-0ad284b29ffc +``` + +```log +off=0 message begin +off=5 len=3 span[version]="1.1" +off=8 version complete +off=13 len=10 span[status]="No content" +off=25 status complete +off=25 len=14 span[header_field]="Content-Length" +off=40 header_field complete +off=41 len=1 span[header_value]="5" +off=44 header_value complete +off=44 len=10 span[header_field]="Connection" +off=55 header_field complete +off=56 len=5 span[header_value]="close" +off=63 header_value complete +off=65 headers complete status=200 v=1/1 flags=22 content_length=5 +off=65 len=5 span[body]="2ad73" +off=70 message complete +``` + +## HTTP/1.1 with keep-alive disabled, content-length, and in strict mode + +Parser should discard extra request in strict mode. + + +```http +HTTP/1.1 200 No content +Content-Length: 5 +Connection: close + +2ad731e3-4dcd-4f70-b871-0ad284b29ffc +``` + +```log +off=0 message begin +off=5 len=3 span[version]="1.1" +off=8 version complete +off=13 len=10 span[status]="No content" +off=25 status complete +off=25 len=14 span[header_field]="Content-Length" +off=40 header_field complete +off=41 len=1 span[header_value]="5" +off=44 header_value complete +off=44 len=10 span[header_field]="Connection" +off=55 header_field complete +off=56 len=5 span[header_value]="close" +off=63 header_value complete +off=65 headers complete status=200 v=1/1 flags=22 content_length=5 +off=65 len=5 span[body]="2ad73" +off=70 message complete +off=71 error code=5 reason="Data after `Connection: close`" +``` + +## HTTP/1.1 with keep-alive disabled, content-length, and in lenient mode + +Parser should process extra request in lenient mode. + + +```http +HTTP/1.1 200 No content +Content-Length: 5 +Connection: close + +2ad73HTTP/1.1 200 OK +``` + +```log +off=0 message begin +off=5 len=3 span[version]="1.1" +off=8 version complete +off=13 len=10 span[status]="No content" +off=25 status complete +off=25 len=14 span[header_field]="Content-Length" +off=40 header_field complete +off=41 len=1 span[header_value]="5" +off=44 header_value complete +off=44 len=10 span[header_field]="Connection" +off=55 header_field complete +off=56 len=5 span[header_value]="close" +off=63 header_value complete +off=65 headers complete status=200 v=1/1 flags=22 content_length=5 +off=65 len=5 span[body]="2ad73" +off=70 message complete +off=70 reset +off=70 message begin +off=75 len=3 span[version]="1.1" +off=78 version complete +off=83 len=2 span[status]="OK" +``` + +## HTTP/1.1 with keep-alive disabled and 204 status in lenient mode + + +```http +HTTP/1.1 204 No content +Connection: close + +HTTP/1.1 200 OK +``` + +```log +off=0 message begin +off=5 len=3 span[version]="1.1" +off=8 version complete +off=13 len=10 span[status]="No content" +off=25 status complete +off=25 len=10 span[header_field]="Connection" +off=36 header_field complete +off=37 len=5 span[header_value]="close" +off=44 header_value complete +off=46 headers complete status=204 v=1/1 flags=2 content_length=0 +off=46 message complete +off=46 reset +off=46 message begin +off=51 len=3 span[version]="1.1" +off=54 version complete +off=59 len=2 span[status]="OK" +``` + +## HTTP 101 response with Upgrade and Content-Length header + + +```http +HTTP/1.1 101 Switching Protocols +Connection: upgrade +Upgrade: h2c +Content-Length: 4 + +body\ +proto +``` + +```log +off=0 message begin +off=5 len=3 span[version]="1.1" +off=8 version complete +off=13 len=19 span[status]="Switching Protocols" +off=34 status complete +off=34 len=10 span[header_field]="Connection" +off=45 header_field complete +off=46 len=7 span[header_value]="upgrade" +off=55 header_value complete +off=55 len=7 span[header_field]="Upgrade" +off=63 header_field complete +off=64 len=3 span[header_value]="h2c" +off=69 header_value complete +off=69 len=14 span[header_field]="Content-Length" +off=84 header_field complete +off=85 len=1 span[header_value]="4" +off=88 header_value complete +off=90 headers complete status=101 v=1/1 flags=34 content_length=4 +off=90 len=4 span[body]="body" +off=94 message complete +off=94 error code=22 reason="Pause on CONNECT/Upgrade" +``` + +## HTTP 101 response with Upgrade and Transfer-Encoding header + + +```http +HTTP/1.1 101 Switching Protocols +Connection: upgrade +Upgrade: h2c +Transfer-Encoding: chunked + +2 +bo +2 +dy +0 + +proto +``` + +```log +off=0 message begin +off=5 len=3 span[version]="1.1" +off=8 version complete +off=13 len=19 span[status]="Switching Protocols" +off=34 status complete +off=34 len=10 span[header_field]="Connection" +off=45 header_field complete +off=46 len=7 span[header_value]="upgrade" +off=55 header_value complete +off=55 len=7 span[header_field]="Upgrade" +off=63 header_field complete +off=64 len=3 span[header_value]="h2c" +off=69 header_value complete +off=69 len=17 span[header_field]="Transfer-Encoding" +off=87 header_field complete +off=88 len=7 span[header_value]="chunked" +off=97 header_value complete +off=99 headers complete status=101 v=1/1 flags=21c content_length=0 +off=102 chunk header len=2 +off=102 len=2 span[body]="bo" +off=106 chunk complete +off=109 chunk header len=2 +off=109 len=2 span[body]="dy" +off=113 chunk complete +off=116 chunk header len=0 +off=118 chunk complete +off=118 message complete +off=118 error code=22 reason="Pause on CONNECT/Upgrade" +``` + +## HTTP 200 response with Upgrade header + + +```http +HTTP/1.1 200 OK +Connection: upgrade +Upgrade: h2c + +body +``` + +```log +off=0 message begin +off=5 len=3 span[version]="1.1" +off=8 version complete +off=13 len=2 span[status]="OK" +off=17 status complete +off=17 len=10 span[header_field]="Connection" +off=28 header_field complete +off=29 len=7 span[header_value]="upgrade" +off=38 header_value complete +off=38 len=7 span[header_field]="Upgrade" +off=46 header_field complete +off=47 len=3 span[header_value]="h2c" +off=52 header_value complete +off=54 headers complete status=200 v=1/1 flags=14 content_length=0 +off=54 len=4 span[body]="body" +``` + +## HTTP 200 response with Upgrade header and Content-Length + + +```http +HTTP/1.1 200 OK +Connection: upgrade +Upgrade: h2c +Content-Length: 4 + +body +``` + +```log +off=0 message begin +off=5 len=3 span[version]="1.1" +off=8 version complete +off=13 len=2 span[status]="OK" +off=17 status complete +off=17 len=10 span[header_field]="Connection" +off=28 header_field complete +off=29 len=7 span[header_value]="upgrade" +off=38 header_value complete +off=38 len=7 span[header_field]="Upgrade" +off=46 header_field complete +off=47 len=3 span[header_value]="h2c" +off=52 header_value complete +off=52 len=14 span[header_field]="Content-Length" +off=67 header_field complete +off=68 len=1 span[header_value]="4" +off=71 header_value complete +off=73 headers complete status=200 v=1/1 flags=34 content_length=4 +off=73 len=4 span[body]="body" +off=77 message complete +``` + +## HTTP 200 response with Upgrade header and Transfer-Encoding + + +```http +HTTP/1.1 200 OK +Connection: upgrade +Upgrade: h2c +Transfer-Encoding: chunked + +2 +bo +2 +dy +0 + + +``` + +```log +off=0 message begin +off=5 len=3 span[version]="1.1" +off=8 version complete +off=13 len=2 span[status]="OK" +off=17 status complete +off=17 len=10 span[header_field]="Connection" +off=28 header_field complete +off=29 len=7 span[header_value]="upgrade" +off=38 header_value complete +off=38 len=7 span[header_field]="Upgrade" +off=46 header_field complete +off=47 len=3 span[header_value]="h2c" +off=52 header_value complete +off=52 len=17 span[header_field]="Transfer-Encoding" +off=70 header_field complete +off=71 len=7 span[header_value]="chunked" +off=80 header_value complete +off=82 headers complete status=200 v=1/1 flags=21c content_length=0 +off=85 chunk header len=2 +off=85 len=2 span[body]="bo" +off=89 chunk complete +off=92 chunk header len=2 +off=92 len=2 span[body]="dy" +off=96 chunk complete +off=99 chunk header len=0 +off=101 chunk complete +off=101 message complete +``` -- cgit v1.2.3