         self.URL = URL
         self.headers = headers
         self.body = body
+    }
+    
+    init(request: URLRequestConvertible) {
+        super.init(key: request.URLRequest.URLString)
+        self.URLRequest = request
     }
     
     // MARK: - Functions

        if URL == nil {
            failure?(nil)
        }
        request = HttpRequest.GET(URL!, headers: headers, body: body).response(completionHandler: { (request, response, data, error) in
            if error != nil {
                failure?(error)
            } else if data != nil {

    
    // MARK: - Properties
    private(set) var URL: URLStringConvertible?
    private(set) var URLRequest: URLRequestConvertible?
    private(set) var headers: HttpHeaders?
    private(set) var body: HttpBody?
    private(set) var request: Request?
