-
Notifications
You must be signed in to change notification settings - Fork 17
Open
Description
I was sending the Bearer token in headers but it wasn't working. So, I made some changes in urlRequest and now it is working.
var urlRequest: URLRequest {
var request = URLRequest(url: requestURL)
request.httpMethod = method.rawValue
headers.forEach { (header) in
print(header.name, header.value)
request.addValue(header.value, forHTTPHeaderField: header.name)
}
return request
}
Full code
import Foundation
import Alamofire
protocol URLRequestBuilder: URLRequestConvertible, APIRequestHandler {
var mainURL: URL { get }
var requestURL: URL { get }
// MARK: - Path
var path: String { get }
// MARK: - Parameters
var parameters: Parameters? { get }
var headers: HTTPHeaders { get }
// MARK: - Methods
var method: HTTPMethod { get }
var encoding: ParameterEncoding { get }
var urlRequest: URLRequest { get }
}
extension URLRequestBuilder {
var encoding: ParameterEncoding {
switch method {
case .get:
return URLEncoding.default
default:
return JSONEncoding.default
}
}
var mainURL: URL {
return URL(string: "https://www.test.com")!
}
var requestURL: URL {
return mainURL.appendingPathComponent(path)
}
var urlRequest: URLRequest {
var request = URLRequest(url: requestURL)
request.httpMethod = method.rawValue
headers.forEach { (header) in
print(header.name, header.value)
request.addValue(header.value, forHTTPHeaderField: header.name)
}
return request
}
// MARK: - URLRequestConvertible
func asURLRequest() throws -> URLRequest {
return try encoding.encode(urlRequest, with: parameters)
}
}
Metadata
Metadata
Assignees
Labels
No labels