- main
- manifest
- deps
- main
- Install
- Run
import { Router } from "@fastly/expressly";
import { Logger } from "fastly:logger";
import { getGeolocationForIpAddress } from "fastly:geolocation"
const date = new Date(Date.now()).toISOString();
const router = new Router();
router.get("(.*)", async(req, res) => {
let geo;
try {
geo = getGeolocationForIpAddress(req.ip);
} catch (error) {
console.error(error);
}
let log_data = {
"timestamp": date,
"client_ip": req.ip,
"geo_city": geo.city,
"geo_country_code": geo.country_code,
"request": req.method,
"host": req.hostname,
"url": req.url,
"request_referer": req.headers.get("referer"),
"request_user_agent": req.headers.get("user-agent"),
"request_accept_language": req.headers.get("accept-language"),
"request_accept_charset": req.headers.get("accept-charset")
};
let logger = new Logger("myBigQueryLogger");
logger.log(JSON.stringify(log_data));
res.text("Hello world!");
});
router.listen();