 
     func submitSyncRequest(method: String, url: String, queryParams: JSONObject? = nil,
         payload: AnyObject? = nil, headers: JSONObject? = nil) -> JSONResult {
-            do {
-                try initializeRequest(method, url: url, queryParams: queryParams)
-            } catch {
-                return JSONResult.Failure(error: JSONError.InvalidURL, response: nil)
-            }
-
+            updateRequestUrl(method, url: url, queryParams: queryParams)
             updateRequestHeaders(headers)
 
             do {
                 try updateRequestPayload(payload)
             } catch {
-                return JSONResult.Failure(error: JSONError.PayloadSerialization, response: nil)
+                return JSONResult.Failure(error: JSONError.PayloadSerialization, response: nil,
+                    body: nil)
             }
 
             do {

        switch self {
        case .Success:
            return nil
        case .Failure(let error, _):
            return error
        }
    }

                complete: complete)
    }

    public func put(url: String, params: JSONObject? = nil, payload: AnyObject? = nil,
        headers: JSONObject? = nil, complete: (result: JSONResult) -> Void) {
            submitAsyncRequest("PUT", url: url, payload: payload, headers: headers,
                complete: complete)
    }

}


