Uploaded image for project: 'Thrift'
  1. Thrift
  2. THRIFT-1159

THttpClient->Flush() issue (connection thru proxy)

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Minor
    • Resolution: Fixed
    • None
    • 0.9
    • C# - Library
    • w2k sp4, .net2

    • Patch Available

    Description

      1) Issue with timeout at the moment of call THttpClient->Flush() when I try to get data thru proxy.
      Prerequestites: clent(c# thrift) before proxy, we resource (in my case http://google.com)
      Code:

       
      class Program {
         static void Main(string[] args) {
      	Uri uri = new Uri("http://google.com");
      	TTransport transport = new THttpClient(uri);
        	transport.Flush();
         }
      }
      

      At the moment of call the method transport.Flush(); just goes to sleep forever (in my app).
      Issue is locates in the: file Transport/THttpClient.cs -> method CreateRequest()
      code:

       
      connection.Proxy = null;
      

      The lib should set state of proxy using some methods like to:
      use default proxy - property WebRequest.DefaultWebProxy from namespace System.Net
      add new property or methods with Proxy object
      probably use a method of declaring an attribute in C# - to write own custom attribute(s) for class THttpClient; it's be able manage state of object inside without usage of some xml config files

      2) Timeout period is not set by default.
      Actually timeout period set to 0
      Code (file Transport/THttpClient.cs):

      private int connectTimeout = 0;
      private int readTimeout = 0;
      

      Need to set value of timeout by default like 15 seconds instead of infinite interval.

      3) HttpWebRequest connection properties sets by default
      Code (file Transport/THttpClient.cs -> method CreateRequest()):

      connection.ContentType = "application/x-thrift";
      connection.Accept = "application/x-thrift";
      connection.UserAgent = "C#/THttpClient";
      connection.Method = "POST";
      connection.ProtocolVersion = HttpVersion.Version10;
      

      But need to have a way to configure it options thru object or class attributes in client code

      Attachments

        1. thrift-1325013-THttpClient.cs-for-1159.patch
          1 kB
          Joshua Samuel
        2. THttpClient.cs
          5 kB
          alex_gs

        Issue Links

          Activity

            People

              Unassigned Unassigned
              ag9 alex_gs
              Votes:
              1 Vote for this issue
              Watchers:
              4 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved:

                Time Tracking

                  Estimated:
                  Original Estimate - 12h
                  12h
                  Remaining:
                  Remaining Estimate - 12h
                  12h
                  Logged:
                  Time Spent - Not Specified
                  Not Specified