v0.16
Fundamental Changes
Drastically update the fang system
- Introduce
Fang
andFangProc
, like tower'sLayer
andService
. - Omit doubly-boxed
Future
s inFangs
or something as possible I can. - Remove
Ohkami::howl_with
and make every fangs to be called for any requests, includingNot Found
one, that are eaten by aOhkami
they are registered. - Provide
FangAction
for easy impl ofFang
Drastically update the payload system
- Introduce
Payload
andPayloadType
trait based onserde
framework. - Remove
#[ResponseBody]
- Update
#[Payload]
to take an existing type that implsPayloadType
. - 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 Fang
s, 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.