easy-cgi

Easily create a CGI server


Keywords
easy, cgi, server, http, web
License
ISC
Install
npm install easy-cgi@1.0.5

Documentation

Easily create a CGI server

NPM

Installation

npm install -g easy-cgi

Example (Using Bash)

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.sh

Then start your CGI server

cgi

Access the address http://localhost:8080/hello in the browser

Routing

The routes are created automatically by file name

Example:

  • For the app/hello.sh file, the route is /hello
  • For the app/foo/bar.sh file, the route is /foo/bar
  • For the app/index.sh file, the route is /
  • For the app/foo/index.sh file, the route is /foo

If you create a app/src directory, it will be ignored

Dynamic routes

Dynamic routes are created adding underscore in file name or directory

Example:

  • For the app/users/_id.sh file, the route is /users/<id>
  • For the app/_foo/bar.sh file, the route is /<foo>/bar

Get request values

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

Static files

To serve static files, create a static directory