Browse Source

added multipart reqeust

pull/1/head
gme_2 6 years ago
parent
commit
aec336fa83
  1. 80
      GMERemittance/RestApiManager.swift

80
GMERemittance/RestApiManager.swift

@ -88,6 +88,57 @@ class RestApiMananger {
} }
} }
func requestMultipart<T: Mappable>(
method: HTTPMethod,
_ URLString: URLConvertible,
parameters: [String: String]? = nil,
images: [String: Data],
encoding: Alamofire.ParameterEncoding = URLEncoding.default,
needsAuthorization: Bool = true,
success: @escaping (T)-> Void,
failure: @escaping (Error) -> ()) {
if NetworkReachabilityManager()?.isReachable == true {
func makeRequest() {
let headers = needsAuthorization ? getContentHeaderAfterLogin() : getContentHeaderBeforeLogin()
self.manager.upload(
multipartFormData: { multipartFormData in
if !images.isEmpty {
images.forEach({ (data) in
multipartFormData.append(data.value, withName: data.key, fileName: data.key + ".jpeg", mimeType: "image/jpeg")
})
}
parameters?.forEach({ (params) in
multipartFormData.append(params.value.data(using: String.Encoding.utf8, allowLossyConversion: false)!, withName: params.key)
})
},
to: URLString,
method: method,
headers: headers,
encodingCompletion: { encodingResult in
switch encodingResult {
case .success(let upload, _, _):
upload.handle(success: success, failure: failure)
case .failure(let encodingError):
let error = NSError.init(domain: "NETWORK_REACHABILITY_DOMAIN", code: 0, userInfo: [NSLocalizedDescriptionKey : "No Internet connection found. 
Check your connection."])
failure(error)
}
}
)
}
}else {
let error = NSError.init(domain: "NETWORK_REACHABILITY_DOMAIN", code: 0, userInfo: [NSLocalizedDescriptionKey : "No Internet connection found. 
Check your connection."])
failure(error)
}
}
// ccr // ccr
@ -209,36 +260,7 @@ class RestApiMananger {
} }
} }
//Logging in user
func signInUser(userId: String, password: String, completion: @escaping (ApiResult) -> Void) {
manager .request(
URL(string: UrlManager.sharedInstance.getLogInURL())!,
method: .post,
parameters: ["userId": userId, "password": password],
encoding: JSONEncoding.default,
headers: getContentHeaderBeforeLogin()
).responseJSON { (response) -> Void in
if let error = response.result.error {
if error._code == NSURLErrorTimedOut {
completion(.timeOut())
}
}
if response.result.isFailure{
completion(.timeOut())
}
if response.response?.statusCode == nil {
return
}
guard (response.response?.statusCode == 200) else {
completion(.failure(JSON(response.data!)))
return
}
completion(.success(JSON(response.data!)))
}
}
//Checking user verification for password reset process, 1 of 3 //Checking user verification for password reset process, 1 of 3
func isVerifiedUser(userId: String, completion: @escaping (ApiResult) -> Void) { func isVerifiedUser(userId: String, completion: @escaping (ApiResult) -> Void) {

Loading…
Cancel
Save