Emcee
33 строки · 989.0 Байт
1import Dispatch
2import Foundation
3import EmceeLogging
4import Types
5
6public protocol RequestSender {
7func sendRequestWithCallback<NetworkRequestType: NetworkRequest>(
8request: NetworkRequestType,
9credentials: Credentials?,
10callbackQueue: DispatchQueue,
11logFailedRequest: Bool,
12callback: @escaping (Either<NetworkRequestType.Response, RequestSenderError>) -> ()
13)
14
15func close()
16}
17
18extension RequestSender {
19public func sendRequestWithCallback<NetworkRequestType: NetworkRequest>(
20request: NetworkRequestType,
21callbackQueue: DispatchQueue,
22logFailedRequest: Bool = true,
23callback: @escaping (Either<NetworkRequestType.Response, RequestSenderError>) -> ()
24) {
25self.sendRequestWithCallback(
26request: request,
27credentials: nil,
28callbackQueue: callbackQueue,
29logFailedRequest: logFailedRequest,
30callback: callback
31)
32}
33}
34