hpost: support custom headers (thanks julienxx)

hget supports adding custom headers with -r;
it makes sense for hpost to do the same, both
because custom headers are more likely necessary
with POSTs, and for consistency.
front
Ori Bernstein 2020-12-17 20:26:38 -08:00
parent 658c1b9f68
commit c2aa8c997a
2 changed files with 13 additions and 2 deletions

View File

@ -1,12 +1,15 @@
#!/bin/rc
rfork e
url=()
headers=()
action=()
method=()
at=() # text fields
af=() # file fields
l=()
fn usage {
echo 'usage: hpost [ -l ] [ -[gpm] action ] [ -u ] url [ field:value | field@file ... ]' >[1=2]
echo 'usage: hpost [ -l ] [ -[gpm] action ] [ -r ] header [ -u ] url [ field:value | field@file ... ]' >[1=2]
exit usage
}
@ -14,6 +17,7 @@ while(~ $1 -*){
switch($1){
case -l; l=($l $1)
case -u; shift; url=$1
case -r; shift; headers=($headers -r $1)
case -g; shift; action=$1; method=mget
case -p; shift; action=$1; method=mpost
case -m; shift; action=$1; method=multi
@ -94,8 +98,9 @@ fn multi {
menc $"f | $hget -r 'Content-Type: multipart/form-data; boundary='$"f -b $url -P $action
}
if(! ~ $action ''){
hget=(hget $l)
hget=(hget $headers $l)
$method
exit
}

View File

@ -38,6 +38,9 @@ hget, hpost, webpaste, urlencode \- retrieve, post to a web page corresponding t
.B -m
.I action
] [
.B -r
.I header
] [
.B -u
]
.I url
@ -119,6 +122,9 @@ Option
.B -r
sends an arbitrary HTTP
.IR header .
The
.B -r
flag can be repeated to send multiple headers.
.PP
Option
.B -m