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 <