HTTPClient

public protocol HTTPClient

The contract for HTTP URL loading service. All HTTP Clients must conform to provide HTTP URL Loading services.

  • API to request a URL with query parameters. Suggested to use this API for GET & DELETE URL requests.

    Default Implementation

    API to request a URL with query parameters. Suggested to use this API for GET & DELETE URL requests.

    Declaration

    Swift

    func request(_ url: URLProvider,
                 method: HTTPMethod,
                 headers: Headers?,
                 queryParameters: Parameters?) -> ResponseHandler

    Parameters

    url

    URLProvider value to be used as the URLRequest‘s URL. String, URL and URLComponents conform to URLProvider.

    method

    HTTPMethod for the URLRequest.

    headers

    Headers value to be added to the URLRequest.

    queryParameters

    Parameters (a.k.a. [String: String]) value to be encoded into the URLRequest. nil by default.

    Return Value

  • request(_:method:headers:httpBody:) Default implementation

    API to request a URL with a Encodable body as payload. Suggested to use this API for POST & PUT URL requests.

    Default Implementation

    API to request a URL with a Encodable body as payload. Suggested to use this API for POST & PUT URL requests.

    Declaration

    Swift

    func request<Parameters: Encodable>(_ url: URLProvider,
                                        method: HTTPMethod,
                                        headers: Headers?,
                                        httpBody: Parameters?) -> ResponseHandler

    Parameters

    url

    URLProvider value to be used as the URLRequest‘s URL.

    method

    HTTPMethod for the URLRequest.

    headers

    Headers value to be added to the URLRequest.

    httpBody

    Encodable value to be encoded into the URLRequest.

    Return Value

  • request(_:) Extension method

    API to request a URL with query parameters. Suggested to use this API for GET & DELETE URL requests.

    Declaration

    Swift

    func request(_ requestWithQuery: RequestWithQuery) -> ResponseHandler

    Parameters

    requestWithQuery

    The request.

    Return Value

  • request(_:) Extension method

    API to request a URL with a Encodable body as payload. Suggested to use this API for POST & PUT URL requests.

    Declaration

    Swift

    func request<T>(_ requestWithPayload: RequestWithPayload<T>) -> ResponseHandler where T : Encodable

    Parameters

    requestWithPayload

    The request.

    Return Value