Commit graph

181 commits

Author SHA1 Message Date
Emii Tatsuo 8b9fbce489
Fix user management module, rework certificates to use hashes 2020-12-01 14:43:15 -05:00
Emii Tatsuo 244fd25112
Completely reworked request handling to be able to serve SCGI
Multi ~~track~~ protocol ~~drifting~~ abstraction!!
2020-12-01 02:31:08 -05:00
Emii Tatsuo 86ed240761
Remove dependancy on mime when serve_dir is off 2020-11-30 21:26:25 -05:00
Emii Tatsuo bc6d0b89bc
Make it clearer that kochab handles certificate generation 2020-11-30 17:48:19 -05:00
Emii Tatsuo 2c09831d22
Move to GitLab 2020-11-30 17:46:28 -05:00
Emii Tatsuo 4a2293ddc6
Add specific methods for getting at UserData 2020-11-28 15:01:39 -05:00
Emii Tatsuo e7cbbd7d91
Merge branch 'accept-string-docs' into kochab 2020-11-28 14:51:02 -05:00
Emii Tatsuo 9c999609ef
Accept strings in Document methods
A lot of the time users are using the document, it's in order to dynamically generate a page.  However, when dynamically generating a page, most of the time you're working with String's, not just &str's.  Currently, many Document methods only take an &str, which means that each time you call a method with something like the output from `format!()`, you need to add a `.as_str()`, which adds just a little bit of clutter.

This change makes it so that Document methods that previously took an `&str` can now take an `impl AsRef<str>`, which allows users to pass either an `&str` or a `String`.
2020-11-28 14:47:39 -05:00
Emii Tatsuo eca5c2fd44
Add a couple logging messages 2020-11-28 14:23:39 -05:00
panicbit f43b03860d
Merge pull request #35 from Alch-Emi/list-example-test
Add "serve_dir" feature as a required feature for the example of the same name
2020-11-28 15:29:49 +01:00
panicbit 1296f1bba4
Merge pull request #36 from Alch-Emi/fix-stable-build
Fix stable build
2020-11-28 05:01:10 +01:00
Emii Tatsuo 67fe997eee
Merge branch 'fix-stable-build' into kochab 2020-11-27 22:23:55 -05:00
Emii Tatsuo 71a79ad6ff
Fix stable build 2020-11-27 22:20:55 -05:00
Emii Tatsuo 49e62a2300
Add clients page 2020-11-27 19:50:01 -05:00
Emii Tatsuo fa0d031ee8
Fix crash on successful log in 2020-11-27 18:36:24 -05:00
Emii Tatsuo 6c3ae626e9
Added ability to iterate through users in the database 2020-11-27 18:01:49 -05:00
Emii Tatsuo 1e5e4c8731
Allow directly setting a database when building 2020-11-27 17:24:16 -05:00
Emii Tatsuo 47c6fae79f
Expose user manager in request 2020-11-26 21:04:02 -05:00
Emii Tatsuo e83f2ca109
Login flow now redirects back to where it started
Closes #8

