1export async function getAccessToken(id, secret) {
2 const params = new URLSearchParams();
3 params.append("client_secret", secret);
4
5// The account's 2FA needs to be disabled.
6export async function getRedditAccessToken() {
7 const formData = new URLSearchParams();
8 formData.append("grant_type", "password");
2Parses Cookie headers into objects.
3- `jar`: Value of the Cookie header
4- `decoder`: Function to run on all cookie names and values. This is to get around character limitations (see [RFC 6265](https://httpwg.org/specs/rfc6265.html#rfc.section.4.1.1)). There is no formal standard, but as most sites prefer URL encoding, it is the default. `x => x` can be used as a way to disable decoding.
5
6Migrated from folder: loginable_demo/parse_cookies
2import { Buffer } from "node:buffer";
3
4export async function valSign({ keys, data, expireIn }: {
5 keys: {
6 publicKey: string;
1import { Buffer } from "node:buffer";
2
3export async function valSignVerify(encoded: string) {
4 const matches = (encoded + "").match(/^@([^\.]+)\.(.+)$/);
5 if (!matches)
1import { Buffer } from "node:buffer";
2
3export async function generateKeys() {
4 const { default: nacl } = await import("npm:tweetnacl@1.0.3");
5 const keyPair = nacl.sign.keyPair();
1import { Buffer } from "node:buffer";
2
3export async function imageUrlToBase64(res: Response) {
4 // From https://stackoverflow.com/a/60321567
5 const buffer = Buffer.from(await res.arrayBuffer());
4import { rssFeeds } from "https://esm.town/v/iakovos/rssFeeds";
5
6export async function pollRSSFeeds() {
7 let allNewItems = [];
8 const rssFeedChunks = chunk2(rssFeeds, 25);
1import { generateFeedHTML } from "https://esm.town/v/iakovos/generateFeedHTML";
2
3export function renderFeedsForEmail(feeds) {
4 let html = `
5<!DOCTYPE html>
2Gets information about a specific val.
3
4To access private vals, pass your API token as a secret to the function. Read more about [authentication](https://docs.val.town/api/authentication) to understand how to generate a token and save it as a secret.
5
6Migrated from folder: Archive/getVal
A helper function to build a file's email
Simple functional CSS library for Val Town
import { OpenAI } from "https://esm.town/v/std/openai";
export default async function(req: Request): Promise<Response> {
if (req.method === "OPTIONS") {
return new Response(null, {
headers: {
"Access-Control-Allow-Origin": "*",
LangChain (https://langchain.com) Ambassador, KubeSphere (https://kubesphere.io) Ambassador, CNCF OpenFunction (https://openfunction.dev) TOC Member.