Commit Graph

166 Commits

Author SHA1 Message Date
Emi Tatsuo 29c831649d
Changed the add_route API to allow the use of simpler, async handlers 2020-11-19 23:48:55 -05:00
Emi Tatsuo 54816e1f67
Fixed bug where root handler was never hit for requests other than exact matches 2020-11-19 23:34:45 -05:00
Emi Tatsuo 10c957aee5
Re-restrict Handler & HandlerResponse 2020-11-19 22:35:35 -05:00
Emi Tatsuo dc18bf2d1c
Fix examples (& also bugs with args in lib.rs)
I thought I was clever with Into<Handler> :(
2020-11-19 22:33:44 -05:00
Emi Tatsuo 4a0d07c2ca
Switched Builder & Server to routes from a single handler 2020-11-19 22:11:31 -05:00
Emi Tatsuo e6c66ed9e7
Don't feature gate routing
I really thought this was gonna be more complicated when I was planning it.  Well,
"planning" it.
2020-11-19 21:45:41 -05:00
Emi Tatsuo 26e0fd2702
Added some routing classes 2020-11-19 21:37:02 -05:00
Emi Tatsuo 0bcce9fd6f
Appease clippy
Please my compiler is so angry ;-;
2020-11-19 18:03:10 -05:00
Emi Tatsuo 766c472cbf
Added the `add_certificate` and `attach` methods 2020-11-19 17:41:32 -05:00
Emi Tatsuo cdc3921a83
Refix docs
Oh so /that's/ how you disable a lint
2020-11-19 17:07:33 -05:00
Emi Tatsuo 79b06b08ba
Refactor SignedInUser -> RegisteredUser 2020-11-19 17:00:32 -05:00
Emi Tatsuo 2f1196228f
Return a full SignedInUser from lookup_user(), restrict access to PartialUser
Okay this is a much nicer API tbh.  Why didn't I do this from the start?  'cause I'm bad
at planning that's why.  We got there eventually though!
2020-11-19 16:54:29 -05:00
Emi Tatsuo 1908d0a0d7
Implement the set password method 2020-11-19 16:39:02 -05:00
Emi Tatsuo fb205cd397
Switched from bcrypt to argon 2020-11-19 16:07:52 -05:00
Emi Tatsuo ff5f294dae
Restricted access to several fields of SignedInUser 2020-11-19 15:21:26 -05:00
Emi Tatsuo 4996ae99d2
Merge remote-tracking branch 'upstream/master' into user-management 2020-11-19 14:41:18 -05:00
Emi Tatsuo abcb296574
Cleaned up some warnings in user_management
*sweep sweep sweep sweep sweep*
2020-11-19 14:27:36 -05:00
Emi Tatsuo 18228bb1c5
Save SignedInUser on drop, and make changes necessary to that end
Which was a surprisingly large number of changes /shrug
2020-11-19 14:25:36 -05:00
panicbit 46ab84ba04 streamline send_response 2020-11-19 19:34:48 +01:00
Emi Tatsuo e7cf782a60
Improve user management docs 2020-11-19 13:20:14 -05:00
Emi Tatsuo b50a5e3244
Merge remote-tracking branch 'upstream/master' into timeout-override 2020-11-19 12:36:42 -05:00
panicbit 4e251d0cb6
Merge pull request #25 from Alch-Emi/trim-deps
Trim dependencies & move directory serving utils to feature
2020-11-19 18:29:52 +01:00
Emi Tatsuo c69cf49d99
Removed over-zeleous feature gating 2020-11-19 11:31:10 -05:00
Emi Tatsuo 475db6af79
Adapted a type from futures-util allowing us to drop the dep and remove a big chunk of the dep tree 2020-11-19 11:09:53 -05:00
Emi Tatsuo 3da18ca530
Reduced tokio featureset 2020-11-19 10:21:32 -05:00
Emi Tatsuo e0abe6344b
Reduced dependency on futures-rs 2020-11-19 02:54:45 -05:00
Emi Tatsuo 753ecf708d
Isolate directory serving methods behind feature, incl mime_guess. Remove itertools 2020-11-19 02:49:41 -05:00
Emi Tatsuo df362d1bc3
Fixed bug where incorrect timeout was used. I got the mime types backwards haha pretend you didnt see that 2020-11-19 01:43:57 -05:00
Emi Tatsuo 25d575bee7
Shorten references to tokio::time::timeout because I forgot I used an import for that woops sorry 2020-11-19 01:30:08 -05:00
Emi Tatsuo 94d7a5ab4f
Added complex timeout override option to builder 2020-11-19 01:25:34 -05:00
Emi Tatsuo a778774189
Added note about short timeouts to set_timeout docs 2020-11-18 23:29:00 -05:00
Emi Tatsuo 4e3417fb41
Added ability to customize certificate path 2020-11-18 23:10:48 -05:00
panicbit f2b27665c2 correctly ignore doctest 2020-11-18 23:01:10 +01:00
panicbit 5a92d8d28f use mime_guess for guessing mime 2020-11-18 23:00:46 +01:00
panicbit fffada14e3 increase default timeout from 1 to 30 seconds 2020-11-18 22:46:18 +01:00
panicbit 931c3fbbc2 add temporary redirects and bad requests 2020-11-18 21:26:27 +01:00
panicbit 4eae63ac4e
Merge pull request #17 from Alch-Emi/timeout
Add timeouts to response handling
2020-11-18 21:04:48 +01:00
Emi Tatsuo 343de637c4
Added ability to load from custom key and certificate paths 2020-11-18 09:24:22 -05:00
Emi Tatsuo 6a78b2f31a
Added Response::success_with_body 2020-11-17 21:41:18 -05:00
Emi Tatsuo aa2dbbf67a
Fixed typo in timeout docs 2020-11-17 21:01:54 -05:00
Emi Tatsuo 71cf4d33f2
Added ability to set the timeout in the Server builder 2020-11-17 20:45:57 -05:00
Emi Tatsuo 3245396682
Add basic timeout with hardcoded durations 2020-11-17 20:38:10 -05:00
panicbit 387ca06611 fix visibility of URIReference in crate root 2020-11-17 01:50:35 +01:00
Emi Tatsuo 0a67c1d672
Rename UserInner -> PartialUser, expose for access outside of crate 2020-11-16 09:21:24 -05:00
Emi Tatsuo 0e2f8d5f62
Added user management API [WIP] 2020-11-16 01:13:16 -05:00
panicbit 987621cca9 support gmi extension when guessing mime types
Closes #12
2020-11-15 22:03:50 +01:00
panicbit add2f30ca6 remove unused function 2020-11-15 21:42:13 +01:00
panicbit bbeb697bb1 complete document documentation 2020-11-15 21:40:16 +01:00
panicbit ec6a0af782 keep document internals private 2020-11-15 21:17:22 +01:00
panicbit ae803a55d2 do not escape heading text 2020-11-15 21:14:53 +01:00
panicbit 45c808d0d0 document more Document methods 2020-11-15 21:14:41 +01:00
panicbit 46077739b3 document some Document methods 2020-11-15 07:01:38 +01:00
panicbit 0425bf2cf3 add Cowy util trait 2020-11-14 22:46:29 +01:00
panicbit 0c05d6d162 implement document API 2020-11-14 09:55:21 +01:00
panicbit 28162bde5c move split types module into submodules 2020-11-14 04:43:29 +01:00
panicbit bfb6282a9b improve error messages 2020-11-14 03:58:57 +01:00
panicbit 82dc34b2c5 respect meta max len of 1024 in constructors 2020-11-14 02:54:34 +01:00
panicbit af614a06aa reduce number of functions that return Result 2020-11-14 01:55:47 +01:00
panicbit 1a145c922c add Meta::new_lossy 2020-11-14 01:45:16 +01:00
panicbit 015ea42840 make GEMINI_MIME_STR public 2020-11-14 00:53:54 +01:00
panicbit 9b9955827d introduce GEMINI_MIME static 2020-11-14 00:48:50 +01:00
panicbit b97c7a6f12 rename GEMINI_MIME to GEMINI_MIME_STR 2020-11-14 00:27:41 +01:00
Emi Tatsuo 168bb56aa2
Renamed methods to match spec 2020-11-13 17:54:06 -05:00
Emi Tatsuo eaee14d174
Moved certificate into request, so this is no longer a breaking change 2020-11-13 15:07:30 -05:00
Emi Tatsuo 3547143860
Expose client certificates to the user 2020-11-13 14:20:59 -05:00
panicbit acef45c75c init 2020-10-31 20:53:03 +01:00