/referrer-policy-middleware

HTTP referrer policy middleware

Primary LanguageTypeScriptMIT LicenseMIT

referrer-policy-middleware

deno land deno doc GitHub release (latest by date) codecov GitHub

test NPM

HTTP referrer policy middleware.

Compliant with Referrer Policy.

Middleware

For a definition of Universal HTTP middleware, see the http-middleware project.

Usage

Middleware adds the Referrer-Policy header to the response.

import {
  type Handler,
  referrerPolicy,
} from "https://deno.land/x/referrer_policy_middleware@$VERSION/mod.ts";
import { assert } from "https://deno.land/std/testing/asserts.ts";

declare const request: Request;
declare const handler: Handler;

const middleware = referrerPolicy();
const response = await middleware(request, handler);

assert(response.headers.has("referrer-policy"));

yield:

Referrer-Policy: strict-origin-when-cross-origin

The default field value is strict-origin-when-cross-origin.

Policy

To change the referrer policy, do the following:

import {
  referrerPolicy,
} from "https://deno.land/x/referrer_policy_middleware@$VERSION/middleware.ts";

const middleware = referrerPolicy("no-referrer");

yield:

Referrer-Policy: no-referrer

Multiple directives may be specified.

The UA ignores directives that are unknown to it and uses the last one.

import {
  referrerPolicy,
} from "https://deno.land/x/referrer_policy_middleware@$VERSION/middleware.ts";

const middleware = referrerPolicy(["no-referrer", "unsafe-url"]);

yield:

Referrer-Policy: no-referrer, unsafe-url

Conditions

Middleware will execute if all of the following conditions are met:

  • Response does not include Referrer-Policy header

Effects

Middleware may make changes to the following elements of the HTTP message.

  • HTTP Headers
    • Referrer-Policy

API

All APIs can be found in the deno doc.

License

Copyright © 2023-present httpland.

Released under the MIT license