summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLuke Bratch <luke@bratch.co.uk>2015-11-23 18:46:33 +0000
committerLuke Bratch <luke@bratch.co.uk>2015-11-23 18:46:33 +0000
commit521ceac5adc13ab333786dfa903c94909ba74eed (patch)
treef668be2a4ec16b2ae9f8f6b7fa7675ef77e75653
parente4447324a41e18e3a0d770f8dac0a558463ae1f8 (diff)
Deal with some cURL exit codes
-rwxr-xr-xtitle.bash13
1 files changed, 12 insertions, 1 deletions
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 <url>' where <url> 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" ]