Crate httpbis

Source
Expand description

Asynchnous HTTP/2 client and server implementation.

Based on futures/tokio.

This crate is used to implement grpc crate, and probably not usable for anything else.

Structs§

BytesDeque
VecDeque<Bytes> but slightly more efficient.
Client
Asynchronous HTTP/2 client.
ClientBuilder
Builder for HTTP/2 client.
ClientConf
Client configuration.
ClientRequest
Reference to outgoing stream on the client side.
Header
HTTP/2 header, regular or pseudo-header
HeaderName
Representation of header name
HeaderValue
A convenience struct representing a header value.
Headers
HTTP message headers (or trailers)
HttpStreamAfterHeaders
Stream of DATA or HEADERS frames after initial HEADERS.
Response
Convenient wrapper around async HTTP response future/stream
Server
ServerBuilder
ServerConf
ServerHandlerContext
ServerHandlerPaths
Convient implementation of ServerHandler which allows delegation to multiple ServerHandler implementations provided by user.
ServerIncreaseInWindow
ServerRequest
ServerResponse
SimpleHttpMessage

Enums§

AnySocketAddr
ClientTlsOption
DataOrTrailers
Stream frame content after initial headers
Error
An enum representing errors that can arise when performing operations involving an HTTP/2 connection.
ErrorCode
The enum represents an error code that are used in RST_STREAM and GOAWAY frames. These are defined in Section 7 of the HTTP/2 spec.
HttpScheme
An enum representing the two possible HTTP schemes.
PseudoHeaderName
HTTP/2 pseudo header name.
SendError
SenderState
ServerAlpn
ServerTlsOption
StreamDead

Traits§

BufGetBytes
Get Bytes from Buf.
ClientInterface
ServerHandler
Central HTTP/2 service interface.
ServerRequestStreamHandler
Synchronous callback of incoming data

Type Aliases§

Result
A convenience Result type that has the HttpError type as the error type and a generic Ok result type.
StreamId
An alias for the type that represents the ID of an HTTP/2 stream