mirror of
https://github.com/awatertrevi/infisical.git
synced 2026-10-15 05:19:49 +00:00
feat: changed backend-pg to backend
This commit is contained in:
@@ -0,0 +1,31 @@
|
||||
import fp from "fastify-plugin";
|
||||
|
||||
/*! https://github.com/pbojinov/request-ip/blob/9501cdf6e73059cc70fc6890adb086348d7cca46/src/index.js.
|
||||
MIT License. 2022 Petar Bojinov - [email protected] */
|
||||
const headersOrder = [
|
||||
"x-client-ip", // Most common
|
||||
"x-forwarded-for", // Mostly used by proxies
|
||||
"cf-connecting-ip", // Cloudflare
|
||||
"Cf-Pseudo-IPv4", // Cloudflare
|
||||
"fastly-client-ip",
|
||||
"true-client-ip", // Akamai and Cloudflare
|
||||
"x-real-ip", // Nginx
|
||||
"x-cluser-client-ip", // Rackspace LB
|
||||
"forwarded-for",
|
||||
"x-forwarded",
|
||||
"forwarded",
|
||||
"x-appengine-user-ip" // GCP App Engine
|
||||
];
|
||||
|
||||
export const fastifyIp = fp(async (fastify) => {
|
||||
fastify.decorateRequest("realIp", null);
|
||||
fastify.addHook("onRequest", async (req) => {
|
||||
const forwardedIpHeader = headersOrder.find((header) => Boolean(req.headers[header]));
|
||||
const forwardedIp = forwardedIpHeader ? req.headers[forwardedIpHeader] : undefined;
|
||||
if (forwardedIp) {
|
||||
req.realIp = Array.isArray(forwardedIp) ? forwardedIp[0] : forwardedIp;
|
||||
} else {
|
||||
req.realIp = req.ip;
|
||||
}
|
||||
});
|
||||
});
|
||||
Reference in New Issue
Block a user