You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@thrift.apache.org by "Jérémie BORDIER (JIRA)" <ji...@apache.org> on 2009/01/05 10:17:44 UTC

[jira] Created: (THRIFT-247) THttpServer Transport

THttpServer Transport
---------------------

                 Key: THRIFT-247
                 URL: https://issues.apache.org/jira/browse/THRIFT-247
             Project: Thrift
          Issue Type: Improvement
          Components: Library (C++)
            Reporter: Jérémie BORDIER
            Priority: Minor


Here is a first working version of the THttpServer transport for the C++ library.
It was inspired by Mark Slee's THttpClient which i splitted into an interface, THttpTransport and two transport implementations, THttpClient and THttpServer. Tested with TJsonProtocol (the fixed revision available in THRIFT-244) and TBinaryProtocol in the tutorial example, works like a charm.

The code is available in the attached patch, and in the gitweb tree in refs/pri/jbordier/cleaning_protocols, or also in github: http://github.com/ahfeel/thrift/tree/master

It only supports POST requests yet, and i'm working in adding a ?callback=some_js_callback support to the URI to have JsonP protocol support.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Commented: (THRIFT-247) THttpServer Transport

Posted by "Roger Meier (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/THRIFT-247?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12893347#action_12893347 ] 

Roger Meier commented on THRIFT-247:
------------------------------------

I currently use lighttpd with mod_proxy, apache with proxy_http is another setup i use for testing purposes.

However, FastCGI Transport would be my favorite for a C++ Server Side Implementation of Thrift HTTP Transport.

> THttpServer Transport
> ---------------------
>
>                 Key: THRIFT-247
>                 URL: https://issues.apache.org/jira/browse/THRIFT-247
>             Project: Thrift
>          Issue Type: Improvement
>          Components: Library (C++)
>            Reporter: Jérémie BORDIER
>            Priority: Minor
>         Attachments: THRIFT-247_THttpServer.patch, THRIFT-247_THttpServer.v2.patch, THRIFT-247_THttpServer.v3.patch
>
>
> Here is a first working version of the THttpServer transport for the C++ library.
> It was inspired by Mark Slee's THttpClient which i splitted into an interface, THttpTransport and two transport implementations, THttpClient and THttpServer. Tested with TJsonProtocol (the fixed revision available in THRIFT-244) and TBinaryProtocol in the tutorial example, works like a charm.
> The code is available in the attached patch, and in the gitweb tree in refs/pri/jbordier/cleaning_protocols, or also in github: http://github.com/ahfeel/thrift/tree/master
> It only supports POST requests yet, and i'm working in adding a ?callback=some_js_callback support to the URI to have JsonP protocol support.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Updated: (THRIFT-247) THttpServer Transport

Posted by "Roger Meier (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/THRIFT-247?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Roger Meier updated THRIFT-247:
-------------------------------

    Attachment: THRIFT-247_THttpServer.v4.patch

patch v4

- printf comment removed
- OK instead of Ok according to http://www.ietf.org/rfc/rfc2616.txt


> THttpServer Transport
> ---------------------
>
>                 Key: THRIFT-247
>                 URL: https://issues.apache.org/jira/browse/THRIFT-247
>             Project: Thrift
>          Issue Type: Improvement
>          Components: Library (C++)
>            Reporter: Jérémie BORDIER
>            Priority: Minor
>         Attachments: THRIFT-247_THttpServer.patch, THRIFT-247_THttpServer.v2.patch, THRIFT-247_THttpServer.v3.patch, THRIFT-247_THttpServer.v4.patch
>
>
> Here is a first working version of the THttpServer transport for the C++ library.
> It was inspired by Mark Slee's THttpClient which i splitted into an interface, THttpTransport and two transport implementations, THttpClient and THttpServer. Tested with TJsonProtocol (the fixed revision available in THRIFT-244) and TBinaryProtocol in the tutorial example, works like a charm.
> The code is available in the attached patch, and in the gitweb tree in refs/pri/jbordier/cleaning_protocols, or also in github: http://github.com/ahfeel/thrift/tree/master
> It only supports POST requests yet, and i'm working in adding a ?callback=some_js_callback support to the URI to have JsonP protocol support.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Resolved: (THRIFT-247) THttpServer Transport

