Skip to content

Instantly share code, notes, and snippets.

@piyush23dez
Last active December 22, 2019 08:21
Show Gist options
  • Save piyush23dez/a9c718d2f12a414c52c8345b7ffe81ac to your computer and use it in GitHub Desktop.
Save piyush23dez/a9c718d2f12a414c52c8345b7ffe81ac to your computer and use it in GitHub Desktop.
class API {
let service: NetworkService
init(_ service: NetworkService = URLSession.shared) {
self.service = service
}
func send(request: URLRequest, completionHandler: @escaping CompletionBlock) {
service.make(request: request, completionHandler: completionHandler)
}
}
class HomeViewController() {
func testServices() {
let service0 = API(URLSession.shared)
let service1 = API(PilotService())
let service2 = API(TestService())
let service3 = API(MockedService())
let request = URLRequest(url: URL(string: "https://google.com")!)
service0.send(request: request) { data in
print(data!)
}
service1.send(request: request) { data in
print(data!)
}
service2.send(request: request) { data in
print(data!)
}
service3.send(request: request) { data in
print(data!)
}
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment