Module rotor_http::client [] [src]

HTTP Client implementation

Currently we aim to provide only HTTP/1.x implementation. We want to provide HTTP/2.0 and TLS implementation with exactly the same protocol. But it's yet unproven if it is possible.

Also DNS resolving is not implemented yet.

Structs

Connection

Structure that describes current connection state

Head
Request

Enums

ProtocolError

Error

RecvMode

This type is returned from headers_received handler of either client client or server protocol handler

ResponseError

Error type which is passed to bad_response

Task
Version

Represents a version of the HTTP spec.

Constants

MAX_CHUNK_HEAD

Maximum length of chunk size line. it would be okay with 12 bytes, but in theory there might be some extensions which we probably should skip

MAX_HEADERS_NUM

Note httparse requires we preallocate array of this size so be wise

MAX_HEADERS_SIZE

This one is not preallocated, but too large buffer is of limited use because of previous parameter.

Traits

Client

A state machine that allows to initiate a client-side HTTP request

Requester

A handler of a single client-side HTTP

Functions

connect_tcp

Type Definitions

Fsm

A state machine for ad-hoc requests

Persistent

A state machine for persistent connections