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]

pub fn new(message: T) -> Self[src]

Create a new gRPC request.

Request::new(HelloRequest {
   name: "Bob".into(),
});

pub fn get_ref(&self) -> &T

Notable traits for &'_ mut F

impl<'_, F> Future for &'_ mut F where
    F: Future + Unpin + ?Sized
type Output = <F as Future>::Output;
[src]

Get a reference to the message

pub fn get_mut(&mut self) -> &mut T

Notable traits for &'_ mut F

impl<'_, F> Future for &'_ mut F where
    F: Future + Unpin + ?Sized
type Output = <F as Future>::Output;
[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]

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, 
[src]

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
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

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

impl<T> Instrument for T[src]

impl<T> Instrument for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> Pointable for T[src]

type Init = T

The type for initializers.

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

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>, 
[src]

impl<T> WithSubscriber for T[src]