Commit Graph

78 Commits

Author SHA1 Message Date
Emi Tatsuo 63c228bcfa
Replace molly brown w/ stargazer, serve examples in IP
Stargazer is available thru cargo, which makes it more accessable to new users.  Serving ip allows examples to be run in gemini_srv mode
2020-12-13 19:53:18 -05:00
Emi Tatsuo 3347c708af
Add a cute little emoji logo to the docs 2020-12-11 14:44:14 -05:00
Emi Tatsuo 2501c9021a
Fix building docs with `--all-features` 2020-12-11 12:30:20 -05:00
Emi Tatsuo 6b30521c77
Add the last two docs for Server 2020-12-07 16:46:13 -05:00
Emi Tatsuo 27f3f2aee0
Move URI reference to the crate base 2020-12-07 15:58:49 -05:00
Emi Tatsuo 05089bfea6
Redo Handler docs 2020-12-06 10:24:54 -05:00
Emi Tatsuo f98b94235a
Cranking out some docs
Not finished yet we've got so many docs to write.  It's doc writing time!
2020-12-05 14:09:16 -05:00
Emi Tatsuo 3ef7b2751e
Warn if a response is sent with a non-success code & a body 2020-12-05 13:41:53 -05:00
Emi Tatsuo 7add331e0b
Made the link rewriting docs *way* better 2020-12-05 11:27:30 -05:00
Emi Tatsuo 9bc1f317c5
Fix bug where autorewrite was always on, respond 50 and log instead of panic on rewrite error 2020-12-05 11:09:00 -05:00
Emi Tatsuo 680c04abe4
Add documentation about SCGI 2020-12-05 10:30:13 -05:00
Emi Tatsuo f592ecf73b
Move opt_timeout to lib.rs 2020-12-03 15:04:12 -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 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 05e4d25a53
Added in autorewrite as an option to `Server` 2020-12-01 21:59:00 -05:00
Emii Tatsuo aa6c8d8a57
Remove needless borrow 2020-12-01 19:10:50 -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 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