#!/bin/bash proc _hash { echo $Pid.$[date +'%s.%N].$RANDOM } proc balls::server { balls::load_app setglobal http_sock = "$BALLS_TMP/balls.http.$Pid.sock" test -p $http_sock || mkfifo $http_sock while true { cat $http_sock | nc -l -p $BALLS_PORT | shell { http::parse_request balls::route > $http_sock } } } proc cleanup { rm -f $headers_sock $http_sock } trap 'cleanup; exit' INT proc balls::load_app { source $BALLS_ACTIONS/*.sh }