#!/bin/bash # FILE: wagon:back/dashboard.cgi # DESCRIPTION: Recieves incoming dashboard API requests source /etc/wagon/config case "${REQUEST_METHOD}" in # List peers 'GET') /usr/lib/wagon/dashboard/peer/list "${HTTP_X_REAL_IP}";; # Add peer 'POST') /usr/lib/wagon/dashboard/peer/add "${HTTP_X_REAL_IP}" "${QUERY_STRING}";; # Delete peer 'DELETE') /usr/lib/wagon/dashboard/peer/del "${HTTP_X_REAL_IP}" "${QUERY_STRING}";; # Needed for CORS preflight 'OPTIONS') /usr/lib/wagon/http_res 200;; # Bad request *) printf 'Invalid HTTP verb' | /usr/lib/wagon/http_res 405;; esac