GamificationForceClient
The GamificationForceClient class handles network
requests using the GamificationForceAuthenticator
protocol.
This class uses a NetworkManager instance to handle network requests and data processing.
Use this initializer to initialize the GamificationForceClient class.
public init(auth: GamificationForceAuthenticator, forceNetworkManager: NetworkManagerProtocol = NetworkManager.shared)
Parameter | Type | Description |
---|---|---|
auth | GamificationForceAuthenticator | An instance of the GamificationForceAuthenticator protocol. |
forceNetworkManager | NetworkManagerProtocol | A NetworkManager instance. |
Methods
fetchLocalJson
Returns a decoded JSON response result from the given local JSON file.
public func fetchLocalJson<T: Decodable>(type: T.Type, file: String, bundle: Bundle = Bundle.publicModule)
Parameter | Type | Description |
---|---|---|
type | T.Type | The model to be used by the JSON decoder. |
file | String | The file name of a local JSON file. |
bundle | Bundle | The app bundle name. |
fetch
Returns a decoded JSON response result.
public func fetch<T: Decodable>(type: T.Type, with request: URLRequest, urlSession: URLSession = .shared)
Parameter | Type | Description |
---|---|---|
type | T.Type | The model to be used by the JSON decoder. |
request | URLRequest | The URL request to be executed by the URL session. |
urlSession | URLSession | An instance of URLSession to execute the request. |