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
r=()
m=()
b=()
+l=()
while(~ $1 -*){
switch($1){
case -o
case -r
r=($r $2)
shift
+ case -l
+ l=1
case -m
m=$2
shift
}
}
<$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}' \
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
}
}