anchor.diff:    SysUtils, Classes
   
     , MARS.Client.Resource
  -  , MARS.Client.Client
  +  , MARS.Client.Client, MARS.Client.Utils
     ;
   
   type
  
positive.code:   public
      constructor Create(AOwner: TComponent); override;
      destructor Destroy; override;
  
    published
      property Response: TStream read FResponse;
  
negative.code:   Result := FResponse.Size;
  end;
  
  procedure TMARSClientResourceStream.POST(const AStream: TStream;
    const ABeforeExecute: TProc<TMemoryStream>;
    const AAfterExecute: TMARSClientResponseProc;
    const AOnException: TMARSClientExecptionProc);
  begin
    POST(
      procedure (AContent: TMemoryStream)
      begin
        AContent.CopyFrom(AStream, 0);
        AContent.Position := 0;
        if Assigned(ABeforeExecute) then
          ABeforeExecute(AContent);
      end
    , AAfterExecute
    , AOnException
    );
  end;
  
  end.
  