summaryrefslogtreecommitdiff
path: root/gemini/serve.go
AgeCommit message (Collapse)Author
2023-08-26gemtext -> atom convertertjpcc
* add GemsubToAtom converter function * add Server.Handler method and implementations fixes #1
2023-08-12move common types to an internal packagetjpcc
This helps avoid import cycles.
2023-05-03linter fixestjpcc
2023-05-03add JoinDefaultPort for servers' configurationtjpcc
2023-05-01name change gus -> slideruletjpcc
2023-02-15Switch Handler to an interface.tjpcc
HandlerFunc is much better as a function returning a Handler, rather than a newtype for the function type itself. This way there is no confusion creating a type-inferenced variable with HandlerFunc(func(... and then using a HandlerFunc where a Handler is expected. Much better to only have one public type.
2023-01-28middleware to turn away non-gemini requests. fixes #3.tjpcc
2023-01-28gopher support.tjpcc
Some of the contrib packages were originally built gemini-specific and had to be refactored into generic core functionality and thin protocol-specific wrappers for each of gemini and gopher.
2023-01-24testing and linting and linter fixestjpcc
2023-01-24Add support for titan:// to the gemini servertjpcc
Titan is a gemini add-on protocol so it really didn't make sense to build it out in a separate package. The most significant difference in titan for the purposes of implementation here is that requests can have bodies following the URL line. Since gus.Request is a struct, the only way to smuggle in the new field (a reader for the body) was to stash it in the context.
2023-01-23logging library up to top leveltjpcc
2023-01-17pull request, response, handlers out of the gemini packagetjpcc
2023-01-11much more extensive gus/gemini testingtjpcc
2023-01-11lots more documentation commentstjpcc
2023-01-11Improvements to Server lifecycle.tjpcc
- NewServer doesn't allocate any resources besides the server object itself. So eg context.WithCancel is delayed until s.Serve(). - Add a demonstration of graceful shutdown on signals to the cgi example.
2023-01-10Add a CGI contribtjpcc
2023-01-09Initial commit.tjpcc
some basics: - minimal README - some TODOs - server and request handler framework - contribs: file serving, request logging - server examples - CI setup