anchor.diff:          });
         }
       catch (e) {
  -      request.response.writeln("Err");
  +      request.response.statusCode = 500;
         request.response.writeln(e);
         request.response.close();
       }
  
positive.code: import 'src/analyzer.dart';
  import 'src/compiler.dart';
  
  var logging;// = context.services.logging;
  var memcache;// = context.services.memcache;
  
  var sdkPath = '/usr/lib/dart';
  
  var analyzer = new Analyzer(sdkPath);
  var compiler = new Compiler(sdkPath);
  
  /*
  
  main() {
    runAppEngine((io.HttpRequest request) {
      request.response.writeln("OK");
      request.response.close();
    });
  }
  
  */
  
  main() {
    runAppEngine((io.HttpRequest request) {
  
negative.code:     builder.add(buffer);
    }, onDone: () {
  
      String source = UTF8.decode(builder.toBytes());
      checkCache("%%COMPILE:" +source).then((String r) {
        if (r != null) {
          logging.info("Cache hit for compile");
          request.response.writeln(r);
          request.response.close();
        } else {
          Stopwatch watch = new Stopwatch()..start();
          compiler.compile(source).then((CompilationResults results) {
            if (results.hasOutput) {
              int lineCount = source.split('\n').length;
              int outputSize = (results.getOutput().length + 512) ~/ 1024;
              int ms = watch.elapsedMilliseconds;
              logging.info('Compiled ${lineCount} lines of Dart into '
                  '${outputSize}kb of JavaScript in ${ms}ms.');
              String out = results.getOutput();
              request.response.writeln(out);
              setCache("%%COMPILE:" + source, out);
            }
            request.response.close();
          });
        }
      });
    });
  }
  