diff -r 000000000000 -r 6474c204b198 testing/xpcshell/node-spdy/README.md
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/testing/xpcshell/node-spdy/README.md Wed Dec 31 06:09:35 2014 +0100
@@ -0,0 +1,150 @@
+# SPDY Server for node.js [](http://travis-ci.org/indutny/node-spdy)
+
+
+
+
+With this module you can create [SPDY](http://www.chromium.org/spdy) servers
+in node.js with natural http module interface and fallback to regular https
+(for browsers that doesn't support SPDY yet).
+
+## Usage
+
+```javascript
+var spdy = require('spdy'),
+ fs = require('fs');
+
+var options = {
+ key: fs.readFileSync(__dirname + '/keys/spdy-key.pem'),
+ cert: fs.readFileSync(__dirname + '/keys/spdy-cert.pem'),
+ ca: fs.readFileSync(__dirname + '/keys/spdy-csr.pem'),
+
+ // SPDY-specific options
+ windowSize: 1024, // Server's window size
+};
+
+var server = spdy.createServer(options, function(req, res) {
+ res.writeHead(200);
+ res.end('hello world!');
+});
+
+server.listen(443);
+```
+
+And by popular demand - usage with
+[express](https://github.com/visionmedia/express):
+
+```javascript
+var spdy = require('spdy'),
+ express = require('express'),
+ fs = require('fs');
+
+var options = { /* the same as above */ };
+
+var app = express();
+
+app.use(/* your favorite middleware */);
+
+var server = spdy.createServer(options, app);
+
+server.listen(443);
+```
+
+## API
+
+API is compatible with `http` and `https` module, but you can use another
+function as base class for SPDYServer.
+
+```javascript
+spdy.createServer(
+ [base class constructor, i.e. https.Server],
+ { /* keys and options */ }, // <- the only one required argument
+ [request listener]
+).listen([port], [host], [callback]);
+```
+
+Request listener will receive two arguments: `request` and `response`. They're
+both instances of `http`'s `IncomingMessage` and `OutgoingMessage`. But three
+custom properties are added to both of them: `streamID`, `isSpdy`,
+`spdyVersion`. The first one indicates on which spdy stream are sitting request
+and response. Second is always true and can be checked to ensure that incoming
+request wasn't received by HTTPS fallback and last one is a number representing
+used SPDY protocol version (2 or 3 for now).
+
+### Push streams
+
+It is possible to initiate 'push' streams to send content to clients _before_
+the client requests it.
+
+```javascript
+spdy.createServer(options, function(req, res) {
+ var headers = { 'content-type': 'application/javascript' };
+ res.push('/main.js', headers, function(err, stream) {
+ if (err) return;
+
+ stream.end('alert("hello from push stream!");');
+ });
+
+ res.end('');
+}).listen(443);
+```
+
+Push is accomplished via the `push()` method invoked on the current response
+object (this works for express.js response objects as well). The format of the
+`push()` method is:
+
+`.push('full or relative url', { ... headers ... }, optional priority, callback)`
+
+You can use either full ( `http://host/path` ) or relative ( `/path` ) urls with
+`.push()`. `headers` are the same as for regular response object. `callback`
+will receive two arguments: `err` (if any error is happened) and `stream`
+(stream object have API compatible with a
+[net.Socket](http://nodejs.org/docs/latest/api/net.html#net.Socket) ).
+
+### Options
+
+All options supported by
+[tls](http://nodejs.org/docs/latest/api/tls.html#tls.createServer) are working
+with node-spdy. In addition, `maxStreams` options is available. it allows you
+controlling [maximum concurrent streams][http://www.chromium.org/spdy/spdy-protocol/spdy-protocol-draft2#TOC-SETTINGS]
+protocol option (if client will start more streams than that limit, RST_STREAM
+will be sent for each additional stream).
+
+Additional options:
+
+* `plain` - if defined, server will accept only plain (non-encrypted)
+ connections.
+
+#### Contributors
+
+* [Fedor Indutny](https://github.com/indutny)
+* [Chris Strom](https://github.com/eee-c)
+* [François de Metz](https://github.com/francois2metz)
+* [Ilya Grigorik](https://github.com/igrigorik)
+* [Roberto Peon](https://github.com/grmocg)
+* [Tatsuhiro Tsujikawa](https://github.com/tatsuhiro-t)
+* [Jesse Cravens](https://github.com/jessecravens)
+
+#### LICENSE
+
+This software is licensed under the MIT License.
+
+Copyright Fedor Indutny, 2012.
+
+Permission is hereby granted, free of charge, to any person obtaining a
+copy of this software and associated documentation files (the
+"Software"), to deal in the Software without restriction, including
+without limitation the rights to use, copy, modify, merge, publish,
+distribute, sublicense, and/or sell copies of the Software, and to permit
+persons to whom the Software is furnished to do so, subject to the
+following conditions:
+
+The above copyright notice and this permission notice shall be included
+in all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN
+NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
+DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
+OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE
+USE OR OTHER DEALINGS IN THE SOFTWARE.