Shell script helper functions for encoding/decoding querystring data.
querystring $pathOutputs the querystring portion of the provided request URL. Once you have the
querystring, it may be parsed with querystring_parse.
querystring_escape $inputEncodes the input with querystring percent-encoding.
Similar to encodeURIComponent() in JavaScript.
querystring_unescape $inputDecodes querystring-encoded content.
Similar to decodeURIComponent() in JavaScript.
querystring_parse $qs $var1 <... $var2>Parses the provided qs querystring and sets the requested shell variables.
#!/usr/bin/env importimport "querystring@1.3.0"
querystring_escape "hello world"# hello%20world
querystring_unescape "hello%20world"# hello world#!/usr/bin/env importimport "querystring@1.3.0"
querystring "/api/hello"# (empty)
querystring "/api/hello?name=rick"# name=rick#!/usr/bin/env importimport "querystring@1.3.0"
querystring_escape hello world# hello%20world
# Also works over stdinecho hello world | querystring_escape# hello%20world#!/usr/bin/env importimport "querystring@1.3.0"
querystring_unescape "hello%20world"# hello world#!/usr/bin/env importimport "querystring@1.3.0"
querystring_parse "one=1&two=2&three=3" one two
echo "$one"# 1
echo "$two"# 2
echo "$three"# Not set, since it was not requested in `querystring_parse`