Crate httparse [] [src]

httparse

A push library for parsing HTTP/1.x requests and responses.

The focus is on speed and safety. Unsafe code is used to keep parsing fast, but unsafety is contained in a submodule, with invariants enforced. The parsing internals use an Iterator instead of direct indexing, while skipping bounds checks.

With Rust 1.27.0 or later, support for SIMD is enabled automatically. If building an executable to be run on multiple platforms, and thus not passing target_feature or target_cpu flags to the compiler, runtime detection can still detect SSE4.2 or AVX2 support to provide massive wins.

If compiling for a specific target, remembering to include -C target_cpu=native allows the detection to become compile time checks, making it even faster.

Structs

Header

Represents a parsed header.

InvalidChunkSize

An error in parsing a chunk size.

Request

A parsed Request.

Response

A parsed Response.

Enums

Error

An error in parsing.

Status

The result of a successful parse pass.

Constants

EMPTY_HEADER

An empty header, useful for constructing a Header array to pass in for parsing.

Functions

parse_chunk_size

Parse a buffer of bytes as a chunk size.

parse_headers

Parse a buffer of bytes as headers.

Type Definitions

Result

A Result of any parsing action.