             
             self.resumeAll(token)
             
-            guard let request = task?.originalRequest else {
+            guard let request = task?.originalRequest?.URLRequest else {
                 return
             }
             
-            request.URLRequest.setValue(token, forHTTPHeaderField: authenticationStrategy.authenticationHeader)
-            
-            self.request(request.URLRequest, callback: completionHandler)
+            request.setValue(token, forHTTPHeaderField: authenticationStrategy.authenticationHeader)
+            
+            self.request(request, callback: completionHandler)
                 .response(completionHandler: { (request, response, data, error) in
                     
                     guard response?.statusCode == 200 else {

    // MARK: - Suspend/pause/cancel
    
    public func cancelAll() {
        
        manager.session.getTasksWithCompletionHandler { dataTasks, uploadTasks, downloadTasks in
            
            for task in dataTasks {
                task.cancel()
            }
            
            for task in uploadTasks {
                task.cancel()
            }
            
            for task in downloadTasks {
                task.cancel()
            }
        }
        
        manager.startRequestsImmediately = true

            
            authenticationStrategy.retries = 0
            
            self.cancelAll()
            
            return completionHandler(statusCode: NSURLError.UserCancelledAuthentication.rawValue, data: nil, error: NSError(domain: "", code: 503, userInfo: ["message":"authentication limit reached"]))
        }
        
        guard !authenticationStrategy.isRefreshing else {