Posted by "David Reiss (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/THRIFT-247?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

David Reiss resolved THRIFT-247.
--------------------------------

    Fix Version/s: 0.4
       Resolution: Fixed

> THttpServer Transport
> ---------------------
>
>                 Key: THRIFT-247
>                 URL: https://issues.apache.org/jira/browse/THRIFT-247
>             Project: Thrift
>          Issue Type: Improvement
>          Components: Library (C++)
>            Reporter: Jérémie BORDIER
>            Priority: Minor
>             Fix For: 0.4
>
>         Attachments: THRIFT-247_THttpServer.patch, THRIFT-247_THttpServer.v2.patch, THRIFT-247_THttpServer.v3.patch, THRIFT-247_THttpServer.v4.patch
>
>
> Here is a first working version of the THttpServer transport for the C++ library.
> It was inspired by Mark Slee's THttpClient which i splitted into an interface, THttpTransport and two transport implementations, THttpClient and THttpServer. Tested with TJsonProtocol (the fixed revision available in THRIFT-244) and TBinaryProtocol in the tutorial example, works like a charm.
> The code is available in the attached patch, and in the gitweb tree in refs/pri/jbordier/cleaning_protocols, or also in github: http://github.com/ahfeel/thrift/tree/master
> It only supports POST requests yet, and i'm working in adding a ?callback=some_js_callback support to the URI to have JsonP protocol support.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Commented: (THRIFT-247) THttpServer Transport

Posted by "Roger Meier (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/THRIFT-247?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12897989#action_12897989 ] 

Roger Meier commented on THRIFT-247:
------------------------------------

Is there still an issue with that updated patch v4?

I want to implement a FastCGI variant in the future, but currently this is all I have for my embedded device.



> THttpServer Transport
> ---------------------
>
>                 Key: THRIFT-247
>                 URL: https://issues.apache.org/jira/browse/THRIFT-247
>             Project: Thrift
>          Issue Type: Improvement
>          Components: Library (C++)
>            Reporter: Jérémie BORDIER
>            Priority: Minor
>         Attachments: THRIFT-247_THttpServer.patch, THRIFT-247_THttpServer.v2.patch, THRIFT-247_THttpServer.v3.patch, THRIFT-247_THttpServer.v4.patch
>
>
> Here is a first working version of the THttpServer transport for the C++ library.
> It was inspired by Mark Slee's THttpClient which i splitted into an interface, THttpTransport and two transport implementations, THttpClient and THttpServer. Tested with TJsonProtocol (the fixed revision available in THRIFT-244) and TBinaryProtocol in the tutorial example, works like a charm.
> The code is available in the attached patch, and in the gitweb tree in refs/pri/jbordier/cleaning_protocols, or also in github: http://github.com/ahfeel/thrift/tree/master
> It only supports POST requests yet, and i'm working in adding a ?callback=some_js_callback support to the URI to have JsonP protocol support.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Commented: (THRIFT-247) THttpServer Transport

Posted by "Jérémie BORDIER (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/THRIFT-247?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12661346#action_12661346 ] 

Jérémie BORDIER commented on THRIFT-247:
----------------------------------------

Thanks for the tip Jake. I had a look at your example and to the libevent documentation, but i don't think we would benefit from integrating their server (would be quite hard to get it fitting into the thrift abstraction model). However, they provide functions for parsing arguments and stuff that could maybe be usefull in future versions of THttpServer, maybe for a GET request capable transport.

> THttpServer Transport
> ---------------------
>
>                 Key: THRIFT-247
>                 URL: https://issues.apache.org/jira/browse/THRIFT-247
>             Project: Thrift
>          Issue Type: Improvement
>          Components: Library (C++)
>            Reporter: Jérémie BORDIER
>            Priority: Minor
>         Attachments: THRIFT-247_THttpServer.patch
>
>
> Here is a first working version of the THttpServer transport for the C++ library.
> It was inspired by Mark Slee's THttpClient which i splitted into an interface, THttpTransport and two transport implementations, THttpClient and THttpServer. Tested with TJsonProtocol (the fixed revision available in THRIFT-244) and TBinaryProtocol in the tutorial example, works like a charm.
> The code is available in the attached patch, and in the gitweb tree in refs/pri/jbordier/cleaning_protocols, or also in github: http://github.com/ahfeel/thrift/tree/master
> It only supports POST requests yet, and i'm working in adding a ?callback=some_js_callback support to the URI to have JsonP protocol support.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Commented: (THRIFT-247) THttpServer Transport

