Skip to content

Instantly share code, notes, and snippets.

@ivarvong
Created August 10, 2010 20:32
Show Gist options
  • Save ivarvong/517939 to your computer and use it in GitHub Desktop.
Save ivarvong/517939 to your computer and use it in GitHub Desktop.
var sys = require('sys');
var fs = require('fs');
var connect = require('./connect/lib/connect');
var http = require('http');
function getDirections(data, callback) {
requestStr = "/m/directions?dirflg=r&saddr=" + escape(data.from) + "&daddr=" + escape(data.to);
var client = http.createClient(80, 'www.google.com');
var request = client.request('GET', requestStr, {'host': 'www.google.com'});
request.end();
var responseBody = "";
request.on('response', function (response) {
response.setEncoding('utf8');
response.on('data', function (chunk) {
responseBody += chunk;
});
response.on('end', function() {
var routesRE = new RegExp('<div class="c"[^>]*>(.*?)<\/div>', 'g');
var testRE = new RegExp('div', 'g');
callback({ firstRE: responseBody.match(routesRE),
test: responseBody.match(testRE),
debug: "debug message",
rawHTML: responseBody });
});
});
}
function main(app) {
app.get('/', function(req, res){
res.writeHead(200, { 'Content-Type': 'text/html' });
getDirections({
to:'wow hall, eugene, or',
from:'13th and university, eugene, or'
}, function(data) {
res.write( JSON.stringify( data ) );
console.log( sys.inspect( data ) )
res.end('blam');
});
});
}
var server = connect.createServer(
connect.logger(),
connect.bodyDecoder(),
connect.router(main),
connect.errorHandler({ dumpExceptions: true, showStack: true })
).listen(8004);
console.log('Connect server listening on port 8004');
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment