Add access log widget

This commit is contained in:
syuilo
2017-11-13 19:58:29 +09:00
parent bc9a8283c6
commit 0a994e5b98
12 changed files with 181 additions and 0 deletions

View File

@@ -0,0 +1,19 @@
import * as websocket from 'websocket';
import Xev from 'xev';
const ev = new Xev();
export default function homeStream(request: websocket.request, connection: websocket.connection): void {
const onRequest = request => {
connection.send(JSON.stringify({
type: 'request',
body: request
}));
};
ev.addListener('request', onRequest);
connection.on('close', () => {
ev.removeListener('request', onRequest);
});
}

View File

@@ -9,6 +9,7 @@ import isNativeToken from './common/is-native-token';
import homeStream from './stream/home';
import messagingStream from './stream/messaging';
import serverStream from './stream/server';
import requestsStream from './stream/requests';
import channelStream from './stream/channel';
module.exports = (server: http.Server) => {
@@ -27,6 +28,11 @@ module.exports = (server: http.Server) => {
return;
}
if (request.resourceURL.pathname === '/requests') {
requestsStream(request, connection);
return;
}
// Connect to Redis
const subscriber = redis.createClient(
config.redis.port, config.redis.host);