Fork of go-gemini
Go to file
2022-02-16 12:01:55 -05:00
certificate
examples
tofu
.build.yml
client.go
doc.go doc: Fix Mux documentation 2022-02-16 12:01:55 -05:00
fs.go fs: Avoid equality check if lengths don't match 2021-04-21 12:48:27 -04:00
gemini.go
go.mod
go.sum
handler.go
io.go
LICENSE
LICENSE-GO
middleware.go LoggingMiddleware: Prevent writing empty meta 2021-04-21 11:38:34 -04:00
mux_test.go mux: Add more tests 2021-06-26 20:16:38 -04:00
mux.go mux: Tweak documentation 2021-06-26 20:26:30 -04:00
query.go
README.md readme: Update Gemini specification version 2021-12-18 12:51:04 -05:00
request_test.go
request.go
response_test.go
response.go
server.go
status.go
text.go

go-gemini

godocs.io builds.sr.ht status

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.