wagon/back/dashboard.cgi

31 lines
716 B
Bash
Executable File

#!/bin/bash
# FILE: wgapi:back/api/dashboard/index.cgi
# DESCRIPTION: Recieves incoming dashboard API requests
# USAGE: serve
# ERRORS:
# 3: Bad usage
# 4: Missing vars vile
CONFIG_FILE='/etc/wgapi/config'
[ -f "${CONFIG_FILE}" ] || exit 4
source "${CONFIG_FILE}"
case "${REQUEST_METHOD}" in
# List peers
'GET') "${LIB_DIR}/peer_list" "${HTTP_X_REAL_IP}";;
# Add peer
'POST') "${LIB_DIR}/peer_add" "${HTTP_X_REAL_IP}" "${QUERY_STRING}";;
# Delete peer
'DELETE') "${LIB_DIR}/peer_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 && exit 0