Mercurial > hg > egg-tcls
changeset 660:ab2ba0b82407
fetch_feeds: Use the common HTTP helpers.
author | Matti Hamalainen <ccr@tnsp.org> |
---|---|
date | Fri, 19 Feb 2021 21:06:04 +0200 |
parents | eddf0ff17fbd |
children | 721c8cef5039 |
files | fetch_feeds.tcl |
diffstat | 1 files changed, 6 insertions(+), 23 deletions(-) [+] |
line wrap: on
line diff
--- a/fetch_feeds.tcl Fri Feb 19 21:03:26 2021 +0200 +++ b/fetch_feeds.tcl Fri Feb 19 21:06:04 2021 +0200 @@ -40,6 +40,7 @@ proc fetch_dorequest { urlStr urlStatus urlSCode urlCode urlData urlMeta } { + upvar $urlStatus ustatus upvar $urlSCode uscode upvar $urlCode ucode @@ -50,33 +51,15 @@ lappend urlHeaders "Accept-Encoding" "identity" #lappend urlHeaders "Connection" "keep-alive" - ### Perform request - if {[catch {set utoken [::http::geturl $urlStr -timeout 6000 -binary 1 -headers $urlHeaders]} uerrmsg]} { - puts "HTTP request failed: $uerrmsg" + set uresult [utl_http_do_request $urlHeaders $urlStr ustatus uscode ucode udata umeta] + if {$uresult == -1} { + puts "HTTP request failed: $uscode ($urlStr)" return 0 - } - - ### Check status - set ustatus [::http::status $utoken] - set uscode [::http::code $utoken] - set ucode [::http::ncode $utoken] - - if {$ustatus != "ok"} { - puts "Error in HTTP request: $ustatus / $uscode ($urlStr)" + } elseif {$uresult < 0} { + urllog_log "Error in HTTP request: $ustatus / $uscode ($urlStr)" return 0 } - ### Get data - set udata [::http::data $utoken] - array set umeta [::http::meta $utoken] - ::http::cleanup $utoken - - ### Sanitize the metadata KEYS - foreach {ukey uvalue} [array get umeta] { - set ukey [string tolower $ukey] - set umeta($ukey) $uvalue - } - ### Perform encoding conversion if necessary if {$ucode >= 200 && $ucode <= 205} { set uenc_doc ""