Commit Graph

275 Commits

Author SHA1 Message Date
Pawel Kadluczka 70df19c8a2 Fixing MsgPack serializing byte[] as string Part 1
Enabling sending byte[] from server to client.
2017-09-29 17:05:24 -07:00
Pawel Kadluczka 4f4fb174ea Replacing 8-byte-long length prefix with varint 2017-09-28 17:00:49 -07:00
David Fowler 9df8d2f795 Remove the params argument from IClientProxy (#946)
* Remove the params argument from IClientProxy
- This allows passing arrays without having to explicitly ToArray() or AsEnumerable()
- Added overloads up to 10 arguments
- Added tests
2017-09-25 21:01:52 -07:00
David Fowler 26255cc29c Check for null before sending to a specific connection id (#935)
* Check for null before sending to a specific connection id
- Added some tests for the DefaultHubLifetimeManager

#905
2017-09-25 08:26:24 -07:00
Pawel Kadluczka 0267695656 Exceptions thrown during writing should close the connection
We need to close the connection if there is an exception when writing to the transport on the server side. Currently if an exception happens it leaves the connection in an unsable state - after the exception no messages from the server will be sent to the client because the writing loop is terminated. Ignoring the message could cause hangs on the client side since we can fail while writing a completion message. In this case if the client is awaiting the invocation it will hang because the task will never be completed.
2017-09-25 08:13:46 -07:00
Pawel Kadluczka 4db78685dc camelCasing objects serialized by JsonHubProtocol
Fixes: #859
2017-09-21 22:58:59 -07:00
Pawel Kadluczka 126901a08f Adding default ctors for HubProtocols 2017-09-21 15:30:23 -07:00
Pawel Kadluczka ba25dee141 Enabling customizing serialization settings in MessagePack protocol 2017-09-21 15:30:23 -07:00
FTWinston a7fb243501 Added typed HubContext 2017-09-19 16:16:31 -07:00
David Fowler 48d97bf271 Turned Stream into StreamAsync (#902)
* Turned Stream into StreamAsync
- Before we were fire and forgetting the invocation that initiated
the streaming, this changes that so that the caller now has to await
to get the channel.

#899
2017-09-18 16:44:18 -07:00
David Fowler a93e4be82f Added Cancellation support (#897)
* Added Cancellation support
- Added ConnectionAbortedToken to the HubConnectionContext. This allows
arbitrary code to access a handle that represents the connection lifetime
without handling OnDisconnectedAsync on the hub itself.
- Expose Abort on HubConnectionContext to allow server side methods to
abort the connection.
- Use the Abort to stop the main loop when unexpected invocation errors happen.
- Use the connection aborted token as unsubscribe from the IObservable and to complete
the IAsyncEnumerator for streaming results.
2017-09-18 12:47:38 -07:00
Pawel Kadluczka d226b20756 Rename With/GetTransportType to With/GetTransport 2017-09-13 09:46:17 -07:00
David Fowler 2e695c935e Made tweaks to .NET client logging API (#869)
- Removed ConnectionFactoryDelegate and used Func<IConnection>
- Changed WithLogger that accepts ILoggerFactory to WithLoggerFactory
- Made UseLogger configure the existing ILoggerFactory or create a LoggerFactory
- Add support for setting the log level for console logs
- Updated tests
2017-09-13 09:18:06 -07:00
Pawel Kadluczka 1453f419a8 MessagePack Serialization fixes
* serializing user objects as maps (#863)
* enabling serializing objects that potentially cannot be deserialized (#862)
2017-09-13 08:50:04 -07:00
Pawel Kadluczka 35683fb2b8 Fixing a bug where adding protocol with build would have no effect 2017-09-12 13:06:38 -07:00
BrennanConroy 393ab6a4f0 Add extension method to get HttpContext on HubConnectionContext (#849) 2017-09-11 16:55:32 -07:00
Pawel Kadluczka 62bbe943e8 Make sure long polling transport can survive http client timeout 2017-09-07 14:14:52 -07:00
Pawel Kadluczka 4ac8e786cf Adding HubConnectionBuilder 2017-09-07 10:04:42 -07:00
Pawel Kadluczka 9e614b6cc7 Initializing HubOptions.JsonSerializationSettings to default settings 2017-09-07 09:51:20 -07:00
Pawel Kadluczka ceff4bd7da Exceptions from user's event handlers should be caught and logged
Otherwise they can spoil event queue and make the client not raise the Received event anymore

Fixes: #818
2017-09-05 12:21:47 -07:00
BrennanConroy 7418785a5e Fix WebSocket race in E2E test (#809) 2017-08-31 15:30:55 -07:00
Mikael Mengistu 8ec2848646 AllExcept for Dynamic and Typed Hubs (#796) 2017-08-31 15:30:19 -07:00
Nate McMaster 5b767e05b4 Lift local function to class function to workaround issue in xunit.analyzers and roslyn 2017-08-31 13:42:44 -07:00
Pawel Kadluczka 5dceaa8149 Adding Microsoft.AspNetCore.SignalR.Client 2017-08-31 10:10:02 -07:00
Pawel Kadluczka 36acebf9fb Renaming Microsoft.AspNetCore.SignalR.Client to Microsoft.AspNetCore.SignalR.Client.Core 2017-08-31 10:10:02 -07:00
Pawel Kadluczka 521eed1438 Renaming Microsoft.AspNetCore.SignalR.Http to Microsoft.AspNetCore.SignalR 2017-08-31 10:10:02 -07:00
Nate McMaster 9c0dc52d67 Use Directory.Build.props/targets 2017-08-29 10:17:20 -07:00
BrennanConroy b8a936f2c1 Use IApplicationLifetime instead of IHostedService (#757) 2017-08-24 00:10:18 -07:00
BrennanConroy 978f5cebc0 Starting HubOptions (#743)
* Added JsonSerializerSettings
2017-08-23 15:30:08 -07:00
Nate McMaster 629dd34977 Upgrade to xunit 2.3.0-beta4 (#754)
Removes unused theory parameters
2017-08-23 10:02:15 -07:00
Mikael Mengistu d469cc3151 Clients Subset - AllExcept (#700) 2017-08-22 17:33:27 -07:00
BrennanConroy 5c6fb642a0 Fix flaky WebSocket test (#745) 2017-08-22 10:48:30 -07:00
BrennanConroy 345190e6a9 Add timeout to Negotiate (#736) 2017-08-18 15:51:01 -07:00
BrennanConroy a4053acd06 Give Client a chance to receive Close Frame from Server (#730) 2017-08-18 09:56:40 -07:00
Pawel Kadluczka 5ad5f36f88 Changing length prefixing to separator for JSON C# 2017-08-18 09:50:45 -07:00
BrennanConroy b12451025f Exit OnConnected early if Negotiate fails (#733) 2017-08-17 23:34:45 -07:00
Pawel Kadluczka a359da0c44 Length prefixing base64 encoded messages
... in preparation for pipeline conversion
2017-08-17 09:58:16 -07:00
Pawel Kadluczka 5b4cc95583 Removing unnecessary dependency 2017-08-17 09:30:57 -07:00
Pawel Kadluczka 9eabce1b02 Enabling tests which would have prevented a bug 2017-08-11 11:22:45 -07:00
BrennanConroy e8a673248a Conditional WebSockets testing (#714) 2017-08-11 10:46:50 -07:00
Pawel Kadluczka 29f9c54b86 Updating xUnit version 2017-08-10 19:00:31 -07:00
BrennanConroy b393200fd3 SSE StopAsync should ignore exception (handled elsewhere) (#708) 2017-08-10 14:18:34 -07:00
Mikael Mengistu 8cda36157f Change Read to ReadAsync (#702) 2017-08-09 16:35:44 -07:00
Pawel Kadluczka e2cec0b305 Adding MsgPack hub protocol to TS client 2017-08-09 09:12:11 -07:00
moozzyk e089852d59 Turning messages to arrays
Makes it much easier to parse in JavaScript (also is more MsgPacky)
2017-08-09 09:12:11 -07:00
moozzyk be9fec5d30 Adding result kind to completion message
Before we would rely on error being null to detect whether to read results and we had an additional 'hasResult' field. Now all this information is codified in a field.
2017-08-09 09:12:11 -07:00
Mikael Mengistu 32ef3eb355 Hub<T> (#689) 2017-08-08 17:39:09 -07:00
Pawel Kadluczka 3a1d4c5dd6 Introducing HubProtocolReaderWriter 2017-08-08 12:11:55 -07:00
Pawel Kadluczka ad4784dbd2 Centralizing serializing hub messages 2017-08-08 12:11:55 -07:00
Pawel Kadluczka a0e490e549 Enabling binary protocols over text transports 2017-08-08 12:11:55 -07:00