         })
         
         task.resume()
+    }
+    
+    func queryString(parameters: [String: AnyObject]?) -> String {
+        if let params = parameters {
+            return "?" + urlEncode(params)
+        }
+        return ""
     }
     
     func urlEncode(obj: AnyObject) -> String {

                
                req.setValue("multipart/form-data; boundary=\(Constants.MultipartBoundary)", forHTTPHeaderField: Headers.ContentType)
                req.HTTPBody = body
            } else {
                let json = NSJSONSerialization.dataWithJSONObject(params, options: .allZeros, error: nil)
                req.setValue("application/json", forHTTPHeaderField: Headers.ContentType)
                req.HTTPBody = json

            req.setValue(value, forHTTPHeaderField: header)
        }
        
        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 {
                        body.appendData(boundary)
                        body.appendData("Content-Disposition: form-data; name=\"\(name)\"\r\n\r\n".dataUsingEncoding(NSUTF8StringEncoding)!)
                        body.appendData(value.dataUsingEncoding(NSUTF8StringEncoding)!)
                        body.appendData("\r\n".dataUsingEncoding(NSUTF8StringEncoding)!)
                    }
                }
                
                for file in httpFiles {
