anchor.diff:    {ok, Data, P2} = read_chunk(Port, Pipe),
     io:format("~p~n", [Data]),
     gen_tcp:send(Sock, Data),
  -  case pipe:size(P2) =:= 0 andalso Data =:= <<"0000">> of
  +  case pipe:size(P2) =:= 0 andalso (Data =:= <<"0000">> orelse Data =:= <<"0008NAK\n">>) of
       true  -> done;
       false -> stream_out(Port, Sock, P2)
     end.
  
positive.code:     Msg ->
        error_logger:error_msg("unknown message ~p~n", [Msg]),
        {error, Msg}
      after 15000 ->
        error_logger:error_msg("timed out waiting for port~n"),
        {error, timeout}
    end.
    
  log_request(Request, Host, Path) ->
  
negative.code: % Send a response to the client
  send_response_to_client(RequestPipe, ResponsePipe, Port, Sock, Host, Path) ->
    io:format("send response~n"),
    try
      stream_out(Port, Sock, ResponsePipe),
      get_request_from_client(RequestPipe, ResponsePipe, Port, Sock, Host, Path)
    catch
      throw:{error, timeout} ->
        get_request_from_client(RequestPipe, ResponsePipe, Port, Sock, Host, Path)
    end.
  
  % Read a request from a client
  get_request_from_client(RequestPipe, ResponsePipe, Port, Sock, Host, Path) ->
  