Posted by "David Reiss (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/THRIFT-247?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12893279#action_12893279 ] 

David Reiss commented on THRIFT-247:
------------------------------------

It's probably fine, but I'd prefer to integrate with a real HTTP server if I were going to use this in production.  There's a stray printf comment, and I think "200 OK" is more common than "200 Ok"

> THttpServer Transport
> ---------------------
>
>                 Key: THRIFT-247
>                 URL: https://issues.apache.org/jira/browse/THRIFT-247
>             Project: Thrift
>          Issue Type: Improvement
>          Components: Library (C++)
>            Reporter: Jérémie BORDIER
>            Priority: Minor
>         Attachments: THRIFT-247_THttpServer.patch, THRIFT-247_THttpServer.v2.patch, THRIFT-247_THttpServer.v3.patch
>
>
> Here is a first working version of the THttpServer transport for the C++ library.
> It was inspired by Mark Slee's THttpClient which i splitted into an interface, THttpTransport and two transport implementations, THttpClient and THttpServer. Tested with TJsonProtocol (the fixed revision available in THRIFT-244) and TBinaryProtocol in the tutorial example, works like a charm.
> The code is available in the attached patch, and in the gitweb tree in refs/pri/jbordier/cleaning_protocols, or also in github: http://github.com/ahfeel/thrift/tree/master
> It only supports POST requests yet, and i'm working in adding a ?callback=some_js_callback support to the URI to have JsonP protocol support.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Commented: (THRIFT-247) THttpServer Transport

Posted by "Roger Meier (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/THRIFT-247?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12898031#action_12898031 ] 

Roger Meier commented on THRIFT-247:
------------------------------------

The following Files are not available within subversion.
* src/transport/THttpTransport.cpp
* src/transport/THttpServer.cpp
* src/transport/THttpTransport.h
* src/transport/THttpServer.h

These files should be added via that patch as well otherwise it breaks the THttpClient

I'm sorry if there was something wrong with the provided patch...

> THttpServer Transport
> ---------------------
>
>                 Key: THRIFT-247
>                 URL: https://issues.apache.org/jira/browse/THRIFT-247
>             Project: Thrift
>          Issue Type: Improvement
>          Components: Library (C++)
>            Reporter: Jérémie BORDIER
>            Priority: Minor
>             Fix For: 0.4
>
>         Attachments: THRIFT-247_THttpServer.patch, THRIFT-247_THttpServer.v2.patch, THRIFT-247_THttpServer.v3.patch, THRIFT-247_THttpServer.v4.patch
>
>
> Here is a first working version of the THttpServer transport for the C++ library.
> It was inspired by Mark Slee's THttpClient which i splitted into an interface, THttpTransport and two transport implementations, THttpClient and THttpServer. Tested with TJsonProtocol (the fixed revision available in THRIFT-244) and TBinaryProtocol in the tutorial example, works like a charm.
> The code is available in the attached patch, and in the gitweb tree in refs/pri/jbordier/cleaning_protocols, or also in github: http://github.com/ahfeel/thrift/tree/master
> It only supports POST requests yet, and i'm working in adding a ?callback=some_js_callback support to the URI to have JsonP protocol support.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Commented: (THRIFT-247) THttpServer Transport

Posted by "Bryan Duxbury (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/THRIFT-247?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12893274#action_12893274 ] 

Bryan Duxbury commented on THRIFT-247:
--------------------------------------

Any C++ folks want to take a look at this?

> THttpServer Transport
> ---------------------
>
>                 Key: THRIFT-247
>                 URL: https://issues.apache.org/jira/browse/THRIFT-247
>             Project: Thrift
>          Issue Type: Improvement
>          Components: Library (C++)
>            Reporter: Jérémie BORDIER
>            Priority: Minor
>         Attachments: THRIFT-247_THttpServer.patch, THRIFT-247_THttpServer.v2.patch, THRIFT-247_THttpServer.v3.patch
>
>
> Here is a first working version of the THttpServer transport for the C++ library.
> It was inspired by Mark Slee's THttpClient which i splitted into an interface, THttpTransport and two transport implementations, THttpClient and THttpServer. Tested with TJsonProtocol (the fixed revision available in THRIFT-244) and TBinaryProtocol in the tutorial example, works like a charm.
> The code is available in the attached patch, and in the gitweb tree in refs/pri/jbordier/cleaning_protocols, or also in github: http://github.com/ahfeel/thrift/tree/master
> It only supports POST requests yet, and i'm working in adding a ?callback=some_js_callback support to the URI to have JsonP protocol support.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Updated: (THRIFT-247) THttpServer Transport

Posted by "Roger Meier (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/THRIFT-247?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Roger Meier updated THRIFT-247:
-------------------------------

    Attachment: THRIFT-247_THttpServer.v3.patch

I like that patch!

I did several tests with the tutorial.thrift using JSON and Binary protocol.
The new class THttpTransport is a good idea.

I did the following changes on the v2 patch:
- added Thrift version information to the HTTP headers via VERSION define
- add the original THttpClient Constructor again, for compatibility
- add correct Apache license headers
- @author tags removed

The patch is against:
Repository Root: http://svn.apache.org/repos/asf
Repository UUID: 13f79535-47bb-0310-9956-ffa450edef68
Revision: 950930

Thanks

Roger

> THttpServer Transport
> ---------------------
>
>                 Key: THRIFT-247
>                 URL: https://issues.apache.org/jira/browse/THRIFT-247
>             Project: Thrift
>          Issue Type: Improvement
>          Components: Library (C++)
>            Reporter: Jérémie BORDIER
>            Priority: Minor
>         Attachments: THRIFT-247_THttpServer.patch, THRIFT-247_THttpServer.v2.patch, THRIFT-247_THttpServer.v3.patch
>
>
> Here is a first working version of the THttpServer transport for the C++ library.
> It was inspired by Mark Slee's THttpClient which i splitted into an interface, THttpTransport and two transport implementations, THttpClient and THttpServer. Tested with TJsonProtocol (the fixed revision available in THRIFT-244) and TBinaryProtocol in the tutorial example, works like a charm.
> The code is available in the attached patch, and in the gitweb tree in refs/pri/jbordier/cleaning_protocols, or also in github: http://github.com/ahfeel/thrift/tree/master
> It only supports POST requests yet, and i'm working in adding a ?callback=some_js_callback support to the URI to have JsonP protocol support.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Commented: (THRIFT-247) THttpServer Transport

Posted by "Roger Meier (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/THRIFT-247?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12898367#action_12898367 ] 

Roger Meier commented on THRIFT-247:
------------------------------------

Up and running! Thanks!

> THttpServer Transport
> ---------------------
>
>                 Key: THRIFT-247
>                 URL: https://issues.apache.org/jira/browse/THRIFT-247
>             Project: Thrift
>          Issue Type: Improvement
>          Components: Library (C++)
>            Reporter: Jérémie BORDIER
>            Priority: Minor
>             Fix For: 0.4
>
>         Attachments: THRIFT-247_THttpServer.patch, THRIFT-247_THttpServer.v2.patch, THRIFT-247_THttpServer.v3.patch, THRIFT-247_THttpServer.v4.patch
>
>
> Here is a first working version of the THttpServer transport for the C++ library.
> It was inspired by Mark Slee's THttpClient which i splitted into an interface, THttpTransport and two transport implementations, THttpClient and THttpServer. Tested with TJsonProtocol (the fixed revision available in THRIFT-244) and TBinaryProtocol in the tutorial example, works like a charm.
> The code is available in the attached patch, and in the gitweb tree in refs/pri/jbordier/cleaning_protocols, or also in github: http://github.com/ahfeel/thrift/tree/master
> It only supports POST requests yet, and i'm working in adding a ?callback=some_js_callback support to the URI to have JsonP protocol support.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Updated: (THRIFT-247) THttpServer Transport

