From 8cdfa445d6629ffef4cb84967ff7017654045bc2 Mon Sep 17 00:00:00 2001 From: mo khan Date: Wed, 2 Jul 2025 18:36:06 -0600 Subject: chore: add vendor directory --- vendor/hyper/src/service/http.rs | 52 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 52 insertions(+) create mode 100644 vendor/hyper/src/service/http.rs (limited to 'vendor/hyper/src/service/http.rs') diff --git a/vendor/hyper/src/service/http.rs b/vendor/hyper/src/service/http.rs new file mode 100644 index 00000000..dd174316 --- /dev/null +++ b/vendor/hyper/src/service/http.rs @@ -0,0 +1,52 @@ +use std::error::Error as StdError; +use std::future::Future; + +use crate::body::Body; +use crate::service::service::Service; +use crate::{Request, Response}; + +/// An asynchronous function from `Request` to `Response`. +pub trait HttpService: sealed::Sealed { + /// The `Body` body of the `http::Response`. + type ResBody: Body; + + /// The error type that can occur within this `Service`. + /// + /// Note: Returning an `Error` to a hyper server will cause the connection + /// to be abruptly aborted. In most cases, it is better to return a `Response` + /// with a 4xx or 5xx status code. + type Error: Into>; + + /// The `Future` returned by this `Service`. + type Future: Future, Self::Error>>; + + #[doc(hidden)] + fn call(&mut self, req: Request) -> Self::Future; +} + +impl HttpService for T +where + T: Service, Response = Response>, + B2: Body, + T::Error: Into>, +{ + type ResBody = B2; + + type Error = T::Error; + type Future = T::Future; + + fn call(&mut self, req: Request) -> Self::Future { + Service::call(self, req) + } +} + +impl sealed::Sealed for T +where + T: Service, Response = Response>, + B2: Body, +{ +} + +mod sealed { + pub trait Sealed {} +} -- cgit v1.2.3