Skip to content

Instantly share code, notes, and snippets.

@pffan91
Last active February 16, 2018 18:31
Show Gist options
  • Save pffan91/99e44840952422c8678472aeff88d2ae to your computer and use it in GitHub Desktop.
Save pffan91/99e44840952422c8678472aeff88d2ae to your computer and use it in GitHub Desktop.
NetworkLayerWithMoya_networkAdapter
// Created by Vladyslav Semenchenko on 15/05/2017.
// Copyright © 2017 Vladyslav Semenchenko. All rights reserved.
import Moya
struct NetworkAdapter {
static let provider = MoyaProvider<MyServerAPI>()
static func request(target: MyServerAPI, success successCallback: @escaping (Response) -> Void, error errorCallback: @escaping (Swift.Error) -> Void, failure failureCallback: @escaping (MoyaError) -> Void) {
provider.request(target) { (result) in
switch result {
case .success(let response):
// 1:
if response.statusCode >= 200 && response.statusCode <= 300 {
successCallback(response)
} else {
// 2:
let error = NSError(domain:"com.vsemenchenko.networkLayer", code:0, userInfo:[NSLocalizedDescriptionKey: "Parsing Error"])
errorCallback(error)
}
case .failure(let error):
// 3:
failureCallback(error)
}
}
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment