ohkami

Ohkami - intuitive and declarative web framework for Rust

MIT License

Downloads
44.8K
Stars
59

Bot releases are hidden (Show)

ohkami - v0.19 Latest Release

Published by kana-rus 4 months ago

What's Changed

Full Changelog: https://github.com/kana-rus/ohkami/compare/v0.18...v0.19

ohkami - v0.18

Published by kana-rus 6 months ago

Auto Generated

What's Changed

Full Changelog: https://github.com/kana-rus/ohkami/compare/v0.17...v0.18

ohkami -

Published by kana-rus 6 months ago

Fundamental Changes

  • Support Cloudflare Workers by rt_worker feature ( #117, #118, #121, #122, #127 )
  • Support struct-level #[query] attribute in #[Query] ( #116 )
  • Support optional FromRequest items ( #123 )
  • Rebuild Response's public methods ( #126 )

Others

  • Improve Debug output of Request ( #124 )
  • Add tests for URLEncoded ( #128 )
  • Update CI ( #125 )

and docs update


Full Changelog: https://github.com/kana-rus/ohkami/compare/v0.16.0...v0.17

ohkami - v0.16

Published by kana-rus 6 months ago

Fundamental Changes

Drastically update the fang system

  • Introduce Fang and FangProc, like tower's Layer and Service.
  • Omit doubly-boxed Futures in Fangs or something as possible I can.
  • Remove Ohkami::howl_with and make every fangs to be called for any requests, including Not Found one, that are eaten by a Ohkami they are registered.
  • Provide FangAction for easy impl of Fang

Drastically update the payload system

  • Introduce Payload and PayloadType trait based on serde framework.
  • Remove #[ResponseBody]
  • Update #[Payload] to take an existing type that impls PayloadType.
  • Provide 5 builtin PayloadType: JSON, Text, HTML, Multipart, URLEncoded

Add static dir serving

"/route".Dir("./path/to/dir") creates Dir, that serves all files in ./path/to/dir.

Buildable without rt_*

For ease with developing third-party Fangs, now ohkami can be build without rt_* feature.

More intuitive route matching

In request handling, make route matching independent of registering order in Ohkami.

Internal Changes

More efficient resource handling in request / response

Put large arrays in Box<_>, this doesn't make bench scores worse.

ohkami - v0.15

Published by kana-rus 8 months ago

Fundamental Updates

  • Add type Type: BodyType in ResponseBody and, when Type is JSON, automatically impl ResponseBody<Type = JSON> for Vec<_>, [_; _], &[_], Option<_>
  • Add type Error: IntoResponse in {Front, Back}Fang and updates their return type to Output = Result<(), Self::Error>

Other Changes

  • Response::{json_str, set_json_str}: mark as unsafe
  • Document updates
ohkami - v0.14

Published by kana-rus 8 months ago

Fundamental Changes

  • Update fangs system: asynchronous
  • Support global fangs: Ohkami::howl_with, Testing::oneshot_with

Others

  • Handler: Support any single FromParam value without tuple
  • Fix: Bug in JWT::issue
  • Upgraded documents
ohkami - v0.13.0

Published by kana-rus 8 months ago

Fundamental Fix

  • Activate derive feature of serde that ohkami directly depends on, then finally #[PayloadJSOND] and #[ResponseBody(JSONS)] get be able to work!
  • Implement a decent connection handling for HTTP/1.1, then finally got able to handle pipelined requests properly!

Breaking Changes

  • The argument of Ohkami::howlimpl {runtime}::net::ToSocketAddr instead of impl ohkami::TCPAddress.
  • Automatically set Content-Length: 0 for response if it does't have content and its status isn't 204 No Content.

Bug Fix

  • Merge two or more duplicated fangs into one before applying them to router.

Others

  • Improved error messages and error responses.
ohkami - v0.12.0

Published by kana-rus 8 months ago

Breaking Changes

  • #75:Remove Fang(〜) and add Fang::front, Fang::back
  • #73:Support all (non-deprecated) HTTP statuses in Status enum and typed module

Bug Fix

  • #74:Fix a bug that Request::path returns an empty bytes when the raw request path is /

Other Changes

  • Support any requests having path with trailing /
  • Update doc comments, README, LICENSE year
ohkami - v0.11.1

Published by kana-rus 9 months ago

Changed

ohkami - v0.11.0

Published by kana-rus 9 months ago

With type-safe handler as the core, introduced a wide range of new features

ohkami - v0.10.0

Published by kana-rus 9 months ago

With type-safe handler as the core, introduced a wide range of new features

Package Rankings
Top 26.61% on Crates.io
Related Projects