anchor.diff:  begin
     Close;
     inherited;
  +end;
  +
  +function THTTPClientImpl.GetDnsResolveTimeout: Integer;
  +begin
  +  Result := FDnsResolveTimeout;
  +end;
  +
  +procedure THTTPClientImpl.SetDnsResolveTimeout(const Value: Integer);
  +begin
  +  FDnsResolveTimeout := Value;
  +end;
  +
  +function THTTPClientImpl.GetConnectionTimeout: Integer;
  +begin
  +  Result := FConnectionTimeout;
  +end;
  +
  +procedure THTTPClientImpl.SetConnectionTimeout(const Value: Integer);
  +begin
  +  FConnectionTimeout := Value;
  +end;
  +
  +function THTTPClientImpl.GetSendTimeout: Integer;
  +begin
  +  Result := FSendTimeout;
  +end;
  +
  +procedure THTTPClientImpl.SetSendTimeout(const Value: Integer);
  +begin
  +  FSendTimeout := Value;
  +end;
  +
  +function THTTPClientImpl.GetReadTimeout: Integer;
  +begin
  +  Result := FReadTimeout;
  +end;
  +
  +procedure THTTPClientImpl.SetReadTimeout(const Value: Integer);
  +begin
  +  FReadTimeout := Value;
  +end;
  +
  +function THTTPClientImpl.GetCustomHeaders: IThriftDictionary<string,string>;
  +begin
  +  Result := FCustomHeaders;
  +end;
  +
  +function THTTPClientImpl.GetIsOpen: Boolean;
  +begin
  +  Result := True;
  +end;
  +
  +procedure THTTPClientImpl.Open;
  +begin
  +  FOutputStream := TThriftStreamAdapterDelphi.Create( TMemoryStream.Create, True);
  +end;
  +
  +procedure THTTPClientImpl.Close;
  +begin
  +  FInputStream := nil;
  +  FOutputStream := nil;
   end;
   
   procedure THTTPClientImpl.Flush;
  
positive.code:   TTransportExceptionInterrupted = class (TTransportExceptionSpecialized);
  
    IHTTPClient = interface( ITransport )
      ['{0F5DB8AB-710D-4338-AAC9-46B5734C5057}']
      procedure SetConnectionTimeout(const Value: Integer);
      function GetConnectionTimeout: Integer;
      procedure SetReadTimeout(const Value: Integer);
      function GetReadTimeout: Integer;
      function GetCustomHeaders: IThriftDictionary<string,string>;
      procedure SendRequest;
      property ConnectionTimeout: Integer read GetConnectionTimeout write SetConnectionTimeout;
      property ReadTimeout: Integer read GetReadTimeout write SetReadTimeout;
      property CustomHeaders: IThriftDictionary<string,string> read GetCustomHeaders;
    end;
  
negative.code: function THTTPClientImpl.CreateRequest: IXMLHTTPRequest;
  var
    pair : TPair<string,string>;
    srvHttp : IServerXMLHTTPRequest;
  begin
    {$IF CompilerVersion >= 21.0}
    Result := CoServerXMLHTTP.Create;
    {$ELSE}
    Result := CoXMLHTTPRequest.Create;
    {$IFEND}
  
    // setting a timeout value to 0 (zero) means "no timeout" for that setting
    if Supports( result, IServerXMLHTTPRequest, srvHttp)
    then srvHttp.setTimeouts( DnsResolveTimeout, ConnectionTimeout, SendTimeout, ReadTimeout);
  
    Result.open('POST', FUri, False, '', '');
    Result.setRequestHeader( 'Content-Type', 'application/x-thrift');
  