View Source Mint.Types (Mint v1.6.1)

HTTP-related types.

Summary

Types

A hostname, IP address, Unix domain socket path, :loopback, or any other term representing an internet address.

An error reason.

HTTP headers.

An HTTP/2-specific response to a request.

A request reference that uniquely identifies a request.

A response to a request.

The scheme to use when connecting to an HTTP server.

The connection socket.

An HTTP status code.

Types

@type address() :: :inet.socket_address() | String.t()

A hostname, IP address, Unix domain socket path, :loopback, or any other term representing an internet address.

@type error() :: Mint.TransportError.t() | Mint.HTTPError.t()

An error reason.

@type headers() :: [{header_name :: String.t(), header_value :: String.t()}]

HTTP headers.

Headers are sent and received as lists of two-element tuples containing two strings, the header name and header value.

@type http2_response() ::
  {:pong, request_ref()}
  | {:push_promise, request_ref(), promised_request_ref :: request_ref(),
     headers()}

An HTTP/2-specific response to a request.

This type of response is only returned on HTTP/2 connections. See response/0 for more response types.

@type request_ref() :: reference()

A request reference that uniquely identifies a request.

Responses for a request are always tagged with a request reference so that you can connect each response to the right request. Also see Mint.HTTP.request/5.

@type response() ::
  {:status, request_ref(), status()}
  | {:headers, request_ref(), headers()}
  | {:data, request_ref(), body_chunk :: binary()}
  | {:done, request_ref()}
  | {:error, request_ref(), reason :: term()}
  | http2_response()

A response to a request.

Terms of this type are returned as responses to requests. See Mint.HTTP.stream/2 for more information.

@type scheme() :: :http | :https

The scheme to use when connecting to an HTTP server.

@type socket() :: term()

The connection socket.

@type status() :: non_neg_integer()

An HTTP status code.

The type for an HTTP is a generic non-negative integer since we don't formally check that the response code is in the "common" range (200..599).