Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feature: ws in core #4842

Closed
wants to merge 38 commits into from
Closed

feature: ws in core #4842

wants to merge 38 commits into from

Conversation

eljefedelrodeodeljefe
Copy link
Contributor

ws in core

I know this has been discussed before several times, but as far as I know, not with a PR or on a very technical, code-level basis. As I am about to make a rather big commitment to ws as technology, I was reviewing it and concluded this should better be under the core teams umbrella, even if it might be a longer road.

TL;DR

websockets are the primary reason for companies, which have not decided to make a commitment towards node to use node anyways. For a wider adoption of the language this is a critical point.

In order to gain momentum as a language, the experience then should be as performant, secure and well documented as possible. IMO, userland development cannot have all of those, as much as core could. Especially issues like Buffer(number), however dangerous they are, can only be effectively secured via backporting code through the language's LTS.

Even though I am a big small core supporter, this seems necessary to me. Small core could be held up by extracting a lot of boilerplate, option parsing and interfaces out of ws though. There is definitely room to improve.

Conclusion

My personal commitment on this was just time. If this doesn't lead anywhere, I am not too opinionated.


Development Efforts so far

  • do options parsing natively (extract dependency)
  • included Ultron for buffer weakness(?) (needs extraction of Ultron)
  • no cpp dependency
  • lots of style changes
  • const requires, let local variable copies
  • ported file and class structure for core
  • ported tests to run without dependencies -> disabled 1/4 of them in order to run
  • subtree merge

Known Issues

  • some tests (<10) are not running
  • a multitude of tests is not running in parallel after extraction of mocha
  • some tests will fail because of not being able to require('internal/${dep}')
  • linting will fail badly
  • code can be simplified a lot.
  • doc not not adapted yet.
  • licensing needs to be checked and adapted.
  • the whole NativeModule integration is a little bit shaky, atm, since I couldn't run the tests completely.
  • Tests need to be run with NODE_TLS_REJECT_UNAUTHORIZED=0, therefore make test will fail automatically.
  • benchmark: untouched

Stats

sloc <dir> | <file>

lib/internal/websockets
---------- Result ------------

            Physical :  2162
              Source :  1755
             Comment :  201
 Single-line comment :  62
       Block comment :  139
               Mixed :  4
               Empty :  210

Number of files read :  8
lib/websockets
---------- Result ------------

            Physical :  925
              Source :  714
             Comment :  72
 Single-line comment :  66
       Block comment :  6
               Mixed :  4
               Empty :  143

Number of files read :  1

Original log:

commit 4ffed2ae284171ff6c273727f5684c5daa592380
Author: Arnout Kazemier <[email protected]>
Date:   Mon Jan 4 14:19:27 2016 +0100

    [security] Added a missing Security.md

commit 40a9d686288b5d0be13f2bf2f3f5da07afc8cda2
Author: Arnout Kazemier <[email protected]>
Date:   Mon Jan 4 13:35:39 2016 +0100

    [dist] 1.0.1

commit 29293ed11b679e0366fa0f6bb9310b330dafd795
Author: Arnout Kazemier <[email protected]>
Date:   Mon Jan 4 13:34:58 2016 +0100

    [fix] Prevent allocation of memory through ping frames

commit 753937ff1ddc0938513267b4d6d5139a6ad41746
Author: Arnout Kazemier <[email protected]>
Date:   Wed Dec 30 17:34:55 2015 +0100

    [dist] 1.0.0

commit f0b274146ffcd0df87b143e35e062b675c245f47
Author: Arnout Kazemier <[email protected]>
Date:   Wed Dec 30 14:11:41 2015 +0100

    [doc] Document the new optional dependencies

commit c7c817298737cf8af34b1e3193506a190f0857bb
Merge: bcecb42 62b7abb
Author: Arnout Kazemier <[email protected]>
Date:   Mon Dec 28 12:28:23 2015 +0100

    Merge pull request #645 from Dignifiedquire/buffer-length

    fix: shrinkStrategy should always return an integer

