diff --git a/base.source.sh b/base.source.sh
index 83449b3..4cf3b35 100644
--- a/base.source.sh
+++ b/base.source.sh
@@ -7,6 +7,14 @@ eval "$5" # headers
. ${settings[serverDirectory]}/misc.sh
+declare -A query
+fields="$(echo "${server[query]}" | tr '&' '\n')"
+for field in $fields; do
+ key="$(echo "$field" | awk -F= '{ print $1 }')"
+ value="$(echo "$field" | awk -F= '{ for (i=2; i<=NF; i++) print $i }')"
+ query["$(urldecode "$key")"]="$(urldecode "$value")"
+done
+
echo 200 > $statusContainer
setStatusCode() {
diff --git a/home/info.sh b/home/info.sh
index 1723207..c8e9883 100755
--- a/home/info.sh
+++ b/home/info.sh
@@ -22,6 +22,12 @@ EOF
for key in "${!server[@]}"; do
echo "$key -> ${server[$key]}
"
done
+cat <Query
+EOF
+for key in "${!query[@]}"; do
+ echo "$key -> ${query[$key]}
"
+done
cat <Headers
EOF
diff --git a/home/stuff/add.sh b/home/stuff/add.sh
index 81c87c6..49f41b8 100755
--- a/home/stuff/add.sh
+++ b/home/stuff/add.sh
@@ -24,20 +24,8 @@ EOF
exit
fi
-name=""
-text=""
-
-fields=$(echo "${server[query]}" | tr "&" "\n")
-for field in $fields; do
- key=$(echo "$field" | awk -F= '{ print $1 }')
- value=$(echo "$field" | awk -F= '{for (i=2; i<=NF; i++) print $i}')
-
- if test "$key" = "name"; then
- name="$value"
- elif test "$key" = "text"; then
- text="$value"
- fi
-done
+name="${query["name"]}"
+text="${query["text"]}"
if test "$name" = "" -o "$text" = ""; then
setStatusCode 400
@@ -46,9 +34,9 @@ fi
cat >> ./guestbook.txt <