Age | Commit message (Collapse) | Author | |
---|---|---|---|
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 | |
2023-01-20 | "tlsauth" contrib package | tjpcc | |
This package adds authentication middlewares via TLS client certificates. | |||
2023-01-19 | minor marketing update | tjpcc | |
2023-01-19 | New sharedhost contrib package. | tjpcc | |
ReplaceTilde simply replaces a leading ~ in the URL. Fixes #9. | |||
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-15 | fix gmi->md templates and regenerate the README | tjpcc | |
2023-01-15 | updated gmi2md template | tjpcc | |
2023-01-15 | Completed markdown and HTML conversion. | tjpcc | |
2023-01-14 | markdown converter | tjpcc | |
2023-01-14 | update README with latest from the gemini site | tjpcc | |
2023-01-14 | Completed gemtext package. | tjpcc | |
resolves #2 - fuzz testing - split out line parsing into a separate file - changed line type-specific public []byte fields to string accessor methods - added document parsing test for a stress test doc - added dependency on stretchr/testify |