The aitch crate was originally meant to define just the types necessary to create handlers/middlewares/bodies. The server backends and other middlewares were going to be defined in separate crates.
For ease of development, the other features were added to the main aitch crate, behind default-on optional cargo features. Should they be split out into separate crates? It would keep the main aitch crate small (as was intended), but make it more difficult for end-users to use.
The crate could be split by:
aitch_hyper: Hyper back-end.
aitch_tiny_http: tiny_http back-end
aitch_json: Serde support
aitch_static_files: Static file serving. (Although this might give the impression that it's production ready).
aitch_simple_router: SimpleRouter, although maybe there should be a better aitch_router crate.
The aitch crate was originally meant to define just the types necessary to create handlers/middlewares/bodies. The server backends and other middlewares were going to be defined in separate crates.
For ease of development, the other features were added to the main aitch crate, behind default-on optional cargo features. Should they be split out into separate crates? It would keep the main aitch crate small (as was intended), but make it more difficult for end-users to use.
The crate could be split by:
aitch_hyper: Hyper back-end.aitch_tiny_http: tiny_http back-endaitch_json: Serde supportaitch_static_files: Static file serving. (Although this might give the impression that it's production ready).aitch_simple_router:SimpleRouter, although maybe there should be a betteraitch_routercrate.