Struct Exchange

Source
pub struct Exchange { /* private fields */ }
Expand description

An HTTP message exchange. This is a pair of a request and a response.

Implementations§

Source§

impl Exchange

Source

pub unsafe fn new(request: *mut FCGX_Request) -> Self

Create an exchange from a FastCGI request. The exchange will take ownership of the request, and free it with free.

You probably want to use accept instead.

Source

pub fn accept<L>(listener: &L) -> Result<Self>
where L: AsRawFd,

Accept a request from a listener. This can be a TCP listener or a Unix domain socket listener. Do not pass an already-accepted socket; that will not work.

The reason this method exists, rather than requiring the caller to accept the connection from the listener, is that the C library of the FastCGI SDK does not expose a function that does not itself accept the connection.

Source

pub fn environment(&self) -> Environment<'_>

Return the FastCGI environment. These include the request method and the request header, and various information about the server.

Source

pub fn request_body(&self) -> RequestBody<'_>

Return the request body for this exchange. You can call this method multiple times, and all returned writers will write to the same buffer and socket.

Source

pub fn response(&self) -> Response<'_>

Return the response for this exchange. You can call this method multiple times, and all returned readers will read from the same buffer and socket.

Trait Implementations§

Source§

impl Debug for Exchange

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Drop for Exchange

Source§

fn drop(&mut self)

Executes the destructor for this type. Read more
Source§

impl Send for Exchange

Auto Trait Implementations§

Blanket Implementations§

Source§

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

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

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

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

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

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

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

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

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

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

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

Source§

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

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.