Guest User

Untitled

a guest
Jan 17th, 2018
328
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.24 KB | None | 0 0
  1. class RestService {
  2.  
  3. private init(){}
  4. static let shared = RestService()
  5. var loginData:NSDictionary?
  6.  
  7.  
  8. class func getCertificates() -> [SecCertificate]{
  9. let url = Bundle.main.url(forResource: "certf", withExtension: "cer")!
  10. let localCertificate = try! Data(contentsOf: url) as CFData
  11. guard let certificate = SecCertificateCreateWithData(nil, localCertificate) else {return[]}
  12. return [certificate]
  13. }
  14.  
  15. let almgr:Alamofire.SessionManager = {
  16. let certificates = getCertificates()
  17. let trustPolicy = ServerTrustPolicy.pinCertificates(certificates: certificates, validateCertificateChain: true, validateHost: true)
  18. let serverTrustPolicies = ["liper":trustPolicy]
  19. let serverTrustPolicyManager = ServerTrustPolicyManager(policies: serverTrustPolicies)
  20.  
  21. let configuration = URLSessionConfiguration.default
  22. configuration.httpAdditionalHeaders = Alamofire.SessionManager.defaultHTTPHeaders
  23. let man = Alamofire.SessionManager(configuration: URLSessionConfiguration.default, serverTrustPolicyManager: serverTrustPolicyManager)
  24. return man
  25. }()
  26.  
  27.  
  28. func loginRest(login:String, password:String, deviceId:String, completion:@escaping(_ response:AnyObject?, _ _message: String?, _ _success:Bool)->()){
  29.  
  30. let params = ["login":login, "password":password, "deviceId":deviceId]
  31.  
  32. let urlStr = restServices.REST_MAIN_URL + restServices.REST_LOGIN
  33.  
  34. postRestService(urlString: urlStr, params: params as [String:AnyObject]) { (response, message, status) in
  35. print(response ?? "Error")
  36. let result = RestService()
  37. if let data = response as? NSDictionary {
  38. print(data)
  39. result.loginData = data
  40. completion(result, "Success", true)
  41. } else {
  42. completion("" as AnyObject?, "Failed", false)
  43. }
  44. }
  45.  
  46. }
  47.  
  48.  
  49. func postRestService(urlString:String, params: [String:AnyObject], completion: @escaping (_ response:AnyObject?, _ message:String?, _ success:Bool)-> Void){
  50. alamofireFunction(urlString: urlString, method: .post, parameters: params) { (response, message, success) in
  51. if response != nil {
  52. completion(response as AnyObject?, "", true)
  53. } else {
  54. completion(nil, "", false)
  55. }
  56. }
  57. }
  58.  
  59. func alamofireFunction(urlString:String, method:Alamofire.HTTPMethod, parameters:[String:AnyObject], completion: @escaping (_ response:AnyObject?, _ message:String?, _ success:Bool)-> Void){
  60. if method == Alamofire.HTTPMethod.post{
  61. almgr.request(urlString, method: .post, parameters: parameters, encoding: URLEncoding.default, headers: nil).responseJSON {(response:DataResponse<Any>) in
  62.  
  63.  
  64. if response.result.isSuccess{
  65. completion(response.result.value as AnyObject?, "", true)
  66. } else {
  67. completion(nil, "", false)
  68. }
  69. }
  70. } else {
  71. almgr.request(urlString).responseJSON { (response) in
  72. if response.result.isSuccess {
  73. completion(response.result.value as AnyObject?, "", true)
  74. } else {
  75. completion(nil, "", false)
  76. }
  77. }
  78.  
  79. }
  80. }
  81.  
  82. func loginWithRest(){
  83. let passHashed = "432asadadadas352addasadad"
  84. RestService.shared.loginRest(login: "patient997@liker.com, password: passHashed, deviceId: "123156") { (result, message, status) in
  85. if status {
  86. let loginDetails = result as? RestService
  87. self.loginDictionary = loginDetails?.loginData
  88. if self.loginDictionary?["status"] as? String == "error"{
  89. print("RESTSERVICES, Login Error, (String(describing: self.loginDictionary?["message"] as? String))")
  90. } else if self.loginDictionary?["status"] as? String == "ok" {
  91. print("RESTSERVICES, LOGIN SUCCESS")
  92. } else {
  93. print("RESTSERVICES (String(describing: self.loginDictionary?["message"] as?String))")
  94. }
  95. } else {
  96. print("RESTSERICES, status is false")
  97. }
  98. }
  99.  
  100. 2018-01-17 15:43:16.129249+0100 ios-moe[5716:2789249] Task <67AFC6DA-9EFB-47D2-A5B0-FDAA3CC5285A>.<4> HTTP load failed (error code: -999 [1:89])
  101. 2018-01-17 15:43:16.129275+0100 ios-moe[5716:2789364] Task <67AFC6DA-9EFB-47D2-A5B0-FDAA3CC5285A>.<4> finished with error - code: -999
  102. Error
  103. RESTSERICES, status is false
Add Comment
Please, Sign In to add comment