Write a web server in almost any language.
$ lantern --help usage: lantern [-h] [--port PORT] handler positional arguments: handler Executable to run optional arguments: -h, --help show this help message and exit --port PORT Port to listen on
handler should be your executable program. It should be executable without any additional arguments (eg
How it works
When a request is sent to lantern, the handler program is called, and request data passed through
stdin. Anything passed to
stdout will be returned to the client. This data must be standard text / HTML.
You can't really write it in a language that doesn't support reading from
stdin / writing to
stdout, but almost all languages support this.
Request data is fetched from sanic, and serialized to JSON. THe exact keys serialized can be found in
lantern/request.py, and descriptions can be found in the sanic docs.
Additionally, there's also the useragent plugin installed, which adds useragent data to the request at
I build this simply for testing, I wanted to have a play around with sanic, and needed something to help me do this project.
"Can I use this in production?"
Technically yes, there's nothing stopping you, But please, Please don't!
Whilst thanks to sanic it's super fast, it's not designed to be secure, scalable, or even particularly stable.
examples/ directory for some basic examples. eg:
$ lantern examples/simple.sh