diff options
author | Florian Klink <flokli@flokli.de> | 2024-08-21T08·06+0300 |
---|---|---|
committer | clbot <clbot@tvl.fyi> | 2024-08-21T09·40+0000 |
commit | e03ea11badbf40971d6bf87eede33fe3b046c98b (patch) | |
tree | d520dedadeb8193b2da323adb2623a269217951c /tvix/tools/crunch-v2/Cargo.lock | |
parent | 2357079891819c679821ea58a7715de7be431aaa (diff) |
feat(nix-compat/nix_http): init parse_nar[info]_str r/8547
This moves the URL component parsing code we had in nar-bridge to nix-compat. We change the function signature to return an Option, not a Result<_, StatusCode>. This allows returning more appropriate error codes, as we can ok_or(…) at the callsite, which we now do: on an upload to an invalid path, we now return "unauthorized", while on a GET/HEAD, we return "not found". This also adds support to parse compression suffixes. While not supported in nar-bridge, other users of nix-compat might very well want to parse these paths. Also fix the error message when parsing NAR urls, it mentioned 32, not 52, which is a copypasta error from the narinfo URL parsing code. Change-Id: Id1be9a8044814b54ce68b125c52dfe933c9c4f74 Reviewed-on: https://cl.tvl.fyi/c/depot/+/12260 Reviewed-by: raitobezarius <tvl@lahfa.xyz> Autosubmit: flokli <flokli@flokli.de> Tested-by: BuildkiteCI
Diffstat (limited to 'tvix/tools/crunch-v2/Cargo.lock')
-rw-r--r-- | tvix/tools/crunch-v2/Cargo.lock | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/tvix/tools/crunch-v2/Cargo.lock b/tvix/tools/crunch-v2/Cargo.lock index 1b1f5f38c1f5..500e8519e7a5 100644 --- a/tvix/tools/crunch-v2/Cargo.lock +++ b/tvix/tools/crunch-v2/Cargo.lock @@ -1434,6 +1434,7 @@ dependencies = [ "sha2 0.10.8", "thiserror", "tokio", + "tracing", ] [[package]] @@ -2776,10 +2777,22 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c3523ab5a71916ccf420eebdf5521fcef02141234bbc0b8a49f2fdc4544364ef" dependencies = [ "pin-project-lite", + "tracing-attributes", "tracing-core", ] [[package]] +name = "tracing-attributes" +version = "0.1.27" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "34704c8d6ebcbc939824180af020566b01a7c01f80641264eba0999f6c2b6be7" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.39", +] + +[[package]] name = "tracing-core" version = "0.1.32" source = "registry+https://github.com/rust-lang/crates.io-index" |