cloudflare/endpoints/workerskv/
delete_key.rs

1use surf::http::Method;
2
3use crate::framework::endpoint::Endpoint;
4
5/// Delete a key-value pair from Workers KV
6/// Deletes a given key from the given namespace in Workers KV.
7/// Returns 404 if the given namespace id is not found for an account.
8/// https://api.cloudflare.com/#workers-kv-namespace-delete-key-value-pair
9#[derive(Debug)]
10pub struct DeleteKey<'a> {
11    pub account_identifier: &'a str,
12    pub namespace_identifier: &'a str,
13    pub key: &'a str,
14}
15
16impl<'a> Endpoint<(), (), ()> for DeleteKey<'a> {
17    fn method(&self) -> Method {
18        Method::Delete
19    }
20    fn path(&self) -> String {
21        format!(
22            "accounts/{}/storage/kv/namespaces/{}/values/{}",
23            self.account_identifier,
24            self.namespace_identifier,
25            super::url_encode_key(self.key)
26        )
27    }
28}