# HG changeset patch # User Matti Hamalainen # Date 1613761406 -7200 # Node ID eddf0ff17fbd526ecede477ba2676efcd03ec396 # Parent 33580ee2579e68ddeb68ba6630e3d5dac46f97af urllog: Use new HTTP helpers from utillib. diff -r 33580ee2579e -r eddf0ff17fbd urllog.tcl --- a/urllog.tcl Fri Feb 19 21:02:53 2021 +0200 +++ b/urllog.tcl Fri Feb 19 21:03:26 2021 +0200 @@ -211,24 +211,6 @@ #------------------------------------------------------------------------- -proc urllog_clear_request { urlStatus urlSCode urlCode urlData urlMeta } { - - ### Clear the request data - upvar $urlStatus ustatus - upvar $urlSCode uscode - upvar $urlCode ucode - upvar $urlData udata - upvar $urlMeta umeta - - unset ustatus - unset uscode - unset ucode - unset udata - array unset umeta -} - - -#------------------------------------------------------------------------- proc urllog_do_request { urlNick urlChan urlStr urlStatus urlSCode urlCode urlData urlMeta } { upvar $urlStatus ustatus @@ -241,35 +223,17 @@ 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]} { - urllog_verb_msg 1 $urlNick $urlChan "err_http_get" [list $urlStr $uerrmsg] - urllog_log "HTTP request failed: $uerrmsg" + set uresult [utl_http_do_request $urlHeaders $urlStr ustatus uscode ucode udata umeta] + if {$uresult == -1} { + urllog_verb_msg 1 $urlNick $urlChan "err_http_get" [list $urlStr $uscode] + urllog_log "HTTP request failed: $uscode" return 0 - } - - ### Check status - set ustatus [::http::status $utoken] - set uscode [::http::code $utoken] - set ucode [::http::ncode $utoken] - - if {$ustatus != "ok"} { + } elseif {$uresult < 0} { urllog_verb_msg 1 $urlNick $urlChan "err_http_status" [list $urlStr $ustatus $uscode $ucode] 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 - } - return 1 } @@ -399,7 +363,8 @@ } ### Attempt to fetch redirection target - urllog_clear_request ustatus uscode ucode udata umeta + utl_http_clear_request ustatus uscode ucode udata umeta + if {![urllog_do_request $urlNick $urlChan $ustr ustatus uscode ucode udata umeta]} { urllog_verb_msg 1 $urlNick $urlChan "err_redirect_fail" [list $ustr $ustatus $uscode $ucode $urlRedirLevel] urllog_log "Error fetching redirect: status=$ustatus, code=$ucode, scode=$uscode, url=$ustr, redirLevel=$urlRedirLevel"