Skip to content

Instantly share code, notes, and snippets.

@munificent
Created September 5, 2012 22:54
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 2 You must be signed in to fork a gist
  • Save munificent/3646884 to your computer and use it in GitHub Desktop.
Save munificent/3646884 to your computer and use it in GitHub Desktop.
Awesome Dart web server
#import('dart:io');
#import('dart:isolate');
void main() {
var type = 'fast';
var args = new Options().arguments;
if (args.length > 0) {
type = args[0];
}
print('starting server type $type');
var server = new HttpServer();
server.defaultRequestHandler = (request, response) {
print('got request');
switch (type) {
case 'fast':
response.outputStream.writeString('Okey dokey');
response.outputStream.close();
break;
case 'slow':
var i = 0;
new Timer.repeating(1000, (_) {
response.outputStream.writeString('drip ${i++}\n');
});
break;
case '404':
response.statusCode = 404;
response.reasonPhrase = "Couldn't find it, dude.";
break;
}
};
server.listen('127.0.0.1', 8080);
print('listening on port ${server.port}');
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment