Skip to content

Commit 6acc8a2

Browse files
authored
Merge pull request #138 from wa5i/main
refactor: optimize code, remove Core's RwLock, and add entry structure RustyVault
2 parents 96ca26d + 86fe0e0 commit 6acc8a2

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

93 files changed

+1188
-1165
lines changed

Cargo.toml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -79,6 +79,7 @@ priority-queue = "2.1"
7979
crossbeam-channel = "0.5"
8080
maybe-async = { version = "0.2", optional = false }
8181
lockfile = "0.4.0"
82+
arc-swap = "1"
8283

8384
# optional dependencies
8485
openssl = { version = "*", optional = true }

build.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -67,7 +67,7 @@ fn main() {
6767
if let Some(bin_entry_table) = bin_entry.as_table() {
6868
if let Some(name_value) = bin_entry_table.get("name") {
6969
if let Some(name_str) = name_value.as_str() {
70-
println!("cargo:rustc-env=CARGO_BIN_NAME={}", name_str);
70+
println!("cargo:rustc-env=CARGO_BIN_NAME={name_str}");
7171
}
7272
}
7373
}

src/api/auth_token.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -59,7 +59,7 @@ impl TokenAuth<'_> {
5959

6060
pub fn create_with_role(&self, input: &TokenInput, role_name: &str) -> Result<HttpResponse, RvError> {
6161
let data = serde_json::to_value(input)?;
62-
self.request_write(format!("/v1/auth/token/create/{}", role_name), data.as_object().cloned())
62+
self.request_write(format!("/v1/auth/token/create/{role_name}"), data.as_object().cloned())
6363
}
6464

6565
pub fn lookup(&self, token: &str) -> Result<HttpResponse, RvError> {

src/api/client.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -168,7 +168,7 @@ impl Client {
168168
} else {
169169
format!("{}/{}", self.address, path)
170170
};
171-
log::debug!("request url: {}, method: {}", url, method);
171+
log::debug!("request url: {url}, method: {method}");
172172

173173
let mut req = self.http_client.request(&method.to_uppercase(), &url);
174174

@@ -199,7 +199,7 @@ impl Client {
199199
Ok(ret.clone())
200200
}
201201
Err(e) => {
202-
log::error!("Request failed: {}", e);
202+
log::error!("Request failed: {e}");
203203
Err(RvError::UreqError { source: e })
204204
}
205205
}

src/api/logical.rs

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -18,15 +18,15 @@ impl Client {
1818

1919
impl Logical<'_> {
2020
pub fn read(&self, path: &str) -> Result<HttpResponse, RvError> {
21-
self.request_read(format!("/v1/{}", path))
21+
self.request_read(format!("/v1/{path}"))
2222
}
2323

2424
pub fn write(&self, path: &str, data: Option<Map<String, Value>>) -> Result<HttpResponse, RvError> {
25-
self.request_write(format!("/v1/{}", path), data)
25+
self.request_write(format!("/v1/{path}"), data)
2626
}
2727

2828
pub fn list(&self, path: &str) -> Result<HttpResponse, RvError> {
29-
let mut ret = self.request_list(format!("/v1/{}", path))?;
29+
let mut ret = self.request_list(format!("/v1/{path}"))?;
3030
if ret.response_status != 200 || ret.response_data.is_none() {
3131
return Ok(ret);
3232
}
@@ -38,6 +38,6 @@ impl Logical<'_> {
3838
}
3939

4040
pub fn delete(&self, path: &str, data: Option<Map<String, Value>>) -> Result<HttpResponse, RvError> {
41-
self.request_delete(format!("/v1/{}", path), data)
41+
self.request_delete(format!("/v1/{path}"), data)
4242
}
4343
}

src/api/mod.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ impl HttpResponse {
2828
}
2929

3030
if let Some(response_data) = &self.response_data {
31-
println!("{:?}", response_data);
31+
println!("{response_data:?}");
3232
}
3333
}
3434
}

src/api/sys.rs

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -111,20 +111,20 @@ impl Sys<'_> {
111111

112112
pub fn enable_auth(&self, path: &str, input: &AuthInput) -> Result<HttpResponse, RvError> {
113113
let data = serde_json::to_value(input)?;
114-
self.request_write(format!("/v1/sys/auth/{}", path), data.as_object().cloned())
114+
self.request_write(format!("/v1/sys/auth/{path}"), data.as_object().cloned())
115115
}
116116

