Skip to content
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also .

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also .
base repository: hyperium/hyper
base: v0.14.18
Choose a base ref
head repository: hyperium/hyper
compare: v0.14.19
Choose a head ref
  • 20 commits
  • 34 files changed
  • 13 contributors

Commits on Apr 9, 2022

  1. refactor(server): move non-conn code out of conn.rs

    The actual code for `Server` was previously organized very confusingly:
    it was thrice layered with `SpawnAll` and `Serve` which both appeared in
    conn.rs despite not having anything to do with the lower-level conn API.
    This commit changes that, removing all layering and having the code for
    the higher-level `Server` appear inside `server.rs` only.
    SabrinaJewson authored and seanmonstar committed Apr 9, 2022
  2. refactor(server): simplify server cfgs

    `server.rs` is currently littered with `cfg`s for `http1` or `http2`,
    since the majority of server behaviour is only available with either one
    of those feature flags active. This is hard to maintain and confusing to
    read, so this commit extracts the two implementations into their own
    files, since there is very little benefit in sharing code between the
    two.
    SabrinaJewson authored and seanmonstar committed Apr 9, 2022
  3. style(server): rustfmt

    SabrinaJewson authored and seanmonstar committed Apr 9, 2022

Commits on Apr 12, 2022

  1. refactor(capi): make early returns consistent in C examples (#2812)

    - Since the `if` condition already causes the loop to `break`,
      the `else` is not necessary. We wouldn't have reached the `else`
      block, anyway, if the prior `if` condition passed.
    - We are more likely to poll a successful chunk than finish
      the request or throw an error. Thus, it is best if we go
      for the optimistic route and check for the successful
      case first.
    BastiDood committed Apr 12, 2022

Commits on Apr 20, 2022

  1. feat(server): add AddrStream::local_addr() (#2816)

    Expose local address of tcp connection in AddrStream.
    
    Closes #2773
    ilyatrefilov committed Apr 20, 2022

Commits on Apr 23, 2022

  1. feature(ffi): add connection option to preserve header order (#2798)

    Libcurl expects that headers are iterated in the same order that they
    are recieved. Previously this caused curl tests 580 and 581 to fail.
    This necessitated exposing a way to preserve the original ordering of
    http headers.
    
    SUMMARY OF CHANGES: Add a new data structure called OriginalHeaderOrder that
    represents the order in which headers originally appear in a HTTP
    message. This datastructure is `Vec<(Headername, multimap-index)>`.
    This vector is ordered by the order which headers were recieved.
    Add the following ffi functions:
    - ffi::client::hyper_clientconn_options_set_preserve_header_order : An
         ffi interface to configure a connection to preserve header order.
    - ffi::client::hyper_clientconn_options_set_preserve_header_case : An
         ffi interface to configure a connection to preserve header case.
    - Add a new option to ParseContext, and Conn::State called `preserve_header_order`.
      This option, and all the code paths it creates are behind the `ffi`
      feature flag. This should not change performance of response parsing for
      non-ffi users.
    
    Closes #2780
    
    BREAKING CHANGE: hyper_clientconn_options_new no longer
      sets the http1_preserve_header_case connection option by default.
      Users should now call
      hyper_clientconn_options_set_preserve_header_case
      if they desire that functionality.
    liamwarfield committed Apr 23, 2022

Commits on Apr 25, 2022

  1. docs(lib): fix some typos (#2818)

    Signed-off-by: cuishuang <imcusg@gmail.com>
    cuishuang committed Apr 25, 2022

Commits on Apr 26, 2022

  1. fix(http1): fix preserving header case without enabling ffi (#2820)

    The previous commit broke this, but it wasn't released, so released versions will never notice the breakage.
    nox committed Apr 26, 2022
  2. refactor(http1): assorted code readability improvements in `h1/conn.r…

    …s` (#2817)
    
    * refactor: use `matches` macro to flatten code
    
    * refactor: prefer `matches` over explicit matching
    
    * refactor: reuse `can_write_body` method
    
    * refactor: use `matches` over `if`-`let`
    
    * refactor: nested `if`-`else` as early return
    
    * refactor: move inner `match` logic outside
    
    * refactor: unneeded `return` in `match`
    
    * refactor: remove unneeded reference matching
    
    * refactor: use early returns for idle check
    
    * refactor: use `matches` macro for Boolean `match`
    BastiDood committed Apr 26, 2022

Commits on May 18, 2022

  1. fix(server): don't add implicit content-length to HEAD responses (#2836)

    HEAD responses should not have content-length implicitly set by hyper.
    
    Co-authored-by: Jannes Timm <jannes@cloudflare.com>
    jannes and Jannes Timm committed May 18, 2022
  2. feat(server): add Connection::http2_max_header_list_size option (#2828

    )
    
    This allows setting the HTTP/2 `SETTINGS_MAX_HEADER_LIST_SIZE` which advertises to the peer the maximum header size allowed, and internally is enforced.
    
    Closes #2826
    silence-coding committed May 18, 2022

Commits on May 20, 2022

Commits on May 25, 2022

Commits on May 26, 2022

Commits on May 27, 2022

  1. docs(various): fix typos in VISION and ROADMAP (#2875)

    Signed-off-by: r <ryanrussell@users.noreply.github.com>
    ryanrussell committed May 27, 2022
  2. v0.14.19

    seanmonstar committed May 27, 2022