Advertisement
Guest User

Untitled

a guest
Sep 17th, 2018
83
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Swift 1.41 KB | None | 0 0
  1. import Foundation
  2. import Moya
  3.  
  4. class RestGateway: TargetType {
  5.     var baseURL:    URL
  6.     var path:       String
  7.     var method:     Moya.Method
  8.     var sampleData: Data
  9.     var task:       Task
  10.     var headers:    [String : String]?
  11.    
  12.     init(builder: GatewayBuilder) {
  13.         self.baseURL    = URL(string: builder.baseURL)!
  14.         self.path       = builder.path
  15.         self.method     = builder.method
  16.         self.sampleData = builder.sampleData
  17.         self.task       = builder.task
  18.         self.headers    = builder.headers
  19.     }
  20. }
  21.  
  22. class GatewayBuilder: NSObject {
  23.     var baseURL:    String = "https://nekiUrk.com"
  24.     var path:       String = ""
  25.     var method:     Moya.Method = .get
  26.     var sampleData: Data = Data()
  27.     var task:       Task = .requestPlain
  28.     var headers:    [String : String] = ["Content-Type" : "application/json"]
  29. }
  30.  
  31. class AuthenticationProvider: RestGateway {
  32.    
  33.     static func login(user: User) -> AuthenticationProvider {
  34.         let builder = GatewayBuilder()
  35.         builder.path = "/api/app-users/login"
  36.         builder.method = .post
  37.         let params = [
  38.             "username" : user.username ?? "",
  39.             "password" : user.password ?? ""
  40.         ];
  41.         let encoding = JSONEncoding.default;
  42.         builder.task = .requestParameters(parameters: params, encoding: encoding)
  43.         return AuthenticationProvider(builder: builder)
  44.     }
  45. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement