[][src]Struct tonic::Request

pub struct Request<T> { /* fields omitted */ }

A gRPC request and metadata from an RPC call.


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]

This is supported on feature="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.

Trait Implementations

impl<T: Debug> Debug for Request<T>[src]

impl<T> IntoRequest<T> for Request<T>[src]

impl<T> IntoStreamingRequest for Request<T> where
    T: Stream + Send + Sync + 'static, 

type Stream = T

The RPC request stream type

type Message = T::Item

The RPC request type

Auto Trait Implementations

impl<T> !RefUnwindSafe for Request<T>

impl<T> Send for Request<T> where
    T: Send

impl<T> Sync for Request<T> where
    T: Sync

impl<T> Unpin for Request<T> where
    T: Unpin

impl<T> !UnwindSafe for Request<T>

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized

impl<T> Borrow<T> for T where
    T: ?Sized

impl<T> BorrowMut<T> for T where
    T: ?Sized

impl<T> From<T> for T[src]

impl<T> Instrument for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.

impl<V, T> VZip<V> for T where
    V: MultiLane<T>, 

impl<T> WithSubscriber for T[src]