forked from cerc-io/stack-orchestrator
Use a catchall for single page apps. (#763)
This creates a new environment variable, CERC_SINGLE_PAGE_APP, which controls whether a catchall redirection back to / is applied. If the value is not explicitly set, we try to detect if the page looks like a single-page app. Reviewed-on: cerc-io/stack-orchestrator#763 Co-authored-by: Thomas E Lackey <telackey@bozemanpass.com> Co-committed-by: Thomas E Lackey <telackey@bozemanpass.com>
This commit is contained in:
parent
202f187172
commit
704c42c404
@ -3,13 +3,28 @@ if [ -n "$CERC_SCRIPT_DEBUG" ]; then
|
|||||||
set -x
|
set -x
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
CERC_LISTEN_PORT=${CERC_LISTEN_PORT:-80}
|
||||||
CERC_WEBAPP_FILES_DIR="${CERC_WEBAPP_FILES_DIR:-/data}"
|
CERC_WEBAPP_FILES_DIR="${CERC_WEBAPP_FILES_DIR:-/data}"
|
||||||
CERC_ENABLE_CORS="${CERC_ENABLE_CORS:-false}"
|
CERC_ENABLE_CORS="${CERC_ENABLE_CORS:-false}"
|
||||||
|
CERC_SINGLE_PAGE_APP="${CERC_SINGLE_PAGE_APP}"
|
||||||
|
|
||||||
|
if [ -z "${CERC_SINGLE_PAGE_APP}" ]; then
|
||||||
|
if [ 1 -eq $(find "${CERC_WEBAPP_FILES_DIR}" -name '*.html' | wc -l) ] && [ -d "${CERC_WEBAPP_FILES_DIR}/static" ]; then
|
||||||
|
CERC_SINGLE_PAGE_APP=true
|
||||||
|
else
|
||||||
|
CERC_SINGLE_PAGE_APP=false
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
if [ "true" == "$CERC_ENABLE_CORS" ]; then
|
if [ "true" == "$CERC_ENABLE_CORS" ]; then
|
||||||
CERC_HTTP_EXTRA_ARGS="$CERC_HTTP_EXTRA_ARGS --cors"
|
CERC_HTTP_EXTRA_ARGS="$CERC_HTTP_EXTRA_ARGS --cors"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
if [ "true" == "$CERC_SINGLE_PAGE_APP" ]; then
|
||||||
|
# Create a catchall redirect back to /
|
||||||
|
CERC_HTTP_EXTRA_ARGS="$CERC_HTTP_EXTRA_ARGS --proxy http://localhost:${CERC_LISTEN_PORT}?"
|
||||||
|
fi
|
||||||
|
|
||||||
LACONIC_HOSTED_CONFIG_FILE=${LACONIC_HOSTED_CONFIG_FILE}
|
LACONIC_HOSTED_CONFIG_FILE=${LACONIC_HOSTED_CONFIG_FILE}
|
||||||
if [ -z "${LACONIC_HOSTED_CONFIG_FILE}" ]; then
|
if [ -z "${LACONIC_HOSTED_CONFIG_FILE}" ]; then
|
||||||
if [ -f "/config/laconic-hosted-config.yml" ]; then
|
if [ -f "/config/laconic-hosted-config.yml" ]; then
|
||||||
@ -20,8 +35,8 @@ if [ -z "${LACONIC_HOSTED_CONFIG_FILE}" ]; then
|
|||||||
fi
|
fi
|
||||||
|
|
||||||
if [ -f "${LACONIC_HOSTED_CONFIG_FILE}" ]; then
|
if [ -f "${LACONIC_HOSTED_CONFIG_FILE}" ]; then
|
||||||
/scripts/apply-webapp-config.sh $LACONIC_HOSTED_CONFIG_FILE ${CERC_WEBAPP_FILES_DIR}
|
/scripts/apply-webapp-config.sh $LACONIC_HOSTED_CONFIG_FILE "${CERC_WEBAPP_FILES_DIR}"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
/scripts/apply-runtime-env.sh ${CERC_WEBAPP_FILES_DIR}
|
/scripts/apply-runtime-env.sh ${CERC_WEBAPP_FILES_DIR}
|
||||||
http-server $CERC_HTTP_EXTRA_ARGS -p ${CERC_LISTEN_PORT:-80} ${CERC_WEBAPP_FILES_DIR}
|
http-server $CERC_HTTP_EXTRA_ARGS -p ${CERC_LISTEN_PORT} "${CERC_WEBAPP_FILES_DIR}"
|
Loading…
Reference in New Issue
Block a user