[][src]Crate actix_web

Actix web is a powerful, pragmatic, and extremely fast web framework for Rust.

Example

use actix_web::{get, web, App, HttpServer, Responder};

#[get("/{id}/{name}/index.html")]
async fn index(web::Path((id, name)): web::Path<(u32, String)>) -> impl Responder {
    format!("Hello {}! id:{}", name, id)
}

#[actix_web::main]
async fn main() -> std::io::Result<()> {
    HttpServer::new(|| App::new().service(index))
        .bind("127.0.0.1:8080")?
        .run()
        .await
}

Documentation & Community Resources

In addition to this API documentation, several other resources are available:

To get started navigating the API docs, you may consider looking at the following pages first:

  • App: This struct represents an Actix web application and is used to configure routes and other common application settings.

  • HttpServer: This struct represents an HTTP server instance and is used to instantiate and configure servers.

  • web: This module provides essential types for route registration as well as common utilities for request handlers.

  • HttpRequest and HttpResponse: These structs represent HTTP requests and responses and expose methods for creating, inspecting, and otherwise utilizing them.

Features

Crate Features

  • compress - content encoding compression support (enabled by default)
  • openssl - HTTPS support via openssl crate, supports HTTP/2
  • rustls - HTTPS support via rustls crate, supports HTTP/2
  • secure-cookies - secure cookies support

Re-exports

pub use actix_http::cookie;
pub use actix_rt as rt;

Modules

body
client

Actix web async HTTP client.

dev

The actix-web prelude for library developers

error

Error and Result module

guard

Route match guards.

http

Various HTTP related types

middleware

Middlewares

test

Various helpers for Actix applications to use during testing.

web

Essentials helper functions and types for application registration.

Structs

App

Application builder - structure that follows the builder pattern for building application instances.

Error

General purpose actix web error.

HttpRequest

An HTTP Request

HttpResponse

An HTTP Response

HttpServer

An HTTP Server.

Resource

Resource is an entry in resources table which corresponds to requested URL.

Route

Resource route definition

Scope

Resources scope.

Enums

Either

Combines two different responder types into a single type

Traits

FromRequest

Trait implemented by types that can be extracted from request.

HttpMessage

Trait that implements general purpose operations on http messages

Responder

Trait implemented by types that can be converted to a http response.

ResponseError

Error that can be converted to Response

Type Definitions

Result

A specialized Result for actix web operations

Attribute Macros

connect

Creates route handler with actix_web::guard::Connect.

delete

Creates route handler with actix_web::guard::Delete.

get

Creates route handler with actix_web::guard::Get.

head

Creates route handler with actix_web::guard::Head.

main

Marks async main function as the actix system entry-point.

options

Creates route handler with actix_web::guard::Options.

patch

Creates route handler with actix_web::guard::Patch.

post

Creates route handler with actix_web::guard::Post.

put

Creates route handler with actix_web::guard::Put.

route

Creates resource handler, allowing multiple HTTP method guards.

trace

Creates route handler with actix_web::guard::Trace.