Commit Graph

148 Commits

Author SHA1 Message Date
Emi Tatsuo 680c04abe4
Add documentation about SCGI 2020-12-05 10:30:13 -05:00
Emi Tatsuo ae247312f7
Fix `gemini_srv` with more conditional comp 2020-12-05 09:54:05 -05:00
Emi Tatsuo f592ecf73b
Move opt_timeout to lib.rs 2020-12-03 15:04:12 -05:00
Emi Tatsuo cb9b3ea167
Fix crash on no certificate provided 2020-12-03 10:47:33 -05:00
Emi Tatsuo d8d15d8f72
Add tolerance for REMOTE_ADDR without a port 2020-12-03 08:32:06 -05:00
Emi Tatsuo fb357b59eb
Support base64 encoded certificate hashes, remove ring as mandatory dep for scgi_srv
Removing ring also means switching out some of the code around user password hashes so that's what that is, if you're wondering.  Also, the sunrise today was absolutely beautiful.  I haven't been awake for a sunrise in a long time, so I guess that's one upside to not sleeping.  Like, melencholy sunsets get a lot of love, but man, nothing fills you with hope and positivity like a sunrise.
2020-12-03 08:10:50 -05:00
Emi Tatsuo d71c3f952d
Reduce visibility of some methods in CertGenMode, fix docs 2020-12-03 05:20:16 -05:00
Emi Tatsuo e55f5c675b
Rename gencert.rs -> cert.rs, move in a bunch of certificate functions.
Make the cert.rs module private.

Refactor refactor refactor!!!

It's 5:14am and I HAVENT SLEPT THAT'S RIGHT IT'S INSOMNIA HOURS THEYDIES AND GENDERFUCKS!!!
2020-12-03 05:14:09 -05:00
Emi Tatsuo fa8adbd265
Started writing feature docs [UNFINISHED] 2020-12-03 00:53:05 -05:00
Emi Tatsuo 23c5141dd0
Add a compiler error giving an actual reason if invalid features are active 2020-12-03 00:06:48 -05:00
Emii Tatsuo 89e7719939
Fix stable build 2020-12-01 23:32:03 -05:00
Emii Tatsuo 05e4d25a53
Added in autorewrite as an option to `Server` 2020-12-01 21:59:00 -05:00
Emii Tatsuo 8f86bac608
Added rewrite_all for body 2020-12-01 21:41:00 -05:00
Emii Tatsuo 64f54e8e58
Fix rewrite_path 2020-12-01 21:26:08 -05:00
Emii Tatsuo aa6c8d8a57
Remove needless borrow 2020-12-01 19:10:50 -05:00
Emii Tatsuo 723986c011
Add `rewrite_path()` 2020-12-01 19:02:49 -05:00
Emii Tatsuo 6400197514
Treat zero-length input as no input at all
Fixes running with molly brown
2020-12-01 17:38:52 -05:00
Emii Tatsuo de060363f1
Fix the dashmap + user_management_routes build 2020-12-01 17:38:26 -05:00
Emii Tatsuo f922f8c70d
Merged Meta, Status, and ResponseHeader into Response 2020-12-01 16:36:29 -05:00
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 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
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 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 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 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 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