Age | Commit message (Collapse) | Author | |
---|---|---|---|
2023-05-06 | don't start in-FS paths with ./ | tjpcc | |
this was tricky, it didn't fail until I got it on a FreeBSD host | |||
2023-05-05 | README improvements | tjpcc | |
2023-05-03 | now we should allow empty address | tjpcc | |
2023-05-03 | use sha256 for client cert fingerprints, and log them when available | tjpcc | |
2023-05-03 | include spartan in the protocols list in README | tjpcc | |
2023-05-03 | TitanUpload middleware in contrib/fs | tjpcc | |
2023-05-03 | hide private files from the FS | tjpcc | |
- ResolveFile acts like ErrNotFound - ResolveDirectory acts like ErrNotFound - RenderDirectoryListing strips out dot-prefixed entries | |||
2023-05-03 | linter fixes | tjpcc | |
2023-05-03 | add JoinDefaultPort for servers' configuration | tjpcc | |
2023-05-02 | send request bodies into CGI handlers | tjpcc | |
2023-05-02 | fix tests and examples to match the router.Handler() change | tjpcc | |
2023-05-02 | simple handler dispatcher for hostname-based virtual hosting | tjpcc | |
2023-05-01 | fix the router.Handler signature | tjpcc | |
2023-05-01 | name change in the CGI SERVER_SOFTWARE env var | tjpcc | |
2023-05-01 | docstring fix | tjpcc | |
2023-05-01 | exercise router code in an example | tjpcc | |
2023-05-01 | still log requests for which we failed to find a handler | tjpcc | |
2023-05-01 | fixes to /*remainder route segments | tjpcc | |
2023-05-01 | include the time spent in the handler for the 'dur' log keyv1.0.0 | tjpcc | |
2023-05-01 | make spartan.Client.RoundTrip match the API of other clients. | tjpcc | |
- Request.Meta is already used as an *io.LimitedReader in spartan servers, so by following this convention the RoundTrip method doesn't need anything more than the *Request. - Make a new public method for setting the body on a spartan request. | |||
2023-05-01 | more README updates | tjpcc | |
- lowercase the name everywhere - include a link back to gus | |||
2023-05-01 | explain the name | tjpcc | |
2023-05-01 | sliderule ascii art | tjpcc | |
2023-05-01 | name change gus -> sliderule | tjpcc | |
2023-04-30 | spartan handler for a CGI directory | tjpcc | |
2023-04-29 | spartan FS server | tjpcc | |
2023-04-29 | spartan =: prompt line support in gemtext | tjpcc | |
2023-04-29 | initial spartan client support | tjpcc | |
2023-04-29 | tests and bugfixes to spartan request parsing | tjpcc | |
2023-04-29 | initial spartan server support | 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-02-14 | no need to combine sub-router params any more | tjpcc | |
2023-02-14 | Router improvements. | tjpcc | |
- test coverage for Router, not just PathTree - Router.Mount() now flattens routes into the parent router - Router.Use() implemented to set middleware on a router itself | |||
2023-02-02 | Mount() adds a subrouter under a prefix pattern. | tjpcc | |
...though I'm already eyeing a better approach. | |||
2023-02-02 | Initial Router work. | tjpcc | |
- Router type, supports: adding handlers, serving, fetching the matching handler for a route. - Private PathTree type handles the modified radix trie. | |||
2023-01-30 | include gemini scheme in a URL | tjpcc | |
2023-01-30 | mention release signing and the key used | tjpcc | |
2023-01-30 | finger protocol | tjpcc | |
2023-01-28 | fix tests for #15 change | tjpcc | |
2023-01-28 | middleware to turn away non-gemini requests. fixes #3. | tjpcc | |
2023-01-28 | permanently redirect from /dir to /dir/ on gemini. fixes #15 | tjpcc | |
2023-01-28 | README updates | 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-25 | test coverage for the cgi contrib | 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 | update READMEs for contrib/tlsauth | tjpcc | |