From 521ceac5adc13ab333786dfa903c94909ba74eed Mon Sep 17 00:00:00 2001 From: Luke Bratch Date: Mon, 23 Nov 2015 18:46:33 +0000 Subject: Deal with some cURL exit codes --- title.bash | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/title.bash b/title.bash index f0065fd..cc0f83c 100755 --- a/title.bash +++ b/title.bash @@ -19,6 +19,7 @@ # v0.9.4: switch to a cleaner awk script to detect titles # v1.0 : if Content-Type is text/plain, just use the first line as the title # v1.1 : decode HTML in the title using recode (adds recode as a dependency) +# v1.2 : deal with some cURL exit codes OPTS='--location --insecure --silent --max-filesize 1048576 --max-time 10 -A "Mozilla/5.0 (X11; Linux x86_64; rv:36.0) Gecko/20100101 Firefox/36.0" -H "Accept-Encoding: gzip" -H "Accept: text/html"' @@ -37,9 +38,19 @@ then echo "Usage: '!title ' where is an http:// or https:// URL" elif [ "$url" == "-v" ] || [ "$url" == "--version" ] then - echo "blatitle version 1.1" + echo "blatitle version 1.2" else eval curl $OPTS -D /tmp/$TIME.header '$url' -o /tmp/$TIME.body.gz + ret=$? + if [ "$ret" -eq 28 ] + then + echo "Connection to host timed out!" + exit + elif [ "$ret" -ne 0 ] + then + echo "cURL error $ret when fetching the page." + exit + fi grep -q "Content-Encoding: gzip" /tmp/$TIME.header && gunzip /tmp/$TIME.body.gz || mv /tmp/$TIME.body.gz /tmp/$TIME.body grep -q "Content-Type: text/plain" /tmp/$TIME.header && TYPE="text/plain" if [ "$TYPE" == "text/plain" ] -- cgit v1.2.3