     public class func create() -> Request {
         let session = URLSession.shared
         let operation = JSONRequestOperation.create()
-        let request = Request(session: session, operation: operation)
+        let response = RequestResponse()
+        let request = Request(session: session, operation: operation, response: response)
         return request
     }
 }

                return
            }
            
            guard data != nil else {
                completion(.succeeded([:]))
                return

    
    internal var session: URLSession
    internal var operation: RequestOperation
    internal var response: RequestResponseProtocol
    
    public init(session: URLSession, operation: RequestOperation, response: RequestResponseProtocol) {
        self.session = session
        self.operation = operation
        self.response = response
    }
    
    public func read(path: String, query: [AnyHashable: Any], completion: @escaping (RequestResult) -> Void) {
