The *former* small web toolkit for Go
This repository has been archived on 2023-05-01. You can view files and clone it, but cannot push or open issues or pull requests.
Go to file
tjpcc db7b6ef072
continuous-integration/drone/push Build is passing Details
add unlicense
2023-01-09 22:21:57 -07:00
contrib Initial commit. 2023-01-09 16:40:24 -07:00
examples Initial commit. 2023-01-09 16:40:24 -07:00
gemini Initial commit. 2023-01-09 16:40:24 -07:00
.drone.yml Initial commit. 2023-01-09 16:40:24 -07:00
LICENSE.txt add unlicense 2023-01-09 22:21:57 -07:00
README.md Initial commit. 2023-01-09 16:40:24 -07:00
TODO.md Initial commit. 2023-01-09 16:40:24 -07:00
go.mod Initial commit. 2023-01-09 16:40:24 -07:00
go.sum Initial commit. 2023-01-09 16:40:24 -07:00

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.