rpc
Val Town is a collaborative website to build and scale JavaScript apps.
Deploy APIs, crons, & store data – all from the browser, and deployed in miliseconds.
Turn any function into an API! This lets you call a function in Val Town without manually handling a Request
or Response
object.
This val can be used as a replacement for the Run API, which implicitly did something similar.
This is how you can expose a function as an API:
- Create an HTTP handler val
- Import this val
- Call
rpc
with your function as an argument
Here's an example from @std/rpc_example:
import { rpc } from "https://esm.town/v/std/rpc?v=5";
export const rpc_example = rpc(async (a: number, b: number) => {
return a + b;
});
You can invoke that function from your client or your local machine with an HTTP request. You can either use a GET or a POST request, passing arguments in the query parameters or the body respectively. Make sure your val's privacy is set to Unlisted or Public.
GET request
const res = await fetch("https://std-rpc_example.web.val.run/?args=[2,3]");
console.log(await res.json()); // 5
POST request
const res = await fetch("https://std-rpc_example.web.val.run/", {
method: "POST",
body: JSON.stringify({ args: [2, 3] })
});
console.log(await res.json()); // 5
Migrated from folder: rpc/rpc