aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlex Auvolat <alex@adnab.me>2022-02-21 23:10:13 +0100
committerAlex Auvolat <alex@adnab.me>2022-03-14 10:53:00 +0100
commitf0d0cd9a20979f59db246e6a545ddc1b7bbb20b3 (patch)
tree434ab758dd73b0ef78a511cef39df53dc580b3f1
parent55d44715998d01563fe830d1dbc35745bc9427bf (diff)
downloadgarage-f0d0cd9a20979f59db246e6a545ddc1b7bbb20b3.tar.gz
garage-f0d0cd9a20979f59db246e6a545ddc1b7bbb20b3.zip
Remove strum crate dependency; add protobuf nix dependency
-rw-r--r--Cargo.lock21
-rw-r--r--Cargo.nix31
-rw-r--r--shell.nix1
-rw-r--r--src/api/Cargo.toml3
-rw-r--r--src/api/api_server.rs2
-rw-r--r--src/api/s3_router.rs4
6 files changed, 5 insertions, 57 deletions
diff --git a/Cargo.lock b/Cargo.lock
index b5c896c9..e70c1ea7 100644
--- a/Cargo.lock
+++ b/Cargo.lock
@@ -887,8 +887,6 @@ dependencies = [
"serde_bytes",
"serde_json",
"sha2",
- "strum",
- "strum_macros",
"tokio",
"tracing",
"url",
@@ -2859,25 +2857,6 @@ dependencies = [
]
[[package]]
-name = "strum"
-version = "0.23.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "cae14b91c7d11c9a851d3fbc80a963198998c2a64eec840477fa92d8ce9b70bb"
-
-[[package]]
-name = "strum_macros"
-version = "0.23.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5bb0dc7ee9c15cea6199cde9a127fa16a4c5819af85395457ad72d68edc85a38"
-dependencies = [
- "heck",
- "proc-macro2",
- "quote",
- "rustversion",
- "syn",
-]
-
-[[package]]
name = "subtle"
version = "2.4.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
diff --git a/Cargo.nix b/Cargo.nix
index c4d3d36f..9a31fc8d 100644
--- a/Cargo.nix
+++ b/Cargo.nix
@@ -1239,8 +1239,6 @@ in
serde_bytes = rustPackages."registry+https://github.com/rust-lang/crates.io-index".serde_bytes."0.11.5" { inherit profileName; };
serde_json = rustPackages."registry+https://github.com/rust-lang/crates.io-index".serde_json."1.0.79" { inherit profileName; };
sha2 = rustPackages."registry+https://github.com/rust-lang/crates.io-index".sha2."0.9.9" { inherit profileName; };
- strum = rustPackages."registry+https://github.com/rust-lang/crates.io-index".strum."0.23.0" { inherit profileName; };
- strum_macros = buildRustPackages."registry+https://github.com/rust-lang/crates.io-index".strum_macros."0.23.1" { profileName = "__noProfile"; };
tokio = rustPackages."registry+https://github.com/rust-lang/crates.io-index".tokio."1.17.0" { inherit profileName; };
tracing = rustPackages."registry+https://github.com/rust-lang/crates.io-index".tracing."0.1.32" { inherit profileName; };
url = rustPackages."registry+https://github.com/rust-lang/crates.io-index".url."2.2.2" { inherit profileName; };
@@ -3761,7 +3759,7 @@ in
];
dependencies = {
bitflags = rustPackages."registry+https://github.com/rust-lang/crates.io-index".bitflags."1.3.2" { inherit profileName; };
- ${ if hostPlatform.parsed.kernel.name == "android" || hostPlatform.parsed.kernel.name == "linux" then "libc" else null } = rustPackages."registry+https://github.com/rust-lang/crates.io-index".libc."0.2.119" { inherit profileName; };
+ ${ if hostPlatform.parsed.kernel.name == "linux" || hostPlatform.parsed.kernel.name == "android" then "libc" else null } = rustPackages."registry+https://github.com/rust-lang/crates.io-index".libc."0.2.119" { inherit profileName; };
${ if !(hostPlatform.parsed.kernel.name == "linux" || hostPlatform.parsed.kernel.name == "android") then "parking_lot" else null } = rustPackages."registry+https://github.com/rust-lang/crates.io-index".parking_lot."0.11.2" { inherit profileName; };
${ if !(hostPlatform.parsed.kernel.name == "linux" || hostPlatform.parsed.kernel.name == "android") then "parking_lot_core" else null } = rustPackages."registry+https://github.com/rust-lang/crates.io-index".parking_lot_core."0.8.5" { inherit profileName; };
static_init_macro = buildRustPackages."registry+https://github.com/rust-lang/crates.io-index".static_init_macro."1.0.2" { profileName = "__noProfile"; };
@@ -3821,31 +3819,6 @@ in
};
});
- "registry+https://github.com/rust-lang/crates.io-index".strum."0.23.0" = overridableMkRustCrate (profileName: rec {
- name = "strum";
- version = "0.23.0";
- registry = "registry+https://github.com/rust-lang/crates.io-index";
- src = fetchCratesIo { inherit name version; sha256 = "cae14b91c7d11c9a851d3fbc80a963198998c2a64eec840477fa92d8ce9b70bb"; };
- features = builtins.concatLists [
- [ "default" ]
- [ "std" ]
- ];
- });
-
- "registry+https://github.com/rust-lang/crates.io-index".strum_macros."0.23.1" = overridableMkRustCrate (profileName: rec {
- name = "strum_macros";
- version = "0.23.1";
- registry = "registry+https://github.com/rust-lang/crates.io-index";
- src = fetchCratesIo { inherit name version; sha256 = "5bb0dc7ee9c15cea6199cde9a127fa16a4c5819af85395457ad72d68edc85a38"; };
- dependencies = {
- heck = rustPackages."registry+https://github.com/rust-lang/crates.io-index".heck."0.3.3" { inherit profileName; };
- proc_macro2 = rustPackages."registry+https://github.com/rust-lang/crates.io-index".proc-macro2."1.0.36" { inherit profileName; };
- quote = rustPackages."registry+https://github.com/rust-lang/crates.io-index".quote."1.0.15" { inherit profileName; };
- rustversion = buildRustPackages."registry+https://github.com/rust-lang/crates.io-index".rustversion."1.0.6" { profileName = "__noProfile"; };
- syn = rustPackages."registry+https://github.com/rust-lang/crates.io-index".syn."1.0.86" { inherit profileName; };
- };
- });
-
"registry+https://github.com/rust-lang/crates.io-index".subtle."2.4.1" = overridableMkRustCrate (profileName: rec {
name = "subtle";
version = "2.4.1";
@@ -4760,7 +4733,7 @@ in
${ if hostPlatform.config == "i686-pc-windows-gnu" || hostPlatform.config == "i686-uwp-windows-gnu" then "windows_i686_gnu" else null } = rustPackages."registry+https://github.com/rust-lang/crates.io-index".windows_i686_gnu."0.32.0" { inherit profileName; };
${ if hostPlatform.config == "i686-uwp-windows-msvc" || hostPlatform.config == "i686-pc-windows-msvc" then "windows_i686_msvc" else null } = rustPackages."registry+https://github.com/rust-lang/crates.io-index".windows_i686_msvc."0.32.0" { inherit profileName; };
${ if hostPlatform.config == "x86_64-uwp-windows-gnu" || hostPlatform.config == "x86_64-pc-windows-gnu" then "windows_x86_64_gnu" else null } = rustPackages."registry+https://github.com/rust-lang/crates.io-index".windows_x86_64_gnu."0.32.0" { inherit profileName; };
- ${ if hostPlatform.config == "x86_64-uwp-windows-msvc" || hostPlatform.config == "x86_64-pc-windows-msvc" then "windows_x86_64_msvc" else null } = rustPackages."registry+https://github.com/rust-lang/crates.io-index".windows_x86_64_msvc."0.32.0" { inherit profileName; };
+ ${ if hostPlatform.config == "x86_64-pc-windows-msvc" || hostPlatform.config == "x86_64-uwp-windows-msvc" then "windows_x86_64_msvc" else null } = rustPackages."registry+https://github.com/rust-lang/crates.io-index".windows_x86_64_msvc."0.32.0" { inherit profileName; };
};
});
diff --git a/shell.nix b/shell.nix
index 870a45db..867d7f48 100644
--- a/shell.nix
+++ b/shell.nix
@@ -78,6 +78,7 @@ function refresh_toolchain {
pkgs.clippy
pkgs.rustfmt
pkgs.perl
+ pkgs.protobuf
cargo2nix.packages.x86_64-linux.cargo2nix
] else [])
++
diff --git a/src/api/Cargo.toml b/src/api/Cargo.toml
index 968e8aab..f39c6d04 100644
--- a/src/api/Cargo.toml
+++ b/src/api/Cargo.toml
@@ -31,9 +31,6 @@ md-5 = "0.9"
nom = "7.1"
sha2 = "0.9"
-strum = "0.23"
-strum_macros = "0.23"
-
futures = "0.3"
futures-util = "0.3"
pin-project = "1.0"
diff --git a/src/api/api_server.rs b/src/api/api_server.rs
index 00d582d1..1bab3aaa 100644
--- a/src/api/api_server.rs
+++ b/src/api/api_server.rs
@@ -135,7 +135,7 @@ async fn handler_inner(garage: Arc<Garage>, req: Request<Body>) -> Result<Respon
Context::current()
.span()
- .update_name::<String>(format!("S3 API {}", endpoint));
+ .update_name::<String>(format!("S3 API {}", endpoint.name()));
// Some endpoints are processed early, before we even check for an API key
if let Endpoint::PostObject = endpoint {
diff --git a/src/api/s3_router.rs b/src/api/s3_router.rs
index c325805d..95a7eceb 100644
--- a/src/api/s3_router.rs
+++ b/src/api/s3_router.rs
@@ -5,8 +5,6 @@ use std::borrow::Cow;
use hyper::header::HeaderValue;
use hyper::{HeaderMap, Method, Request};
-use strum_macros::Display;
-
/// This macro is used to generate very repetitive match {} blocks in this module
/// It is _not_ made to be used anywhere else
macro_rules! s3_match {
@@ -135,7 +133,7 @@ s3_match! {@func
/// query parameters). Parameters it may receive by header are left out, however headers are
/// considered when required to determine between one endpoint or another (for CopyObject and
/// UploadObject, for instance).
-#[derive(Debug, Clone, PartialEq, Eq, Display)]
+#[derive(Debug, Clone, PartialEq, Eq)]
pub enum Endpoint {
AbortMultipartUpload {
key: String,