Join GitHub today
GitHub is home to over 50 million developers working together to host and review code, manage projects, and build software together.Sign up
GitHub is where the world builds software
Millions of developers and companies build, ship, and maintain their software on GitHub — the largest and most advanced development platform in the world.
Enabling CURLPIPE_HTTP1 and CURLPIPE_MULTIPLEX, and requesting HTTP2 causes POST requests to get pipelined #1481
I have setup libcurl to enable HTTP2, and am configuring multi to enable pipelining and multiplexing as follows:-
On each request I am requesting HTTP2 as follows:-
When I run this in my app which is using a mixture of HTTP/1.1 and HTTP/2 endpoints, I see POST requests failing on calls to HTTP/1.1 endpoints. I've dug into the code and found that it seems that
I have fixed this locally by applying the following change:-
The function IsPipeliningPossible() would return TRUE if either pipelining OR HTTP/2 were possible on a connection, which would lead to it returning TRUE even for POSTs on HTTP/1 connections. It now returns a bitmask so that the caller can differentiate which kind the connection allows. Fixes #1481 Reported-by: stootill at github
?Thank you! I just verified this against my app and it does fix the problem.…
________________________________ From: Daniel Stenberg <firstname.lastname@example.org> Sent: 12 May 2017 15:32 To: curl/curl Cc: Tootill, Stewart; Author Subject: Re: [curl/curl] Enabling CURLPIPE_HTTP1 and CURLPIPE_MULTIPLEX, and requesting HTTP2 causes POST requests to get pipelined (#1481) See #1483<#1483> for my attempted fix for this issue. Would be great if you could try it out! - You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub<#1481 (comment)>, or mute the thread<https://github.com/notifications/unsubscribe-auth/AbUllxbFyQo6TIu_BHGvha35087lAGAmks5r5G2SgaJpZM4NZIUK>.