]> git.lizzy.rs Git - plan9front.git/blobdiff - rc/bin/hget
provide rcpu(1), make usage line consistent
[plan9front.git] / rc / bin / hget
index ca1f183b64d68eb63b85a3fa6a3ff8924561d3b3..dca3c15228b99fe6bab1d1d913a36508d2253192 100755 (executable)
@@ -2,7 +2,7 @@
 rfork e
 argv0=$0
 fn usage {
-       echo 'usage: $argv0 [ -o file ] [ -p body | -P ] [ -r header ] [ -m method ] [ -b baseurl ] url' >[1=2]
+       echo usage: $argv0 '[ -l | -o file] [ -p body | -P ] [ -r header ] [ -m method ] [ -b baseurl ] url' >[1=2]
        exit usage
 }
 s=0
@@ -12,6 +12,7 @@ P=()
 r=()
 m=()
 b=()
+l=()
 while(~ $1 -*){
        switch($1){
        case -o
@@ -25,6 +26,8 @@ while(~ $1 -*){
        case -r
                r=($r $2)
                shift
+       case -l
+               l=1
        case -m
                m=$2
                shift
@@ -64,6 +67,10 @@ if(! ~ $s 0)
                }
        }
        <$d/body {
+               if(~ $#l 1){
+                       echo `{cat $d/parsed/url}
+                       exit
+               }
                if(~ $#o 1){
                        l=`{cat $d/contentlength >[2]/dev/null}
                        x=`{awk 'BEGIN{FS=" |-"}/^bytes ([0-9]+)\-/{print $2}' \
@@ -74,6 +81,15 @@ if(! ~ $s 0)
                                exec cat >>$o
                        exec cat >$o
                }
+               c=`{cat $d/contentencoding >[2]/dev/null}
+               switch($c){
+               case *gzip*
+                       ~ `{cat $d/contenttype >[2]/dev/null} *gzip* || exec gunzip
+               case *bzip2*
+                       ~ `{cat $d/contenttype >[2]/dev/null} *bzip2* || exec bunzip2
+               case *compress*
+                       ~ `{cat $d/contenttype >[2]/dev/null} *compress* || exec uncompress
+               }
                exec cat
        }
 }