easy cgi
1.0.0
npm install -g easy-cgi
Create a directory for your app whith your CGI executable files.
App directory
app
└---hello.sh
app/hello.sh
#!/bin/sh
# Headers are written first. The special "Status"
# header indicates the response status code
echo "Status: 200"
echo "Content-Type: text/plain"
echo
# Followed by a response body
echo "Hello World!"Give execute permissions to the file
chmod +x hello.shThen start your CGI server
cgiAccess the address http://localhost:8080/hello in the browser
The routes are created automatically by file name
Example:
app/hello.sh file, the route is /hello
app/foo/bar.sh file, the route is /foo/bar
app/index.sh file, the route is /
app/foo/index.sh file, the route is /foo
If you create a
app/srcdirectory, it will be ignored
Dynamic routes are created adding underscore in file name or directory
Example:
app/users/_id.sh file, the route is /users/<id>
app/_foo/bar.sh file, the route is /<foo>/bar
You can access the request values through the REQUEST environment variable in JSON format
The REQUEST environment variable looks like
{
"body": {},
"params": {},
"query": {},
"headers": {},
"files": {}
}No sessions are supported yet
To serve static files, create a static directory