Skip to content

Early Hint in HTTP3 fails - Header without colon #3

Description

@superstes

Greetings!

When this version of curl receives an early-hint header in HTTP3 - it fails with Header without colon

docker run --network=host -it --rm alpine/curl-http3 curl -v --http3 -o/dev/null -A "Early-Hint TEST" https://www.3djake.com
* Request completely sent off
< HTTP/3 103 
< link: <https://3d.nice-cdn.com/library/early-connect.js>; rel=preconnect
* Header without colon
  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0
* Connection #0 to host www.3djake.com left intact

# HTTP2 works
docker run --network=host -it --rm alpine/curl-http3 curl -v --http2 -o/dev/null -A "Early-Hint TEST" https://www.3djake.com
* Request completely sent off
{ [5 bytes data]
< HTTP/2 103 
< link: <https://3d.nice-cdn.com/library/early-connect.js>; rel=preconnect
< 
< HTTP/2 103 
< link: <https://3d.nice-cdn.com/library/early-connect.js>; crossorigin; rel=preconnect
< 
} [5 bytes data]
< HTTP/2 200 

For comparison - it works just fine using this curl-binary: https://github.com/stunnel/static-curl/releases/tag/8.17.0

./curl -v --http3 -o/dev/null -A "Early-Hint TEST" https://www.3djake.com
* Request completely sent off
< HTTP/3 103 
< link: <https://3d.nice-cdn.com/library/early-connect.js>; rel=preconnect
< 
< HTTP/3 103 
< link: <https://3d.nice-cdn.com/library/early-connect.js>; crossorigin; rel=preconnect
< 
< HTTP/3 200

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions