Unverified Commit 80bcef02 authored by Alexandru Vasile's avatar Alexandru Vasile Committed by GitHub
Browse files

HTTP server with `tower` interaction (#831)



* http: Add inner server data structure

Signed-off-by: default avatarAlexandru Vasile <[email protected]>

* http: Handle RPC messages

Signed-off-by: default avatarAlexandru Vasile <[email protected]>

* http: Implement equivalent of `service_fn`

Signed-off-by: default avatarAlexandru Vasile <[email protected]>

* http: Implement equivalent of `make_service_fn`

Signed-off-by: default avatarAlexandru Vasile <[email protected]>

* http: Expose `tower` compatible service

Signed-off-by: default avatarAlexandru Vasile <[email protected]>

* http: Prebuild http server with optional listener

Signed-off-by: default avatarAlexandru Vasile <[email protected]>

* examples: WIP tower service

Signed-off-by: default avatarAlexandru Vasile <[email protected]>

* http: Fix warnings

Signed-off-by: default avatarAlexandru Vasile <[email protected]>

* tower_http: Fix warnings

Signed-off-by: default avatarAlexandru Vasile <[email protected]>

* http: Ensure service works with tower

Signed-off-by: default avatarAlexandru Vasile <[email protected]>

* http: Remove `RPSeeServerMakeSvc` to allow further flexibility

Signed-off-by: default avatarAlexandru Vasile <[email protected]>

* tower_http: Fix warnings

Signed-off-by: default avatarAlexandru Vasile <[email protected]>

* tower_http: Resubmit the same request for testing

Signed-off-by: default avatarAlexandru Vasile <[email protected]>

* http: Transform builder into service directly

Signed-off-by: default avatarAlexandru Vasile <[email protected]>

* http: Rename `RPSeeServerSvc` into user friendly `TowerService`

Signed-off-by: default avatarAlexandru Vasile <[email protected]>

* http: Rely on internal TowerService to handle requests

Signed-off-by: default avatarAlexandru Vasile <[email protected]>

* Fix middleware typo

Signed-off-by: default avatarAlexandru Vasile <[email protected]>

* http-server: Improve API builder for tower service

Signed-off-by: default avatarAlexandru Vasile <[email protected]>

* Rename the inner service data and check comments

Signed-off-by: default avatarAlexandru Vasile <[email protected]>

* examples: Add comments

Signed-off-by: default avatarAlexandru Vasile <[email protected]>

* http-server: Receive tower service builder as param

Signed-off-by: default avatarAlexandru Vasile <[email protected]>

* examples: Adjust tower_http example

Signed-off-by: default avatarAlexandru Vasile <[email protected]>

* http-server: Add tower middleware on the HttpBuilder

Signed-off-by: default avatarAlexandru Vasile <[email protected]>

* http-server: Do not expose the internal `TowerService` for now

Signed-off-by: default avatarAlexandru Vasile <[email protected]>

* Update http-server/src/server.rs

Co-authored-by: default avatarNiklas Adolfsson <[email protected]>

* http-server: Use `std::error::Error`

Signed-off-by: default avatarAlexandru Vasile <[email protected]>

* Fix fmt

Signed-off-by: default avatarAlexandru Vasile <[email protected]>

* address some grumbles

* fix more grumbles: no more Infallible

* make clippy happy

* Rename tower http example

Signed-off-by: default avatarAlexandru Vasile <[email protected]>

* Update http-server/src/server.rs

* Update http-server/src/server.rs

* Update http-server/src/server.rs

* Update http-server/src/server.rs

Signed-off-by: default avatarAlexandru Vasile <[email protected]>
Co-authored-by: default avatarNiklas Adolfsson <[email protected]>
parent 4c6207a1
Pipeline #207819 passed with stages
in 5 minutes and 29 seconds
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment