ShellSpider/base.source.sh

34 lines
663 B
Bash

#!/bin/bash
statusContainer="$2"
eval "$3" # settings
eval "$4" # server
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() {
status=$1
sed -i "1s/.*/$status/" $statusContainer
}
addResponseHeader() {
key=$1
value=$2
echo "$key: $value" >> $statusContainer
}
redirect() {
setStatusCode 302
addResponseHeader Location "$1"
}