Skip to content

Instantly share code, notes, and snippets.

@pavankataria
Created January 7, 2016 01:58
Show Gist options
  • Save pavankataria/9e42ea732f38a6f6adcc to your computer and use it in GitHub Desktop.
Save pavankataria/9e42ea732f38a6f6adcc to your computer and use it in GitHub Desktop.
there's some serious duplication here with this default parameterised methods with the completion handler
class ApiManager {
class func GET(
URLString: URLStringConvertible,
parameters: [String : AnyObject]? = nil,
encoding: ParameterEncoding? = .URL,
headers: [String : String]? = nil,
completionHandler: CompletionHandlerType
){
alamofireManager().request(.GET, URLString, parameters: parameters, encoding: encoding!, headers: headers)
.validate()
.responseJSON {
response in
switch response.result {
case .Success(let JSON):
completionHandler(result: .Success(response: JSON, statusCode: response.response!.statusCode))
case .Failure(_):
completionHandler(result: .Failure(error: response.result.error!, statusCode: response.response!.statusCode))
}
}
}
class func POST(
URLString: URLStringConvertible,
parameters: [String : AnyObject]? = nil,
encoding: ParameterEncoding? = .URL,
headers: [String : String]? = nil,
completionHandler: CompletionHandlerType
){
alamofireManager()
.request(.POST, URLString, parameters: parameters, encoding: encoding!, headers: headers)
.validate()
.responseJSON {
response in
switch response.result {
case .Success(let JSON):
completionHandler(result: .Success(response: JSON, statusCode: response.response!.statusCode))
case .Failure(_):
completionHandler(result: .Failure(error: response.result.error!, statusCode: response.response!.statusCode))
}
}
}
class func PUT(
URLString: URLStringConvertible,
parameters: [String : AnyObject]? = nil,
encoding: ParameterEncoding? = .URL,
headers: [String : String]? = nil,
completionHandler: CompletionHandlerType
){
alamofireManager().request(
.PUT, URLString, parameters: parameters, encoding: encoding!, headers: headers)
.validate()
.responseJSON {
response in
switch response.result {
case .Success(let JSON):
completionHandler(result: .Success(response: JSON, statusCode: response.response!.statusCode))
case .Failure(_):
completionHandler(result: .Failure(error: response.result.error!, statusCode: response.response!.statusCode))
}
}
}
class func DELETE(
URLString: URLStringConvertible,
parameters: [String : AnyObject]? = nil,
encoding: ParameterEncoding? = .URL,
headers: [String : String]? = nil,
completionHandler: CompletionHandlerType)
{
alamofireManager().request(
.DELETE, URLString, parameters: parameters, encoding: encoding!, headers: headers)
.validate()
.responseJSON {
response in
switch response.result {
case .Success(let JSON):
completionHandler(result: .Success(response: JSON, statusCode: response.response!.statusCode))
case .Failure(_):
completionHandler(result: .Failure(error: response.result.error!, statusCode: response.response!.statusCode))
}
}
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment