mirror of
https://git.sr.ht/~adnano/go-gemini
synced 2024-11-23 00:11:57 +01:00
Go implementation of the Gemini protocol
0db805a1f9
According to section 5.5.2 of the Gemini specification (v0.16.1), the space is mandatory. |
||
---|---|---|
certificate | ||
examples | ||
tofu | ||
.build.yml | ||
client.go | ||
doc.go | ||
fs.go | ||
gemini.go | ||
go.mod | ||
go.sum | ||
handler.go | ||
io.go | ||
LICENSE | ||
LICENSE-GO | ||
middleware.go | ||
mux_test.go | ||
mux.go | ||
query.go | ||
README.md | ||
request_test.go | ||
request.go | ||
response_test.go | ||
response.go | ||
server.go | ||
status.go | ||
text.go |
go-gemini
Package gemini implements the Gemini protocol in Go. It provides an API similar to that of net/http to facilitate the development of Gemini clients and servers.
Compatible with version v0.16.0 of the Gemini specification.
Usage
import "git.sr.ht/~adnano/go-gemini"
Note that some filesystem-related functionality is only available on Go 1.16 or later as it relies on the io/fs package.
Examples
There are a few examples provided in the examples directory. To run an example:
go run examples/server.go
Contributing
Send patches and questions to ~adnano/go-gemini-devel.
Subscribe to release announcements on ~adnano/go-gemini-announce.
License
go-gemini is licensed under the terms of the MIT license (see LICENSE). Portions of this library were adapted from Go and are governed by a BSD-style license (see LICENSE-GO). Those files are marked accordingly.