Replacing strings using bash built-in method
This commit is contained in:
parent
2cd67c99bb
commit
6317079f20
|
@ -66,7 +66,7 @@ aliapi_rpc() {
|
||||||
done
|
done
|
||||||
|
|
||||||
local _signature
|
local _signature
|
||||||
_signature=$(_aliapi_signature_rpc "$_http_method" "$_query_str")
|
_signature=$(_aliapi_signature_rpc "$_http_method" "${_query_str:0:-1}")
|
||||||
_query_str+="Signature=$(_aliapi_urlencode "$_signature")"
|
_query_str+="Signature=$(_aliapi_urlencode "$_signature")"
|
||||||
local _curl_out _http_code _http_url="https://$_http_host/?$_query_str"
|
local _curl_out _http_code _http_url="https://$_http_host/?$_query_str"
|
||||||
_curl_out=$(mktemp)
|
_curl_out=$(mktemp)
|
||||||
|
@ -84,9 +84,11 @@ _aliapi_check_vars() {
|
||||||
|
|
||||||
_aliapi_signature_rpc() {
|
_aliapi_signature_rpc() {
|
||||||
local -u _http_method=$1
|
local -u _http_method=$1
|
||||||
local _str _query_str _sign_str
|
local _str=$2 _query_str _sign_str
|
||||||
_str=$(LC_ALL=C echo -n "$2" | tr "&" "\n" | sort)
|
local _newline='
|
||||||
_query_str=$(echo -n "$_str" | tr "\n" "&")
|
'
|
||||||
|
_str=$(LC_ALL=C sort <<< "${_str//&/$_newline}")
|
||||||
|
_query_str=${_str//$_newline/&}
|
||||||
_sign_str="$_http_method&$(_aliapi_urlencode "/")&$(_aliapi_urlencode "$_query_str")"
|
_sign_str="$_http_method&$(_aliapi_urlencode "/")&$(_aliapi_urlencode "$_query_str")"
|
||||||
echo -n "$_sign_str" | openssl sha1 -hmac "$_AliAccessKeySecret&" -binary | openssl base64 -e
|
echo -n "$_sign_str" | openssl sha1 -hmac "$_AliAccessKeySecret&" -binary | openssl base64 -e
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue