summaryrefslogtreecommitdiff
path: root/vendor/hyper/src/service/mod.rs
diff options
context:
space:
mode:
authormo khan <mo@mokhan.ca>2025-07-02 18:36:06 -0600
committermo khan <mo@mokhan.ca>2025-07-02 18:36:06 -0600
commit8cdfa445d6629ffef4cb84967ff7017654045bc2 (patch)
tree22f0b0907c024c78d26a731e2e1f5219407d8102 /vendor/hyper/src/service/mod.rs
parent4351c74c7c5f97156bc94d3a8549b9940ac80e3f (diff)
chore: add vendor directory
Diffstat (limited to 'vendor/hyper/src/service/mod.rs')
-rw-r--r--vendor/hyper/src/service/mod.rs30
1 files changed, 30 insertions, 0 deletions
diff --git a/vendor/hyper/src/service/mod.rs b/vendor/hyper/src/service/mod.rs
new file mode 100644
index 00000000..28ffaddb
--- /dev/null
+++ b/vendor/hyper/src/service/mod.rs
@@ -0,0 +1,30 @@
+//! Asynchronous Services
+//!
+//! A [`Service`] is a trait representing an asynchronous
+//! function of a request to a response. It's similar to
+//! `async fn(Request) -> Result<Response, Error>`.
+//!
+//! The argument and return value isn't strictly required to be for HTTP.
+//! Therefore, hyper uses several "trait aliases" to reduce clutter around
+//! bounds. These are:
+//!
+//! - `HttpService`: This is blanketly implemented for all types that
+//! implement `Service<http::Request<B1>, Response = http::Response<B2>>`.
+//!
+//! # HttpService
+//!
+//! In hyper, especially in the server setting, a `Service` is usually bound
+//! to a single connection. It defines how to respond to **all** requests that
+//! connection will receive.
+//!
+//! The helper [`service_fn`] should be sufficient for most cases, but
+//! if you need to implement `Service` for a type manually, you can follow the example
+//! in `service_struct_impl.rs`.
+
+mod http;
+mod service;
+mod util;
+
+pub use self::http::HttpService;
+pub use self::service::Service;
+pub use self::util::service_fn;