anchor.diff:  
         if E.ErrorCode = 404 then
           exit;
  -     (*
  -      retryMode := hrmRaise;
  -      if assigned(OnError) then
  -        OnError(e.Message, e.ErrorMessage, e.ErrorCode, retryMode);
  -      if retryMode = hrmRaise then
  -        raise EHTTPError.Create(e.Message, e.ErrorMessage, e.ErrorCode)
  -      else if retryMode = hrmRetry then
  -        Post(AUrl, AContent, AResponse);
  -        *)
  +
       end;
       on E: EIdSocketError do
       begin
  
positive.code:       fsErrorMessage := E.Message;
  
        FIdHttp.Disconnect;
        (*
        retryMode := hrmRaise;
        if assigned(OnConnectionLost) then
          OnConnectionLost(e, retryMode);
        if retryMode = hrmRaise then
          raise
        else if retryMode = hrmRetry then
          Post(AUrl, AContent, AResponse);
          *)
      end;
    end;
  end;
  
negative.code: end;
  
  
  procedure TAmazonRESTClient.Post(aUrl: string; aRequest: UTF8String; var aResponse: UTF8String);
  Var
    FSource,
    FResponseContent: TStringStream;
  begin
  
    try
      FSource := TStringStream.Create(aRequest);
      FSource.Position := 0;
  
      FResponseContent := TStringStream.Create;
  
      FIdHttp.Request.ContentType := Content_type;
  
      FIdHttp.DoPost(AUrl, FSource, FResponseContent);
  
      aResponse := FResponseContent.DataString;
  
      FResponseContent.Free;
      FSource.Free;
  
    except
      on E: EIdHTTPProtocolException do
  