aboutsummaryrefslogtreecommitdiff
path: root/src/get_routes.rs
AgeCommit message (Collapse)Author
2022-07-30fix regression: allow creation of branchesMartin Fischer
2022-07-27refactor: remove needless borrows / returnsMartin Fischer
2021-07-18refactor: use camino for UTF-8 pathsMartin Fischer
2021-07-18support If-None-Match headers with W/ prefixMartin Fischer
2021-07-05refactor: stop wrapping Page.header in OptionMartin Fischer
2021-07-04refactor: short-circuit with ? instead of mappingMartin Fischer
2021-07-03refactor: introduce build_raw_response helperMartin Fischer
2021-07-03render .html files securely using IFramesMartin Fischer
2021-07-03allow renderers to mutate Page (and frame-src CSP)Martin Fischer
2021-06-24generate <script> tags and CSP from Page vectorsMartin Fischer
2021-06-24refactor: simplify Page and Context structsMartin Fischer
Previously the Page struct contained references to the Controller and the http::request::Parts, so that page.render() could call controller.user_info_html(parts). This commit removes these references from the Page struct, so that it can implement Default in the future. The Context struct needs to be moved around since it contains git2::Repository, which isn't Send. Previously the Context struct also contained the http::request::Parts, so they were moved along. This commit extracts Parts out of the Context struct, so that our service function can access Parts after invoking our build_request method, allowing us to easily log request details for errors in the future.
2021-06-24refactor: simplify Controller request interceptionMartin Fischer
In multi-user mode if Alice attempts to access /~bob/ she would get an Unauthorized error since branches are private. To improve the UX we instead already showed Alice a list of which files Bob has shared with her. Previously this was achieved with an before_return_error hook in the Controller trait. While this worked fine, it wasn't elegant, since it required passing the Context struct in all Unauthorized errors, so that the before_return_error hook could access the context. This commit refactors the code to intercept requests to paths like /~bob/ before the regular request handling instead of afterwards. While this could have been implemented in the before_route hook, this would have required either invoking parse_url_path a second time or passing the Result of parse_url_path, both of which would be akward. Therefore this commit also merges before_route into parse_url_path.
2021-06-24css: decrease margin-top for h1Martin Fischer
2021-06-24log: allow diffing specific revisionsMartin Fischer
2021-06-24log: mark up dates as headingsMartin Fischer
2021-06-24refactor diff_blobMartin Fischer
2021-06-24split off diff action from log actionMartin Fischer
2021-06-24refactor: split up blob routes into functionsMartin Fischer
2021-06-23make single-user mode operate on HEAD branchMartin Fischer
2021-06-23refactor: split up main.rs into multiple modulesMartin Fischer