anchor.diff:  
   Logger _libLogger = new Logger("dart_fpm");
   
  -//only for testing!!!
  -int counter = 0;
  -
   main() async {
     hierarchicalLoggingEnabled = true;
     Logger.root.level = Level.ALL;
  
positive.code: 
    Logger.root.onRecord.listen(new LogPrintHandler());
  
    ServerSocket serverSocket = await ServerSocket.bind(InternetAddress.LOOPBACK_IP_V4, 9999);
  
  
    await for (var socket in serverSocket) {
  
negative.code:         .transform(new FcgiRecordTransformer())
          .listen((FcgiRecord record) {
        //TODO: implement record handling
        _libLogger.info("-> $record");
  
        if (record.header.type == FcgiRecordType.BEGIN_REQUEST) {
          FcgiBeginRequestBody body = record.body;
          keepAlive = body.keepAlive;
        }
  
        if (record.header.type == FcgiRecordType.STDIN && record.body.contentLength == 0) {
          FcgiRecord response;
  
          //IMPORTANT: SEND CONTENT TYPE OF RETURN FIRST!!!
          response = new FcgiRecord.generateResponse(record.header.requestId,
              new FcgiStreamBody.fromString(FcgiRecordType.STDOUT,
                  '''Content-Type: text/html; encoding=utf-8
  
  <!DOCTYPE html>
    <html>
    <body>
  
    <h1>My First Heading</h1>
  
    <p>My first paragraph.</p>
  
    </body>
    </html>
  
  
                    '''
              ));
  
          socketAdd(socket, response);
  
          //IMPORTANT: TERMINATE STREAMS WITH EMPTY RECORD
          response = new FcgiRecord.generateResponse(record.header.requestId,
              new FcgiStreamBody.empty(FcgiRecordType.STDOUT));
  
          socketAdd(socket, response);
  
          response = new FcgiRecord.generateResponse(record.header.requestId,
              new FcgiEndRequestBody(0, FcgiProtocolStatus.REQUEST_COMPLETE));
  
          socketAdd(socket, response);
          if (!keepAlive) {
            socket.close();
          }
        }
  
      }, onError: (data) {
        //TODO: check if stream is already closed (SocketException)
  