       self.request = request
     } catch {
       self.request = nil
-      self.error = error as! RequestError
+      self.error = error
     }
   }
   

      return
    }
    
    let data = NSMutableData()
    do {
      try response.read(into: data)

  var request: ClientRequest?
  var response: ClientResponse?
  var data: NSData?
  var error: ErrorProtocol?
  
  typealias ResponseArguments = (request: ClientRequest?, response: ClientResponse?, data: NSData?, error:ErrorProtocol?)
  typealias CompletionHandler = ResponseArguments -> Void
  
  init(method: RequestMethod,
