     }
 }
 
-public class Request: Equatable {
+public class Request: Equatable, Hashable {
     let id: String!
     
     public var url: String
     public var method: HTTPMethod
     public var headers: [String: String]
     public var parameters: [String: AnyObject]?
+    public var body: NSData?
     public var files: [File]?
     public var credential: NSURLCredential?
     public var willSend: (Request -> ())?

        }
        
        if request.method == .POST || request.method == .PUT {
            if let httpFiles = request.files {
                let body = NSMutableData()
                let boundary = "--\(Constants.MultipartBoundary)\r\n".dataUsingEncoding(NSUTF8StringEncoding)!
                
                if let params = request.parameters {
                    for (name, value) in params {

            }
            
            if let config = Ladybug.sslPinning[task.originalRequest!.URL!.host!] {
                let certificate = SecTrustGetCertificateAtIndex(serverTrust!, 0)!
                let remoteCertData: NSData = SecCertificateCopyData(certificate)
                
                if let pinnedCertData = NSData(contentsOfFile: config.filePath) {