Posted by "Jérémie BORDIER (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/THRIFT-247?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Jérémie BORDIER updated THRIFT-247:
-----------------------------------

    Attachment: THRIFT-247_THttpServer.v2.patch

Updated to new apache::thrift namespace. Still awaiting reviews by the way !

> THttpServer Transport
> ---------------------
>
>                 Key: THRIFT-247
>                 URL: https://issues.apache.org/jira/browse/THRIFT-247
>             Project: Thrift
>          Issue Type: Improvement
>          Components: Library (C++)
>            Reporter: Jérémie BORDIER
>            Priority: Minor
>         Attachments: THRIFT-247_THttpServer.patch, THRIFT-247_THttpServer.v2.patch
>
>
> Here is a first working version of the THttpServer transport for the C++ library.
> It was inspired by Mark Slee's THttpClient which i splitted into an interface, THttpTransport and two transport implementations, THttpClient and THttpServer. Tested with TJsonProtocol (the fixed revision available in THRIFT-244) and TBinaryProtocol in the tutorial example, works like a charm.
> The code is available in the attached patch, and in the gitweb tree in refs/pri/jbordier/cleaning_protocols, or also in github: http://github.com/ahfeel/thrift/tree/master
> It only supports POST requests yet, and i'm working in adding a ?callback=some_js_callback support to the URI to have JsonP protocol support.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Updated: (THRIFT-247) THttpServer Transport

Posted by "Jérémie BORDIER (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/THRIFT-247?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Jérémie BORDIER updated THRIFT-247:
-----------------------------------

    Attachment: THRIFT-247_THttpServer.patch

Patch for THttpServer transport support.

> THttpServer Transport
> ---------------------
>
>                 Key: THRIFT-247
>                 URL: https://issues.apache.org/jira/browse/THRIFT-247
>             Project: Thrift
>          Issue Type: Improvement
>          Components: Library (C++)
>            Reporter: Jérémie BORDIER
>            Priority: Minor
>         Attachments: THRIFT-247_THttpServer.patch
>
>
> Here is a first working version of the THttpServer transport for the C++ library.
> It was inspired by Mark Slee's THttpClient which i splitted into an interface, THttpTransport and two transport implementations, THttpClient and THttpServer. Tested with TJsonProtocol (the fixed revision available in THRIFT-244) and TBinaryProtocol in the tutorial example, works like a charm.
> The code is available in the attached patch, and in the gitweb tree in refs/pri/jbordier/cleaning_protocols, or also in github: http://github.com/ahfeel/thrift/tree/master
> It only supports POST requests yet, and i'm working in adding a ?callback=some_js_callback support to the URI to have JsonP protocol support.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Issue Comment Edited: (THRIFT-247) THttpServer Transport

Posted by "Roger Meier (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/THRIFT-247?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12889490#action_12889490 ] 

Roger Meier edited comment on THRIFT-247 at 7/17/10 6:36 AM:
-------------------------------------------------------------