commit 62b7abb2e92e441934c49101ddc696b08d87097e
Author: dignifiedquire <[email protected]>
Date:   Sun Dec 27 11:59:32 2015 +0100

    fix: shrinkStrategy should always return an integer

    `Buffer` inherits from `Uint8Arry` so the constructor needs to be
    called with integers and mustn't be called with floats.

    This patch ensures that the result of the the calculation
    in the `shrinkStrategy` in `Receiver` returns an integer.

    The reason why this has not been a problem up to now is that
    a there is a [V8 Bug](https://code.google.com/p/v8/issues/detail?id=4552)
    that the [spec](http://tc39.github.io/ecma262/#sec-typedarray-length)
    is not adhered in this case.

    This is a blocking issue for [Karma](https://github.com/karma-runner/karma/issues/1768)
    as the upgrade to [[email protected]](https://github.com/zloirock/core-js)
    now enforces this error.

commit bcecb42fe00cbac02561c0a82380ea630a18eeeb
Author: Arnout Kazemier <[email protected]>
Date:   Mon Dec 21 18:02:58 2015 +0100

    [travis] Remove deprecated node.js version 0.12 is the last to be supported

commit 0d61b39efe221637c39460a58dc74281deffbc92
Author: Arnout Kazemier <[email protected]>
Date:   Mon Dec 21 17:59:19 2015 +0100

    [pkg] Bump dependencies

commit e54d45fbab3b19c2940e9057ce1e7b8f105873e0
Author: Arnout Kazemier <[email protected]>
Date:   Mon Dec 21 17:39:40 2015 +0100

    [breaking] Remove browser code. Out of scope for this module.

commit 205b16b0530bafa0d1f6cc4be7c688eb68073543
Merge: 49b1109 34bada9
Author: Arnout Kazemier <[email protected]>
Date:   Mon Dec 21 17:41:41 2015 +0100

    Merge pull request #566 from SocketCluster/master

    Status code must be 1006 if the socket is closed without having recei…

commit 49b11093e9a009e5305dcde7003d3a896b2811dc
Author: Arnout Kazemier <[email protected]>
Date:   Mon Dec 21 17:37:02 2015 +0100

    [major] No longer use the binary addons as optional dependency, nuked completely

commit 4423b6ee29c106780ab57b5b9382a8c6d754be34
Merge: fddc914 4bf5fb8
Author: Arnout Kazemier <[email protected]>
Date:   Mon Dec 21 17:36:20 2015 +0100

    Merge pull request #632 from darrachequesne/patch-2

    Fix "zlib binding closed" errors

commit fddc91404d662b6834c856bf0001a7c354a1fe9f
Merge: 2c59352 6ac0a01
Author: Arnout Kazemier <[email protected]>
Date:   Thu Dec 17 15:57:59 2015 +0100

    Merge pull request #623 from Tatsujinichi/issue603

    fix for issue 603

commit 4bf5fb8233ac4aacc358639f53644ed26cc8c320
Author: Damien Arrachequesne <[email protected]>
Date:   Wed Dec 16 08:24:46 2015 +0100

    Fix "zlib binding closed" errors

commit 2c593522600420345fd7c733034c9c08919f877d
Merge: 74f567e 0e2a7b1
Author: Arnout Kazemier <[email protected]>
Date:   Wed Dec 2 00:59:47 2015 +0100

    Merge pull request #625 from darrachequesne/patch-1

    Fix an error on Node v0.8 (no 'close' method for InflateRaw/DeflateRaw)

commit 0e2a7b14c8aa66fbd314dbacf13789351cfc2f9f
Author: Damien Arrachequesne <[email protected]>
Date:   Tue Dec 1 22:42:40 2015 +0100

    Fix an error on Node v0.8 (no 'close' method for InflateRaw/DeflateRaw)

commit 6ac0a01d537ce76fe2b391c6c5d878c516366e6a
Author: playerone <[email protected]>
Date:   Tue Dec 1 19:08:14 2015 +0900

    fix for issue 603

commit 74f567e0221a14071bb40eb1902e946524a11862
Author: Arnout Kazemier <[email protected]>
Date:   Sun Nov 29 20:24:03 2015 +0100

    [dist] 0.8.1

commit 97d8a7de320fd01573d59af1866b02be96b8bb27
Merge: d5597bb 7d07112
Author: Arnout Kazemier <[email protected]>
Date:   Fri Nov 27 10:50:58 2015 +0100

    Merge pull request #595 from nkzawa/patch-5

    Fix error when permessage-deflate is enabled

commit d5597bbfe489af2de54b341d6d94b35ad08702fa
Merge: 6e4ccca c4a4275
Author: Arnout Kazemier <[email protected]>
Date:   Thu Nov 26 23:38:09 2015 +0100

    Merge pull request #611 from blitzprog/patch-1

    Callback for close() on WebSocketServer

commit 6e4cccab851155a740bc59b15b6dbe1024431547
Merge: 7debd82 718ac22
Author: Arnout Kazemier <[email protected]>
Date:   Thu Nov 26 23:36:19 2015 +0100

    Merge pull request #608 from darrachequesne/master

    Release memory used by PerMessageDeflate extension

commit c4a427591e37d9ed21168d3cf6ff57b347441b88
Author: Eduard Urbach <[email protected]>
Date:   Sat Nov 7 02:07:54 2015 +0900

    Callback for close()

    This will make close() compatible with Promise libraries by providing a callback when its finished.
    Note that this version only works correctly for the cases where the http server was **not** internally created.
    If you like, you can support the other case as well (would need to pass a callback to `this._closeServer()`).

commit 718ac2232a9069f209eb2280a514882c3c7731eb
Author: Damien Arrachequesne <[email protected]>
Date:   Sun Nov 1 23:45:26 2015 +0100

    Release memory used by PerMessageDeflate extension

commit 7d071120333b8fa8d76d91e08884f81d97a441d0
Author: nkzawa <[email protected]>
Date:   Sat Oct 3 03:09:50 2015 +0900

    don't reuse buffer

commit 7debd827d39925650bba5a270811ed82616f0eb1
Merge: 626976c 7812a55
Author: Arnout Kazemier <[email protected]>
Date:   Wed Sep 9 15:07:48 2015 +0200

    Merge pull request #572 from tabone/new-keyword

    Return new instance if new keyword is missing.

commit 626976ce407dfb6fc8394db9255d89344614bf91
Merge: 21383fd 0d2cbcc
Author: Arnout Kazemier <[email protected]>
Date:   Wed Sep 9 15:06:22 2015 +0200

    Merge pull request #576 from ide/node4-tests

    [Travis] Add Node 4.x to the test matrix

commit 0d2cbcc539c6f817c52eb11f29333716e5b7f938
Author: James Ide <[email protected]>
Date:   Tue Sep 8 12:49:21 2015 -0700

    [Travis] Add Node 4.x to the test matrix

commit 7812a55c64603d882892cf628aac16c9fc07802b
Author: Luca Tabone <[email protected]>
Date:   Fri Sep 4 10:33:52 2015 +0200

    Include test cases for when omitting the new keyword.

commit 4a806d7bea165e90c1d319b1215efeed2963d236
Author: Luca Tabone <[email protected]>
Date:   Thu Sep 3 00:16:53 2015 +0200

    Return new instance if new keyword is missing.

commit 34bada9b170db234656180da18cc49765f32092e
Author: Jonathan Gros-Dubois <[email protected]>
Date:   Sun Aug 30 01:01:45 2015 +1000

    Status code must be 1006 if the socket is closed without having received a close control frame

commit 21383fdcacdf47eb96775e51748e51b258e07dd4
Author: Arnout Kazemier <[email protected]>
Date:   Fri Aug 21 13:56:31 2015 +0200

    [dist] 0.8.0

commit 607b553d953b537c3fb174ffbd02d8cb7f50b6a2
Merge: fba2eb9 9164362
Author: Arnout Kazemier <[email protected]>
Date:   Fri Aug 21 13:54:14 2015 +0200

    Merge pull request #551 from aklaswad/master

    Pass localAddress option to http request object.

commit fba2eb92e345d48f5f828fe716849699d8bac111
Merge: 251a6d4 42ba038
Author: Arnout Kazemier <[email protected]>
Date:   Fri Aug 21 13:53:22 2015 +0200

    Merge pull request #533 from coolaj86/patch-1

    add express example

commit 251a6d46ebcb8598c27308caa7cd7b9c867f5a5b
Author: Arnout Kazemier <[email protected]>
Date:   Fri Aug 21 13:48:21 2015 +0200

    [travis][major] Officially dropping Node 0.8 support

commit f0688997a16e8053dccc44a8cbc378119f2fa9f8
Merge: a895bfe e452dd1
Author: Arnout Kazemier <[email protected]>
Date:   Thu Aug 20 23:16:58 2015 +0200

    Merge pull request #557 from ide/travis-iojs3

    Update gcc/g++ during Travis tests so that we get C++11

commit e452dd17ee8b357dd2a46be309bccaff9f414545
Author: James Ide <[email protected]>
Date:   Thu Aug 20 13:36:11 2015 -0700

    Update gcc/g++ during Travis tests so that we get C++11

    Building the native modules (utf-8-validate and bufferutil) with io.js 3.0 requires C++11. Travis uses an ancient version of gcc (4.6) which doesn't support C++11, so this commit tells Travis to install gcc/g++ 4.9 and use it with node-gyp.

commit 916436258551c79d462170fc5592ef6a60dc0468
Author: Akira Sawada <[email protected]>
Date:   Sat Aug 15 00:45:45 2015 +0900

    Fix regexp

commit 1631dd6e4af6dc001960efff8f851fdddbd4ee2c
Author: Akira Sawada <[email protected]>
Date:   Sat Aug 15 00:43:07 2015 +0900

    Skip exception test for older nodejs running on linux

commit fa3edf6c382231921782aa6fedcc6a7602dd7c62
Author: Akira Sawada <[email protected]>
Date:   Sat Aug 15 00:28:31 2015 +0900

    Some environment looks throwing exception instead of emitting error event.

commit e7eb75b669ce5626a75ebe7e7329ac80f16f48af
Author: Akira Sawada <[email protected]>
Date:   Sat Aug 15 00:04:44 2015 +0900

    Update doc/ws.md

commit 0659adb79e857f93c1d4bc4eeb3b85103335a017
Author: Akira Sawada <[email protected]>
Date:   Sat Aug 15 00:01:06 2015 +0900

    Default value of the localAddress option must be null

commit f57ac2404128a8f275b76b5d9636bf3a40249865
Author: Akira Sawada <[email protected]>
Date:   Sat Aug 15 00:00:53 2015 +0900

    Add test for localAddress option

commit f0f6ce91af53947dd8124509ccac5c02b9f35e68
Author: Akira Sawada <[email protected]>
Date:   Fri Aug 14 22:44:37 2015 +0900

    Pass localAddress option to http request object.

commit a895bfe11fb6c0c6f926b46d265318f31b4be88b
Merge: ee66071 c01e844
Author: Arnout Kazemier <[email protected]>
Date:   Fri Aug 14 13:23:12 2015 +0200

    Merge pull request #550 from ide/travis-iojs3

    Add io.js 3 to the testing matrix and test only major versions

commit c01e8441c60bfc2037c2ddb9714c05ab85b46a46
Author: James Ide <[email protected]>
Date:   Thu Aug 13 10:26:48 2015 -0700

    Add io.js 3 to the testing matrix and test only major versions

    Adds io.js to the Travis tests. Also removes tests for minor versions because versions like io.js 1.8.x and 2.5.x weren't being tested.

    Also adds `sudo: false` which runs the tests on Travis' docker infrastructure, which launches tests more quickly: http://docs.travis-ci.com/user/migrating-from-legacy/

commit ee660710e151779a258f29f33040234c3133a63a
Author: Arnout Kazemier <[email protected]>
Date:   Thu Aug 13 14:14:44 2015 +0200

    [deps] Bump optional dependencies now that they support nan 2.0 for iojs 3.0

commit d5862f81a890767dcbbdc6c5573f56c4b1601bdb
Merge: 7364110 478c24f
Author: Arnout Kazemier <[email protected]>
Date:   Tue Aug 11 19:56:06 2015 +0200

    Merge pull request #546 from SocketCluster/master

    Status code should default to 1006 when socket closes abnormally with…

commit 478c24f4309714c0a3071b27dbdb73b5821b1719
Author: Jonathan Gros-Dubois <[email protected]>
Date:   Wed Aug 12 00:21:08 2015 +1000

    Status code should default to 1006 when socket closes abnormally with an error - This is consistent with the WebSocket API in browsers

commit 7364110717b671bd33c32d884fd7d18422cd814f
Merge: dc2c2bd 0510cbe
Author: Arnout Kazemier <[email protected]>
Date:   Wed Aug 5 14:17:03 2015 +0200

    Merge pull request #540 from mkamioner/master

    Allow pending CLOSE_WAIT connections to close

commit 0510cbe668f51864d4a6ebaba0d5dcfe71cecc57
Author: Mo Kamioner <[email protected]>
Date:   Wed Aug 5 13:49:02 2015 +0300

    Fix tabs for spaces

commit 7c5c4b0d75d1eb8772e39a463be9f76fa0b4a2ad
Author: Mo Kamioner <[email protected]>
Date:   Wed Aug 5 13:46:47 2015 +0300

    Allow pending CLOSE_WAIT connections to close

commit 42ba0385800565fa11b703adc13493b102605b57
Author: AJ ONeal <[email protected]>
Date:   Tue Jul 21 17:25:24 2015 -0600

    add express example

    a simple expressjs example addressing a common use case

commit dc2c2bdc9be75cfb540c4f80be2adb54b6a1d53e
Merge: 8718ebc 2261b42
Author: Arnout Kazemier <[email protected]>
Date:   Tue Jul 14 15:20:34 2015 +0200

    Merge pull request #468 from LinusU/throw-on-function-call

    Throw TypeError when class constructor called without new

commit 8718ebce75327bfac994bf2e66a0a2a2847c69b9
Merge: 52c57b0 f7db366
Author: Arnout Kazemier <[email protected]>
Date:   Tue Jul 14 15:19:54 2015 +0200

    Merge pull request #479 from lpinca/fix/data-handler

    Correctly switch the socket data handler

commit 52c57b07b9582a5f45a9db6cc4db46239ee2ee1b
Merge: a1f6df6 9fa7583
Author: Arnout Kazemier <[email protected]>
Date:   Tue Jul 14 15:18:51 2015 +0200

    Merge pull request #480 from lpinca/fix/status-code

    Return 426 for non-Upgrade requests

commit a1f6df6c930d5f6d811c33e3ed714b76981c1e0a
Merge: 10f150e 5dd731a
Author: Arnout Kazemier <[email protected]>
Date:   Tue Jul 14 15:18:10 2015 +0200

    Merge pull request #512 from englercj/fix-mesage-types

    Make websocket events be in line with browser

commit 10f150e371e0605bd5c2e65aac0472985830058e
Merge: 2d0e338 63b5028
Author: Arnout Kazemier <[email protected]>
Date:   Tue Jul 14 15:17:05 2015 +0200

    Merge pull request #504 from davidburhans/master

    fix Host header port inequality check

commit 2d0e338af86e1a04ceb63a0a77a4432c3b72532f
Merge: 9fa6d4d fc3c8f6
Author: Arnout Kazemier <[email protected]>
Date:   Wed Jul 1 20:13:56 2015 +0200

    Merge pull request #524 from nkzawa/patch-4

    Fix for sending typed arrays or ArrayBuffer when perMessageDeflate is enabled

commit fc3c8f6044279273eac863992fbf283a7dae7675
Author: Naoyuki Kanezawa <[email protected]>
Date:   Thu Jul 2 02:43:29 2015 +0900

    fix for sending typed arrays or ArrayBuffer when perMessageDeflate is enabled

commit 5dd731a5999f461915176529a396aa55865c8eaa
Author: Chad Engler <[email protected]>
Date:   Thu Jun 11 09:08:34 2015 -0700

    fix binary test; add event type tests

commit 1ad32fdcf50392fa464a0b7342392c9524970aa1
Author: Chad Engler <[email protected]>
Date:   Thu Jun 11 08:19:58 2015 -0700

    make websocket events be in line with browser

commit 63b502850bbbb9ff94ae732fa067607d653e8ba9
Author: David Burhans <[email protected]>
Date:   Wed May 20 14:23:06 2015 -0600

    Add tests for port number in Host header

commit 8ec2511a414a0ade66912bb1da460cd1a511360b
Author: David Burhans <[email protected]>
Date:   Tue May 19 15:32:28 2015 -0600

    fix Host header port inequality check. url.parse returns an object with the port as a string. This allows interoperablity with servers with a more strict interpretation of https://tools.ietf.org/html/rfc6455#page-17

commit 9fa6d4d1e6280900e6e024648fadb534baa253d9
Merge: 62c154c 066d78b
Author: Arnout Kazemier <[email protected]>
Date:   Sat May 16 09:49:18 2015 -0700

    Merge pull request #500 from nyx/patch-1

    fix typo in README

commit 066d78b07e8aa29052308c36ac41c89283f4ffea
Author: Andrew Andkjar <[email protected]>
Date:   Fri May 15 15:24:32 2015 -0400

    fix typo in README

    encypted -> encrypted

commit 62c154c7ba97eaf6ac346f855af956c8b96f0ead
Author: Arnout Kazemier <[email protected]>
Date:   Thu May 14 22:20:44 2015 +0200

    [dist] 0.7.2

commit 45883fbb87732c8e13c13067e011554fba7e89ce
Merge: 87dc4dc e718f47
Author: Arnout Kazemier <[email protected]>
Date:   Wed May 6 16:09:53 2015 +0200

    Merge pull request #494 from tuukka/fix-origin

    adhere to RFC by removing default Origin header

commit e718f47da83ee950bbfc18ea05a1a3554b3cb89e
Author: Tuukka Hastrup <[email protected]>
Date:   Wed May 6 16:54:34 2015 +0300

    adhere to RFC by removing default Origin header

commit 87dc4dcfc9aa4964758c8c19690799edea36085d
Author: Arnout Kazemier <[email protected]>
Date:   Tue May 5 21:45:10 2015 +0200

    [travis] Added iojs 2.0

commit 046390f92b0dd59d30664a5be368b5ccb8217314
Author: Arnout Kazemier <[email protected]>
Date:   Tue May 5 21:38:00 2015 +0200

    [deps] Bump buffer utils

commit 01ee0a0ba61c5f0503b2b207351a2ffec643c62d
Merge: 1d79041 235c41e
Author: Arnout Kazemier <[email protected]>
Date:   Fri Apr 17 08:10:52 2015 +0200

    Merge pull request #486 from tomByrer/patch-2

    add links, fix typo

commit 235c41e41f21e1c921477c4406ec8cc4d3667896
Author: Tom Byrer <[email protected]>
Date:   Thu Apr 16 23:03:29 2015 -0600

    add links, fix typo

    I made ~50 PR before I found I can type `/releases` at the end of the URL.

    bonus: Fixed typo.

commit 9fa758366934b142ae7eb22ded40e5b99028b445
Author: Luigi Pinca <[email protected]>
Date:   Sat Apr 4 12:37:06 2015 +0200

    [fix] Return 426 for non-Upgrade requests

    Closes #472

commit f7db3664fa04da98d7684b71aab7ccc647d842e8
Author: Luigi Pinca <[email protected]>
Date:   Fri Apr 3 15:58:21 2015 +0200

    [fix] Correctly switch the socket data handler

commit 2261b429191d3000802d751ea928ff9f8df30235
Author: Linus Unnebäck <[email protected]>
Date:   Wed Mar 11 17:14:19 2015 +0100

    Throw TypeError when class constructor called without new

commit 1d79041b8ed0a580a54a3ee8f242baec6b66562f
Merge: 7e62328 b4b6aeb
Author: Naoyuki Kanezawa <[email protected]>
Date:   Tue Mar 3 01:51:21 2015 +0900

    Merge pull request #463 from mreinstein/patch-1

    added note about browser usage #462

commit b4b6aeb62b67503568379a0624de15e29514e4d1
Author: Mike Reinstein <[email protected]>
Date:   Mon Mar 2 08:43:48 2015 -0800

    added note about browser usage #462

commit 7e6232861071b7cc0ce2767209963809320976f0
Merge: 7a149cd 1709ebf
Author: Arnout Kazemier <[email protected]>
Date:   Sat Feb 21 20:31:09 2015 +0100

    Merge pull request #456 from nkzawa/permessage-deflate-doc

    Documented permessage-deflate

commit 1709ebf2fe3cee3464a3416010d2bf359ed3d0a5
Author: Naoyuki Kanezawa <[email protected]>
Date:   Sun Feb 22 03:32:14 2015 +0900

    Documented permessage-deflate

commit 7a149cd5bb9e51ae0f200fd0c486e1ca998e12f1
Merge: f642e4f 536c809
Author: Arnout Kazemier <[email protected]>
Date:   Tue Feb 17 11:07:32 2015 +0100

    Merge pull request #453 from zemirco/patch-1

    update WebSocket client docs

commit 536c809124b190080f5de5e1a171becbcb2986ec
Author: Mirco Zeiss <[email protected]>
Date:   Tue Feb 17 11:04:58 2015 +0100

    update WebSocket client docs

    sync docs with code - https://github.com/websockets/ws/blob/master/lib/WebSocket.js#L46

commit f642e4f7c79ab886d2bde60155923b04a6f413c7
Author: Arnout Kazemier <[email protected]>
Date:   Wed Feb 11 10:04:18 2015 +0100

    [travis] Run more tests

commit c311b7ef225e4546a7d1cfad457708dffe55ae84
Merge: c5bd045 53f47f5
Author: Arnout Kazemier <[email protected]>
Date:   Tue Feb 10 20:08:04 2015 +0100

    Merge pull request #447 from fillrate/master

    Fix for cleanupWebsocketResources using the wrong 'this'

commit 53f47f556d3d9f4cb2c3d95422fbd4aa73e5e07c
Author: Neil Topham <[email protected]>
Date:   Fri Feb 6 09:54:02 2015 +0000

    Added unit test to ensure the socket is cleaned up correctly after a http request error

commit 5ea94df146e0a0e7189c39e7baea94880ccfc570
Author: Neil Topham <[email protected]>
Date:   Thu Feb 5 15:14:29 2015 +0000

    Fix for cleanupWebsocketResources using the wrong 'this'

commit c5bd045263988920699d3f5861164932bf214c29
Author: Arnout Kazemier <[email protected]>
Date:   Wed Feb 4 20:55:08 2015 +0100

    [fix] Replace more old references #446

commit 8f1d8706d69813d74ab72a853e942a1f15ffd882
Merge: 608df82 da7c37f
Author: Arnout Kazemier <[email protected]>
Date:   Wed Feb 4 20:54:04 2015 +0100

    Merge pull request #446 from MichielDeMey/patch-1

    Fixed Travis badge

commit da7c37f56d4b35e66dab20fbb8826b4b6fe0ab2d
Author: Michiel De Mey <[email protected]>
Date:   Wed Feb 4 20:45:59 2015 +0100

    Fixed Travis badge

commit 608df82a333de45905f05ca60f18a625b4c3293b
Author: Arnout Kazemier <[email protected]>
Date:   Thu Jan 29 13:02:57 2015 +0100

    [dist] 0.7.1

commit f0ccf21152f0271a7e0759fab208ca9565d66be1
Merge: 602748a 30eadd9
Author: Arnout Kazemier <[email protected]>
Date:   Thu Jan 29 11:24:22 2015 +0100

    Merge pull request #445 from websockets/optionalDependencies

    Optional dependencies

commit 30eadd96d749aebe620c996147521a4e480fe716
Author: Arnout Kazemier <[email protected]>
Date:   Thu Jan 29 11:12:49 2015 +0100

    [fix] Actually require the correct module

commit c84c880cbcbdcd9b6ca393f86f205dc2de33321f
Author: Arnout Kazemier <[email protected]>
Date:   Thu Jan 29 11:08:15 2015 +0100

    [major] Move binary dependencies to optionalDependencies to preven build failures

commit 602748a33606ace7b8275a132f67b9e93588c677
Author: Arnout Kazemier <[email protected]>
Date:   Tue Jan 27 09:59:52 2015 +0100

    [pkg] Corrected the repository to reflect the new location

commit 8f94bfe40b851b57f02558caf637f56e48a31bde
Author: Arnout Kazemier <[email protected]>
Date:   Tue Jan 27 09:57:15 2015 +0100

    [minor] Move `wscat` to it's own repository: https://github.com/websockets/wscat

commit b7ca13356c604396f0d663dbbbfdea1b963659e4
Author: Arnout Kazemier <[email protected]>
Date:   Thu Jan 22 17:28:20 2015 +0100

    [doc] Document the new Changelog location

commit 419b11f042a6fa07986f296ac40eae57eb9d6d8c
Author: Arnout Kazemier <[email protected]>
Date:   Thu Jan 22 17:26:09 2015 +0100

    [dist] 0.7

commit e3b7b8f6b2ebe3c82a3cc51fb90da80b56d93bf3
Merge: f41689d 56ef891
Author: Arnout Kazemier <[email protected]>
Date:   Sun Jan 18 13:26:22 2015 +0100

    Merge pull request #437 from pjump/master

    Make it work on nodejs v0.8 too

commit 56ef891a3f66f021c4fb0a1cb7b0a7e81ad7d47a
Author: Petr Skocik <[email protected]>
Date:   Sun Jan 18 12:23:17 2015 +0100

    Make it work on nodejs v0.8 too

    Do use 'extern "C"' for the module's init function if nodejs version is less than 0.10.0.
    This fixes the travis test for nodejs v0.8.

commit f41689dc2ae8bc520ddafce9e0ea9a21238eff80
Merge: 571886d c2d7cf4
Author: Arnout Kazemier <[email protected]>
Date:   Sun Jan 18 11:37:07 2015 +0100

    Merge pull request #436 from pjump/master

    Fix module registration

commit c2d7cf4f7f933d038f9988af819378caa5a7a55f
Author: Petr Skocik <[email protected]>
Date:   Sun Jan 18 01:46:57 2015 +0100

    Fix module registration

    ws passes an 'extern "C"' function to the NODE_MODULE macro.
    The API docs at http://nodejs.org/api/addons.html DO NOT use 'extern
    "C"'.
    Removing 'extern "C"' causes the module to work properly on my system
    (Ubuntu 14.04, 64bit, node v0.10.25).[
    Fixes #434

commit 571886d6444a6f1c95a8a48d807fff50b444e8fb
Author: Arnout Kazemier <[email protected]>
Date:   Fri Jan 16 09:29:15 2015 +0100

    [deps] Bump NaN to 1.5 to ensure support with iojs

commit d32c678a5d133348ae75e93915d1f83ba82f7d8a
Author: Arnout Kazemier <[email protected]>
Date:   Sun Jan 4 21:06:40 2015 +0100

    [minor] Remove history file. All this information can be extracted using git diff's

    The history.md is maintaince burden that is unneeded. The changes can seen by
    comparing the git tags. `git log tag1..tag2` is your friend.

commit 552dddaf9bcc5304c22415b81aa748384d82837c
Author: Arnout Kazemier <[email protected]>
Date:   Sun Jan 4 20:54:05 2015 +0100

    [dist] 0.6.5

commit c327a8632733e87b5c7f070b7a951a9b98b1b80b
Merge: 575def1 4a33de9
Author: Arnout Kazemier <[email protected]>
Date:   Sun Jan 4 20:52:55 2015 +0100

    Merge pull request #427 from nkzawa/patch-3

    Fix error when compress option is true and perMessageDeflate is disabled

commit 4a33de927a6ef001d67e0f12f8cb0dd7042fa2d6
Author: Naoyuki Kanezawa <[email protected]>
Date:   Mon Jan 5 04:35:37 2015 +0900

    fix error when compress option is true and perMessageDeflate is disabled

commit 575def1d1005b11c6377c8ce3c37b03ac3db406a
Author: Arnout Kazemier <[email protected]>
Date:   Sat Jan 3 00:16:08 2015 +0100

    [doc] Remove explicit mention of "null"

commit 4fc1df8a7656efb7b5119adaab95f94eb74db43e
Author: Arnout Kazemier <[email protected]>
Date:   Sat Jan 3 00:15:00 2015 +0100

    [doc] Fix silly documentation, don't for in iterate over an array #426

commit c7f1b4eb44ce45f152f1923b4ba18446f83d0dff
Author: Arnout Kazemier <[email protected]>
Date:   Sun Dec 28 14:44:40 2014 +0100

    [dist] 0.6.4

commit ac283f0368375e674fa370cd4b64cef42add2968
Merge: 6fa7152 7325d01
Author: Arnout Kazemier <[email protected]>
Date:   Sun Dec 28 14:44:01 2014 +0100

    Merge pull request #424 from nkzawa/patch-2

    Fix closing handshake and loss of received data

commit 7325d013df15d0a19e8cf049db11a8fa02039e5a
Author: Naoyuki Kanezawa <[email protected]>
Date:   Sun Dec 28 06:39:25 2014 +0900

    fix closing handshake and loss of received data

commit 6fa71524811535be7b9b2750d5c160e4e9364b2d
Merge: 0a0b97f 4458924
Author: Arnout Kazemier <[email protected]>
Date:   Mon Dec 22 09:58:37 2014 +0100

    Merge pull request #415 from joseph-onsip/clientprotocols

    Follow W3C spec for constructor's `protocols` argument

commit 0a0b97f6119251a04d35547f0b38059702de0acf
Merge: 7bdaee4 0a7a9b4
Author: Arnout Kazemier <[email protected]>
Date:   Thu Dec 18 20:57:42 2014 +0100

    Merge pull request #418 from garcg/patch-1

    Document compress option

commit 0a7a9b4f758563cafe61fab5bd63f31b8b7f6fe3
Author: garcg <[email protected]>
Date:   Tue Dec 16 17:01:31 2014 +0100

    Document compress option in websocket.send

commit 4458924ed675d789f1def2d8f1a6f38652dde353
Author: Joseph Frazier <[email protected]>
Date:   Sun Dec 14 12:54:34 2014 -0500

    lib/WebSocket.js: remove TODO about subprotocols

    This was added in 887ebcb (#227), but has since been done.

commit 5b3c91141f23b99ce39f6b6c06c99d0d52b95343
Author: ch3sn3k <[email protected]>
Date:   Tue May 27 17:20:00 2014 +0200

    Add handling of protocols in initAsClient function

    The Sec-WebSocket-Protocol are not included in header.
    So far it is possible to override this functionality calling new WebSocket("ws://URL",{protocol:"USER DEFINED PROTOCOL"})

    (cherry picked from commit c08b70feca5cb2745306b1f6e165490875117c15)

    resolves #323
    resolves #290
    resolves #298

commit 3137173a465f9aa3f6cca8436498697993106843
Author: Joseph Frazier <[email protected]>
Date:   Sun Dec 14 12:40:27 2014 -0500

    tests call WebSocket constructor with String/Array protocols argument

    This breaks tests, but they will be fixed by the next commit.

commit 7bdaee4c7ee82aa8a8ea19e9b5b8dcb230312964
Merge: 4605ac3 e8ebe68
Author: Arnout Kazemier <[email protected]>
Date:   Tue Dec 9 12:50:53 2014 +0100

    Merge pull request #414 from formula1/master

    Documented websocket.upgradeReq

commit e8ebe688ad51b151d63b824c1dc3386f60d976d2
Author: Sam Tobia <[email protected]>
Date:   Tue Dec 9 03:11:46 2014 -0800

    Documented websocket.upgradeReq

    In my attempt to associate a websocket with a specific client I had to override `websocket.handleUpgrade` and call it abstractly inorder to get both the request and the websocket in one place. If I would have known that it was available, I wouldn't have to code so dirty for something I think many people would need.

commit 4605ac39a977863acc22396c36aa216daabf7730
Author: Arnout Kazemier <[email protected]>
Date:   Mon Dec 8 22:19:34 2014 +0100

    [dist] 0.6.3

commit 04717b6e30ad99da47e2d0c1e53da11e67ef0c8e
Merge: 4711f98 71ff077
Author: Arnout Kazemier <[email protected]>
Date:   Mon Dec 8 20:43:39 2014 +0100

    Merge pull request #411 from nkzawa/patch-0

    Fix an error when permessage-deflate is enabled and closing socket

commit 71ff077a6b2c6aff05022521cdcd745e76cf5446
Author: Naoyuki Kanezawa <[email protected]>
Date:   Sun Dec 7 18:12:12 2014 +0900

    fix an error when permessage-deflate is enabled and closing socket

commit 4711f98f5e243409c015629cd30a6ead0dbb3d8e
Author: Arnout Kazemier <[email protected]>
Date:   Sat Dec 6 22:53:36 2014 +0100

    [dist] 0.6.2

commit 21d2d4bc626c1c2472ce734400fc780d178e8b4b
Author: Arnout Kazemier <[email protected]>
Date:   Sat Dec 6 22:52:13 2014 +0100

    [dist] 0.6.1

commit f7ef85cbe4956527aad1ba0e41098bcea023800a
Author: Arnout Kazemier <[email protected]>
Date:   Sat Dec 6 22:48:27 2014 +0100

    [fix] Disabled perMessageDeflate

commit bded6ab6406fec5e05bb0c6f629431fe662987a3
Merge: b41ed62 bbd8fa4
Author: Arnout Kazemier <[email protected]>
Date:   Fri Dec 5 23:10:28 2014 +0100

    Merge pull request #342 from toejough/patch-1

    Plug WebSocket.terminate timeout leak

commit b41ed62b95b2e1cf22ca779e7841c5d5dd8a6816
Author: Arnout Kazemier <[email protected]>
Date:   Fri Dec 5 16:10:13 2014 +0100

    [dist] 0.6

commit 1ae3d8ec190ac6c468ce105c0d7645803e8fbcf0
Merge: 65f354a 37c9afd
Author: Arnout Kazemier <[email protected]>
Date:   Fri Dec 5 16:07:42 2014 +0100

    Merge pull request #409 from nkzawa/feature/permessage-deflate

    Support permessage-deflate extension

commit 37c9afddc327f4a388a0179c218991da340add2e
Author: Naoyuki Kanezawa <[email protected]>
Date:   Fri Dec 5 23:56:52 2014 +0900

    fix an error on Node 0.8

commit 65f354a053005233d00d3dd41d748e20cc4bdc55
Merge: 2bef43b 8d4b2f0
Author: Arnout Kazemier <[email protected]>
Date:   Thu Dec 4 12:13:37 2014 +0100

    Merge pull request #410 from woutermeek/patch-1

    Correct year in history

commit 8d4b2f07f601433e65586e5084a2dcf7a5c35325
Author: Wouter Meek <[email protected]>
Date:   Thu Dec 4 12:11:57 2014 +0100

    Correct year in history

commit 4bfc01933a496ee87107f88a9063aae6c7d91a57
Author: Naoyuki Kanezawa <[email protected]>
Date:   Thu Dec 4 03:35:31 2014 +0900

    add tests for permessage-deflate

commit a810bfa44f08c84ff3f43cc71327e9bb5fb273ef
Author: Naoyuki Kanezawa <[email protected]>
Date:   Thu Dec 4 03:35:09 2014 +0900

    implement permessage-deflate extension

commit 2bef43b68e3ddedf42344180065e44e5207a71e8
Merge: d242d2b 78e5ec2
Author: Arnout Kazemier <[email protected]>
Date:   Tue Nov 25 10:38:37 2014 +0100

    Merge pull request #404 from david-davidson/npm-cli-flag-typo

    Update the `save` flag with two hyphens, not three

commit 78e5ec2e855a8b1841a9377b78fec0d573d13bed
Author: David Davidson <[email protected]>
Date:   Mon Nov 24 15:44:50 2014 -0800

    Update the `save` flag with two hyphens, not three :)

commit d242d2b8ddaa32f7f8a9c61abe74615767a91db4
Author: Arnout Kazemier <[email protected]>
Date:   Thu Nov 20 21:49:53 2014 +0100

    [dist] 0.5

commit 3d07f0b883c93ed0c6ba19a5091f3ffeedb2f297
Author: Arnout Kazemier <[email protected]>
Date:   Thu Nov 20 12:26:56 2014 +0100

    [deps] Added tinycolor & sort on name

commit 4d4e68c9b4c33e53a3e41e92e95df1fc84483327
Author: Arnout Kazemier <[email protected]>
Date:   Thu Nov 20 12:23:47 2014 +0100

    [deps] Bump nan to latest version

    Seems to work without modifications

commit 4eb5e2ff3e3c229d0acbdf3c13e9804b2b94d9a8
Author: Arnout Kazemier <[email protected]>
Date:   Thu Nov 20 12:22:36 2014 +0100

    [deps] Bump devDependencies to latest

commit f23834767311b7870abd7dfef5863239f447efe3
Author: Arnout Kazemier <[email protected]>
Date:   Thu Nov 20 12:10:51 2014 +0100

    [travis] Build broke due to io redirection

commit 0c745e863f86cc01887e6ed1c5cc2b7ad991143f
Author: Arnout Kazemier <[email protected]>
Date:   Thu Nov 20 12:07:40 2014 +0100

    [fix] Silent the node-gyp output, it's an optional feature

commit c60178ba571d433cd027f93f806892a0d69b536f
Author: Arnout Kazemier <[email protected]>
Date:   Thu Nov 20 11:54:41 2014 +0100

    [fix] Use ultron as EventEmitter maid

    Fixes #392 #390 #393

commit f90f877918535db1f9ffd30e8169aadd97327697
Author: Arnout Kazemier <[email protected]>
Date:   Thu Nov 20 11:44:57 2014 +0100

    [fix] Correctly initialize the EventEmitters to prevent memory leaks.

commit d969ff353e5242a7903bbe730c42b933436c223d
Author: Arnout Kazemier <[email protected]>
Date:   Thu Nov 20 10:17:52 2014 +0100

    [fix] Run in strict mode. Fixes #307

commit d4d2fd0d0f676192238915417b15aa541e96fc46
Author: Arnout Kazemier <[email protected]>
Date:   Thu Nov 20 09:58:47 2014 +0100

    [minor] Name anonymouse functions and `use strict`

commit 230f86dd9c25a40fb7b69f5f0d6581f02686da4d
Merge: 5bb20e2 9186ef0
Author: Arnout Kazemier <[email protected]>
Date:   Thu Nov 20 09:53:42 2014 +0100

    Merge pull request #332 from tlhunter/patch-1

    Tiny readability tweak regarding closeTimeout

commit 5bb20e2e5eda52711cb24751db72d87bee8ce161
Merge: 304ba71 4bf45ae
Author: Arnout Kazemier <[email protected]>
Date:   Thu Nov 20 09:52:21 2014 +0100

    Merge pull request #340 from download13/testfixes

    Fixes for tests on Windows

commit 304ba71c6c32d92f6109a8a27b01be5836f91972
Merge: e7152c4 1ed7009
Author: Arnout Kazemier <[email protected]>
Date:   Thu Nov 20 09:51:30 2014 +0100

    Merge pull request #364 from yosuke-furukawa/fix/patch-1

    Fix subprotocol response code from 404 to 401

commit e7152c43bf379d65528e568f354db938651f9744
Author: Arnout Kazemier <[email protected]>
Date:   Thu Nov 20 09:44:41 2014 +0100

    [doc] Use svg as travis badge and point to master

commit cd09ea3c40ce5c3c534f29530578edf60d11251c
Author: Arnout Kazemier <[email protected]>
Date:   Thu Nov 20 09:42:56 2014 +0100

    [doc] More reformatting so we don't have to scroll
    [doc] Nuke 4 spaces to 2 space indent

commit 81af16a8959f72acc386e90bfbc010957bf6e2d4
Author: Arnout Kazemier <[email protected]>
Date:   Thu Nov 20 09:38:29 2014 +0100

    [fix] Remove the licenses property infavor of license as we have no license file

commit 9188437bb20f4bae2b5f82cad1a64320f672b99d
Author: Arnout Kazemier <[email protected]>
Date:   Thu Nov 20 09:38:03 2014 +0100

    [doc] Reformat the README

commit 31d7ba0ae727ec55db794bf8ea937bce7827c169
Author: Arnout Kazemier <[email protected]>
Date:   Thu Nov 20 09:32:26 2014 +0100

    [pkg] Nuke `engines` nobody in their right mind would use 0.4 now

commit 52e20a47545821f5a202d4c4ddee2c39948be808
Author: Arnout Kazemier <[email protected]>
Date:   Thu Nov 20 09:31:07 2014 +0100

    [fix] Corrected package.json reference
    [fix] Output the help when we got an invalid command

commit 1af6323d4a2e4298e11e7b33415ea1f9e85da960
Author: Arnout Kazemier <[email protected]>
Date:   Thu Nov 20 09:27:22 2014 +0100

    [major] Move wscat to it's own library/package/folder. Fixes #256

commit 22ea90f319593d84938c6a498c13ebc244642cb9
Merge: 2f84c1a d888d88
Author: Arnout Kazemier <[email protected]>
Date:   Tue Nov 11 10:35:44 2014 +0100

    Merge pull request #395 from michaelsanford/master

    Add MIT license to package.json

commit d888d88c1341913c36b38746b0735f12173696a0
Author: Michael Sanford <[email protected]>
Date:   Mon Nov 3 13:26:59 2014 -0500

    Add MIT license to package.json

    Allows license to be read programatically.

commit 2f84c1a37032b3b07950a50546efca259bc6a937
Merge: 9d34310 bc6b5c3
Author: Arnout Kazemier <[email protected]>
Date:   Sat Oct 11 21:04:11 2014 +0200

    Merge pull request #376 from ibc/master

    Improve Server API documentation and fix EventEmitter usage

commit bc6b5c3899f1ad9cdf8c662a07e9126c2d465d1c
Author: Iñaki Baz Castillo <[email protected]>
Date:   Sat Oct 11 16:28:09 2014 +0200

    - Improve Server API documentation.
    - Explicitly invoke events.EventEmitter.call(this) in WebSocketServer() and WebSocket() (fixes https://github.com/einaros/ws/issues/373).

commit 1ed7009e77c3876663b22755accd28555a0c8778
Author: Yosuke Furukawa <[email protected]>
Date:   Wed Sep 17 17:53:08 2014 +0900

    Fix subprotocol response code from 404 to 401

commit 9d34310d2f1ea23dbc75c3ba8194c3e0092e42a1
Merge: 9fb0ecf fba7759
Author: Arnout Kazemier <[email protected]>
Date:   Thu Sep 4 20:31:36 2014 +0200

    Merge pull request #355 from felixrabe/patch-1

    Semicolon

commit fba7759e99764013ea66f9a404f921501944cc10
Author: Felix Rabe <[email protected]>
Date:   Mon Aug 18 00:57:03 2014 +0200

    Semicolon

commit 9fb0ecf61dbaa82f46cbec7895889a1c98c5f26c
Author: 3rd-Eden <[email protected]>
Date:   Wed Aug 6 13:25:08 2014 +0200

    [dist] 0.4.32

commit e0a3ff4558e3e7c213828939031048892ab72969
Author: 3rd-Eden <[email protected]>
Date:   Wed Aug 6 13:20:20 2014 +0200

    [ignore] Added builderror.log

commit bbd8fa4ebb09215bd6dd6200634bc82134bffae4
Author: toejough <[email protected]>
Date:   Sun Aug 3 00:38:01 2014 -0600

    Plug WebSocket.terminate timeout leak

    If a caller tracks server connections (`WebSocket`s) on their own and cleans them up manually right before calling `WebSocketServer.close`, the calls to `terminate` (one from the caller closing the connection manually, and one from the server loop doing it) can happen so quickly that the internal state is `WebSocket.CLOSING` in both calls.

    This means that the second call will over-write the first call's `this._closeTimer`.  That means a timer gets leaked, and holds the program open for 30s.  Not a huge problem, but a confounding one.

    This one-liner will prevent that.  The "right" answer is probably to update the state machine, but as far as I can tell, this timeout is the only collateral in this scenario, so the one-liner should be sufficient in practice.

commit 4bf45ae57f05bc78a6f8821257edf6038e8df15c
Author: Erin <[email protected]>
Date:   Mon Jul 28 19:37:57 2014 -0700

    Increased test time limit to 5000ms

commit e9a6152427703febded4efd07ab4b4d3af5b66ce
Author: Erin <[email protected]>
Date:   Mon Jul 28 11:11:57 2014 -0700

    http server bind test reliably fails now

commit ab5d2fd695d42f810702d0f48938fffed1cb6361
Author: Erin <[email protected]>
Date:   Mon Jul 28 11:09:50 2014 -0700

    Don't run unix socket test on windows

commit 5a3ef6ee53b3070ee283466d38c8d73daa64b62a
Merge: f429240 69b4124
Author: Arnout Kazemier <[email protected]>
Date:   Sat Jul 26 16:45:08 2014 +0200

    Merge pull request #303 from rdclark/master

    Remove "-p 8" from wscat example; websocket.org is using RFC-6455

commit 9186ef010fa326fe8204c85cd50f0e6bd5e318c8
Author: Thomas Hunter II <[email protected]>
Date:   Tue Jul 15 10:58:31 2014 -0700

    Tiny readability tweak regarding closeTimeout

commit f429240aea5c2f49f77d29003681b5c352bbe263
Merge: a25f8c6 d3c412b
Author: Arnout Kazemier <[email protected]>
Date:   Thu May 8 21:07:35 2014 +0200

    Merge pull request #313 from kkoopa/newnan

    Updated NAN to 1.0.0

commit d3c412b8d4aba57d9b09e94fb5672ff9a24c42aa
Author: King Koopa <[email protected]>
Date:   Wed May 7 14:56:07 2014 +0300

    Updated NAN to 1.0.0

commit 69b41247b3c55401847c309f23b8672ea65cd07e
Author: Richard Clark <[email protected]>
Date:   Thu Apr 10 10:03:14 2014 -0700

    Remove "-p 8" from wscat example; websocket.org is using RFC-6455

commit a25f8c694c1804a74ed23a4c95a9e957f9658294
Merge: 8faedc3 50837b8
Author: Arnout Kazemier <[email protected]>
Date:   Fri Mar 28 16:14:34 2014 +0100

    Merge pull request #297 from e3c/flexible-verifyclient

    Allow user-defined error status of verifyClient

commit 50837b8b17dfd9e29b76a033c79bca48e43620ca
Author: Eduardo Felipe Castegnaro <[email protected]>
Date:   Mon Mar 24 07:48:18 2014 -0300

    Do not force the user to pass the status name

    Do this while allowing a custom status name.

commit b1b371becbddd246213dbd73f83e33d48e875f7d
Author: Eduardo Felipe Castegnaro <[email protected]>
Date:   Wed Mar 19 14:37:36 2014 -0300

    Allow user-defined error status of verifyClient

    Right now verifyClient can only return 401, but other codes
    might be more appropriate, so allow the caller to specify them.

commit 8faedc3771232269dcea13d761ac802fbcf8e4e2
Merge: a38d9a3 b14c77f
Author: Arnout Kazemier <[email protected]>
Date:   Fri Mar 14 10:27:59 2014 +0100

    Merge pull request #293 from gkorland/patch-1

    Update package.json

commit b14c77fa91eccb4e06b5735eff930302a177caf9
Author: Guy Korland <[email protected]>
Date:   Sat Mar 8 22:57:52 2014 +0200

    Update package.json

commit a38d9a3e6fe30fa52f622861b3b53dbff3819ca9
Merge: e97f3ec 7032658
Author: Arnout Kazemier <[email protected]>
Date:   Wed Jan 1 09:53:51 2014 -0800

    Merge pull request #265 from pixelglow/readable

    Allow sending stream.Readable, not just fs.ReadStream

commit 7032658c30d60c81c90de29e25324f34aedf1be8
Author: Glen Low <[email protected]>
Date:   Mon Nov 18 10:01:32 2013 +0800

    Check against stream.Stream when stream.Readable not available

commit cbf8c4c9fec27918cd1dd0e7d04cab74d26c6faa
Author: Glen Low <[email protected]>
Date:   Sat Nov 16 17:53:40 2013 +0800

    Allow sending stream.Readable, not just fs.ReadStream

commit e97f3ecd69132811faee9fc710ccb7e6740d7b6b
Merge: d0944b7 ba44355
Author: Arnout Kazemier <[email protected]>
Date:   Mon Dec 23 04:19:40 2013 -0800

    Merge pull request #277 from HaykoKoryun/patch-1

    updated .npmignore

commit ba44355db5a4dd78e1441a2bb92ba4d528650e7f
Author: Hayko Koryun <[email protected]>
Date:   Mon Dec 23 04:11:58 2013 -0800

    updated .npmignore

    updated `.npmignore` to additionally ignore `bench`, `doc`, `examples` and `test` folders for __production__

commit d0944b76635ed8901a4ab7ba1fc99d92d911bcaa
Merge: d797d0e 71ab863
Author: Arnout Kazemier <[email protected]>
Date:   Thu Dec 12 05:25:45 2013 -0800

    Merge pull request #274 from pyrtsa/headers

    Headers

commit 71ab86354696176a263eae460cb88085c560f681
Author: Pyry Jahkola <[email protected]>
Date:   Thu Dec 12 11:31:53 2013 +0000

    Improve documentation strings for --header and --auth

commit df0221399e75229ee31564c7c914d5795dde9f3a
Author: Pyry Jahkola <[email protected]>
Date:   Thu Dec 12 11:10:40 2013 +0000

    Allow custom HTTP headers in the initiating request

commit 1d6aa24c4896fbc57d39aaa1b5f3251659546e20
Author: Pyry Jahkola <[email protected]>
Date:   Thu Dec 12 09:35:05 2013 +0000

    Add basic HTTP auth with `wscat --auth user:pass`

commit d797d0e39c7d82b824273580c4a3d0960a203c11
Merge: 39e5d8b a987182
Author: Arnout Kazemier <[email protected]>
Date:   Sun Dec 8 01:11:30 2013 -0800

    Merge pull request #271 from davedoesdev/master

    When unexpected response sent by server, make the request and response available

commit a98718203f779559ad4242606eb7a67009708b6e
Merge: 0540ac2 cd6a3fa
Author: David Halls <[email protected]>
Date:   Sun Dec 8 08:43:35 2013 +0000

    Merge branch 'master' of github.com:davedoesdev/ws

    Conflicts:
    	lib/WebSocket.js

commit 0540ac2e9e50e364b204c443c0143c4f1fa29097
Author: David Halls <[email protected]>
Date:   Sun Dec 8 08:40:53 2013 +0000

    Put back blank lines

commit 34cb0b1c3474ec4fb31eefb77b782d4dc0e1a2b0
Author: David Halls <[email protected]>
Date:   Wed Dec 4 21:00:46 2013 +0000

    New event, for unexpected response ('unexpected-response').
    If there's a handler, it's expected to take care of reading and closing it.
    Otherwise, the request/response is closed and 'error' is emitted.

commit 1440928ecc965a0c76789e79bc740f61098fb66c
Author: David Halls <[email protected]>
Date:   Wed Dec 4 08:16:56 2013 +0000

    NodeV4 pass agent

commit 4f0c768472c4c06a5574671160c33044f8edbb7d
Author: David Halls <[email protected]>
Date:   Wed Dec 4 08:04:50 2013 +0000

    When unexpected response sent by server, make the request and response available.
    Fixes these problems:
    (a) The request and response hang around (preventing process exit) until timeout
        - call err.request.abort to stop this
    (b) It's very useful to be able to read the response! There may be extra error
        information returned by the server that can't be represented by the status
        code alone (e.g. some JSON data describing the error).

commit 39e5d8b243c7f803ef50ee11d0a76fd83fe75672
Merge: acb028e 4125c0c
Author: Arnout Kazemier <[email protected]>
Date:   Sat Dec 7 13:15:30 2013 -0800

    Merge pull request #268 from kkoopa/master

    Updated NAN dep and switched to simpler inclusion string

commit 4125c0c2d8f54eea69a4eb17e60ea9a03a6c3f73
Merge: 402b3be acb028e
Author: King Koopa <[email protected]>
Date:   Sat Dec 7 16:40:59 2013 +0200

    Merge branch 'master' of https://github.com/einaros/ws

commit cd6a3fa9244badd59d880159b829d4566423f7d6
Author: David Halls <[email protected]>
Date:   Wed Dec 4 21:00:46 2013 +0000

    New event, for unexpected response ('unexpected-response').
    If there's a handler, it's expected to take care of reading and closing it.
    Otherwise, the request/response is closed and 'error' is emitted.

commit acb028e68defc5257340b0c446261f9f37fa3aa6
Author: 3rd-Eden <[email protected]>
Date:   Wed Dec 4 15:17:30 2013 +0100

    [major] Remove 0.4 and 0.6 support, fixes #223

    In addition to that, i've fixed a couple of JSHint issues, there are still a lot
    more broken semicolons and broken switch/case statements. In addition to that i've
    removed all tabs and replaced with the correct placeholders.

commit 074a2855ec2f2f432e7745364640229f1f337727
Author: David Halls <[email protected]>
Date:   Wed Dec 4 08:16:56 2013 +0000

    NodeV4 pass agent

commit 4830698d5e2b9bee4109345c6f6c484328bfae2c
Author: David Halls <[email protected]>
Date:   Wed Dec 4 08:04:50 2013 +0000

    When unexpected response sent by server, make the request and response available.
    Fixes these problems:
    (a) The request and response hang around (preventing process exit) until timeout
        - call err.request.abort to stop this
    (b) It's very useful to be able to read the response! There may be extra error
        information returned by the server that can't be represented by the status
        code alone (e.g. some JSON data describing the error).

commit 402b3bee70fc5dd3086285c1e5e9962a265f6471
Author: King Koopa <[email protected]>
Date:   Sun Nov 24 12:57:55 2013 +0200

    Updated NAN dep and switched to simpler inclusion string

commit 0e692b9a5a9b8d5d082947675d6135860e8322c5
Author: 3rd-Eden <[email protected]>
Date:   Wed Nov 20 21:56:06 2013 +0100

    Don't throw an error when close is called multiple times. Fixes #211

commit b5ed62c245c17a1499f07d770c184f040c8012be
Merge: a04d99d f71aae5
Author: Arnout Kazemier <[email protected]>
Date:   Mon Nov 4 08:13:15 2013 -0800

    Merge pull request #237 from feiyunruyue/patch-1

    remove the repeated

commit a04d99d87eccaf282b54daa7fd8bae9d5bf7b0d5
Merge: e9cb6a0 097ff5b
Author: Arnout Kazemier <[email protected]>
Date:   Mon Nov 4 08:12:18 2013 -0800

    Merge pull request #249 from moises-silva/nocheck_option

    Added --no-check option to bin/wscat to not reject self-signed certifica...

commit e9cb6a00fc236cc997c8f1a6e010b11c0ee8829c
Merge: 8743aab bb5aea1
Author: Arnout Kazemier <[email protected]>
Date:   Mon Nov 4 07:52:37 2013 -0800

    Merge pull request #261 from kkoopa/master

    Updated NAN dependency to 0.4.4

commit bb5aea1c63c30200a567b82b1f1e043bfcfc534d
Author: King Koopa <[email protected]>
Date:   Mon Nov 4 17:49:22 2013 +0200

    Updated NAN dependency to 0.4.4

commit 097ff5b4e028ea573d0ed4d2bffddfa08da5320f
Author: Moises Silva <[email protected]>
Date:   Wed Oct 9 02:21:23 2013 -0400

    Do not specify rejectUnauthorized unless -n is specified explicitly
    It seems that option is not ignored for non-ssl connections and causes an error for non-ssl connections

commit 021131f6e2ed4cd83cd7d1bc20ecd95e7ab57d29
Author: Moises Silva <[email protected]>
Date:   Wed Oct 9 00:51:28 2013 -0400

    Added --no-check option to bin/wscat to not reject self-signed certificates

commit 8743aab3a2454701017d1a72712ddba6de6ffe44
Author: 3rd-Eden <[email protected]>
Date:   Mon Sep 23 08:54:50 2013 +0200

    v0.4.31

commit bf14dfa6c306e477f3959898b9eded166cbcf49e
Merge: e33a685 0cb9fe7
Author: Arnout Kazemier <[email protected]>
Date:   Tue Sep 17 11:16:44 2013 -0700

    Merge pull request #235 from TooTallNate/add/component-client-side

    Add component(1) support

commit f71aae513d44f3815c1ff06507365ba6388b7871
Author: feiyunruyue <[email protected]>
Date:   Sun Sep 1 23:13:54 2013 +0800

    remove the repeated

commit 0cb9fe7a21a7a7c200f68b57916d1d62b66082a1
Author: Nathan Rajlich <[email protected]>
Date:   Fri Aug 30 16:29:53 2013 -0700

    browser: update code to accept the 3rd options argument

commit 4627f273031108ff1fc468cb359bb1537ecb2179
Author: Nathan Rajlich <[email protected]>
Date:   Fri Aug 30 16:28:18 2013 -0700

    package: add "component" section

commit e33a6859b6aa7793b2ce43a9de9b70b451a1762a
Author: 3rd-Eden <[email protected]>
Date:   Fri Aug 30 23:11:40 2013 +0200

    0.4.30

commit d8b4e8892b3be9d1cccab52bba6a7cdb08f0fad8
Merge: f0b2c51 c2911d8
Author: Arnout Kazemier <[email protected]>
Date:   Fri Aug 30 14:06:27 2013 -0700

    Merge pull request #234 from TooTallNate/fix/bufferedAmount-default-to-0

    WebSocket: default the `bufferedAmount` to 0 even once the _socket it connected

commit c2911d8409589b5e90c50f4b4e19549ace730acc
Author: Nathan Rajlich <[email protected]>
Date:   Fri Aug 30 13:53:26 2013 -0700

    WebSocket: default the `bufferedAmount` to 0 even once the _socket it connected

    Closes #230.

commit f0b2c51ef0c1084f31f04a486d93012c585e3f27
Merge: 4ba4862 e4109be
Author: Arnout Kazemier <[email protected]>
Date:   Wed Aug 28 23:42:36 2013 -0700

    Merge pull request #231 from mcollina/browserify

    Proper browserify shim

commit 4ba48625ad3ea88fd610628e0aa42457b7bb7715
Merge: f447a9e b3e1939
Author: Arnout Kazemier <[email protected]>
Date:   Wed Aug 28 23:35:34 2013 -0700

    Merge pull request #232 from TooTallNate/add/options-third-arg

    Allow the "options" object to be passed in as the 3rd argument.

commit b3e193976110b07400c400cb0b6c07a144a65d69
Author: Nathan Rajlich <[email protected]>
Date:   Wed Aug 28 16:23:32 2013 -0700

    test: add test case for "options" as the 3rd argument

commit a08cd2c372a270095a5ab3aeb960ce52185bd8a7
Author: Nathan Rajlich <[email protected]>
Date:   Wed Aug 28 16:23:12 2013 -0700

    WebSockets: don't treat an Array like the "options" object

commit 57f0775d006a42f2f38c21f8ae770dc78e035bea
Author: Nathan Rajlich <[email protected]>
Date:   Wed Aug 28 16:08:36 2013 -0700

    WebSocket: fix the options being initialized

    The tests pass once again now.

commit c77214f15dff887c64a403a65e9d25b48bed4933
Author: Nathan Rajlich <[email protected]>
Date:   Wed Aug 28 15:47:24 2013 -0700

    WebSocket: avoid defining the `self` variable twice

commit aae264859ea3aaf316a36061c9240854ee76a8f4
Author: Nathan Rajlich <[email protected]>
Date:   Wed Aug 28 15:47:12 2013 -0700

    WebSocket: fix whitespace

commit 6f2188b8a5a01d8a870bef0a69c4d1e0b54d24df
Author: Nathan Rajlich <[email protected]>
Date:   Wed Aug 28 15:46:23 2013 -0700

    WebSocket: use `Array.isArray()`

    A little bit cleaner code this way.

commit 9aca3daa8a2be9a203b829508fc6225e8d2f954e
Author: Nathan Rajlich <[email protected]>
Date:   Wed Aug 28 15:33:52 2013 -0700

    WebSocket: remove unused `self` variable

commit 1f9d74747a686840bdabbfa6ccea450f67bc2303
Author: Nathan Rajlich <[email protected]>
Date:   Wed Aug 28 14:58:52 2013 -0700

    test: convert tabs to 2 spaces in WebSocket client test

commit 887ebcb624f06741f9570c075f7a21833d988a7b
Author: Nathan Rajlich <[email protected]>
Date:   Wed Aug 28 14:56:47 2013 -0700

    WebSocket: allow "options" to be the 3rd argument

    Currently the 2nd argument (`protocols`) is ignored.

    Eventually the "selected" protocol should be set as `socket.protocol`,
    depending on that the WebSocket server responds with support for, but
    that's for another commit...

    Part of #227.

commit e4109be069b82a2a94b6688381e8a08b4604086a
Author: Matteo Collina <[email protected]>
Date:   Wed Aug 28 22:47:04 2013 +0200

    Proper browserify shim.

commit f447a9e1e2679a85df2cead7946a1734c0d86cce
Merge: 13f406e 370e7c5
Author: Arnout Kazemier <[email protected]>
Date:   Fri Aug 23 03:45:47 2013 -0700

    Merge pull request #226 from stefanocudini/master

    Server sending broadcast example

commit 370e7c5ea4e276cd6fea94b8220df38b58908241
Author: stefano cudini <[email protected]>
Date:   Fri Aug 23 12:42:49 2013 +0200

    Server sending broadcast example

    https://github.com/einaros/ws/issues/216

commit 13f406e5136f4503498e7cc448884c33ae3d0f5d
Author: 3rd-Eden <[email protected]>
Date:   Fri Aug 23 09:25:39 2013 +0200

    Release 0.4.29

commit ab1d5292cc2b46f98722c0902c7bc64651711932
Author: 3rd-Eden <[email protected]>
Date:   Fri Aug 23 09:25:25 2013 +0200

    Document the new options

commit 43a0b2b0277d64ffbb58e074b69cb9341923a3d2
Author: 3rd-Eden <[email protected]>
Date:   Fri Aug 23 09:10:40 2013 +0200

    [fix] Allow custom headers.

    Fixes #157 #225 #162 #106

commit 988e0a321eeac775cc006c55649d61b7e0df2fe6
Merge: bd09a84 af23424
Author: Arnout Kazemier <[email protected]>
Date:   Fri Aug 23 00:01:01 2013 -0700

    Merge pull request #185 from wolfeidau/add_package_gyp_flag

    Added gypfile flag to package.json

commit bd09a84a3a324e75a7d7430fe1d6b6793f13e563
Author: Arnout Kazemier <[email protected]>
Date:   Fri Aug 23 08:55:06 2013 +0200

    Point to the WebArchive version of the blog post as Posterous is no longer among us. Fixes #187

commit 2b4663655c9133a8131cf2a3a664caf1825c2409
Merge: 36cd9a7 41dfe33
Author: Arnout Kazemier <[email protected]>
Date:   Mon Aug 19 07:48:18 2013 -0700

    Merge pull request #224 from kkoopa/master

    Updated NAN to 0.3.0.

commit 41dfe3319b06f0837ca5d8ef05617c5cfd0d0181
Author: King Koopa <[email protected]>
Date:   Mon Aug 19 17:00:24 2013 +0300

    Updated NAN to 0.3.0.

commit 36cd9a72e6ad2f583792d23637ab7b4e8e21f0a1
Author: Nathan Rajlich <[email protected]>
Date:   Sat Aug 17 15:17:34 2013 -0700

    test: add `http.Agent` option test

    For #220.

    Signed-off-by: 3rd-Eden <[email protected]>

commit 7180ae1772ad676edabad62cb21732fc1811af7c
Merge: f939d6b b14cc41
Author: Arnout Kazemier <[email protected]>
Date:   Sun Aug 18 13:40:47 2013 -0700

    Merge pull request #220 from gramakri/master

    Allow agent to be set through options

commit f939d6bc57eb1c745d06a3a04b86f04e2a0876c8
Author: 3rd-Eden <[email protected]>
Date:   Fri Aug 16 18:13:52 2013 +0200

    v0.4.28

commit c4e4e94ef0bf97a2c749fb9612645e2f3e9617a1
Merge: f266c41 8c1297f
Author: Arnout Kazemier <[email protected]>
Date:   Fri Aug 16 09:07:22 2013 -0700

    Merge pull request #214 from breedx2/header_ports_optional_when_default

    Append port number to Host and Origin header, only if specified in the URL and non-default.

commit f266c41201f12c71135743be7796b1e739f026e8
Author: 3rd-Eden <[email protected]>
Date:   Fri Aug 16 17:57:36 2013 +0200

    rejectUnauthoirzed: false -- fixes tests on node 0.10

commit 0823dd447f00f617bbbec58687af0549c2a4741d
Author: 3rd-Eden <[email protected]>
Date:   Fri Aug 16 17:28:43 2013 +0200

    Wait until @travisci support node 0.11.5 before we add 0.11 as 0.11.3 is broken.

commit 06126646a8b59209690b53e73c2bbbf3cc6becac
Author: 3rd-Eden <[email protected]>
Date:   Fri Aug 16 17:21:27 2013 +0200

    Added Node 0.11 to Travis CI -- Passes all tests locally

commit 1b0ba4b3372397df52dfeb7976d291366ba8f3f7
Author: 3rd-Eden <[email protected]>
Date:   Fri Aug 16 17:16:20 2013 +0200

    Update the devDependencies to the latest stable versions.

commit ae6a27574eba423243e7b97b43089904c7cf5a8c
Merge: c63f29f 0e86b34
Author: Arnout Kazemier <[email protected]>
Date:   Fri Aug 16 07:48:25 2013 -0700

    Merge pull request #217 from kkoopa/master

    Support Node v0.11.4

commit 0e86b3422f7312bee2a0c111b1c1a9e9c225be28
Merge: 08bd81e c63f29f
Author: King Koopa <[email protected]>
Date:   Sun Aug 11 15:46:38 2013 +0300

    Merge remote-tracking branch 'upstream/master'

commit 08bd81e40688d4acd0b856c2c31c4f62d5a8af98
Author: King Koopa <[email protected]>
Date:   Sun Aug 11 15:42:35 2013 +0300

    Fixed integration test.

commit b14cc411abdf769b0fa1628da76dc9d8aeda4bf9
Author: Girish Ramakrishnan <[email protected]>
Date:   Fri Aug 9 11:55:18 2013 -0700

    Allow agent to be set through options

commit c63f29ff86f1912d37ac7ce698a3c036fa0af732
Author: 3rd-Eden <[email protected]>
Date:   Thu Aug 8 12:40:19 2013 +0200

    Clean up the Basic Auth patch with correct formatting.

commit 26adb4adb30db6182990b433cbd4c22bfd46c38e
Merge: ea3e2e8 107d56f
Author: Arnout Kazemier <[email protected]>
Date:   Tue Aug 6 00:59:09 2013 -0700

    Merge pull request #219 from jcrugzz/fix-basic-auth

    Fix basic auth

commit 107d56f60e1fad39f687d7ba14fca99768cca9d1
Author: Jarrett Cruger <[email protected]>
Date:   Mon Aug 5 19:05:28 2013 -0400

    [fix test] fix test to properly assess auth

commit be256afc7861d0c36f28c7eca3ea421a8894d876
Author: Jarrett Cruger <[email protected]>
Date:   Mon Aug 5 19:05:24 2013 -0400

    [fix] properly create basic auth (Basic is not base4 encoded)

commit ea3e2e8d792e2b245c281ac9b553f85476011f02
Merge: 1969850 e74915e
Author: Arnout Kazemier <[email protected]>
Date:   Sun Aug 4 06:36:23 2013 -0700

    Merge pull request #218 from jcrugzz/basic-auth

    Add basic auth support

commit e74915e162e51f758329463acd0534ec0b139498
Author: Jarrett Cruger <[email protected]>
Date:   Sun Aug 4 01:19:22 2013 -0400

    [test] test for basic auth

commit 3eb732432691969dee8d22ac8feaf63c74c4b073
Author: Jarrett Cruger <[email protected]>
Date:   Sun Aug 4 01:19:07 2013 -0400

    [fix] add ability to handle basic auth

commit 8ad8bec1bddf9386fb34ae2944a13cb93130fbb5
Author: King Koopa <[email protected]>
Date:   Thu Aug 1 19:15:57 2013 +0300

    Backwards compatibility.

commit eaf9998396997c229f90d5b490e29add9f9785b2
Author: King Koopa <[email protected]>
Date:   Thu Aug 1 11:41:33 2013 +0300

    Fixed arraybuffer handling.

commit 1eb5b8479322bfafaea20a1cb4541a9929a73ae5
Author: King Koopa <[email protected]>
Date:   Wed Jul 31 20:51:45 2013 +0300

    Fixed ssl detection.

commit 197ba2bc47b599083feaf40d7e20c73e2395211e
Author: King Koopa <[email protected]>
Date:   Wed Jul 31 20:46:43 2013 +0300

    Initial porting efforts.

commit 8c1297f4c537a50d2863ff610432782ca6695da3
Author: Jason Plumb <[email protected]>
Date:   Thu Jul 25 12:48:54 2013 -0700

    Add tests around host and origin headers

commit 514b129763ad487920fe57d77a5bc0038b5d11da
Author: Jason Plumb <[email protected]>
Date:   Wed Jul 17 14:19:31 2013 -0700

    whitespace correction

commit e9b5c6a4aeee4026dfcc2c9d1a25077a105e038c
Author: Jason Plumb <[email protected]>
Date:   Wed Jul 17 14:11:25 2013 -0700

    Append port number to Host and Origin header, only if specified in the url and non-default

commit 1969850f8a446ed4e97e31fdc30d8ad7ebf00943
Merge: e484239 29ff526
Author: einaros <[email protected]>
Date:   Tue Jul 16 20:47:42 2013 +0200

    Merge branch 'master' of github.com:einaros/ws

commit 29ff526698625fe628d8644d2985598489e6126b
Merge: 830288a 3b9874c
Author: Arnout Kazemier <[email protected]>
Date:   Thu Jul 11 15:27:55 2013 -0700

    Merge pull request #212 from saschagehlich/bugfix/racecondition-data

    Race condition: Socket's first data event received before readyState is OPEN

commit 3b9874c1f7f2c612284ba25806805ac26d79d878
Author: Sascha Gehlich <[email protected]>
Date:   Wed Jul 10 16:22:59 2013 +0200

    another approach for fixing the race condition. moved data listener to the end of the function

commit 29833e33f5e75eaa3ec7d0714991bd23f1f90fb2
Author: Sascha Gehlich <[email protected]>
Date:   Wed Jul 10 15:59:31 2013 +0200

    fix race condition in socket data listening

commit 830288a56b7f40d9c908b537598fe92737c18a07
Author: 3rd-Eden <[email protected]>
Date:   Tue Jul 2 13:30:23 2013 +0200

    Updated the history to reflect the 0.4.27 release.

commit 168ed488c46eee71fcfb1154de65f4341f30c18e
Merge: 02b12c1 58a4b86
Author: Einar Otto Stangvik <[email protected]>
Date:   Thu Jun 27 13:03:17 2013 -0700

    Merge pull request #200 from inolen/master

    Honor ArrayBufferView's byteOffset when sending

commit e4842399319a95392562ca0063876e71b2d77f52
Author: einaros <[email protected]>
Date:   Thu Jun 27 22:00:54 2013 +0200

    bump

commit 02b12c184c87c643ecac1a9e8e0bdea63acd4f18
Merge: aa1f919 8a2e11d
Author: Einar Otto Stangvik <[email protected]>
Date:   Tue Jun 18 13:56:49 2013 -0700

    Merge pull request #198 from kanaka/master

    Add subprotocol support

commit aa1f919c9d8835de7bbf93b16732bad6e1e59dbf
Merge: 0dce161 81bb913
Author: Einar Otto Stangvik <[email protected]>
Date:   Tue Jun 18 13:56:11 2013 -0700

    Merge pull request #202 from arlolra/target

    Add target attribute to events.

commit 81bb913cc133ae5efeb4ad1b86ca02b0ee75d9d1
Author: Arlo Breault <[email protected]>
Date:   Sun Jun 16 13:43:09 2013 -0700

    Add tests for target on events.

commit ff043532b954ba7a2e07cc864afbf1264d9a8191
Author: Arlo Breault <[email protected]>
Date:   Sat Jun 1 14:41:52 2013 -0700

    Add target attribute to events.

commit 58a4b86329924036a6788545cb5221aa31a33b4c
Author: Anthony Pesch <[email protected]>
Date:   Fri May 31 22:59:37 2013 -0700

    Honor ArrayBufferView's byteOffset when sending

commit 8a2e11d4b51f4d8f97533334c1083bc64d196093
Author: Joel Martin <[email protected]>
Date:   Tue May 28 21:32:46 2013 -0500

    Add subprotocol support. #29, #192, #193.

    - The client will set ws.protocol based on the subprotocol returned by
      the server. Fixes #192.
    - The server application can select from multiple client subprotocol
      options by specifying a handleProtocols in initialization options.
      This function takes two arguments; the first is an array of
      subprotocols sent by the client (empty array if no subprotocol
      specified by the client), the second is a callback function. The
      callback function takes two arguments; the first indicates if the
      client subprotocols are valid, the second argument (only passed when
      first is true) is the subprotocol string selected to return to the
      client. Fixes #29. Fixes #193.
    - The default subprotocol behavior of the server is to select/return
      the first subprotocol in the list.
    - Includes 6 tests to test subprotocol support:
        - test default behavior of selecting first subprotocol
        - test custom handleProtocols that selects a subprotocol
        - detect server sending invalid subprotocol
        - detect server sent no subprotocol even though client sent
          subprotocol header.
        - test custom handleProtocols that rejects connection based on
          invalid client subprotocol request.
        - server responds with 501 to client if the handleProtocols
          handler neither selects a protocol nor rejects the connection.

commit 0dce161f838e73581d96bd6f0ef6c78a675e6c20
Merge: 8093fde ea47c1f
Author: Arnout Kazemier <[email protected]>
Date:   Thu May 9 07:31:09 2013 -0700

    Merge pull request #186 from joaojeronimo/patch-1

    missing semi colon

commit 8093fdee2a976289c5b83301ffe39e25a40d3262
Merge: ffb8256 c091e1c
Author: Arnout Kazemier <[email protected]>
Date:   Thu May 9 07:30:35 2013 -0700

    Merge pull request #189 from ralphtheninja/master

    Add 'Host' and 'Origin' to request header, fixes problems with mtgox websocket

commit c091e1cc8cc1cb20e7e25b3568d97dcc8adb7817
Author: Lars-Magnus Skog <[email protected]>
Date:   Sat May 4 15:06:56 2013 +0200

    Add 'Host' and 'Origin' to request header. Fixes problems with …
NOTE: breaks some assertions in Websocket test
@eljefedelrodeodeljefe
Copy link
Contributor Author

After reviewing this, this would out-of-box introduce a lot of liability. I'll defer this to further research, namely prototyping a minimal ws implementation. Since I still find this to be be extremely useful, I'll keep nodejs/node-eps/pull/6 open.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
feature request Issues that request new features to be added to Node.js. semver-minor PRs that contain new features and should be released in the next minor version.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

8 participants