mirror of
https://github.com/moparisthebest/curl
synced 2024-11-11 03:55:03 -05:00
alt-svc: add test 355 and 356 to verify with command line curl
This commit is contained in:
parent
c51c78dd8d
commit
5345b04a43
@ -3982,7 +3982,14 @@ CURLcode Curl_http_readwrite_headers(struct Curl_easy *data,
|
|||||||
#ifdef USE_ALTSVC
|
#ifdef USE_ALTSVC
|
||||||
/* If enabled, the header is incoming and this is over HTTPS */
|
/* If enabled, the header is incoming and this is over HTTPS */
|
||||||
else if(data->asi && checkprefix("Alt-Svc:", k->p) &&
|
else if(data->asi && checkprefix("Alt-Svc:", k->p) &&
|
||||||
(conn->handler->flags & PROTOPT_SSL)) {
|
((conn->handler->flags & PROTOPT_SSL) ||
|
||||||
|
#ifdef CURLDEBUG
|
||||||
|
/* allow debug builds to circumvent the HTTPS restriction */
|
||||||
|
getenv("CURL_ALTSVC_HTTP")
|
||||||
|
#else
|
||||||
|
0
|
||||||
|
#endif
|
||||||
|
)) {
|
||||||
/* the ALPN of the current request */
|
/* the ALPN of the current request */
|
||||||
enum alpnid id = (conn->httpversion == 20) ? ALPN_h2 : ALPN_h1;
|
enum alpnid id = (conn->httpversion == 20) ? ALPN_h2 : ALPN_h1;
|
||||||
result = Curl_altsvc_parse(data, data->asi,
|
result = Curl_altsvc_parse(data, data->asi,
|
||||||
|
@ -60,7 +60,7 @@ test325 test326 test327 test328 test329 test330 \
|
|||||||
\
|
\
|
||||||
test340 \
|
test340 \
|
||||||
\
|
\
|
||||||
test350 test351 test352 test353 test354 \
|
test350 test351 test352 test353 test354 test355 test356 \
|
||||||
test393 test394 test395 \
|
test393 test394 test395 \
|
||||||
\
|
\
|
||||||
test400 test401 test402 test403 test404 test405 test406 test407 test408 \
|
test400 test401 test402 test403 test404 test405 test406 test407 test408 \
|
||||||
|
57
tests/data/test355
Normal file
57
tests/data/test355
Normal file
@ -0,0 +1,57 @@
|
|||||||
|
<testcase>
|
||||||
|
<info>
|
||||||
|
<keywords>
|
||||||
|
HTTP
|
||||||
|
Alt-Svc
|
||||||
|
</keywords>
|
||||||
|
</info>
|
||||||
|
|
||||||
|
#
|
||||||
|
# Server-side
|
||||||
|
<reply>
|
||||||
|
<data>
|
||||||
|
HTTP/1.1 200 OK
|
||||||
|
Date: Thu, 09 Nov 2010 14:49:00 GMT
|
||||||
|
Content-Length: 6
|
||||||
|
Connection: close
|
||||||
|
Content-Type: text/html
|
||||||
|
Funny-head: yesyes
|
||||||
|
|
||||||
|
-foo-
|
||||||
|
</data>
|
||||||
|
</reply>
|
||||||
|
|
||||||
|
#
|
||||||
|
# Client-side
|
||||||
|
<client>
|
||||||
|
<features>
|
||||||
|
alt-svc
|
||||||
|
</features>
|
||||||
|
<server>
|
||||||
|
http
|
||||||
|
</server>
|
||||||
|
<name>
|
||||||
|
load Alt-Svc from file and use
|
||||||
|
</name>
|
||||||
|
<command>
|
||||||
|
http://%HOSTIP:%HTTPPORT/355 --alt-svc ""
|
||||||
|
</command>
|
||||||
|
<file name="log/altsvc-355">
|
||||||
|
h1 example.com 80 h1 %HOSTIP %HTTPPORT "20290222 22:19:28" 0 0
|
||||||
|
</file>
|
||||||
|
</client>
|
||||||
|
|
||||||
|
#
|
||||||
|
# Verify data after the test has been "shot"
|
||||||
|
<verify>
|
||||||
|
<strip>
|
||||||
|
^User-Agent:.*
|
||||||
|
</strip>
|
||||||
|
<protocol>
|
||||||
|
GET /355 HTTP/1.1
|
||||||
|
Host: %HOSTIP:%HTTPPORT
|
||||||
|
Accept: */*
|
||||||
|
|
||||||
|
</protocol>
|
||||||
|
</verify>
|
||||||
|
</testcase>
|
69
tests/data/test356
Normal file
69
tests/data/test356
Normal file
@ -0,0 +1,69 @@
|
|||||||
|
<testcase>
|
||||||
|
<info>
|
||||||
|
<keywords>
|
||||||
|
HTTP
|
||||||
|
Alt-Svc
|
||||||
|
</keywords>
|
||||||
|
</info>
|
||||||
|
|
||||||
|
#
|
||||||
|
# Server-side
|
||||||
|
<reply>
|
||||||
|
<data>
|
||||||
|
HTTP/1.1 200 OK
|
||||||
|
Date: Thu, 09 Nov 2010 14:49:00 GMT
|
||||||
|
Content-Length: 6
|
||||||
|
Connection: close
|
||||||
|
Content-Type: text/html
|
||||||
|
Funny-head: yesyes
|
||||||
|
Alt-Svc: h1="nowhere.foo:81"
|
||||||
|
|
||||||
|
-foo-
|
||||||
|
</data>
|
||||||
|
</reply>
|
||||||
|
|
||||||
|
#
|
||||||
|
# Client-side
|
||||||
|
<client>
|
||||||
|
<features>
|
||||||
|
debug
|
||||||
|
alt-svc
|
||||||
|
</features>
|
||||||
|
<server>
|
||||||
|
http
|
||||||
|
</server>
|
||||||
|
<name>
|
||||||
|
parse incoming Alt-Svc and save to file
|
||||||
|
</name>
|
||||||
|
<setenv>
|
||||||
|
# make debug-curl accept Alt-Svc over plain HTTP
|
||||||
|
CURL_ALTSVC_HTTP="yeah"
|
||||||
|
<command>
|
||||||
|
http://%HOSTIP:%HTTPPORT/356 --alt-svc "log/altsvc-356"
|
||||||
|
</command>
|
||||||
|
</client>
|
||||||
|
|
||||||
|
#
|
||||||
|
# Verify data after the test has been "shot"
|
||||||
|
<verify>
|
||||||
|
<strip>
|
||||||
|
^User-Agent:.*
|
||||||
|
</strip>
|
||||||
|
<protocol>
|
||||||
|
GET /356 HTTP/1.1
|
||||||
|
Host: %HOSTIP:%HTTPPORT
|
||||||
|
Accept: */*
|
||||||
|
|
||||||
|
</protocol>
|
||||||
|
<stripfile>
|
||||||
|
# strip out the (dynamic) expire date from the file so that the rest
|
||||||
|
# matches
|
||||||
|
s/\"([^\"]*)\"/TIMESTAMP/
|
||||||
|
</stripfile>
|
||||||
|
<file name="log/altsvc-356">
|
||||||
|
# Your alt-svc cache. https://curl.haxx.se/docs/alt-svc.html
|
||||||
|
# This file was generated by libcurl! Edit at your own risk.
|
||||||
|
h1 %HOSTIP %HTTPPORT h1 nowhere.foo 81 TIMESTAMP 0 0
|
||||||
|
</file>
|
||||||
|
</verify>
|
||||||
|
</testcase>
|
Loading…
Reference in New Issue
Block a user