Skip to content

use Hyper as a HTTP backend#6110

Closed
bagder wants to merge 10 commits into
masterfrom
bagder/hyper
Closed

use Hyper as a HTTP backend#6110
bagder wants to merge 10 commits into
masterfrom
bagder/hyper

Conversation

@bagder
Copy link
Copy Markdown
Member

@bagder bagder commented Oct 21, 2020

Status: https://github.com/curl/curl/wiki/Hyper

Made a draft PR early to make sure this work doesn't break the "normal" builds. expect rebases!

  • make configure find Hyper
  • initial code that creates and issues a request with Hyper
  • use the correct method, path and default headers
  • docs explaining how to build with Hyper
  • receive/store response correctly
  • debug callback for received content
  • pass received data and headers to correct callbacks
  • no memory-leaks
  • works with HTTPS (if done with HTTP/1)
  • tell Hyper to not lowercase headers
  • debug callback for sent headers
  • supports custom request headers
  • HTTP/2
  • curl -I (HEAD) works over HTTP(S) and h1/h2
  • over proxies
  • referer (-e )
  • redirects
  • cookies
  • test suite "Hyper compatible"
  • Basic auth headers
  • Basic proxy auth headers
  • simple POSTs work
  • handle POST/PUT
  • multi-part formpost
  • send custom request headers without values
  • pass on the "status reason" from the HTTP/1 status line
  • provide Hyper version in curl_version_info function
  • handle CURL_HTTP_VERSION_1_0
  • chunked-encoded h1 "upload"
  • debug callback for sent content
  • multiplexed HTTP/2
  • h2 Upgrade:
  • HTTP auth
  • pausing transfers
  • co-exist with a HTTP/3 build
  • receiving HTTP/1 trailers
  • sending HTTP/1 trailers
  • accept-encoding
  • transfer encoding

@bagder bagder added the HTTP label Oct 21, 2020
@bagder bagder force-pushed the bagder/hyper branch 9 times, most recently from ab93cd9 to 8daa302 Compare November 3, 2020 08:30
@bagder bagder force-pushed the bagder/hyper branch 3 times, most recently from 70b4c6d to 644da26 Compare November 12, 2020 14:57
@bagder bagder force-pushed the bagder/hyper branch 2 times, most recently from 7aca90c to e8d853e Compare November 16, 2020 15:22
Comment thread lib/http.c Outdated
Comment thread lib/http.c
@bagder bagder force-pushed the bagder/hyper branch 5 times, most recently from 6f411f8 to be035c3 Compare November 26, 2020 22:48
Comment thread lib/setopt.c Outdated
@bagder bagder force-pushed the bagder/hyper branch 2 times, most recently from ffdfe3b to 23cb269 Compare December 8, 2020 07:49
@bagder bagder force-pushed the bagder/hyper branch 3 times, most recently from 6513c79 to 2901a45 Compare December 11, 2020 16:13
Comment thread docs/libcurl/symbols-in-versions Outdated
@bagder bagder marked this pull request as ready for review December 14, 2020 13:14
@bagder
Copy link
Copy Markdown
Member Author

bagder commented Dec 14, 2020

I've cleaned up the commits now in preparation for the first merge of this work. My plan with this merge is to provide a first version that users can check out and try (opt-in of course), but to not affect the default build at all.

I will then continue fixing the Hyper use further in follow-up PRs, hopefully much smaller and less disruptive.

@bagder bagder changed the title [WIP] use Hyper as a HTTP backend in curl use Hyper as a HTTP backend Dec 14, 2020
@bagder bagder closed this in c263e58 Dec 18, 2020
@bagder bagder deleted the bagder/hyper branch December 18, 2020 09:23
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Development

Successfully merging this pull request may close these issues.

3 participants