curl / Mailing Lists / curl-library / Single Mail


HTTP/2 with curl_easy

From: Magdy, Marco via curl-library <>
Date: Mon, 4 Mar 2019 18:10:03 +0000

Hi there,

I'm trying to use libcurl over HTTP/2 in the AWS C++ SDK but I'm running into an issue and I can't tell if it's a server problem or a misuse/misconfiguration issue on my end.

First of all, the AWS SDK uses libcurl's easy interface for HTTP/1.1 while this is less than ideal for HTTP/2, I intend on improving that in the future. In the meantime, I'm wondering if HTTP/2 works with the easy interface.

The issues I'm seeing is that the function set via CURLOPT_READFUNCTION is never invoked to send the body when connecting over H2. Instead, I receive a 200 OK followed by an error from the server because the client sent END_STREAM flag right after it sent the headers.

$ curl --version
curl 7.54.0 (x86_64-apple-darwin17.0) libcurl/7.54.0 LibreSSL/2.0.20 zlib/1.2.11 nghttp2/1.24.0
Protocols: dict file ftp ftps gopher http https imap imaps ldap ldaps pop3 pop3s rtsp smb smbs smtp smtps telnet tftp
Features: AsynchDNS IPv6 Largefile GSS-API Kerberos SPNEGO NTLM NTLM_WB SSL libz HTTP2 UnixSockets HTTPS-proxy

Thank you,

Received on 2019-03-04