mirror of
https://git.sakamoto.pl/laudom/http.sh.git
synced 2025-08-05 13:23:31 +02:00
Compare commits
6 commits
c607722e2b
...
fcd102f113
Author | SHA1 | Date | |
---|---|---|---|
|
fcd102f113 | ||
|
e1f8ded023 | ||
|
f3ff522d82 | ||
|
b7945227ea | ||
|
828bc8e426 | ||
|
a954f330ab |
3 changed files with 22 additions and 21 deletions
|
@ -21,9 +21,9 @@ cfg[ssl_cert]=''
|
|||
cfg[ssl_key]=''
|
||||
|
||||
cfg[extension]='shs'
|
||||
cfg[extra_headers]='server: HTTP.sh/0.94 (devel)'
|
||||
cfg[extra_headers]='server: HTTP.sh/0.95 (devel)'
|
||||
|
||||
cfg[title]='HTTP.sh 0.94'
|
||||
cfg[title]='HTTP.sh 0.95'
|
||||
|
||||
cfg[php_enabled]=false # enable PHP script evalutaion (requires PHP)
|
||||
cfg[python_enabled]=false # enable Python script evalutaion (requires Python)
|
||||
|
|
4
http.sh
4
http.sh
|
@ -27,9 +27,9 @@ cfg[ssl_cert]=''
|
|||
cfg[ssl_key]=''
|
||||
|
||||
cfg[extension]='shs'
|
||||
cfg[extra_headers]='server: HTTP.sh/0.94 (devel)'
|
||||
cfg[extra_headers]='server: HTTP.sh/0.95 (devel)'
|
||||
|
||||
cfg[title]='HTTP.sh 0.94'
|
||||
cfg[title]='HTTP.sh 0.95'
|
||||
|
||||
cfg[php_enabled]=false # enable PHP script evalutaion (requires PHP)
|
||||
cfg[python_enabled]=false # enable Python script evalutaion (requires Python)
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
|
||||
# render(array, template_file)
|
||||
function render() {
|
||||
local template="$(cat "$2")"
|
||||
local template="$(cat "$2" | sed 's/\&/<2F>UwU<77>/g')"
|
||||
local -n ref=$1
|
||||
local tmp=$(mktemp)
|
||||
for key in ${!ref[@]}; do
|
||||
|
@ -11,46 +11,40 @@ function render() {
|
|||
local value=''
|
||||
subtemplate=$(mktemp)
|
||||
subtemplate_tmp=$(mktemp)
|
||||
echo "subtemplate: $subtemplate" > /dev/stderr
|
||||
echo "subtemplate_tmp: $subtemplate_tmp" > /dev/stderr
|
||||
echo "$template" | grep "{{start $key}}" -A99999 | grep "{{end $key}}" -B99999 > "$subtemplate"
|
||||
echo "$template" | sed 's/\&/<2F>UwU<77>/g' | grep "{{start $key}}" -A99999 | grep "{{end $key}}" -B99999 | tr '\n' $'\01' > "$subtemplate"
|
||||
|
||||
echo 's'$'\02''\{\{start '"$key"'\}\}.*\{\{end '"$key"'\}\}'$'\02''\{\{'"$key"'\}\}'$'\02'';' >> "$tmp"
|
||||
|
||||
local -n asdf=${ref[$key]}
|
||||
echo "asdf ${asdf[@]}" > /dev/stderr
|
||||
|
||||
for j in ${!asdf[@]}; do
|
||||
local -n fdsa=_${asdf[$j]}
|
||||
|
||||
for i in ${!fdsa[@]}; do
|
||||
echo 's'$'\02''\{\{.'"$i"'\}\}'$'\02'''"${fdsa[$i]}"''$'\02'';' | tr -d '\n' >> "$subtemplate_tmp"
|
||||
echo 's'$'\02''\{\{.'"$i"'\}\}'$'\02'''"${fdsa[$i]}"''$'\02''g;' | tr '\n' $'\01' | sed -E 's/'$'\02'';'$'\01''/'$'\02'';/g;s/'$'\02''g;'$'\01''/'$'\02''g;/g' >> "$subtemplate_tmp"
|
||||
done
|
||||
|
||||
echo 's'$'\02''\{\{start '"$key"'\}\}'$'\02'$'\02' >> "$subtemplate_tmp"
|
||||
echo 's'$'\02''\{\{end '"$key"'\}\}'$'\02'$'\02' >> "$subtemplate_tmp"
|
||||
|
||||
value+="$(cat "$subtemplate" | tr -d '\n' | sed -E -f "$subtemplate_tmp" | tr $'\01' '\n' | sed 's/'$'\01''/\n/g')"
|
||||
echo "eeeee $value" > /dev/stderr
|
||||
rm "$subtemplate_tmp"
|
||||
value+="$(cat "$subtemplate" | tr '\n' $'\01' | sed -E -f "$subtemplate_tmp" | tr $'\01' '\n')"
|
||||
# rm "$subtemplate_tmp"
|
||||
done
|
||||
|
||||
|
||||
echo 's'$'\02''\{\{'"$key"'\}\}'$'\02'''"$value"''$'\02'';' >> "$tmp"
|
||||
cat "$tmp" > /dev/stderr
|
||||
rm "$subtemplate"
|
||||
#rm "$subtemplate"
|
||||
elif [[ "${ref[$key]}" != "" ]]; then
|
||||
local value="$(html_encode "${ref[$key]}" | sed -E 's/\&/<2F>UwU<77>/g')"
|
||||
echo 's'$'\02''\{\{\.'"$key"'\}\}'$'\02'''"$value"''$'\02'';' >> "$tmp"
|
||||
echo 's'$'\02''\{\{\.'"$key"'\}\}'$'\02'''"$value"''$'\02''g;' >> "$tmp"
|
||||
else
|
||||
echo 's'$'\02''\{\{\.'"$key"'\}\}'$'\02'$'\02'';' >> "$tmp"
|
||||
echo 's'$'\02''\{\{\.'"$key"'\}\}'$'\02'$'\02''g;' >> "$tmp"
|
||||
fi
|
||||
done
|
||||
|
||||
cat "$tmp" | tr -d '\n' > "${tmp}_"
|
||||
cat "$tmp" | tr '\n' $'\01' | sed -E 's/'$'\02'';'$'\01''/'$'\02'';/g;s/'$'\02''g;'$'\01''/'$'\02''g;/g' > "${tmp}_"
|
||||
template="$(tr '\n' $'\01' <<< "$template" | sed -E -f "${tmp}_" | tr $'\01' '\n')"
|
||||
sed -E 's/<2F>UwU<77>/\&/g' <<< "$template"
|
||||
rm "$tmp"
|
||||
#rm "$tmp"
|
||||
}
|
||||
|
||||
# render_unsafe(array, template_file)
|
||||
|
@ -92,7 +86,14 @@ function nested_declare() {
|
|||
# nested_add(ref, array)
|
||||
function nested_add() {
|
||||
local nested_id=$(_nested_random)
|
||||
declare -g -n _$nested_id=$2
|
||||
declare -n nested_ref=$2
|
||||
declare -g -A _$nested_id
|
||||
|
||||
# poor man's array copy
|
||||
for i in ${!nested_ref[@]}; do
|
||||
declare -g -A _$nested_id[$i]="${nested_ref[$i]}"
|
||||
done
|
||||
|
||||
local -n ref=$1
|
||||
ref+=("$nested_id")
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue