unix-web

Version, currently master branch1 version
  • master branchlatestMay 20, 2017

github.com/hackervera/unix-web

Unix Philosophy Webserver

30 stars
0 dependents
License: MIT

Installation

# Add this to your shard.yml
dependencies:
  unix-web:
    github: hackervera/unix-web
    branch: master

master is a branch, not a release, so this tracks it rather than pinning a version.

Then run:

shards install

shard.yml

Crystal
0.22.0
License
MIT
Author
Tyler Gillies <tjgillies@gmail.com>
Target
  • speed from src/server.cr

Dependencies

Runtime Dependencies

  • db*github: crystal-lang/crystal-db
  • pg*github: will/crystal-pg
  • toml*github: manastech/crystal-toml, branch: master
  • kemal*github: kemalcr/kemal, branch: master

README

The Unix Webserver
===================

Uses toml config file to map http routes to executables.

Example config.toml

```
"/" = "./echo.sh"
```

When you `curl host:3000?FOO=bar` it calls `echo.sh` with the `FOO=bar` environment variable. 

```
#!/bin/bash
echo This is a bash script. FOO is equal to $FOO
```

Echos `This is a bash script. FOO is equal to bar`

This works for any executable

Another example:

config.toml
```
"/time" = "date"
```

Shell output
```
$ curl localhost:3000/time
Sat May 20 05:20:49 PDT 2017
```

The idea is to have a webserver that follows the [Unix Philosophy](https://en.wikipedia.org/wiki/Unix_philosophy)