easy-cgi

1.0.5 • Public • Published

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

Readme

Keywords

Package Sidebar

Install

npm i easy-cgi

Weekly Downloads

6

Version

1.0.5

License

ISC

Last publish

Collaborators

  • samuelnovaes