anchor.diff:               <<Data:Start/binary, _:Skip/binary, Rest/binary>> = Buffer,
                C1 = Callback({body, Data}),
                feed_mp(headers, State#mp{callback=C1(body_end), buffer=Rest});
  +        {maybe, 0} ->
  +            % Found a boundary, without an ending newline
  +            case read_more(State) of
  +                State -> throw({error, incomplete_end_boundary});
  +                S1 -> feed_mp(body, S1)
  +            end;
           {maybe, Start} ->
               <<Data:Start/binary, Rest/binary>> = Buffer,
               feed_mp(body, read_more(State#mp{callback=Callback({body, Data}), buffer=Rest}));
  
positive.code:                     {next_boundary, Skip, size(Prefix) + 2};
                  <<_:PrefixSkip/binary, "--\r\n", _/binary>> ->
                      {end_boundary, Skip, size(Prefix) + 4};
                  _ when size(Data) < PrefixSkip + 4 ->
                      %% Underflow
                      {maybe, Skip};
  
negative.code: %% interface functions
  -export([
     recv_parse/1,
     recv_parse/2,
     
     find_boundary/2
  ]).
  
  -include("zotonic.hrl").
  