Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -61,11 +61,11 @@ class NetworkDownloadFileListener {
class NetworkRequestTaskImpl implements RequestTask {
public headersReceivedListeners = new Map<number, RequestTaskOnHeadersReceivedCallback>()
public chunkReceivedListeners = new Map<number, RequestTaskOnChunkReceivedCallback>()

private requestTaskOnHeadersReceivedCallbackCount: number = 0
private requestTaskOnChunkReceivedCallbackCount: number = 0
private semaphore = DispatchSemaphore(value = 1)

private task : URLSessionDataTask | null = null;
constructor(task : URLSessionDataTask | null) {
this.task = task;
Expand All @@ -76,15 +76,15 @@ class NetworkRequestTaskImpl implements RequestTask {
this.task?.cancel()
UTSiOS.destroyInstance(this)
}

public onHeadersReceived(listener: RequestTaskOnHeadersReceivedCallback): number {
this.semaphore.wait()
this.requestTaskOnHeadersReceivedCallbackCount += 1
this.semaphore.signal()
this.headersReceivedListeners.set(this.requestTaskOnHeadersReceivedCallbackCount, listener)
return this.requestTaskOnHeadersReceivedCallbackCount
}

public offHeadersReceived(listener ?: number | RequestTaskOnHeadersReceivedCallback | null): void {
if (listener != null && typeof listener! == "number") {
const id = listener as number
Expand All @@ -93,15 +93,15 @@ class NetworkRequestTaskImpl implements RequestTask {
this.headersReceivedListeners.clear()
}
}

public onChunkReceived(listener: RequestTaskOnChunkReceivedCallback): number {
this.semaphore.wait()
this.requestTaskOnChunkReceivedCallbackCount += 1
this.semaphore.signal()
this.chunkReceivedListeners.set(this.requestTaskOnChunkReceivedCallbackCount, listener)
return this.requestTaskOnChunkReceivedCallbackCount
}

public offChunkReceived(listener ?: number | RequestTaskOnChunkReceivedCallback | null): void {
if (listener != null && typeof listener! == "number") {
const id = listener as number
Expand Down Expand Up @@ -246,7 +246,8 @@ class NetworkManager implements URLSessionDataDelegate {
map.forEach((value, key) => {
bodyArray.push(key + "=" + `${value ?? "null"}`);
})
body = bodyArray.join("&");
body = bodyArray.join("&");
url = url.replacingOccurrences(of: "+", with: "%2B");
} else {
body = JSON.stringify(data);
}
Expand Down Expand Up @@ -369,7 +370,7 @@ class NetworkManager implements URLSessionDataDelegate {
})
}
}

completionHandler(URLSession.ResponseDisposition.allow);
}

Expand Down