Swift
Swift
HTTP Download with Progress Event Callbacks
See more HTTP Examples
Downloads a file via HTTP or HTTPS and uses event callbacks to monitor progress.Chilkat Swift Downloads
class httpProgress : CkoHttpProgress {
override func AbortCheck(abort: UnsafeMutablePointer<ObjCBool>) {
abort.memory = false
}
override func PercentDone(pctDone: NSNumber!, abort: UnsafeMutablePointer<ObjCBool>) {
abort.memory = false
let percentDone: Int = pctDone
print("Percent Done: \(percentDone)")
// Explicitly abort at 25% or greater.
// Remove this to allow for the HTTP download to run to completion.
if percentDone > 25 {
abort.memory = true
}
}
override func ProgressInfo(name: String!, value: String!) {
print("\(name!): \(value!)")
}
}
func chilkatTest() {
var success: Bool = false
// This example assumes the Chilkat API to have been previously unlocked.
// See Global Unlock Sample for sample code.
let http = CkoHttp()!
let http_progress = httpProgress()
http.setEventCallbackObject(http_progress)
// Set a heartbeat in milliseconds
http.heartbeatMs = 200
// Download a file...
var localFilePath: String? = "qa_output/Python-3.4.4.tar.xz"
success = http.download(url: "https://www.python.org/ftp/python/3.4.4/Python-3.4.4.tar.xz", saveToPath: localFilePath)
if success == false {
print("\(http.lastErrorText!)")
return
}
print("OK!")
}