CodeVetter · Repo Unpack · Feature catalog
actix/actix-web
The user-facing surface is primarily Rust APIs for service authors. Routing supports manual resources, nested scopes, guards, and procedural attributes. Typed extraction, middleware, file responses, uploads, client requests, and WebSockets cover distinct HTTP application needs. Optional features control protocol, TLS, compression, cookies, and experimental route diagnostics.
- App::route and App::service register resources and scopes; routing macros cover nine standard methods, and generated registrations attach names, method guards, custom guards, wrappers, and handlers.
- Built-in extractors expose Form, Header, Json, Path, Payload, Query, Either, and Readlines; handlers accept up to twelve FromRequest arguments and return Responder outputs.
- Middleware supports request preprocessing, response postprocessing, state access, external-service access, and short-circuiting; the basic example combines DefaultHeaders, Compress, and Logger at application and resource levels.
- Cargo features expose HTTP/2 including h2c, WebSockets, OpenSSL, four Rustls versions, Brotli/gzip/deflate/zstd compression, cookies, and separately enabled secure cookies.
- Files accepts GET/HEAD by default and supports ordered roots, optional precompressed assets, directory redirects/listings, and fallback handling; NamedFile adds ETag, Last-Modified, conditional responses, and byte ranges.
- MultipartForm collects typed form-data fields with total, memory, and field limits; the /videos example combines a TempFile upload and JSON metadata, with global and per-field limits configured separately.
- awc provides body, JSON, form, and streaming request APIs, authentication header helpers, response-decompression control, timeouts, and configurable redirects; actix-http exposes WebSocket handshake verification and a 101 response builder.
- experimental-introspection inserts an IntrospectionTree into application data and offers text, route JSON, and external-resource JSON reports; finalization also applies route reachability analysis.