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 ""