<commit_before>'use strict';

var TUTUM_USER = process.env.TUTUM_USER || '';
var TUTUM_API_KEY = process.env.TUTUM_API_KEY || '';

var HIPCHAT_ROOM = process.env.HIPCHAT_ROOM || '';
var HIPCHAT_API_KEY = process.env.HIPCHAT_API_KEY || '';

var TUTUM_HTTP_API = 'https://dashboard.tutum.co';
var TUTUM_STREAM_API = 'wss://stream.tutum.co/v1/events';

var WebSocket = require('faye-websocket');
var HipChatClient = require('hipchat-client');
var hipchat = new HipChatClient(HIPCHAT_API_KEY);
var request = require('request-json');
var client = request.createClient();

var sendDefaultMessage = function(msg) {

    client.get(TUTUM_HTTP_API + msg.resource_uri, function (error, response, body) {

        var obj = {
            'type': msg.type,
            'state': msg.state,
            'container': body.name
        };
        sendMessage(JSON.stringify(obj));
    });
};

var sendContainerMessage = function(msg) {

    client.get(TUTUM_HTTP_API + msg.resource_uri, function (error, response, body) {

        var container = body;
        var obj = {
            'type': msg.type,
            'state': msg.state,
            'container': body.name
        };
        sendMessage(JSON.stringify(container));
    });

};

var sendServiceMessage = function(msg) {

    sendMessage(JSON.stringify(msg));
};

var sendStackMessage = function(msg) {

    sendMessage(JSON.stringify(msg));
};

var sendNodeClusterkMessage = function(msg) {

    sendMessage(JSON.stringify(msg));
};

var sendNodeMessage = function(msg) {

    sendMessage(JSON.stringify(msg));
};

var sendActionMessage = function(msg) {

    sendMessage(JSON.stringify(msg));
};

var sendErrorMessage = function(msg) {

    sendMessage(JSON.stringify(msg));
};

var sendMessage = function(message){
    hipchat.api.rooms.message({
        room_id: HIPCHAT_ROOM,
        from: 'Tutum Stream',
        color: 'gray',
        message: message
    }, function (err, res) {
        if (err) { throw err; }
        console.log(res);
    });
};

var ws = new WebSocket.Client(TUTUM_STREAM_API, null, {
    headers: {
        'Authorization': 'Basic ' + new Buffer(TUTUM_USER + ':' + TUTUM_API_KEY).toString('base64')
    }
});

ws.on('open', function(event) {
    console.log('Stream open');
});

ws.on('message', function(event) {
    var msg = JSON.parse(event.data);
    console.log(msg);

    if (msg.type == 'container') {
        sendDefaultMessage(msg);
    }
    else if (msg.type == 'service') {
        sendDefaultMessage(msg);
    }
    else if (msg.type == 'stack') {
        sendDefaultMessage(msg);
    }
    else if (msg.type == 'nodecluster') {
        sendDefaultMessage(msg);
    }
    else if (msg.type == 'node') {
        sendNodeMessage(msg);
    }
    else if (msg.type == 'action') {
        // skip action messages
        // sendActionMessage(msg);
    }
    else if (msg.type == 'error') {
        sendErrorMessage(msg);
    }
    else {
        sendMessage(JSON.stringify(msg));<commit_msg>Send Action events<commit_after>'use strict';

var TUTUM_USER = process.env.TUTUM_USER || '';
var TUTUM_API_KEY = process.env.TUTUM_API_KEY || '';

var HIPCHAT_ROOM = process.env.HIPCHAT_ROOM || '';
var HIPCHAT_API_KEY = process.env.HIPCHAT_API_KEY || '';

var TUTUM_HTTP_API = 'https://dashboard.tutum.co';
var TUTUM_STREAM_API = 'wss://stream.tutum.co/v1/events';

var WebSocket = require('faye-websocket');
var HipChatClient = require('hipchat-client');
var hipchat = new HipChatClient(HIPCHAT_API_KEY);
var request = require('request-json');
var client = request.createClient();

var sendDefaultMessage = function(msg) {

    client.get(TUTUM_HTTP_API + msg.resource_uri, function (error, response, body) {

        var obj = {
            'type': msg.type,
            'state': msg.state,
            'name': body.name
        };
        sendMessage(JSON.stringify(obj));
    });
};

var sendContainerMessage = function(msg) {

    client.get(TUTUM_HTTP_API + msg.resource_uri, function (error, response, body) {

        var container = body;
        var obj = {
            'type': msg.type,
            'state': msg.state,
            'name': body.name
        };
        sendMessage(JSON.stringify(container));
    });

};

var sendServiceMessage = function(msg) {

    sendMessage(JSON.stringify(msg));
};

var sendStackMessage = function(msg) {

    sendMessage(JSON.stringify(msg));
};

var sendNodeClusterkMessage = function(msg) {

    sendMessage(JSON.stringify(msg));
};

var sendNodeMessage = function(msg) {

    sendMessage(JSON.stringify(msg));
};

var sendActionMessage = function(msg) {

    client.get(TUTUM_HTTP_API + msg.resource_uri, function (error, response, body) {

        var obj = {
            'type': msg.type,
            'state': body.state,
            'action': body.action
        };
        sendMessage(JSON.stringify(obj));
    });
};

var sendErrorMessage = function(msg) {

    sendMessage(JSON.stringify(msg));
};

var sendMessage = function(message){
    hipchat.api.rooms.message({
        room_id: HIPCHAT_ROOM,
        from: 'Tutum Stream',
        color: 'gray',
        message: message
    }, function (err, res) {
        if (err) { throw err; }
        console.log(res);
    });
};

var ws = new WebSocket.Client(TUTUM_STREAM_API, null, {
    headers: {
        'Authorization': 'Basic ' + new Buffer(TUTUM_USER + ':' + TUTUM_API_KEY).toString('base64')
    }
});

ws.on('open', function(event) {
    console.log('Stream open');
});

ws.on('message', function(event) {
    var msg = JSON.parse(event.data);
    console.log(msg);

    if (msg.type == 'container') {
        sendDefaultMessage(msg);
    }
    else if (msg.type == 'service') {
        sendDefaultMessage(msg);
    }
    else if (msg.type == 'stack') {
        sendDefaultMessage(msg);
    }
    else if (msg.type == 'nodecluster') {
        sendDefaultMessage(msg);
    }
    else if (msg.type == 'node') {
        sendNodeMessage(msg);
    }
    else if (msg.type == 'action') {
        sendActionMessage(msg);
    }
    else if (msg.type == 'error') {
        sendErrorMessage(msg);
    }
    else {
        sendMessage(JSON.stringify(msg));
{'fraction_non_alphanumeric': 0.15037471489084392, 'fraction_numerical': 0.0009775171065493646, 'mean_word_length': 2.8464912280701755, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 3, 'https://': 2, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '1809839', 'n_tokens_mistral': 2028, 'n_tokens_neox': 1997, 'n_words': 372}