deno.land / x / opine@2.3.4 / test / units / req.secure.test.ts
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101import { opine } from "../../mod.ts";import { superdeno } from "../deps.ts";import { describe, it } from "../utils.ts";
describe("req", function () { describe(".secure", function () { describe("when X-Forwarded-Proto is missing", function () { it("should return false when http", function (done) { const app = opine();
app.get("/", function (req, res) { res.send(req.secure ? "yes" : "no"); });
superdeno(app) .get("/") .expect("no", done); }); }); });
describe(".secure", function () { describe("when X-Forwarded-Proto is present", function () { it("should return false when http", function (done) { const app = opine();
app.get("/", function (req, res) { res.send(req.secure ? "yes" : "no"); });
superdeno(app) .get("/") .set("X-Forwarded-Proto", "https") .expect("no", done); });
it('should return true when "trust proxy" is enabled', function (done) { const app = opine();
app.enable("trust proxy");
app.get("/", function (req, res) { res.send(req.secure ? "yes" : "no"); });
superdeno(app) .get("/") .set("X-Forwarded-Proto", "https") .expect("yes", done); });
it("should return false when initial proxy is http", function (done) { const app = opine();
app.enable("trust proxy");
app.get("/", function (req, res) { res.send(req.secure ? "yes" : "no"); });
superdeno(app) .get("/") .set("X-Forwarded-Proto", "http, https") .expect("no", done); });
it("should return true when initial proxy is https", function (done) { const app = opine();
app.enable("trust proxy");
app.get("/", function (req, res) { res.send(req.secure ? "yes" : "no"); });
superdeno(app) .get("/") .set("X-Forwarded-Proto", "https, http") .expect("yes", done); });
describe('when "trust proxy" trusting hop count', function () { it("should respect X-Forwarded-Proto", function (done) { const app = opine();
app.set("trust proxy", 1);
app.get("/", function (req, res) { res.send(req.secure ? "yes" : "no"); });
superdeno(app) .get("/") .set("X-Forwarded-Proto", "https") .expect("yes", done); }); }); }); });});
Version Info