#!/bin/bash # FILE: wgapi:back/admin.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 #'GET') "${LIB_DIR}/peer_list" "${HTTP_X_REAL_IP}";; # Add #'POST') "${LIB_DIR}/peer_add" "${HTTP_X_REAL_IP}" "${QUERY_STRING}";; # Delete #'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