Skip to content

Instantly share code, notes, and snippets.

@katowulf
Last active January 12, 2022 05:51
Show Gist options
  • Save katowulf/6fffffb45ee5cbfbca6c3511e5d19528 to your computer and use it in GitHub Desktop.
Save katowulf/6fffffb45ee5cbfbca6c3511e5d19528 to your computer and use it in GitHub Desktop.
Print IP address and headers in Cloud Functions
const functions = require('firebase-functions');
const util = require('util');
exports.helloWorld = functions.https.onRequest((req, res) => {
// For Firebase Hosting URIs, use req.headers['fastly-client-ip']
// For callable functions, use rawRequest
// Some users have better success with req.headers['x-appengine-user-ip']
const ipAddress = req.headers['x-forwarded-for'] || req.connection.remoteAddress;
const headers = JSON.stringify(req.headers, null, 2);
const message = util.format("<pre>Hello world!\n\nYour IP address: %s\n\nRequest headers: %s</pre>", ipAddress, headers);
res.send(message);
});
@DharmarajX24
Copy link

I don't know why I have to use res.rawRequest.headers['x-forwarded-for']

@BrodaNoel
Copy link

2022 and Google still not published any documentation about how to get the client IP.
Increible.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment