Age | Commit message (Collapse) | Author | |
---|---|---|---|
2024-01-13 | dial timeouts for clients, and catch up on test fixes | tjp | |
2024-01-10 | function to get names of gemini response codes | tjp | |
2024-01-10 | add a *Request to Response | tjp | |
2024-01-04 | unify spartan prompt lines with gemini link lines | tjp | |
2023-11-13 | refactor contribs to work with a Protocol interface | tjp | |
2023-11-01 | allow titan uploads in the meta-client | tjpcc | |
fixes #18 | |||
2023-10-30 | support spartan in auto-atom conversion middleware | tjpcc | |
2023-10-30 | multitls support for virtualhosting with SNI | tjpcc | |
fixes #15 | |||
2023-10-30 | always InsecureSkipVerify in gemini clients | tjpcc | |
2023-10-30 | move gemini titan request handling from server to request parser | tjpcc | |
2023-10-09 | logging.Base() | tjpcc | |
Allow users to get access to the base logger *before* it is wrapped with the various levels. This provides a single override point to filter or redirect all logging. | |||
2023-09-01 | simplify internal gemini template-handling functions | tjpcc | |
2023-08-31 | move gemtext->atom conversion into package atomconv like the other converters | tjpcc | |
2023-08-26 | AutoAtom: early exit on any non-gemini requests | tjpcc | |
2023-08-26 | AutoAtom: middleware that supports adding .atom to any gemtext pathv1.2.0 | tjpcc | |
2023-08-26 | GmisubToAtom: output result to any io.Writer rather than return a string | tjpcc | |
2023-08-26 | GmisubToAtom: update docs and names, add tests | tjpcc | |
2023-08-26 | gemtext -> atom converter | tjpcc | |
* add GemsubToAtom converter function * add Server.Handler method and implementations fixes #1 | |||
2023-08-12 | multi-protocol client | tjpcc | |
Fixes #4 | |||
2023-08-12 | move common types to an internal package | tjpcc | |
This helps avoid import cycles. | |||
2023-08-12 | document maxredirects on clients | tjpcc | |
2023-08-12 | avoid copying a tls.Config | tjpcc | |
Fixes #5 | |||
2023-08-12 | add Fetch method to clients which follows redirects | tjpcc | |
There are currently only gopher, gemini, and spartan clients. The finger client will have to implement this when it is written. The Fetch method takes the url as a string for convenience, and parses it into a URL for RoundTrip. Fixes #3 | |||
2023-05-09 | InsecureSkipVerify and other improvements for the gemini fetch example code | tjpcc | |
2023-05-03 | linter fixes | tjpcc | |
2023-05-03 | add JoinDefaultPort for servers' configuration | tjpcc | |
2023-05-01 | name change gus -> sliderule | tjpcc | |
2023-04-29 | spartan =: prompt line support in gemtext | tjpcc | |
2023-04-29 | include a CSS class in htmlconv output | tjpcc | |
2023-02-15 | Switch 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-28 | middleware to turn away non-gemini requests. fixes #3. | tjpcc | |
2023-01-28 | gopher 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-26 | test coverage and resulting bugfixes | tjpcc | |
2023-01-24 | testing and linting and linter fixes | tjpcc | |
2023-01-24 | Add support for titan:// to the gemini server | tjpcc | |
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-23 | logging library up to top level | tjpcc | |
2023-01-20 | "tlsauth" contrib package | tjpcc | |
This package adds authentication middlewares via TLS client certificates. | |||
2023-01-19 | package documentation: gemini, gemtext, contrib | tjpcc | |
2023-01-18 | bugfix and some docs cleanup | tjpcc | |
2023-01-17 | Updates | tjpcc | |
* update README * move "gemtext" to within "gemini" | |||
2023-01-17 | pull request, response, handlers out of the gemini package | tjpcc | |
2023-01-12 | test file rename | tjpcc | |
2023-01-12 | Improve host/port handling | tjpcc | |
...however unlikely gemini over IPv6 may be (hah!) | |||
2023-01-11 | much more extensive gus/gemini testing | tjpcc | |
2023-01-11 | WIP improve test coverage | tjpcc | |
There is a test of Response.Read that is failing and I haven't yet figured out why. | |||
2023-01-11 | lots more documentation comments | tjpcc | |
2023-01-11 | Improvements 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-11 | Simple client functionality and an example. | tjpcc | |
2023-01-10 | Add a CGI contrib | tjpcc | |
2023-01-09 | Initial commit. | tjpcc | |
some basics: - minimal README - some TODOs - server and request handler framework - contribs: file serving, request logging - server examples - CI setup |