summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorOri Bernstein <ori@eigenstate.org>2020-12-17 20:26:38 -0800
committerOri Bernstein <ori@eigenstate.org>2020-12-17 20:26:38 -0800
commitc2aa8c997aa9f7a6f0bc6cb1ad99cccede44fc72 (patch)
tree7b43d7ca692f49af32ba4ca19bd478ecf14a7123
parent658c1b9f68065a4e9ac7f1e28b3eedbba36c3099 (diff)
downloadplan9front-c2aa8c997aa9f7a6f0bc6cb1ad99cccede44fc72.tar.xz
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.
-rwxr-xr-xrc/bin/hpost9
-rw-r--r--sys/man/1/hget6
2 files changed, 13 insertions, 2 deletions
diff --git a/rc/bin/hpost b/rc/bin/hpost
index cbea99f32..6d97f49b8 100755
--- a/rc/bin/hpost
+++ b/rc/bin/hpost
@@ -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
}
diff --git a/sys/man/1/hget b/sys/man/1/hget
index c4238344a..64147e8c3 100644
--- a/sys/man/1/hget
+++ b/sys/man/1/hget
@@ -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