Still in testing, but seems good I think
2020-11-26 13:50:46 -05:00
Emii Tatsuo 98583e737f
Fix user management 2020-11-25 21:25:35 -05:00
Emii Tatsuo 0ea4c62731
Fix a few bugs from combining features 2020-11-25 20:37:43 -05:00
Emii Tatsuo 475b256a5a
Fix example in README 2020-11-25 20:29:31 -05:00
Emii Tatsuo 82c9903598
serve_dir is no longer a default feature 2020-11-25 20:28:55 -05:00
Emii Tatsuo 0633512f86
Remove deprecated gemini_mime function 2020-11-25 16:04:04 -05:00
Emii Tatsuo 1766ab4c9c
Merge Builder and Server in the public API into one concept 2020-11-25 15:52:44 -05:00
Emii Tatsuo 0b0d925979
Updated README to reflect automatic certificate generation 2020-11-25 15:44:20 -05:00
Emii Tatsuo a4f1017c5f
Added automatic certificate generation (Closes #4)
All my roommates left and now my apartment is lonely, but at least I can still pour unhealthy amounts of time into software projects nobody will ever use
2020-11-25 15:39:00 -05:00
Emii Tatsuo 81761b69d1
Update Cargo.toml 2020-11-25 12:42:57 -05:00
Emii Tatsuo f1302a1dbb
Add licenses 2020-11-25 00:53:34 -05:00
Emii Tatsuo b69aba139f
Rebrand as kochab
I spent /so/ long looking for that figlet font.
    __              __          __
   / /______  _____/ /_  ____ _/ /_
  / //_/ __ \/ ___/ __ \/ __ `/ __ \
 / ,< / /_/ / /__/ / / / /_/ / /_/ /
/_/|_|\____/\___/_/ /_/\__,_/_.___/
2020-11-25 00:42:09 -05:00
Emi Tatsuo 16721a7321
Merge several pending changes into a virtual master
Octopus merges are just a cheap trick to make weak branches stronger
2020-11-24 23:04:26 -05:00
Emi Tatsuo 13b1eddd00
Allow serving a single file 2020-11-24 17:28:54 -05:00
Emi Tatsuo 970813f295
Added FilesHandler 2020-11-24 17:22:47 -05:00
Emi Tatsuo 8a929e17e0
Updated changelog 2020-11-24 16:58:30 -05:00
Emi Tatsuo 65f3bbf2a2
Add "serve_dir" feature as a reaquired feature for the example of the same name 2020-11-24 16:50:28 -05:00
Emi Tatsuo b4e99c5adf
Added ratelimiting to examples 2020-11-24 16:48:28 -05:00
Emi Tatsuo 3e07e24e41
Added automatic clearing of ratelimit keys 2020-11-24 16:45:30 -05:00
Emi Tatsuo 5ae6f578e3
Merge branch 'routes' into rate-limiting 2020-11-24 15:27:27 -05:00
Emi Tatsuo 560760c489
Added another test for RoutingNode 2020-11-24 15:08:05 -05:00
Emi Tatsuo b2a671993e
Add ability to iterate over a routing node 2020-11-24 14:51:21 -05:00
Emi Tatsuo df2350a8bb
Switch to a much lighter in-house rate-limiting solution, and use consistant naming of ratelimiting 2020-11-24 13:58:18 -05:00
Emi Tatsuo c3d7381860
Added a static handler type. Impl AsRef<Body> for Response
im so tired i havent slept enough in so long but also i havent done any productive work like do you think im using this project as an excuse or like a bad coping mechanism for my mental health or something like that cause thats what its starting to feel like
2020-11-23 23:34:11 -05:00
Emi Tatsuo 7990739884
Move the handler type to it's own mod, change to an enum
The new enum can be converted to from anything that could previously be passed to
add_route, so this is not a breaking change.  If fact, from the end user's perspective,
nothing changed, but internally, this gives us a lot of potential as far as having
multiple types of routes.
2020-11-23 11:55:40 -05:00
Emi Tatsuo 2400ef8796
Move user management routes to their seperate feature 2020-11-23 11:37:47 -05:00
Emi Tatsuo f572209dfa
Merge branch 'reduce-arcs' into routes 2020-11-23 10:55:48 -05:00
Emi Tatsuo 57f083b1d0
Updated changelog to reflect changes to success
Dang it I always forget to do that
2020-11-23 10:05:47 -05:00
Emi Tatsuo 4743419f1e
Update changelog with improved error handling for serve_dir 2020-11-23 09:49:04 -05:00
Emi Tatsuo 48c0783e36
Improve error handling for serve_dir
Specifically:
 - Serve NOT_FOUND when file or directory doesn't exist
 - Serve NOT_FOUND and warn in log when permission denied for file or directory
 - Serve SERVER_ERROR and warn in log when permission denied or not found for path to serve from
 - Serve SERVER_ERROR and warn in log with a link to the GH if an unexpected error happens
2020-11-23 09:39:45 -05:00
Emi Tatsuo 71c1ac0fab
Fix serve_dir feature 2020-11-23 08:44:45 -05:00
Emi Tatsuo 28a4d64c5f
Segregate features surrounding multiple certificates & passwords to a seperate feature 2020-11-22 22:24:36 -05:00