[
https://issues.apache.org/jira/browse/THRIFT-2355?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Randy Abernethy updated THRIFT-2355:
------------------------------------
Attachment: 0001-Add-WebSocket-support-to-JS-and-Node.JS.patch
This patch was generated on today's master.
A full WebSocket test can be run using lib/js/test/server_http.js and
lib/js/test/testws.html. You can also use TLS with WebSocket by combining
lib/js/test/server_https.js with lib/js/test/testws.html (using https:// on the
browser side). The SSL server now uses the key/cert from thrift/test/keys.
lib/js/Gruntfile is updated with full phantom tests using JS with a Node.JS
server, however PhantomJS does not support the current WebSocket standard to
the Grunt build does not run the WebSocket test pairs automatically at present.
> Add SSL and Web Socket Support to Node and JavaScript
> -----------------------------------------------------
>
> 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
>
> Attachments: 0001-Add-WebSocket-support-to-JS-and-Node.JS.patch
>
>
> 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.2#6252)