#http #http-client

nightly yukikaze

Beautiful and elegant HTTP library

34 releases (8 breaking)

✓ Uses Rust 2018 edition

1.0.0-alpha.4 Jul 1, 2019
0.8.1 Jul 4, 2019
0.5.4 Mar 24, 2019
0.3.1 Nov 23, 2018

#22 in HTTP client

Download history 273/week @ 2019-03-21 126/week @ 2019-03-28 147/week @ 2019-04-04 235/week @ 2019-04-11 162/week @ 2019-04-18 130/week @ 2019-04-25 163/week @ 2019-05-02 86/week @ 2019-05-09 111/week @ 2019-05-16 209/week @ 2019-05-23 79/week @ 2019-05-30 87/week @ 2019-06-06 108/week @ 2019-06-13 201/week @ 2019-06-20 414/week @ 2019-06-27

700 downloads per month
Used in 3 crates (2 directly)




Build Crates.io Documentation dependency status

Yukikaze image

Beautiful and elegant Yukikaze is little HTTP client library based on hyper.


  • Uses rustls for TLS
  • Support of various types of bodies: Plain text, JSON, multipart and forms
  • Simple redirect policy with option to limit number of redirections.
  • Support for text encodings aside from UTF-8.
  • Various helpers to extract useful headers: Cookies, ETag/Last-Modified, Content related headers.
  • File redirection support for response's body.
  • Notify interface to indicate progress of body's download.

Available cargo features

  • client - Enables client module. By default on.
  • rustls - Enables use of rustls for default SSL implementation. By default on
  • compu - Enables compression support. By default on.
  • encoding - Enables encoding crate support. Default off.
  • websocket - Enables Websocket Upgrade mechanism. Default off. Enables carry_extensions when on.
  • carry_extensions - Carries http::Extensions from request to resolved Response. Default off.


  • fie - CLI shit posting tool for various social medias.


Q: Why not just use reqwest/actix-web/mio_httpc?

A: Reqwest API sucks, actix-web client comes with lots of server code and mio_httpc is unknown beast to me(I just found out about it when created Yukikaze).

Q: I see some moon runes and anime picture. Are you one of these disgusting weebs?

A: Obviously yes ;)

Q: Why so many inlines? Are you this stupid to use pre-mature optimizations!?

A: Yes, I'm stupid enough because compiler doesn't want inline methods across crates by default(unless you turn on LTO)

Q: Why builder methods panic? Why don't you store error in builder and return it when finishing creating request?

A: I believe in normal cases you are not supposed to create invalid requests so I consider such errors as quite exceptional


~406K SLoC