summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2023-08-12add Fetch method to clients which follows redirectstjpcc
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-22fix panic on bad finger requeststjpcc
2023-05-09fix gopher request parsing for clients which don't send CRLFtjpcc
2023-05-09correct direction of the binary search for dir default filestjpcc
2023-05-09correctly use path.Ext() resultstjpcc
2023-05-09InsecureSkipVerify and other improvements for the gemini fetch example codetjpcc
2023-05-09recognize gophermap files as menu types in dir listingstjpcc
2023-05-06don't start in-FS paths with ./tjpcc
this was tricky, it didn't fail until I got it on a FreeBSD host
2023-05-05README improvementstjpcc
2023-05-03now we should allow empty addresstjpcc
2023-05-03use sha256 for client cert fingerprints, and log them when availabletjpcc
2023-05-03include spartan in the protocols list in READMEtjpcc
2023-05-03TitanUpload middleware in contrib/fstjpcc
2023-05-03hide private files from the FStjpcc
- ResolveFile acts like ErrNotFound - ResolveDirectory acts like ErrNotFound - RenderDirectoryListing strips out dot-prefixed entries
2023-05-03linter fixestjpcc
2023-05-03add JoinDefaultPort for servers' configurationtjpcc
2023-05-02send request bodies into CGI handlerstjpcc
2023-05-02fix tests and examples to match the router.Handler() changetjpcc
2023-05-02simple handler dispatcher for hostname-based virtual hostingtjpcc
2023-05-01fix the router.Handler signaturetjpcc
2023-05-01name change in the CGI SERVER_SOFTWARE env vartjpcc
2023-05-01docstring fixtjpcc
2023-05-01exercise router code in an exampletjpcc
2023-05-01still log requests for which we failed to find a handlertjpcc
2023-05-01fixes to /*remainder route segmentstjpcc
2023-05-01include the time spent in the handler for the 'dur' log keyv1.0.0tjpcc
2023-05-01make 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-01more README updatestjpcc
- lowercase the name everywhere - include a link back to gus
2023-05-01explain the nametjpcc
2023-05-01sliderule ascii arttjpcc
2023-05-01name change gus -> slideruletjpcc
2023-04-30spartan handler for a CGI directorytjpcc
2023-04-29spartan FS servertjpcc
2023-04-29spartan =: prompt line support in gemtexttjpcc
2023-04-29initial spartan client supporttjpcc
2023-04-29tests and bugfixes to spartan request parsingtjpcc
2023-04-29initial spartan server supporttjpcc
2023-04-29include a CSS class in htmlconv outputtjpcc
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-02-14no need to combine sub-router params any moretjpcc
2023-02-14Router 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-02Mount() adds a subrouter under a prefix pattern.tjpcc
...though I'm already eyeing a better approach.
2023-02-02Initial 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-30include gemini scheme in a URLtjpcc
2023-01-30mention release signing and the key usedtjpcc
2023-01-30finger protocoltjpcc
2023-01-28fix tests for #15 changetjpcc
2023-01-28middleware to turn away non-gemini requests. fixes #3.tjpcc
2023-01-28permanently redirect from /dir to /dir/ on gemini. fixes #15tjpcc
2023-01-28README updatestjpcc