Struct tonic::Request [−][src]
pub struct Request<T> { /* fields omitted */ }
A gRPC request and metadata from an RPC call.
Implementations
impl<T> Request<T>
[src]
impl<T> Request<T>
[src]pub fn new(message: T) -> Self
[src]
Create a new gRPC request.
Request::new(HelloRequest { name: "Bob".into(), });
pub fn get_ref(&self) -> &Tⓘ
[src]
Get a reference to the message
pub fn get_mut(&mut self) -> &mut Tⓘ
[src]
Get a mutable reference to the message
pub fn metadata(&self) -> &MetadataMap
[src]
Get a reference to the custom request metadata.
pub fn metadata_mut(&mut self) -> &mut MetadataMap
[src]
Get a mutable reference to the request metadata.
pub fn into_inner(self) -> T
[src]
Consumes self
, returning the message
pub fn from_http(http: Request<T>) -> Self
[src]
Convert an HTTP request to a gRPC request
pub fn remote_addr(&self) -> Option<SocketAddr>
[src]
Get the remote address of this connection.
This will return None
if the IO
type used
does not implement Connected
. This currently,
only works on the server side.
pub fn peer_certs(&self) -> Option<Arc<Vec<Certificate>>>
[src]
transport
only.Get the peer certificates of the connected client.
This is used to fetch the certificates from the TLS session
and is mostly used for mTLS. This currently only returns
Some
on the server side of the transport
server with
TLS enabled connections.
pub fn set_timeout(&mut self, deadline: Duration)
[src]
Set the max duration the request is allowed to take.
Requires the server to support the grpc-timeout
metadata, which Tonic does.
The duration will be formatted according to the spec and use the most precise unit possible.
Example:
use std::time::Duration; use tonic::Request; let mut request = Request::new(()); request.set_timeout(Duration::from_secs(30)); let value = request.metadata().get("grpc-timeout").unwrap(); assert_eq!( value, // equivalent to 30 seconds "30000000u" );
Trait Implementations
impl<T> IntoRequest<T> for Request<T>
[src]
impl<T> IntoRequest<T> for Request<T>
[src]fn into_request(self) -> Request<T>
[src]
Auto Trait Implementations
impl<T> !RefUnwindSafe for Request<T>
impl<T> !RefUnwindSafe for Request<T>
impl<T> !UnwindSafe for Request<T>
impl<T> !UnwindSafe for Request<T>
Blanket Implementations
impl<T> Instrument for T
[src]
impl<T> Instrument for T
[src]pub fn instrument(self, span: Span) -> Instrumented<Self>ⓘNotable traits for Instrumented<T>
impl<T> Future for Instrumented<T> where
T: Future, type Output = <T as Future>::Output;
[src]
Notable traits for Instrumented<T>
impl<T> Future for Instrumented<T> where
T: Future, type Output = <T as Future>::Output;
pub fn in_current_span(self) -> Instrumented<Self>ⓘNotable traits for Instrumented<T>
impl<T> Future for Instrumented<T> where
T: Future, type Output = <T as Future>::Output;
[src]
Notable traits for Instrumented<T>
impl<T> Future for Instrumented<T> where
T: Future, type Output = <T as Future>::Output;
impl<T> Instrument for T
[src]
impl<T> Instrument for T
[src]pub fn instrument(self, span: Span) -> Instrumented<Self>ⓘNotable traits for Instrumented<T>
impl<T> Future for Instrumented<T> where
T: Future, type Output = <T as Future>::Output;
[src]
Notable traits for Instrumented<T>
impl<T> Future for Instrumented<T> where
T: Future, type Output = <T as Future>::Output;
pub fn in_current_span(self) -> Instrumented<Self>ⓘNotable traits for Instrumented<T>
impl<T> Future for Instrumented<T> where
T: Future, type Output = <T as Future>::Output;
[src]
Notable traits for Instrumented<T>
impl<T> Future for Instrumented<T> where
T: Future, type Output = <T as Future>::Output;
impl<V, T> VZip<V> for T where
V: MultiLane<T>,
impl<V, T> VZip<V> for T where
V: MultiLane<T>,
pub fn vzip(self) -> V
impl<T> WithSubscriber for T
[src]
impl<T> WithSubscriber for T
[src]pub fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>ⓘNotable traits for WithDispatch<T>
impl<T> Future for WithDispatch<T> where
T: Future, type Output = <T as Future>::Output;
where
S: Into<Dispatch>,
[src]
Notable traits for WithDispatch<T>
impl<T> Future for WithDispatch<T> where
T: Future, type Output = <T as Future>::Output;
S: Into<Dispatch>,
pub fn with_current_subscriber(self) -> WithDispatch<Self>ⓘNotable traits for WithDispatch<T>
impl<T> Future for WithDispatch<T> where
T: Future, type Output = <T as Future>::Output;
[src]
Notable traits for WithDispatch<T>
impl<T> Future for WithDispatch<T> where
T: Future, type Output = <T as Future>::Output;