         data:[String:AnyObject],
         json:[String:AnyObject]?,
         headers:CaseInsensitiveDictionary<String,String>,
+        files:[String:HTTPFile],
         requestBody:NSData?,
         URLQuery:String?
         ) -> NSURLRequest? {
-            var body:NSData?
             if let urlComponent = NSURLComponents(string: URLString) {
                 var queryString = query(params)
 

        requestBody:NSData? = nil,
        URLQuery:String? = nil,
        asyncCompletionHandler:((HTTPResult!) -> Void)? = nil
    ) -> HTTPResult {

        return Just.shared.request(
            .GET,
            URLString: URLString,
            params: params,
            data: data,
            json: json,
            headers: headers,
            auth: auth,
            cookies: cookies,
            requestBody: requestBody,
            URLQuery: URLQuery,
            redirects: allowRedirects,
            asyncCompletionHandler: asyncCompletionHandler
        )

    }



                var finalHeaders = headers
                var contentType:String? = nil
                var body:NSData?

                if let requestData = requestBody {
                    body = requestData
                } else if files.count > 0 {
                    body = synthesizeMultipartBody(data, files:files)
                    contentType = "multipart/form-data; boundary=\(kHTTPMultipartBodyBoundary)"
                } else {
                    if let requestJSON = json {
                        contentType = "application/json"
