Sha256: f442ccd927adf41e4d79de248ff945da9d19f778acc0366057ffb6f2a2059ee3
Contents?: true
Size: 1.11 KB
Versions: 3
Compression:
Stored size: 1.11 KB
Contents
export function csrfToken(): string { const elem = document.querySelector("[name=csrf-token]"); if (!elem) { return ""; } return elem.getAttribute("content") || ""; } function jsonFetchOptions() { return({ method: "POST", headers: { "Content-Type": "application/json; charset=utf-8", "X-CSRF-Token": csrfToken() } }); } export async function postJson(url: string, data: Record<string, unknown>) { const options = { ...jsonFetchOptions(), method: "POST" }; if (data) { options.body = JSON.stringify(data); } const response = await fetch(url, options); return response.json(); } export async function putJson(url: string, data: Record<string, unknown>) { const options = { ...jsonFetchOptions(), method: "PUT" }; if (data) { options.body = JSON.stringify(data); } const response = await fetch(url, options); return response.json(); } export async function post(url: string, data: Record<string, unknown>) { const response = await fetch(url, { method: "POST", body: data, headers: { "X-CSRF-Token": csrfToken() } }); return response.json(); }
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
pages_core-3.12.4 | app/javascript/lib/request.ts |
pages_core-3.12.3 | app/javascript/lib/request.ts |
pages_core-3.12.2 | app/javascript/lib/request.ts |