Randy Abernethy created THRIFT-2355:
---------------------------------------

             Summary: http://192.168.1.122:8088/testws.html
                 Key: THRIFT-2355
                 URL: https://issues.apache.org/jira/browse/THRIFT-2355
             Project: Thrift
          Issue Type: Improvement
          Components: JavaScript - Compiler, JavaScript - Library, Node.js - 
Library
    Affects Versions: 0.9.2
         Environment: all
            Reporter: Randy Abernethy
            Assignee: Randy Abernethy
            Priority: Minor
             Fix For: 0.9.2


This patch adds support for SSL between Node.js and Browser JavaScript as well 
as initial WebSocket  transport support.

The createStaticHTTPThriftServer() method has been renamed 
createThriftWebServer(). The resulting server supports XHR based HTTP:// and 
HTTPS:// clients as well as upgrades to WS:// and WSS:// for websocket clients. 

The JavaScript thrift.js library now includes websocket support through 
TWebSocketTransport. The old XHR transport still goes by the alias Transport 
but can now also be accessed through the name TXHRTransport. Browser clients 
can use XHR over HTTP and HTTPS (as always) and also WebSocket (WS://) and 
secure WebSocket (WSS://).

The JavaScript grunt build runs jQuery and Normal JavaScript synchronous and 
asynchronous tests over HTTP and HTTPS. There are now three test drivers in the 
thrift/lib/js/test directory:
  - test.html   the jQuery build test (thrift -gen js:jquery)
  - test-nojq.html   the normal JavaScript build test (thrift -gen js)
  - testws.html   the (in progress) web socket test.

The thrift/lib/js/test/sec directory is new with a key.pem and cert.pem for the 
HTTPS test server. 

The root js README was updated and contains a complete client/server example. A 
new README was added to the test directory providing an orientation there. 

The web socket transport works but is experimental and incomplete. Hope to get 
it wrapped up over the next week. With Web Socket in place it makes sense to 
consider adding a binary protocol on the browser side.



--
This message was sent by Atlassian JIRA
(v6.1.5#6160)

Reply via email to