Fork of go-gemini
Go to file
2023-05-25 18:45:53 -04:00
certificate certificate.Store: Call os.MkdirAll on Load 2021-03-09 08:59:28 -05:00
examples Change import paths 2023-05-25 18:45:53 -04:00
tofu
.build.yml
client.go client: Only get cert if TrustCertificate is set 2021-03-20 12:54:41 -04:00
doc.go doc: Fix Mux documentation 2022-02-16 12:01:55 -05:00
fs.go fs: Prevent invalid directory links 2022-05-07 13:54:56 -04:00
gemini.go Tweak request and response parsing 2021-03-20 12:27:20 -04:00
go.mod Revert "Require Go 1.16" 2021-03-23 22:05:12 -04:00
go.sum
handler.go
io.go response: Don't use bufReadCloser 2021-03-20 13:41:53 -04:00
LICENSE Split LICENSE into two files 2021-03-24 13:08:32 -04:00
LICENSE-GO Split LICENSE into two files 2021-03-24 13:08:32 -04:00
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 Update readme 2023-05-25 18:27:52 -04:00
request_test.go Tweak request and response parsing 2021-03-20 12:27:20 -04:00
request.go Tweak request and response parsing 2021-03-20 12:27:20 -04:00
response_test.go Revert "Replace uses of ioutil with io" 2021-03-23 22:02:32 -04:00
response.go response: Remove unnecessary length check 2021-03-20 18:29:40 -04:00
server.go
status.go status: Reintroduce StatusSensitiveInput 2021-03-15 15:19:43 -04:00
text.go Fix parsing of list item lines 2022-03-15 11:07:04 -04:00

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.tebibyte.media/sashakoshka/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

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.