Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import Foundation
- import Moya
- class RestGateway: TargetType {
- var baseURL: URL
- var path: String
- var method: Moya.Method
- var sampleData: Data
- var task: Task
- var headers: [String : String]?
- init(builder: GatewayBuilder) {
- self.baseURL = URL(string: builder.baseURL)!
- self.path = builder.path
- self.method = builder.method
- self.sampleData = builder.sampleData
- self.task = builder.task
- self.headers = builder.headers
- }
- }
- class GatewayBuilder: NSObject {
- var baseURL: String = "https://nekiUrk.com"
- var path: String = ""
- var method: Moya.Method = .get
- var sampleData: Data = Data()
- var task: Task = .requestPlain
- var headers: [String : String] = ["Content-Type" : "application/json"]
- }
- class AuthenticationProvider: RestGateway {
- static func login(user: User) -> AuthenticationProvider {
- let builder = GatewayBuilder()
- builder.path = "/api/app-users/login"
- builder.method = .post
- let params = [
- "username" : user.username ?? "",
- "password" : user.password ?? ""
- ];
- let encoding = JSONEncoding.default;
- builder.task = .requestParameters(parameters: params, encoding: encoding)
- return AuthenticationProvider(builder: builder)
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement