Example

import { method, Router, Validator } from "./mod.ts";

const validator = new Validator();
let sum = 0;

const router = new Router([
  method({
    name: "result",
    type: "read",
    handler() {
      return {
        sum,
      };
    },
  }),
  method({
    name: "add",
    type: "write",
    schema: {
      number: "number",
    },
    validator,
    handler(params: { number: number }) {
      sum = sum + params.number;
      return {
        sum,
      };
    },
  }),
]);

const listener = Deno.listen({ port: 8000 });
console.log("http://localhost:8000/");

for await (const conn of listener) {
  serve(conn);
}

async function serve(conn: Deno.Conn) {
  for await (const re of Deno.serveHttp(conn)) {
    router.handle(re);
  }
}