Latest
1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889import { etag } from "./middleware.ts";import { assert, describe, equalsResponse, it, RepresentationHeader,} from "./_dev_deps.ts";
const opaqueTag = `"6b4f9b34cb268809e4863aea74e2c81b54c847dc"`;
describe("etag", () => { it("should return response what include etag header", async () => { const middleware = etag(); const response = await middleware( new Request("test:"), () => new Response(""), );
const WEAK_TAG = `W/` + opaqueTag;
assert( await equalsResponse( response, new Response("", { headers: { [RepresentationHeader.ETag]: WEAK_TAG }, }), true, ), ); });
it("should change to strong validator", async () => { const middleware = etag({ strong: true }); const response = await middleware( new Request("test:"), () => new Response(""), );
assert( await equalsResponse( response, new Response("", { headers: { [RepresentationHeader.ETag]: opaqueTag }, }), true, ), ); });
it("should change digest function", async () => { const middleware = etag({ digest: () => new ArrayBuffer(0) }); const response = await middleware( new Request("test:"), () => new Response(""), );
assert( await equalsResponse( response, new Response("", { headers: { [RepresentationHeader.ETag]: `W/""` }, }), true, ), ); });
it("should change additional headers", async () => { const middleware = etag({ headers: [] }); const response = await middleware( new Request("test:"), () => new Response(""), );
const opaqueTag = `"da39a3ee5e6b4b0d3255bfef95601890afd80709"`;
assert( await equalsResponse( response, new Response("", { headers: { [RepresentationHeader.ETag]: "W/" + opaqueTag }, }), true, ), ); });});