     public func request() -> URLRequest? {
         let url = URL(string: path, relativeTo: URL(string: configuration.apiEndpoint)!)
         var parameters = encoding == .json ? [:] : params
-        if let accessToken = configuration.accessToken {
+
+        if let accessToken = configuration.accessToken, !configuration.shouldUseAuthorizationHeader {
             parameters[configuration.accessTokenFieldName] = accessToken as AnyObject?
         }
         let components = URLComponents(url: url!, resolvingAgainstBaseURL: true)
-        return request(components!, parameters: parameters)
+        
+        var urlRequest = request(components!, parameters: parameters)
+        
+        if configuration.shouldUseAuthorizationHeader, let accessToken = configuration.accessToken {
+            urlRequest?.addValue("BEARER \(accessToken)", forHTTPHeaderField: "Authorization")
+        }
+        
+        return urlRequest
     }
 
     public func urlQuery(_ parameters: [String: Any]) -> [URLQueryItem]? {

    var apiEndpoint: String { get }
    var accessToken: String? { get }
    var accessTokenFieldName: String { get }
    var errorDomain: String { get }
}


        return "access_token"
    }

    var shouldUseAuthorizationHeader: Bool {
        return false
    }
    
    var errorDomain: String {
        return "com.nerdishbynature.RequestKit"
    }
