next-ssl-redirect-middleware
Version:
Nextjs Middleware to redirect http to https
14 lines (13 loc) • 721 B
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
const server_1 = require("next/server");
const middleware = ({ environments = ["production"], status = 301 }) => (req, ev) => {
var _a, _b;
const currentEnv = process.env.NODE_ENV;
if (environments.includes(currentEnv) && !((_b = (_a = req.headers) === null || _a === void 0 ? void 0 : _a.get("x-forwarded-proto")) === null || _b === void 0 ? void 0 : _b.includes("https"))) {
const hostname = req.headers.get('host') || req.nextUrl.hostname;
return server_1.NextResponse.redirect(`https://${hostname}${req.nextUrl.pathname}`, status);
}
return server_1.NextResponse.next();
};
exports.default = middleware;