CompositeEventMonitor:
An EventMonitor which can contain multiple EventMonitors and calls their methods on their queues.
ClosureEventMonitor:
EventMonitor that allows optional closures to be set to receive events.
HTTPHeaders:
An order-preserving and case-insensitive representation of HTTP headers.
HTTPHeader:
A representation of a single HTTP header's name / value pair.
HTTPMethod:
Type representing HTTP methods. Raw String value is stored and compared case-sensitively, so
HTTPMethod.get != HTTPMethod(rawValue: "get").
MultipartFormData:
Constructs multipart/form-data for uploads within an HTTP or HTTPS body. There are currently two ways to encode
multipart form data. The first way is to encode the data directly in memory. This is very efficient, but can lead
to memory issues if the dataset is too large. The second way is designed for larger datasets and will write all the
data to a single file on disk with all the proper boundary segmentation. The second approach MUST be used for
larger datasets such as video content, otherwise your app may run out of memory when trying to encode the dataset.
NetworkReachabilityManager:
The NetworkReachabilityManager class listens for reachability changes of hosts and addresses for both cellular and
WiFi network interfaces.
URLEncodedFormParameterEncoder:
A ParameterEncoder that encodes types as URL-encoded query strings to be set on the URL or as body data, depending
on the Destination set.
URLEncoding:
Creates a url-encoded query string to be set as or appended to any existing URL query string or set as the HTTP
body of the URL request. Whether the query string is set or appended to any existing URL query string or set as
the HTTP body depends on the destination of the encoding.
URLEncoding.Destination:
Defines whether the url-encoded query string is applied to the existing query string or HTTP body of the
resulting URL request.
JSONEncoding:
Uses JSONSerialization to create a JSON representation of the parameters object, which is set as the body of the
request. The Content-Type HTTP header field of an encoded request is set to application/json.
Redirector:
Redirector is a convenience RedirectHandler making it easy to follow, not follow, or modify a redirect.
GoogleXSSIPreprocessor:
DataPreprocessor that trims Google's typical )]}',\n XSSI JSON header.
DataResponseSerializer:
A ResponseSerializer that performs minimal response checking and returns any response data as-is. By default, a
request returning nil or no data is considered an error. However, if the response is has a status code valid for
empty responses (204, 205), then an empty Data value is returned.
StringResponseSerializer:
A ResponseSerializer that decodes the response data as a String. By default, a request returning nil or no
data is considered an error. However, if the response is has a status code valid for empty responses (204, 205),
then an empty String is returned.
JSONResponseSerializer:
A ResponseSerializer that decodes the response data using JSONSerialization. By default, a request returning
nil or no data is considered an error. However, if the response is has a status code valid for empty responses
(204, 205), then an NSNull value is returned.
Empty:
Type representing an empty response. Use Empty.value to get the static instance.
DecodableResponseSerializer:
A ResponseSerializer that decodes the response data as a generic value using any type that conforms to
DataDecoder. By default, this is an instance of JSONDecoder. Additionally, a request returning nil or no data
is considered an error. However, if the response is has a status code valid for empty responses (204, 205), then
the Empty.value value is returned.
RetryPolicy:
A retry policy that retries requests using an exponential backoff for allowed HTTP methods and HTTP status codes
as well as certain types of networking errors.
ConnectionLostRetryPolicy:
A retry policy that automatically retries idempotent requests for network connection lost errors. For more
information about retrying network connection lost errors, please refer to Apple's
technical document.
ServerTrustManager:
Responsible for managing the mapping of ServerTrustEvaluating values to given hosts.
DefaultTrustEvaluator:
An evaluator which uses the default server trust evaluation while allowing you to control whether to validate the
host provided by the challenge. Applications are encouraged to always validate the host in production environments
to guarantee the validity of the server's certificate chain.
RevocationTrustEvaluator:
An evaluator which Uses the default and revoked server trust evaluations allowing you to control whether to validate
the host provided by the challenge as well as specify the revocation flags for testing for revoked certificates.
Apple platforms did not start testing for revoked certificates automatically until iOS 10.1, macOS 10.12 and tvOS
10.1 which is demonstrated in our TLS tests. Applications are encouraged to always validate the host in production
environments to guarantee the validity of the server's certificate chain.
PinnedCertificatesTrustEvaluator:
Uses the pinned certificates to validate the server trust. The server trust is considered valid if one of the pinned
certificates match one of the server certificates. By validating both the certificate chain and host, certificate
pinning provides a very secure form of server trust validation mitigating most, if not all, MITM attacks.
Applications are encouraged to always validate the host and require a valid certificate chain in production
environments.
PublicKeysTrustEvaluator:
Uses the pinned public keys to validate the server trust. The server trust is considered valid if one of the pinned
public keys match one of the server certificate public keys. By validating both the certificate chain and host,
public key pinning provides a very secure form of server trust validation mitigating most, if not all, MITM attacks.
Applications are encouraged to always validate the host and require a valid certificate chain in production
environments.
CompositeTrustEvaluator:
Uses the provided evaluators to validate the server trust. The trust is only considered valid if all of the
evaluators consider it valid.
DisabledEvaluator:
Disables all evaluation which in turn will always consider any server trust as valid.
Session:
Session creates and manages Alamofire's Request types during their lifetimes. It also provides common
functionality for all Requests, including queuing, interception, trust management, redirect handling, and response
cache handling.
SessionDelegate:
Class which implements the various URLSessionDelegate methods to connect various Alamofire features.
URLEncodedFormEncoder:
An object that encodes instances into URL-encoded query strings.
AlamofireExtended:
Protocol describing the af extension points for Alamofire extended types.
CachedResponseHandler:
A type that handles whether the data task should store the HTTP response in the cache.
EventMonitor:
Protocol outlining the lifetime events inside Alamofire. It includes both events received from the various
URLSession delegate protocols as well as various events from the lifetime of Request and its subclasses.
ParameterEncoder:
A type that can encode any Encodable type into a URLRequest.
ParameterEncoding:
A type used to define how a set of parameters are applied to a URLRequest.
RedirectHandler:
A type that handles how an HTTP redirect response from a remote server should be redirected to the new request.
RequestDelegate:
Protocol abstraction for Request's communication back to the SessionDelegate.
UploadConvertible:
A type that can be converted to an upload, whether from an UploadRequest.Uploadable or URLRequestConvertible.
RequestAdapter:
A type that can inspect and optionally adapt a URLRequest in some manner if necessary.
RequestRetrier:
A type that determines whether a request should be retried after being executed by the specified session manager
and encountering an error.
RequestInterceptor:
Type that provides both RequestAdapter and RequestRetrier functionality.
DataResponseSerializerProtocol:
The type to which all data response serializers must conform in order to serialize a response.