                     do {
                         let model = try parser.parse(object: json as AnyObject)
                         
-                        self.dprint("Got valid models back")
+                        self.dump("Got valid models back")
                         completion(Response(value: model, headers: urlResponse.allHeaderFields))
                     } catch let error as ResponseError {
                         completion(Response.failure(error))

                } else {
                    let errorCode = ResponseError.Code(rawValue: urlResponse.statusCode) ?? .unhandled
                    if errorCode == .unhandled {
                        self.dprint("Unhandled HTTP response code : \(urlResponse.statusCode)")
                    }
                    
                    completion(Response(errorCode: errorCode))

    
    
    // MARK: - Private methods
    private func dump(_ text: String) {
        #if DEBUG
            print("[RESTClient] \(text)")
        #endif
    }
    
    private func dump(request: URLRequest) {
        dump("Request URL:\t\(request.httpMethod!) \(request.url!.absoluteString)")
        
        if let allHTTPHeaderFields = request.allHTTPHeaderFields, allHTTPHeaderFields.count > 0 {
            dump("Headers:\t\t\(allHTTPHeaderFields)")
        }
        
        if let data = request.httpBody {
            dump("Body:\t\t\t\(NSString(data: data, encoding: String.Encoding.utf8.rawValue)!)")
        }
    }
    
    private func dump(response: HTTPURLResponse) {
        if let responseURL = response.url?.absoluteString {
            dump("Response URL:\t\(responseURL)")
        }
        dump("Status:\t\t\(response.statusCode)")
        
        if response.allHeaderFields.count > 0 {
            dump("Headers:")
            for (header, value) in response.allHeaderFields {
                dump("\t\t\t\t\(header): \(value)")
            }
        }
    }
    
}
