[][src]Struct actix_web::HttpRequest

pub struct HttpRequest(_);

An HTTP Request

Methods

impl HttpRequest[src]

pub fn head(&self) -> &RequestHead[src]

This method returns reference to the request head

pub fn uri(&self) -> &Uri[src]

Request's uri.

pub fn method(&self) -> &Method[src]

Read the Request method.

pub fn version(&self) -> Version[src]

Read the Request Version.

pub fn headers(&self) -> &HeaderMap[src]

Returns request's headers.

pub fn path(&self) -> &str[src]

The target path of this Request.

pub fn query_string(&self) -> &str[src]

The query string in the URL.

E.g., id=10

pub fn match_info(&self) -> &Path<Url>[src]

Get a reference to the Path parameters.

Params is a container for url parameters. A variable segment is specified in the form {identifier}, where the identifier can be used later in a request handler to access the matched value for that segment.

pub fn extensions(&self) -> Ref<Extensions>[src]

Request extensions

pub fn extensions_mut(&self) -> RefMut<Extensions>[src]

Mutable reference to a the request's extensions

pub fn url_for<U, I>(
    &self,
    name: &str,
    elements: U
) -> Result<Url, UrlGenerationError> where
    U: IntoIterator<Item = I>,
    I: AsRef<str>, 
[src]

Generate url for named resource

fn index(req: HttpRequest) -> HttpResponse {
    let url = req.url_for("foo", &["1", "2", "3"]); // <- generate url for "foo" resource
    HttpResponse::Ok().into()
}

fn main() {
    let app = App::new()
        .service(web::resource("/test/{one}/{two}/{three}")
             .name("foo")  // <- set resource name, then it could be used in `url_for`
             .route(web::get().to(|| HttpResponse::Ok()))
        );
}

pub fn url_for_static(&self, name: &str) -> Result<Url, UrlGenerationError>[src]

Generate url for named resource

This method is similar to HttpRequest::url_for() but it can be used for urls that do not contain variable parts.

pub fn resource_map(&self) -> &ResourceMap[src]

Get a reference to a ResourceMap of current application.

pub fn peer_addr(&self) -> Option<SocketAddr>[src]

Peer socket address

Peer address is actual socket address, if proxy is used in front of actix http server, then peer address would be address of this proxy.

To get client connection information .connection_info() should be used.

pub fn connection_info(&self) -> Ref<ConnectionInfo>[src]

Get ConnectionInfo for the current request.

This method panics if request's extensions container is already borrowed.

pub fn app_config(&self) -> &AppConfig[src]

App config

pub fn app_data<T: 'static>(&self) -> Option<&T>[src]

Get an application data stored with App::data() method during application configuration.

pub fn get_app_data<T: 'static>(&self) -> Option<Data<T>>[src]

Get an application data stored with App::data() method during application configuration.

Trait Implementations

impl FromRequest for HttpRequest[src]

It is possible to get HttpRequest as an extractor handler parameter

Example

use actix_web::{web, App, HttpRequest};

/// extract `Thing` from request
fn index(req: HttpRequest) -> String {
   format!("Got thing: {:?}", req)
}

fn main() {
    let app = App::new().service(
        web::resource("/users/{first}").route(
            web::get().to(index))
    );
}

type Config = ()

Configuration for this extractor

type Error = Error

The associated error which can be returned.

type Future = Result<Self, Error>

Future that resolves to a Self

fn extract(req: &HttpRequest) -> Self::Future[src]

Convert request to a Self Read more

fn configure<F>(f: F) -> Self::Config where
    F: FnOnce(Self::Config) -> Self::Config
[src]

Create and configure config instance.

impl Drop for HttpRequest[src]

impl Clone for HttpRequest[src]

fn clone_from(&mut self, source: &Self)1.0.0[src]

Performs copy-assignment from source. Read more

impl Debug for HttpRequest[src]

impl HttpMessage for HttpRequest[src]

type Stream = ()

Type of message payload stream

fn headers(&self) -> &HeaderMap[src]

Returns Request's headers.

fn extensions(&self) -> Ref<Extensions>[src]

Request extensions

fn extensions_mut(&self) -> RefMut<Extensions>[src]

Mutable reference to a the request's extensions

fn content_type(&self) -> &str

Read the request content type. If request does not contain Content-Type header, empty str get returned. Read more

fn encoding(&self) -> Result<&'static Encoding, ContentTypeError>

Get content type encoding Read more

fn mime_type(&self) -> Result<Option<Mime>, ContentTypeError>

Convert the request content type to a known mime type.

fn chunked(&self) -> Result<bool, ParseError>

Check if request has chunked transfer encoding

fn cookies(&self) -> Result<Ref<Vec<Cookie<'static>>>, ParseError>

Load request cookies.

fn cookie(&self, name: &str) -> Option<Cookie<'static>>

Return request cookie.

Auto Trait Implementations

impl Unpin for HttpRequest

impl !Sync for HttpRequest

impl !Send for HttpRequest

impl !UnwindSafe for HttpRequest

impl !RefUnwindSafe for HttpRequest

Blanket Implementations

impl<T> ToOwned for T where
    T: Clone
[src]

type Owned = T

The resulting type after obtaining ownership.

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

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

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<T> Borrow<T> for T where
    T: ?Sized
[src]

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

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

impl<T> Erased for T

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