[][src]Macro http_guest::guest_app_kvs

macro_rules! guest_app_kvs {
    ($user_entrypoint:ident) => { ... };
}

Variation on guest_app for applications that use the cross-request key-value store.

#[macro_use]
extern crate http_guest;

use http_guest::{KVStore, Request, Response};

pub fn user_entrypoint(kvs: &mut KVStore, req: &Request<Vec<u8>>) -> Response<Vec<u8>> {
    if req.method().as_str() == "POST" {
        kvs.insert("saw_a_post", b"yes!");
        Response::builder().status(200).body("Hello!".as_bytes().to_owned())
    } else {
        Response::builder().status(405).body(vec![])
    }
}

guest_app_kvs!(user_entrypoint);