pub struct Forwarder { /* private fields */ }Implementations§
Source§impl Forwarder
impl Forwarder
pub fn new(_base_url: impl Into<String>, timeout_secs: u64) -> Result<Self>
Sourcepub async fn forward(
&self,
upstream: &str,
method: &str,
path: &str,
body: Bytes,
client_headers: &HeaderMap,
account: &AccountConfig,
token: &str,
) -> Result<Response<Body>>
pub async fn forward( &self, upstream: &str, method: &str, path: &str, body: Bytes, client_headers: &HeaderMap, account: &AccountConfig, token: &str, ) -> Result<Response<Body>>
Forward a request to the upstream using the given account’s OAuth credential.
upstreamoverrides the base URL for this account (per-provider routing).- Strips
Authorizationandx-api-keyfrom the client request. - Injects
Authorization: Bearer <token>(live token, may differ from account.credential). - Keeps the upstream TCP connection alive for streaming responses.
Auto Trait Implementations§
impl Freeze for Forwarder
impl !RefUnwindSafe for Forwarder
impl Send for Forwarder
impl Sync for Forwarder
impl Unpin for Forwarder
impl UnsafeUnpin for Forwarder
impl !UnwindSafe for Forwarder
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more