     func sendMultipartRequest(_ resolve: @escaping (_ result: (Int, [AnyHashable: Any], JSON)) -> Void,
                               reject: @escaping (_ error: Error) -> Void,
                               progress:@escaping (Float) -> Void) {
-        upload(multipartFormData: { formData in
+        wsUpload(multipartFormData: { formData in
             for (key, value) in self.params {
                 let str: String
                 switch value {

        }
        return request ?? r
    }
    
    /// Returns Promise containing JSON
    open func fetch() -> Promise<JSON> {
        return fetch().registerThen { (_, _, json) in json }

    
    func sendJSONRequest(_ resolve: @escaping (_ result: (Int, [AnyHashable: Any], JSON)) -> Void,
                         reject: @escaping (_ error: Error) -> Void) {
        self.req = wsRequest(self.buildRequest())
        logger.logRequest(self.req!)
        let bgQueue = DispatchQueue.global(qos: DispatchQoS.QoSClass.default)
        req?.validate().responseJSON(queue: bgQueue) { r in
