12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849 |
- #!/bin/bash
- _WWW="/www"
- _SRC="${_WWW}/htdocs/demo.superglue.it/default-demo.html"
- _HTDOCS="${_WWW}/htdocs-demo"
- if ( [[ $REQUEST_URI != '/' ]] &&
- [[ -e $_HTDOCS/$REQUEST_URI ]] ); then
- printf '%b' 'HTTP/1.1 200 OK\nAccess-Control-Allow-Origin: *\n\n'
- cat $_HTDOCS/$REQUEST_URI
- exit 0
- fi
- ## http response
- headerPrint() {
- case ${1} in
- 200) printf '%b' 'HTTP/1.1 200 OK\nAccess-Control-Allow-Origin: *\n';;
- 405) printf '%b' 'HTTP/1.1 405 Method Not Allowed\n';;
- 406) printf '%b' 'HTTP/1.1 406 Not Acceptable\n';;
- esac
- return 0
- }
- setCookie() {
- printf '%b' 'Set-Cookie: ' "$1\n"
- }
- #_HASH=$(cat /dev/urandom | tr -dc 0-9 | head -c10)
- ## is this slow?
- _HASH=($_HTDOCS/*) ## get all files
- _HASH=${#_HASH[@]} ## count files
- _PAGE="tryout-page-$_HASH"
- ## set cookie of we have none
- if [[ -z $_PAGE ]]; then
- setCookie $_HASH
- fi
- ## see if we have a file matching the cookie
- if [[ -e $_HTDOCS/$_PAGE ]]; then
- printf '%b' "HTTP/1.1 301 Moved Permanently\nLocation: http://demo.superglue.it/$_PAGE\n\n"
- exit 0
- fi
- ## if neither URL or COOKIE is given then make a new demo page and direct user to it
- cat $_SRC/default-demo.html > $_HTDOCS/$_PAGE
- printf '%b' "HTTP/1.1 301 Moved Permanently\nLocation: http://demo.superglue.it/$_PAGE\n\n"
- exit 0
|