25 lines
666 B
Bash
Executable File
25 lines
666 B
Bash
Executable File
#!/bin/bash
|
|
# FILE: wgapi:back/admin_user.cgi
|
|
# DESCRIPTION: Server for requests to /user/
|
|
|
|
CONFIG_FILE='/etc/wgapi/config'
|
|
if ! [ -f "${CONFIG_FILE}" ]; then
|
|
printf 'ERROR! %s could not find %s!\n' "${0}" "${CONFIG_FILE}" >&2
|
|
"${LIB_DIR}/http_res" 500; exit
|
|
fi; source "${CONFIG_FILE}"
|
|
|
|
case "${REQUEST_METHOD}" in
|
|
|
|
# Add new user
|
|
'POST') "${LIB_DIR}/admin/user/add" "${HTTP_X_REAL_IP}" "${QUERY_STRING}";;
|
|
|
|
# Delete user
|
|
'DELETE') "${LIB_DIR}/admin/user/del" "${HTTP_X_REAL_IP}" "${QUERY_STRING}";;
|
|
|
|
# Needed for CORS preflight
|
|
'OPTIONS') "${LIB_DIR}/http_res" 200;;
|
|
|
|
# Bad request
|
|
*) printf 'Invalid HTTP verb' | "${LIB_DIR}/http_res" 405;;
|
|
esac
|