117117
pub fn disable_auth(&self, path: &str) -> Result<HttpResponse, RvError> {
118-
self.request_delete(format!("/v1/sys/auth/{}", path), None)
118+
self.request_delete(format!("/v1/sys/auth/{path}"), None)
119119
}
120120

121121
pub fn mount(&self, path: &str, input: &MountInput) -> Result<HttpResponse, RvError> {
122122
let data = serde_json::to_value(input)?;
123-
self.request_write(format!("/v1/sys/mounts/{}", path), data.as_object().cloned())
123+
self.request_write(format!("/v1/sys/mounts/{path}"), data.as_object().cloned())
124124
}
125125

126126
pub fn unmount(&self, path: &str) -> Result<HttpResponse, RvError> {
127-
self.request_delete(format!("/v1/sys/mounts/{}", path), None)
127+
self.request_delete(format!("/v1/sys/mounts/{path}"), None)
128128
}
129129

130130
pub fn remount(&self, from: &str, to: &str) -> Result<HttpResponse, RvError> {
@@ -145,18 +145,18 @@ impl Sys<'_> {
145145
}
146146

147147
pub fn read_policy(&self, name: &str) -> Result<HttpResponse, RvError> {
148-
self.request_read(format!("/v1/sys/policies/acl/{}", name))
148+
self.request_read(format!("/v1/sys/policies/acl/{name}"))
149149
}
150150

151151
pub fn write_policy(&self, name: &str, policy: &str) -> Result<HttpResponse, RvError> {
152152
let data = json!({
153153
"policy": policy,
154154
});
155155

156-
self.request_write(format!("/v1/sys/policies/acl/{}", name), data.as_object().cloned())
156+
self.request_write(format!("/v1/sys/policies/acl/{name}"), data.as_object().cloned())
157157
}
158158

159159
pub fn delete_policy(&self, name: &str) -> Result<HttpResponse, RvError> {
160-
self.request_delete(format!("/v1/sys/policies/acl/{}", name), None)
160+
self.request_delete(format!("/v1/sys/policies/acl/{name}"), None)
161161
}
162162
}

src/cli/command/auth_disable.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -48,11 +48,11 @@ impl CommandExecutor for Disable {
4848
match sys.disable_auth(&path) {
4949
Ok(ret) => match ret.response_status {
5050
200 | 204 | 404 => {
51-
println!("Success! Disabled the auth method (if it existed) at: {}", path);
51+
println!("Success! Disabled the auth method (if it existed) at: {path}");
5252
}
5353
_ => ret.print_debug_info(),
5454
},
55-
Err(e) => eprintln!("Error disabling auth method at {}: {}", path, e),
55+
Err(e) => eprintln!("Error disabling auth method at {path}: {e}"),
5656
}
5757
Ok(())
5858
}

src/cli/command/auth_enable.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -92,7 +92,7 @@ impl CommandExecutor for Enable {
9292
}
9393
_ => ret.print_debug_info(),
9494
},
95-
Err(e) => eprintln!("Error: {}", e),
95+
Err(e) => eprintln!("Error: {e}"),
9696
}
9797
Ok(())
9898
}

src/cli/command/auth_help.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -53,15 +53,15 @@ impl CommandExecutor for Help {
5353
let path = util::ensure_trailing_slash(&util::sanitize_path(&self.auth_type));
5454
let auth_list: crate::api::HttpResponse = sys.list_auth()?;
5555
if auth_list.response_status != 200 || auth_list.response_data.is_none() {
56-
println!("Error listing auth methods at: {}", path);
56+
println!("Error listing auth methods at: {path}");
5757
std::process::exit(2);
5858
}
5959

6060
let auth_list_value = auth_list.response_data.unwrap();
6161
let auth_list_map = auth_list_value.as_object().unwrap();
6262
let auth = auth_list_map.get(&path);
6363
if auth.is_none() {
64-
println!("No auth method available on the server at: {}", path);
64+
println!("No auth method available on the server at: {path}");
6565
std::process::exit(1);
6666
}
6767

0 commit comments

Comments
 (0)