Skip to content

Instantly share code, notes, and snippets.

@klebervirgilio
Last active October 5, 2015 21:57
Show Gist options
  • Save klebervirgilio/509b9498b192e98c80fe to your computer and use it in GitHub Desktop.
Save klebervirgilio/509b9498b192e98c80fe to your computer and use it in GitHub Desktop.
var http = require('http'),
request = require('request');
x = '',
port = process.env.PORT || 8080;
http.createServer(function(req, response) {
http.get({
host: 'query.yahooapis.com',
path: "/v1/public/yql?q=select%20*%20from%20html%20where%20url%3D%27www.google.com%2Ffinance%2Fconverter%3Fa%3D1%26from%3DUSD%26to%3DBRL%27%20and%20xpath%3D%27%2F%2F*%5B%40id%3D" + '"currency_converter_result"' + "%5D%2Fspan%2Ftext()%27&format=json&callback="
}, function(res) {
res.on('data', function(d) { x += d.toString(); });
res.on('end', next);
}).on('error', function(e) {
console.log("Got error: " + e.message);
response.writeHead(408, {'Content-Type': 'text/plain'});
response.end('Timeout bro!');
});
function next() {
var l = JSON.parse(x);
x = '',
result="1 USD = " + l.query.results;
if(req.method === 'GET') {
response.writeHead(200, {'Content-Type': 'text/plain'})
response.end(result);
} else if(req.method === 'POST') {
var payload = {"text": result, "icon_emoji": ":heavy_dollar_sign:", "username": "USD-to-BRL"};
request.post(<CHANNEL_URI>).form({payload: JSON.stringify(payload)});
response.end();
}
}
}).listen(port);
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment