Skip to content

hyper: tests 580 and 581 #8617

@liamwarfield

Description

@liamwarfield

I did this

The reason why the test 580 and 581 are failing are mentioned in detailed in this issue. The TLDR version is that hyper does not store HTTP headers in the order that they are received. hyper basically stores headers in hash map of "HeaderName" -> vec<"HeaderValue"> (This is an oversimplification, but will work for this discussion). This means the current implementation of hyper_headers_foreach ends up grouping the headers by header name.

I expected the following

This leaves me with a few questions about theses tests:

  • Is header reordering be allowed for back ends?

curl/libcurl version

[lwarfield@Rocinante ~]$ curl --version
curl 7.79.1 (x86_64-redhat-linux-gnu) libcurl/7.79.1 OpenSSL/1.1.1l-fips zlib/1.2.11 brotli/1.0.9 libidn2/2.3.2 libpsl/0.21.1 (+libidn2/2.3.2) libssh/0.9.6/openssl/zlib nghttp2/1.45.1 OpenLDAP/2.4.59
Release-Date: 2021-09-22
Protocols: dict file ftp ftps gopher gophers http https imap imaps ldap ldaps mqtt pop3 pop3s rtsp scp sftp smb smbs smtp smtps telnet tftp 
Features: alt-svc AsynchDNS brotli GSS-API HSTS HTTP2 HTTPS-proxy IDN IPv6 Kerberos Largefile libz NTLM NTLM_WB PSL SPNEGO SSL TLS-SRP UnixSockets

operating system

Linux Rocinante 5.16.14-200.fc35.x86_64 #1 SMP PREEMPT Fri Mar 11 20:31:18 UTC 2022 x86_64 x86_64 x86_64 GNU/Linux

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions