# HG changeset patch # User Matti Hamalainen # Date 1613761564 -7200 # Node ID ab2ba0b82407c85d954adff53af4158acaeda95c # Parent eddf0ff17fbd526ecede477ba2676efcd03ec396 fetch_feeds: Use the common HTTP helpers. diff -r eddf0ff17fbd -r ab2ba0b82407 fetch_feeds.tcl --- 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 ""