Open rashidTechbayportal opened 4 years ago
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) } }
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.
Full code