mirror of
https://github.com/YunoHost/yunohost.git
synced 2024-09-03 20:06:10 +02:00
New helper ynh_local_curl (#288)
* New helper ynh_curl_abstract Just an abstraction around curl command. To prevent forgot arguments and simplify this difficult command. * [enh] Switch args of ynh_curl_abstract * [enh] Rename ynh_curl_abstract into ynh_local_curl * Splitting the various key=value into several arguments * Comment to clarify bash command * Adding comment about $domain and $path_url
This commit is contained in:
parent
c31e4c5b0d
commit
712e69d830
1 changed files with 28 additions and 0 deletions
|
@ -24,3 +24,31 @@ ynh_get_plain_key() {
|
|||
fi
|
||||
done
|
||||
}
|
||||
|
||||
# Curl abstraction to help with POST requests to local pages (such as installation forms)
|
||||
#
|
||||
# $domain and $path_url should be defined externally (and correspond to the domain.tld and the /path (of the app?))
|
||||
#
|
||||
# example: ynh_local_curl "/install.php?installButton" "foo=$var1" "bar=$var2"
|
||||
#
|
||||
# usage: ynh_local_curl "page_uri" "key1=value1" "key2=value2" ...
|
||||
# | arg: page_uri - Path (relative to $path_url) of the page where POST data will be sent
|
||||
# | arg: key1=value1 - (Optionnal) POST key and corresponding value
|
||||
# | arg: key2=value2 - (Optionnal) Another POST key and corresponding value
|
||||
# | arg: ... - (Optionnal) More POST keys and values
|
||||
ynh_local_curl () {
|
||||
# Define url of page to curl
|
||||
full_page_url=https://localhost$path_url$1
|
||||
|
||||
# Concatenate all other arguments with '&' to prepare POST data
|
||||
POST_data=""
|
||||
for arg in "${@:2}"
|
||||
do
|
||||
POST_data="${POST_data}${arg}&"
|
||||
done
|
||||
# (Remove the last character, which is an unecessary '&')
|
||||
POST_data=${POST_data::-1}
|
||||
|
||||
# Curl the URL
|
||||
curl -kL -H "Host: $domain" --resolve $domain:443:127.0.0.1 --data "$POST_data" "$full_page_url" 2>&1
|
||||
}
|
||||
|
|
Loading…
Add table
Reference in a new issue