Skip to content

Commit

Permalink
Progress is now working properly
Browse files Browse the repository at this point in the history
  • Loading branch information
wpK committed Jul 27, 2017
1 parent 2331a3a commit 3016410
Showing 1 changed file with 4 additions and 3 deletions.
7 changes: 4 additions & 3 deletions Sources/Apollo/SessionDelegate.swift
Original file line number Diff line number Diff line change
Expand Up @@ -24,13 +24,13 @@ class SessionDelegate: NSObject {
self.tasks[task.taskIdentifier] = SessionDelegateTask(completionHandler: completionHandler, progressHandler: progressHandler)
}

func get(task: URLSessionTask) -> SessionDelegateTask? {
fileprivate func get(task: URLSessionTask) -> SessionDelegateTask? {
return lock.withLock {
return self.tasks[task.taskIdentifier]
}
}

func remove(task: URLSessionTask) {
fileprivate func remove(task: URLSessionTask) {
self.lock.lock()
defer { self.lock.unlock() }

Expand All @@ -47,7 +47,8 @@ extension SessionDelegate: URLSessionDataDelegate {
extension SessionDelegate: URLSessionTaskDelegate {
func urlSession(_ session: URLSession, task: URLSessionTask, didSendBodyData bytesSent: Int64, totalBytesSent: Int64, totalBytesExpectedToSend: Int64) {
if let sessionTask = self.get(task: task), let progressHandler = sessionTask.progressHandler {
progressHandler(Progress((totalBytesSent/totalBytesExpectedToSend)) * 100)
let progress = Float(totalBytesSent)/Float(totalBytesExpectedToSend)
progressHandler(Progress(progress * 100))
}
}

Expand Down

0 comments on commit 3016410

Please sign in to comment.