| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
|
| |
Some breaking changes. For better or for worse. The optional extractor
breaking change is a double-edged sword, since not all extractors can
be used with `Option<T>` now, and you have to use
`Result<T, T::Rejection>` even when you want to ignore an error coming
from an extractor, such as `Query`.
However, this allows catching errors on authorization extractors even
in places where authorization is optional.
Change-Id: I35f809d3adf27dbef0e7ee93dc1a7af178b7d014
|
|
|
|
|
|
| |
I need to actually verify the msrv tho
Change-Id: I61ce30845b9a076849ebc6adde65e58763b3741e
|
|
|
|
|
|
| |
Less dependency duplication = more fun
Change-Id: Icbd0497a68fdd5bea3757e3c62c80008b87bce96
|
|
|
|
|
|
|
|
|
|
| |
Even though there is no corresponding source published to GitLab, it
seems the package is fine and is still maintained.
I also had to manually fix a versioning glitch because the required
microformats-types version was not bumped.
Change-Id: I6c052fac465f7e8c3d8cbb785f73e750c546d7a3
|
|
|
|
| |
Change-Id: I187fbf798ea6e29a8d04c4e3a894dc4a115ea9a7
|
|
|
|
| |
Change-Id: I3c02e42596d9e307e4f155959ea5f1493322df82
|
|
|
|
| |
Change-Id: Ief031acfc014bf3b74874f778600ee214cf61301
|
|
|
|
|
|
|
|
| |
Changed micropub::Error's description to Option<Cow<'static, str>> to
allow for that sweet sweet memory savings from not having to
heap-allocate strings for static errors.
Change-Id: Ic82e5ad5cacea766ea0a7e8677ce6a7f16ae8668
|
|
|
|
|
|
|
| |
Wait, is this my first self-contained crate? Not bad. I like
this. Maybe I'll go publish it to crates.io?
Change-Id: I340d0839746ff1cfbcc4c82c230ae2adff2a92f7
|
|
|
|
|
|
|
| |
Axum still uses `async_trait`, let them do whatever they want. I will
no longer be subject to the humiliation of trying to dig through
lifetime errors and unreadable declarations. Also I don't fucking care
about MSRV, I'm not a library. If you don't have modern Rust, get one.
|
|
|
|
|
|
|
| |
It just does its thing in the background, potentially speeding up
things. Maybe I could also use the underlying in-memory cache
implementation (Moka) to speed up my database. I heard crates.io got
some good results from that.
|
|
|
|
| |
Micropub types are now more coherent and gathered in one place.
|
| |
|
|
|
|
|
|
|
| |
I think I managed to not lose any functionality from my dependencies.
sqlparser remains unupgraded, but that's mostly because it is only
used in one example and it's not worth it to upgrade right now.
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
| |
Added fundamental AutoAuth types. This library can now be used to
augment existing authorization and token endpoints with AutoAuth
capabilities.
See https://github.com/sknebel/AutoAuth/blob/master/AutoAuth.md for
the latest spec draft.
|
|
|
|
|
|
| |
This might allow me to use SQL syntax in Kittybox's private search
interfaces, allowing for queries of incredible specificity while not
allowing to query private data or inject arbitrary SQL.
|
|
|
|
| |
Finally I can properly add child elements without using the string hack.
|
|
|
|
|
|
| |
This is an experimental approach to templates, using `yoshuawuyts`'s
`html` crate. The crate itself has a promising API, but is notably
incomplete.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
- Kittybox's source code is moved to a subfolder
- This improves build caching by Nix since it doesn't take changes
to other files into account
- Package and test definitions were spun into separate files
- This makes my flake.nix much easier to navigate
- This also makes it somewhat possible to use without flakes (but
it is still not easy, so use flakes!)
- Some attributes were moved in compliance with Nix 2.8's changes to
flake schema
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
These unit tests generate a random MF2-JSON post, convert it to
MF2-HTML using the template and then read it back using the
`microformats` crate.
The only problem is that it has a nasty bug with overstuffing implied
properties. This is being worked on:
https://gitlab.com/maxburon/microformats-parser/-/issues/7
For now the tests marked as ignored because they fail. But the
function itself that generates them should remain here for
documentation and potential code sharing with the `microformats`
crate, potentially even migrating to a subcrate there.
|
| |
|
| |
|
|
|
|
| |
Now I will know if something breaks horribly again.
|
|
|
|
|
|
|
|
|
| |
Templates and utility types are now separate crates to speed up
compilation, linting and potential reuse/replacement.
Potentially more crates could be split out/modularized, resulting in
speedups, smaller binaries (whenever features are excluded) and even
more reuse capabilities.
|
| |
|
| |
|
| |
|
| |
|
|
|
|
| |
It's an advanced HTTP client that can do more than vanilla Hyper does.
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
require_token() uses a token endpoint URI and an HTTP client to query
the token endpoint and return a User object if the user was
authorized, or rejecting with IndieAuthError if not. It is recommended
to use recover() and catch the IndieAuthError at the application level
to show a "not authorized" error message to the user.
This function is more intended for API consumption, but is general
enough to permit using in other scenarios.
TODO: make a variant that returns Option<User> instead of rejecting
|
|
|
|
|
|
|
|
|
|
|
| |
Warp allows requests to be applied as "filters", allowing to flexibly
split up logic and have it work in a functional style, similar to
pipes.
Tokio is just an alternative runtime. I thought that maybe switching
runtimes and refactoring the code might allow me to fish out that
pesky bug with the whole application hanging after a certain amount of
requests...
|
|
|
|
|
|
|
| |
This will allow readers to view private posts intended just for them.
Additionally fixed bugs in patterns due to which webmentions might not
have been sent.
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
| |
Currently unavailable for use and only has basic GET and POST operations
implemented. A lot more work is needed to make it truly usable.
Locking is implemented using flock() system call on Linux.
|
|
|
|
| |
This reverts commit 1c1d0e504c276ccb3c204aa28750f86610bff248.
|
|
|
|
|
|
| |
I need to instrument the mobc library used for the Redis connection
pool, but that can be done later since I am somewhat tired. I don't
remember how much I've worked and I need a break... >.<
|
| |
|
|
|
|
|
|
|
|
|
| |
The new tools are:
- kittybox-bulk-import, a bare-bones Micropub client that reads a JSON
list of posts and then sends them one by one to the Micropub endpoint
- pyindieblog-export, my personal tool which directly connects to
Pyindieblog's redis instance and extracts data from it in JSON format
suitable for use with kittybox-bulk-import.
|
| |
|
| |
|