function ifMatch
ifMatch(): booleanA helper function that takes the value from the If-Match header and a
calculated etag for the target. By using strong comparison, return true if
the values match, otherwise false.
See MDN's If-Match
article for more information on how to use this function.
import { calculate, ifMatch, } from "@std/http/etag"; import { assert } from "@std/assert/assert" const body = "hello deno!"; Deno.serve(async (req) => { const ifMatchValue = req.headers.get("if-match"); const etag = await calculate(body); assert(etag); if (!ifMatchValue || ifMatch(ifMatchValue, etag)) { return new Response(body, { status: 200, headers: { etag } }); } else { return new Response(null, { status: 412, statusText: "Precondition Failed"}); } });