Thrift
  1. Thrift
  2. THRIFT-1159

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

    Details

    • Type: Bug Bug
    • Status: Closed
    • Priority: Minor Minor
    • Resolution: Fixed
    • Affects Version/s: None
    • Fix Version/s: 0.9
    • Component/s: C# - Library
    • Labels:
    • Environment:

      w2k sp4, .net2

    • Patch Info:
      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

        Issue Links

          Activity

          No work has yet been logged on this issue.

            People

            • Assignee:
              Unassigned
              Reporter:
              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

                  Development