Files
cell/tests/https.ce

50 lines
1.1 KiB
Plaintext

var http = use('http')
var os = use('os')
var downloader
var download_complete = false
function checkin()
{
if (download_complete) return
send(downloader, {type:'status'}, e => {
log.console("Status:", json.encode(e))
// Check if download is complete or error
if (e.type === 'error' || (e.type === 'status_response' && e.status === 'idle')) {
// Stop checking if no download in progress
return
}
// Continue checking
$_.delay(checkin, 0.5)
})
}
$_.start(e => {
log.console(json.encode(e))
if (e.type === 'greet') {
downloader = e.actor
// Start download
send(downloader, {
type:'download',
url: 'https://dictionary.ink/find?word=palm'
}, e => {
log.console("Download response:", json.encode(e))
download_complete = true
if (e.type === 'complete') {
log.console("Download complete! Size:", e.size, "bytes")
} else if (e.type === 'error') {
log.console("Download failed:", e.error)
}
})
// Start status checking after a small delay
$_.delay(checkin, 0.01)
}
}, "examples/http_download_actor")