[
https://issues.apache.org/jira/browse/THRIFT-2355?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Randy Abernethy updated THRIFT-2355:
------------------------------------
Description:
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 createWebServer().
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 web socket test.
The thrift/test/keys directory supplies the key and cert 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.
With WebSocket in place it makes sense to consider adding a binary protocol on
the browser side.
was:
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.
> 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 createWebServer().
> 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 web socket test.
> The thrift/test/keys directory supplies the key and cert 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.
> With WebSocket 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)