A lightweight HTTP framework for Bash shell that parses requests and generates valid responses.
Vesper is an HTTP framework for Bash shell that provides functions to parse HTTP requests and generate valid responses. It allows developers to write Bash scripts that can handle HTTP interactions directly, enabling shell-based web services without requiring a separate web server. It solves the problem of integrating HTTP capabilities into traditional shell scripting environments.
System administrators, DevOps engineers, and developers who work extensively with Bash scripting and want to create lightweight HTTP services or integrate HTTP functionality into their shell workflows.
Developers choose Vesper for its extreme simplicity and minimal dependencies, leveraging existing Unix tools to add HTTP capabilities to Bash scripts without the overhead of a full web framework. It's ideal for prototyping, educational purposes, or specific use cases where shell scripting is preferred over traditional web development stacks.
🍸Vesper - HTTP Framework for Bash Shell
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Relies on standard Unix tools like ncat, cat, file, and stat, making installation and setup straightforward on most systems, as outlined in the dependencies section.
Provides simple functions like http_response to craft valid HTTP responses with status codes and content types, demonstrated in the hello world example where echoing text generates a response.
Handles various content types including plain text, JSON, images, PDFs, and file streams, shown in examples like image generation and PDF streaming.
Embodies simplicity and composability by leveraging existing shell tools, enabling HTTP functionality in Bash scripts with minimal overhead, as stated in the philosophy section.
The FAQ admits it's only tested with GET methods, restricting its use for APIs that require other HTTP verbs like POST or PUT.
The README lists open questions about handling execution errors and verifying query params, indicating potential instability and lack of robustness for critical applications.
Explicitly stated as not designed for web-scale workloads, limiting its applicability to prototyping or low-traffic scenarios rather than production deployments.