Skip to content

Instantly share code, notes, and snippets.

@cnra
Created January 5, 2020 15:45
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 1 You must be signed in to fork a gist
  • Save cnra/aac68c73b20be55c1b315a080f2261e6 to your computer and use it in GitHub Desktop.
Save cnra/aac68c73b20be55c1b315a080f2261e6 to your computer and use it in GitHub Desktop.
logz io stats api
const express = require('express')
var bodyParser = require("body-parser");
require('express-async-errors');
var port = process.env.PORT || 3010
const app = express()
app.use(bodyParser.urlencoded({ extended: false }));
app.use(bodyParser.json());
var logger = require('logzio-nodejs').createLogger({
token: 'xxxxxxxxxxxxxxxxxx',
host: 'listener-eu.logz.io',
type: 'statsapi' // OPTIONAL (If none is set, it will be 'nodejs')
});
app.post('/newstat', async (req, res) => {
var ip = (req.headers['x-forwarded-for'] || req.connection.remoteAddress || '').split(',')[0].trim();
var dt = new Date();
data = req.body;
data["dt"] = dt;
data["ip"] = ip;
console.log(ip, data["STATNAME"], data["nick"]);
for (let key in data) {
if (!isNaN(data[key])) { data[key] = parseFloat(data[key]); }
}
logger.log(data);
var resjs = {
status: "ok",
desc: "stats ok",
res: "stats ok",
dt: dt
}
// console.log(resjs);
// console.log("data", data);
res.json(resjs)
});
// cache test
app.get('/', (req, res) => {
res.set('Cache-Control', 'max-age=10')
res.json({
"msg": "hellow stat serv",
"time": (new Date()).toUTCString(),
});
})
app.listen(port, () => console.log(`statsapi listening on port ${port} featured random!`))
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment