anchor.diff:    factory Response (int requestId, Function onData, Function onError,
         Function onDone) {
       Response response = new Response._(requestId);
  -    response._output.stream.listen(onData, onError: onError, onDone: onDone,
  +    response._createListener(onData, onError, onDone);
  +    return response;
  +  }
  +
  +  void _createListener(DataFunction onData, DataFunction onError,
  +      DoneFunction onDone) {
  +    _output.stream.listen((data) {
  +      if (!_headerSent) {
  +        onData(this, "${_header.join("\r\n")}\r\n\r\n");
  +        _headerSent;
  +      }
  +      onData(this, data);
  +    }, onError: (error) {
  +      onError(this, error);
  +    }, onDone: () {
  +      onDone(this);
  +    },
           cancelOnError: false);
  -    return response;
     }
   
     StreamSink<String> get output  => _output;
  
positive.code: 
  import 'package:dart_fpm/src/fcgi/fcgi.dart';
  import 'dart:async';
  
  class Response {
  
    final int requestId;
    ProtocolStatus protocolStatus = ProtocolStatus.REQUEST_COMPLETE;
    int appStatus = 0;
    final Map<String, String> header = new Map();
    final StreamController<String> _output = new StreamController();
  
    Response._(this.requestId);
  
negative.code:     _output.close();
    }
  
    void header(dynamic entry) {
      _header.add(entry.toString());
    }
  
  }