#!/bin/bash -e
# Escape spaces and quotes, because shell is revolting.
for arg in "$@" ; do
	printf -v CMDLINE '%s %q' "${CMDLINE}" "${arg}"
done

cd /var/lib/rabbitmq

SCRIPT="$(basename "$0")"

if [ "$(id -u)" = "$(id -u rabbitmq)" -a "$SCRIPT" = "rabbitmq-server" ] ; then
    RABBITMQ_ENV=/usr/lib/rabbitmq/rabbitmq-env
    RABBITMQ_SCRIPTS_DIR="$(dirname "$RABBITMQ_ENV")"
    . "$RABBITMQ_ENV"

    exec /usr/lib/rabbitmq/rabbitmq-server "$@"
elif [ "$(id -u)" = "$(id -u rabbitmq)" -o "$SCRIPT" = "rabbitmq-plugins" ] ; then
    if [ -f "$PWD"/.erlang.cookie ] ; then
        export HOME=.
    fi
    exec /usr/lib/rabbitmq/"${SCRIPT}" "$@"
elif [ "$(id -u)" = 0 ] ; then
    su -l rabbitmq -s /bin/sh -c "$(printf '%q %s' /usr/lib/rabbitmq/"${SCRIPT}" "${CMDLINE}")"
else
    /usr/lib/rabbitmq/"${SCRIPT}"
    echo
    echo "Only root or rabbitmq should run ${SCRIPT}"
    echo
    exit 1
fi
