cloudflare-kv-proxy 0.2.0

Cloudflare KV Proxy SDK.
Documentation
# Cloudflare Worker KV Proxy
[![Crates.io][crates-badge]][crates-url]
[![MIT/Apache-2 licensed][license-badge]][license-url]
[![Build Status][actions-badge]][actions-url]

This project is implemented to use Cloudflare KV in non-worker environment.

## Setup KV and Proxy
1. Copy whole content of `worker/kv_proxy.js` to create a new Cloudflare Worker using your browser, and click `Save and Deploy`.
2. Create a new KV namespace.
3. Go to your worker(the worker you just created) settings, and:
    1. Add KV binding.
    2. Add environment variable `KEY`, the value will be your access token(please make it long enough).

## Usage
```rust
#[derive(Serialize, Deserialize, Debug)]
struct Demo {
    name: String,
    age: u8,
}
let data = Demo {
    name: "red".to_string(),
    age: 21,
};

let client = Client::new("https://your-proxy.workers.dev", "YOUR-TOKEN").unwrap();
println!("Put string: {:?}", client.put("test_key", "balabala").await);
println!("Get string: {:?}", client.get::<String>("test_key").await);

println!("Put struct: {:?}", client.put("test_key2", &data).await);
println!("Get struct: {:?}", client.get::<Demo>("test_key2").await);
```

## Cache
To avoid unnecessary requests to Cloudflare, the proxy caches the response.

By default the caching is enabled. You can set `default-features = false` in `Cargo.toml`.

[crates-badge]: https://img.shields.io/crates/v/cloudflare-kv-proxy.svg
[crates-url]: https://crates.io/crates/cloudflare-kv-proxy
[license-badge]: https://img.shields.io/crates/l/cloudflare-kv-proxy.svg
[license-url]: LICENSE-MIT
[actions-badge]: https://github.com/ihciah/cloudflare-kv-proxy/actions/workflows/ci.yaml/badge.svg
[actions-url]: https://github.com/ihciah/cloudflare-kv-proxy/actions