Commit Graph

57 Commits

Author SHA1 Message Date
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 1e5e4c8731
Allow directly setting a database when building 2020-11-27 17:24:16 -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 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 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 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 f572209dfa
Merge branch 'reduce-arcs' into routes 2020-11-23 10:55:48 -05:00
Emi Tatsuo edbfd3ed78
Merge branch 'reduce-arcs' into user-management 2020-11-22 20:35:47 -05:00
panicbit eebf7119fb
Merge branch 'master' into routes 2020-11-22 21:00:33 +01:00
Emi Tatsuo 95a4a8d75d
Reduce number of required `Arc`s
Should improve performance because cloning an `Arc` is expensive
2020-11-22 11:55:33 -05:00
Emi Tatsuo abe3c00fbf
Merge branch 'fix-kristall' into user-management 2020-11-21 23:57:35 -05:00
Ben Aaron Goldberg 4d0b0521d6
Include a workaround for a bug with rustls & webpki 2020-11-21 23:45:05 -05:00
Emi Tatsuo 0b4fca2c69
Merge branch 'allow-async-handlers' into user-management 2020-11-21 16:55:36 -05:00
Emi Tatsuo e678e45b78
Merge branch 'routes' into user-management 2020-11-20 21:53:00 -05:00
Emi Tatsuo 349f6da698
Add rate limiting feature
ugghhhhhh I hate how big the governer crate is but there's no alternative besides DIY
2020-11-20 21:15:37 -05:00
Emi Tatsuo 2604b02e2b
Merge branch 'routes' into allow-async-handlers 2020-11-20 14:00:49 -05:00
Emi Tatsuo 536e404fdf
Make RoutingNode generic 2020-11-20 13:54:24 -05:00
Emi Tatsuo 59e3222ce8
Add trailing segments to request 2020-11-20 13:22:34 -05:00
Emi Tatsuo 5612ce1085
Removed unnecessary dependency on futures-rs 2020-11-19 23:51:25 -05:00
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 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 4996ae99d2
Merge remote-tracking branch 'upstream/master' into user-management 2020-11-19 14:41:18 -05:00
panicbit 46ab84ba04 streamline send_response 2020-11-19 19:34:48 +01: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 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 e0abe6344b
Reduced dependency on futures-rs 2020-11-19 02:54:45 -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 fffada14e3 increase default timeout from 1 to 30 seconds 2020-11-18 22:46:18 +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 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 0e2f8d5f62
Added user management API [WIP] 2020-11-16 01:13:16 -05:00
panicbit 28162bde5c move split types module into submodules 2020-11-14 04:43:29 +01:00