aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFiles
* chore(composer) Use `dev-master` dependencies.HEADmasterIvan Enderlin2018-01-231
|
* chore(php) Update to PHP 7.Ivan Enderlin2017-11-101
|
* chore(php) Update to PHP 7.Ivan Enderlin2017-11-108
|
* chore(php) Update to PHP 7.Ivan Enderlin2017-11-0826
|
* chore(php) Fix composer.Ivan Enderlin2017-11-081
|
* chore(php) Update to PHP 7.Ivan Enderlin2017-11-0813
|
* chore(composer) add PHP version requirementAlexis von Glasow2017-08-041
| | | | | | Define minimal supported version of PHP needed into composer.json Address hoaproject/Central#70
* chore(ci) Drop HHVM support.Stéphane HULARD2017-07-071
|
* Connection: Add `close-before` event.Metalaka2017-03-302
|
* Fire close event before closing and on errorjmdevince2017-03-301
| | | | | | Firing the close event before closing allows for the user to grab the connection's unique ID. This is useful if the user is keeping track of connection based states across the lifecycle of a connection (e.g. session data). Fire the event on a protocol error as well before closing.
* Merge branch 'incoming' into issue_58Ivan Enderlin2017-03-2430
|\
| * CI: Set up Travis.Ivan Enderlin2017-03-142
| |
| * Prepare 3.17.01.09.3.17.01.09Ivan Enderlin2017-01-091
| |
| * Quality: Happy new year!Ivan Enderlin2017-01-0926
| |
| * Test: Fix namespace.Ivan Enderlin2016-10-259
| |
| * Quality: Fix `CHANGELOG.md`.Ivan Enderlin2016-10-241
| |
| * Prepare 3.16.10.24.3.16.10.24Ivan Enderlin2016-10-241
| |
| * Documentation: Update Composer instructions.Ivan Enderlin2016-10-141
| |
| * Documentation: New `README.md` file.Ivan Enderlin2016-10-141
| |
| * Connection: Start TLS encryption on handshake.Ivan Enderlin2016-10-111
| |\ | | | | | | | | | | | | If the URI is `wss://`, then the connection must be encrypted. This step must be done early before the handshake starts.
| | * Quality: Fix CS.Ivan Enderlin2016-10-111
| | |
| | * prevent already encrypted connectionPierre Tomasina2016-10-111
| | |
| | * set encryption in handshake if TLS enablePierre Tomasina2016-10-051
| | |
| * | Documentation: Update `support` properties.Ivan Enderlin2016-10-111
| |/
* | Connection: If a normal close fails, no error.Ivan Enderlin2016-08-041
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When a normal close is attempted and it fails because of several reasons (it is likely to be because the client might already be disconnected and then it is not possible to send messages to it), then this situation is not considered as an error. Indeed, the client has sent a normal close but it does not listen for the confirmation from the server. This is a protocol error but happening on closing. So instead of getting an exception when closing, catching this exception later and then firing an `error` event, this makes more sense to catch the exception, do nothing with it, and fire the expected `close` event.
* | Connection: Ensure disconnection on closing.Ivan Enderlin2016-08-041
|/ | | | | | If the node is not able to close properly, then the socket disconnection was not happening nicely. This patch catches errors from a node closing and ensure the socket disconnection all the time.
* Prepare 3.16.07.05.3.16.07.05Ivan Enderlin2016-07-051
|
* Test: Write integration test suite.Ivan Enderlin2016-07-051
|
* Protocol: Relax UTF-8 checking when sending.Ivan Enderlin2016-07-051
| | | | | | | | | | | | | | | | | All messages sent with `Protocol\Rfc6455::send` must be UTF-8 encoded. This is a hard constraint. All messages received by the server must be UTF-8 encoded, so we ease the work of the server and avoid sending invalid messages by adding this constraint. This constraint was checked when the opcode was either `OPCODE_TEXT_FRAME` or `OPCODE_CONTINUATION_FRAME`. This is wrong because in some cases a valid UTF-8 message can be send byte after byte as fragments. Each fragment is not necessarily a valid UTF-8 string. So now, this constraint is checked only when the opcode is `OPCODE_TEXT_FRAME` and when the message is not fragmented (so `end` is set to `true`). And so, this is possible to send a valid UTF-8 message as many invalid UTF-8 fragments.
* Test: Fix a test case.Ivan Enderlin2016-07-051
|
* Protocol: Read the whole frame when length is zero.Ivan Enderlin2016-07-051
| | | | | | | | When the length of the message is zero, the `readFrame` method returns earlier. However, if a masking key is present in the frame, it is not read and then still present in the buffer. So the next `readFrame` calls will be invalidated. To avoid that, the masking key is read, so the whole frame, each time the `readFrame` method is called.
* Quality: Fix API documentation.Ivan Enderlin2016-06-175
|
* Connection: Wrap listeners into a try/catch block.Ivan Enderlin2016-06-171
| | | | Same reasons than other listeners.
* Connection: Better safety for `binary-message`.Ivan Enderlin2016-06-171
| | | | | | We apply the same safety strategy to `binary-message` that we did for `message`. We capture all the exceptions than can be thrown and we fire the `error` event listener.
* Connection: Capture all exceptions in `message`.Ivan Enderlin2016-06-171
| | | | | | | The `message` event listener can through an exception and then we must capture it to fire the `error` event listener. It must not be restricted to `Hoa\Exception\Group` only, but it's better to capture all kind of exceptions.
* Quality: Fix CS.Ivan Enderlin2016-06-171
|
* Connection: Use `::class` instead of a string.Ivan Enderlin2016-06-171
|
* Test: Write test suite of `…Websocket\Connection`.Ivan Enderlin2016-06-171
|
* Client: Extract the `getNewChallenge` method.Ivan Enderlin2016-06-171
|
* Test: Write test suite of `Hoa\Websocket\Client`.Ivan Enderlin2016-06-171
|
* Test: Ensure disconnection if handshake fails.Ivan Enderlin2016-06-171
|
* Quality: Rename an internal variable.Ivan Enderlin2016-06-171
|
* Test: Write test suite of `Hoa\Websocket\Server`.Ivan Enderlin2016-06-171
|
* Protocol: Use the `getConnection` method.Ivan Enderlin2016-06-171
|
* Protocol: Update an exception message.Ivan Enderlin2016-06-171
| | | | This is more useful to get both `Sec-WebSocket-Key1` and `-Key2` values.
* Test: Write test suite of `…cket\Protocol\Hybi00`.Ivan Enderlin2016-06-171
|
* Test: Update a test case.Ivan Enderlin2016-06-171
| | | | | `case_constructor` is already tested in the `Generic` test suite. So testing `Rfc6455` is a generic protocol makes more sense.
* Test: Write test suite of `…ket\Protocol\Generic`.Ivan Enderlin2016-06-171
|
* Protocol: Extract the `getMaskingKey` method.Ivan Enderlin2016-06-171
| | | | | This is easier for testing and it makes sense to have it as a single method.
* Documentation: Update API documentation.Ivan Enderlin2016-06-171
|