Commit Graph

20 Commits

Author SHA1 Message Date
tjpcc 04977e56b1 middleware to turn away non-gemini requests. fixes #3.
continuous-integration/drone/push Build is failing Details
2023-01-28 15:36:45 -07:00
tjpcc 66a1b1f39a gopher support.
continuous-integration/drone/push Build is passing Details
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-28 15:01:41 -07:00
tjpcc a27b879acc test coverage and resulting bugfixes
continuous-integration/drone/push Build is passing Details
2023-01-26 16:22:58 -07:00
tjpcc 997514292a testing and linting and linter fixes
continuous-integration/drone/push Build is passing Details
2023-01-24 19:59:47 -07:00
tjpcc 23d705b93a Add support for titan:// to the gemini server
continuous-integration/drone/push Build is passing Details
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-24 07:36:28 -07:00
tjpcc 0480e066a3 logging library up to top level
continuous-integration/drone/push Build is passing Details
2023-01-23 22:15:16 -07:00
tjpcc 8229f31f70 "tlsauth" contrib package
continuous-integration/drone/push Build is passing Details
This package adds authentication middlewares via TLS client
certificates.
2023-01-20 10:58:35 -07:00
tjpcc 7d8fd81278 package documentation: gemini, gemtext, contrib
continuous-integration/drone/tag Build is passing Details
continuous-integration/drone/push Build is passing Details
2023-01-19 10:12:30 -07:00
tjpcc f569df6ead bugfix and some docs cleanup
continuous-integration/drone/push Build is passing Details
2023-01-18 22:10:29 -07:00
tjpcc 6586db782e Updates
continuous-integration/drone/push Build is passing Details
* update README
* move "gemtext" to within "gemini"
2023-01-17 16:41:04 -07:00
tjpcc 2ef530daa4 pull request, response, handlers out of the gemini package 2023-01-17 15:59:29 -07:00
tjpcc 064b1b304a test file rename 2023-01-12 09:20:43 -07:00
tjpcc 6be546d46b Improve host/port handling
...however unlikely gemini over IPv6 may be (hah!)
2023-01-12 09:19:43 -07:00
tjpcc 029cd5b52d much more extensive gus/gemini testing
continuous-integration/drone/push Build is passing Details
2023-01-11 13:19:42 -07:00
tjpcc 4969e33e28 WIP improve test coverage
continuous-integration/drone/push Build is failing Details
There is a test of Response.Read that is failing and I haven't yet
figured out why.
2023-01-11 11:41:07 -07:00
tjpcc e183f9cd23 lots more documentation comments
continuous-integration/drone/push Build is passing Details
2023-01-11 10:36:56 -07:00
tjpcc 197d8e4cb0 Improvements to Server lifecycle.
- 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-11 10:33:44 -07:00
tjpcc cc0c7e6eb5 Simple client functionality and an example.
continuous-integration/drone/push Build is passing Details
2023-01-11 10:12:32 -07:00
tjpcc 96f3a7607f Add a CGI contrib
continuous-integration/drone/push Build is passing Details
2023-01-10 13:46:35 -07:00
tjpcc ff05d62013 Initial commit.
continuous-integration/drone/push Build is passing Details
some basics:
 - minimal README
 - some TODOs
 - server and request handler framework
 - contribs: file serving, request logging
 - server examples
 - CI setup
2023-01-09 16:40:24 -07:00