summaryrefslogtreecommitdiff
path: root/src/server/log-request.ts
diff options
context:
space:
mode:
authorAkihiko Odaki <nekomanma@pixiv.co.jp>2018-03-29 01:20:40 +0900
committerAkihiko Odaki <nekomanma@pixiv.co.jp>2018-03-29 01:54:41 +0900
commit90f8fe7e538bb7e52d2558152a0390e693f39b11 (patch)
tree0f830887053c8f352b1cd0c13ca715fd14c1f030 /src/server/log-request.ts
parentImplement remote account resolution (diff)
downloadsharkey-90f8fe7e538bb7e52d2558152a0390e693f39b11.tar.gz
sharkey-90f8fe7e538bb7e52d2558152a0390e693f39b11.tar.bz2
sharkey-90f8fe7e538bb7e52d2558152a0390e693f39b11.zip
Introduce processor
Diffstat (limited to 'src/server/log-request.ts')
-rw-r--r--src/server/log-request.ts21
1 files changed, 21 insertions, 0 deletions
diff --git a/src/server/log-request.ts b/src/server/log-request.ts
new file mode 100644
index 0000000000..e431aa271d
--- /dev/null
+++ b/src/server/log-request.ts
@@ -0,0 +1,21 @@
+import * as crypto from 'crypto';
+import * as express from 'express';
+import * as proxyAddr from 'proxy-addr';
+import Xev from 'xev';
+
+const ev = new Xev();
+
+export default function(req: express.Request) {
+ const ip = proxyAddr(req, () => true);
+
+ const md5 = crypto.createHash('md5');
+ md5.update(ip);
+ const hashedIp = md5.digest('hex').substr(0, 3);
+
+ ev.emit('request', {
+ ip: hashedIp,
+ method: req.method,
+ hostname: req.hostname,
+ path: req.originalUrl
+ });
+}