std avatar
fetch
@std
Script
Proxied fetch - Docs ↗ The Javascript Fetch API is directly available within a Val. However sometimes fetch calls are blocked by the receiving server for using particular IP addresses. Additionally, network blips or unreliable web services may lead to failures if not handled properly. The Val Town standard library contains an alternative version, std/fetch , that wraps the JavaScript Fetch API to provide additional functionality. The fetch function from std/fetch reroutes requests using a proxy vendor so that requests obtain different IP addresses. It also automatically retries failed requests several times. Note that using std/fetch will be significantly slower than directly calling the Javascript Fetch API due to extra network hops. Usage After importing std/fetch , the fetch method is used with the same signature as the Javascript Fetch API. import { fetch } from "https://esm.town/v/std/fetch"; let result = await fetch("https://api64.ipify.org?format=json"); let json = await result.json(); console.log(json.ip); If you run the above code multiple times, you'll see that it returns different IP addresses, because std/fetch uses proxies so that each request is made from a different IP address. 📝 Edit docs
nbbaier avatar
dbToAPI
@nbbaier
Script
Create an API from a lowdb blob This val exports a function that takes a lowdb instance and returns a Hono router that can be used to interact with the data. This is the beginning of an implementation of something like json-server for Val Town. The resulting server also comes with a frontend at / . The code for the frontend can be found here . See this val for an example. Things I'd like to implement All HTTP methods Custom route definitions (like in json-server ) Custom frontends Filtering, sorting, pagination, etc
nbbaier avatar
dbToApiHelpers
@nbbaier
Script
Helper functions/types for Val Town JSON Server
1
Next
nbbaier-mocktoapi.web.val.run
December 8, 2023