Did anybody review the patch [THRIFT-247_THttpServer.v3.patch | https://issues.apache.org/jira/secure/attachment/12446857/THRIFT-247_THttpServer.v3.patch] I have provided above?

I would appreciate it very much if someone could commit that patch.


      was (Author: roger.meier):
    Did anybody review the patch [THRIFT-247_THttpServer.v3.patch https://issues.apache.org/jira/secure/attachment/12446857/THRIFT-247_THttpServer.v3.patch] I have provided above?

I would appreciate it very much if someone could commit that patch.

  
> THttpServer Transport
> ---------------------
>
>                 Key: THRIFT-247
>                 URL: https://issues.apache.org/jira/browse/THRIFT-247
>             Project: Thrift
>          Issue Type: Improvement
>          Components: Library (C++)
>            Reporter: Jérémie BORDIER
>            Priority: Minor
>         Attachments: THRIFT-247_THttpServer.patch, THRIFT-247_THttpServer.v2.patch, THRIFT-247_THttpServer.v3.patch
>
>
> Here is a first working version of the THttpServer transport for the C++ library.
> It was inspired by Mark Slee's THttpClient which i splitted into an interface, THttpTransport and two transport implementations, THttpClient and THttpServer. Tested with TJsonProtocol (the fixed revision available in THRIFT-244) and TBinaryProtocol in the tutorial example, works like a charm.
> The code is available in the attached patch, and in the gitweb tree in refs/pri/jbordier/cleaning_protocols, or also in github: http://github.com/ahfeel/thrift/tree/master
> It only supports POST requests yet, and i'm working in adding a ?callback=some_js_callback support to the URI to have JsonP protocol support.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Commented: (THRIFT-247) THttpServer Transport

Posted by "Jérémie BORDIER (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/THRIFT-247?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12897997#action_12897997 ] 

Jérémie BORDIER commented on THRIFT-247:
----------------------------------------

Waow.. fixed after more than one year and three monthes, impressive :)

> THttpServer Transport
> ---------------------
>
>                 Key: THRIFT-247
>                 URL: https://issues.apache.org/jira/browse/THRIFT-247
>             Project: Thrift
>          Issue Type: Improvement
>          Components: Library (C++)
>            Reporter: Jérémie BORDIER
>            Priority: Minor
>             Fix For: 0.4
>
>         Attachments: THRIFT-247_THttpServer.patch, THRIFT-247_THttpServer.v2.patch, THRIFT-247_THttpServer.v3.patch, THRIFT-247_THttpServer.v4.patch
>
>
> Here is a first working version of the THttpServer transport for the C++ library.
> It was inspired by Mark Slee's THttpClient which i splitted into an interface, THttpTransport and two transport implementations, THttpClient and THttpServer. Tested with TJsonProtocol (the fixed revision available in THRIFT-244) and TBinaryProtocol in the tutorial example, works like a charm.
> The code is available in the attached patch, and in the gitweb tree in refs/pri/jbordier/cleaning_protocols, or also in github: http://github.com/ahfeel/thrift/tree/master
> It only supports POST requests yet, and i'm working in adding a ?callback=some_js_callback support to the URI to have JsonP protocol support.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Commented: (THRIFT-247) THttpServer Transport

Posted by "T Jake Luciani (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/THRIFT-247?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12661024#action_12661024 ] 

T Jake Luciani commented on THRIFT-247:
---------------------------------------

One thought.   Since Thrift uses libevent for the nonblocking server, I suggest you look at integrating their http server that comes with libevent.

I posted a quick example on my blog a while back: http://3.rdrail.net/blog/libevent-webserver-in-40-lines-of-c/

I've used the libevent http server quite a bit with much success and I believe Facebook is using it as well?

-Jake

> THttpServer Transport
> ---------------------
>
>                 Key: THRIFT-247
>                 URL: https://issues.apache.org/jira/browse/THRIFT-247
>             Project: Thrift
>          Issue Type: Improvement
>          Components: Library (C++)
>            Reporter: Jérémie BORDIER
>            Priority: Minor
>         Attachments: THRIFT-247_THttpServer.patch
>
>
> Here is a first working version of the THttpServer transport for the C++ library.
> It was inspired by Mark Slee's THttpClient which i splitted into an interface, THttpTransport and two transport implementations, THttpClient and THttpServer. Tested with TJsonProtocol (the fixed revision available in THRIFT-244) and TBinaryProtocol in the tutorial example, works like a charm.
> The code is available in the attached patch, and in the gitweb tree in refs/pri/jbordier/cleaning_protocols, or also in github: http://github.com/ahfeel/thrift/tree/master
> It only supports POST requests yet, and i'm working in adding a ?callback=some_js_callback support to the URI to have JsonP protocol support.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Commented: (THRIFT-247) THttpServer Transport

Posted by "Jérémie BORDIER (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/THRIFT-247?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12688009#action_12688009 ] 

Jérémie BORDIER commented on THRIFT-247:
----------------------------------------

Anyone to review this ? It's been marked as planned for a long time on the Wiki and the patch it waiting for 3 monthes..

> THttpServer Transport
> ---------------------
>
>                 Key: THRIFT-247
>                 URL: https://issues.apache.org/jira/browse/THRIFT-247
>             Project: Thrift
>          Issue Type: Improvement
>          Components: Library (C++)
>            Reporter: Jérémie BORDIER
>            Priority: Minor
>         Attachments: THRIFT-247_THttpServer.patch, THRIFT-247_THttpServer.v2.patch
>
>
> Here is a first working version of the THttpServer transport for the C++ library.
> It was inspired by Mark Slee's THttpClient which i splitted into an interface, THttpTransport and two transport implementations, THttpClient and THttpServer. Tested with TJsonProtocol (the fixed revision available in THRIFT-244) and TBinaryProtocol in the tutorial example, works like a charm.
> The code is available in the attached patch, and in the gitweb tree in refs/pri/jbordier/cleaning_protocols, or also in github: http://github.com/ahfeel/thrift/tree/master
> It only supports POST requests yet, and i'm working in adding a ?callback=some_js_callback support to the URI to have JsonP protocol support.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Commented: (THRIFT-247) THttpServer Transport

Posted by "Roger Meier (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/THRIFT-247?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12889490#action_12889490 ] 

Roger Meier commented on THRIFT-247:
------------------------------------

Did anybody review the patch [THRIFT-247_THttpServer.v3.patch https://issues.apache.org/jira/secure/attachment/12446857/THRIFT-247_THttpServer.v3.patch] I have provided above?

I would appreciate it very much if someone could commit that patch.


> THttpServer Transport
> ---------------------
>
>                 Key: THRIFT-247
>                 URL: https://issues.apache.org/jira/browse/THRIFT-247
>             Project: Thrift
>          Issue Type: Improvement
>          Components: Library (C++)
>            Reporter: Jérémie BORDIER
>            Priority: Minor
>         Attachments: THRIFT-247_THttpServer.patch, THRIFT-247_THttpServer.v2.patch, THRIFT-247_THttpServer.v3.patch
>
>
> Here is a first working version of the THttpServer transport for the C++ library.
> It was inspired by Mark Slee's THttpClient which i splitted into an interface, THttpTransport and two transport implementations, THttpClient and THttpServer. Tested with TJsonProtocol (the fixed revision available in THRIFT-244) and TBinaryProtocol in the tutorial example, works like a charm.
> The code is available in the attached patch, and in the gitweb tree in refs/pri/jbordier/cleaning_protocols, or also in github: http://github.com/ahfeel/thrift/tree/master
> It only supports POST requests yet, and i'm working in adding a ?callback=some_js_callback support to the URI to have JsonP protocol support.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Commented: (THRIFT-247) THttpServer Transport

Posted by "David Reiss (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/THRIFT-247?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12898042#action_12898042 ] 

David Reiss commented on THRIFT-247:
------------------------------------

No, it was just me being a clown.  Should be fixed now.

> THttpServer Transport
> ---------------------
>
>                 Key: THRIFT-247
>                 URL: https://issues.apache.org/jira/browse/THRIFT-247
>             Project: Thrift
>          Issue Type: Improvement
>          Components: Library (C++)
>            Reporter: Jérémie BORDIER
>            Priority: Minor
>             Fix For: 0.4
>
>         Attachments: THRIFT-247_THttpServer.patch, THRIFT-247_THttpServer.v2.patch, THRIFT-247_THttpServer.v3.patch, THRIFT-247_THttpServer.v4.patch
>
>
> Here is a first working version of the THttpServer transport for the C++ library.
> It was inspired by Mark Slee's THttpClient which i splitted into an interface, THttpTransport and two transport implementations, THttpClient and THttpServer. Tested with TJsonProtocol (the fixed revision available in THRIFT-244) and TBinaryProtocol in the tutorial example, works like a charm.
> The code is available in the attached patch, and in the gitweb tree in refs/pri/jbordier/cleaning_protocols, or also in github: http://github.com/ahfeel/thrift/tree/master
> It only supports POST requests yet, and i'm working in adding a ?callback=some_js_callback support to the URI to have JsonP protocol support.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.