I have an API router like this. I have written using Alamofire 5.0:
import Alamofire
enum AlamofireRouterNetwork: URLRequestConvertible {
case register(parameters: Parameters)
case login(parameters: Parameters)
// other cases
var method: HTTPMethod {
switch self {
case .register:
return .post
case .login:
return .post
}
}
var path: String {
switch self {
case .register:
return "/auth/register"
case .login:
return "/auth/login"
}
func asURLRequest() throws -> URLRequest {
var urlRequest = URLRequest(url: myURL)
urlRequest.httpMethod = method.rawValue
switch self {
case .register, .login:
urlRequest.allHTTPHeaderFields = ["Content-Type": "application/json"]
}
switch self {
case .register(let parameters), .login(let parameters):
urlRequest = try JSONEncoding.default.encode(urlRequest, with: parameters)
default:
break
}
return urlRequest
}
}
Is there a smart way to add in my router a mulipartform data request?