tjpcc
db7b6ef072
continuous-integration/drone/push Build is passing
Details
|
||
---|---|---|
contrib | ||
examples | ||
gemini | ||
.drone.yml | ||
LICENSE.txt | ||
README.md | ||
TODO.md | ||
go.mod | ||
go.sum |
README.md
Gus: The small web application framework
Gus is named after Virgil "Gus" Grissom, one of the pilots in the Gemini program and commander of Gemini 3.
Gus is, to my knowledge, the first gemini server conceived as a framework. The goal is to provide the go-to set of Go libraries for interacting with the gemini protocol as a server or client, somewhat analagous to net/http in the standard library.
Thus gus/gemini
defines types such as Request
and Response
, useful interfaces such as a Handler
abstraction, the concept of Middleware
, and a Server
which brings together a net.Listener
, a tls.Config
, and a Handler
to actually serve the protocol. It does not, however, contain any logic for serving files from the filesystem or things of that nature.
Many of the utilities needed to build an actually useful server are in gus/contrib
sub-packages, and there are examples of how to compose them in the examples
directory.