This PR constains the work done to define the necessary protocols and enumerations to start defining remote API service as well as an implementation of the `URLProtocol` to mock requests and responses when using the `URLSession` to make remote calls. To provide further details about this work: - [x] declared the `Communications` library in the `Package` file; - [x] defined the minimum Apple platform versions in the `Package` file to support the async/await feature; - [x] defined the `HTTPRequestMethod` and `HTTPResponseCode` public enumerations; - [x] defined the `Endpoint` and `Client` public protocols; - [x] implemented the internal `MakeURLRequestUseCase` use case; - [x] implemented the `MockURLProtocol` class that mocks requests and responses on `URLSession` instances; - [x] started writing and updating the `README` file. Co-authored-by: Javier Cicchelli <javier@rock-n-code.com> Reviewed-on: #4
30 lines
1.2 KiB
Swift
30 lines
1.2 KiB
Swift
//
|
|
// HTTPRequestMethod.swift
|
|
// Communications
|
|
//
|
|
// Created by Javier Cicchelli on 10/04/2023.
|
|
// Copyright © 2023 Röck+Cöde. All rights reserved.
|
|
//
|
|
|
|
/// Enumeration that represents the available HTTP request methods to use in this library.
|
|
public enum HTTPRequestMethod: String {
|
|
/// Establishes a tunnel to the service identified by the target resource.
|
|
case connect = "CONNECT"
|
|
/// Deletes the specified resource.
|
|
case delete = "DELETE"
|
|
/// Asks for a response identical to a GET request, but without the response body.
|
|
case head = "HEAD"
|
|
/// Requests a representation of the specified resource, which should only retrieve data.
|
|
case get = "GET"
|
|
/// Describes the communication options for the target resource.
|
|
case options = "OPTIONS"
|
|
/// Applies partial modifications to a resource.
|
|
case patch = "PATCH"
|
|
/// Submits an entity to the specified resource, often causing a change of state or side effect on the server.
|
|
case post = "POST"
|
|
/// Replaces all current representations of the target resource with the request payload.
|
|
case put = "PUT"
|
|
/// Performs a message loop-back test along the path to the target resource.
|
|
case trace = "TRACE"
|
|
}
|