         requestBody:NSData? = nil,
         URLQuery:String? = nil,
         asyncCompletionHandler:((HTTPResult!) -> Void)? = nil
-    ) -> HTTPResult {
-
-        return Just.shared.request(
-            .POST,
-            URLString: URLString,
-            params: params,
-            data: data,
-            json: json,
-            headers: headers,
-            auth: auth,
-            cookies: cookies,
-            requestBody: requestBody,
-            URLQuery: URLQuery,
-            redirects: allowRedirects,
-            asyncCompletionHandler: asyncCompletionHandler
-        )
+        ) -> HTTPResult {
+
+            return Just.shared.request(
+                .POST,
+                URLString: URLString,
+                params: params,
+                data: data,
+                json: json,
+                headers: headers,
+                files:files,
+                auth: auth,
+                cookies: cookies,
+                requestBody: requestBody,
+                URLQuery: URLQuery,
+                redirects: allowRedirects,
+                asyncCompletionHandler: asyncCompletionHandler
+            )
 
     }
 

            var requestResult:HTTPResult = HTTPResult(data: nil, response: nil, error: syncResultAccessError, request: nil)

            let config = TaskConfiguration(credential:auth, redirects:redirects)
            if let request = synthesizeRequest(method, URLString: URLString, params: params, data: data, json: json, headers: CaseInsensitiveDictionary<String,String>(dictionary:headers), requestBody:requestBody, URLQuery: URLQuery) {
                addCookies(request.URL!, newCookies: cookies)
                let task = makeTask(request, configuration:config) { (result) in
                    if let handler = asyncCompletionHandler {


    public lazy var headers:CaseInsensitiveDictionary<String,String> = {
        return CaseInsensitiveDictionary<String,String>(dictionary: (self.response as? NSHTTPURLResponse)?.allHeaderFields as? [String:String] ?? [:])
        }()

    public lazy var cookies:[String:NSHTTPCookie] = {
        let foundCookies: [NSHTTPCookie]
