Mikael Mengistu
72514f3943
Removing the connected event ( #989 )
2017-10-05 11:12:18 -07:00
Pawel Kadluczka
7c90e80b3f
Merge branch 'rel/1.0.0-alpha2' into dev
2017-10-02 10:07:16 -07:00
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
05da66ada0
Merge branch 'rel/1.0.0-alpha2' into dev
2017-09-28 17:52:25 -07:00
Pawel Kadluczka
4f4fb174ea
Replacing 8-byte-long length prefix with varint
2017-09-28 17:00:49 -07:00
David Fowler
2adf24d1c6
Merge branch 'rel/1.0.0-alpha2' into dev
2017-09-25 23:44:25 -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
000f9cb192
Initial support for websocket subprotocols ( #933 )
...
* Initial support for websocket subprotocols
- Exposes a SubProtocol property on WebSocketOptions that picks the
protocol for all connections on the end point.
- This is required for things like mqtt over websockets (the SubProtocol in
this case is something like mqtt or mqttv3.1)
- Added test
#402
2017-09-25 15:17:45 -07:00
David Fowler
5497c7d4ce
Merge branch 'rel/1.0.0-alpha2' into dev
2017-09-25 08:31:02 -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
moozzyk
c0713c9916
Merge branch 'rel/1.0.0-alpha2' into dev
2017-09-25 08:17:27 -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
David Fowler
65cd41dbf5
Block POST requests for websocket connections ( #934 )
2017-09-23 17:49:19 -07:00
Pawel Kadluczka
8743723ece
Merge branch 'rel/1.0.0-alpha2' into dev
2017-09-21 23:00:20 -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
Pawel Kadluczka
dd07ab1735
Merge branch 'rel/1.0.0-alpha2' into dev
2017-09-20 15:31:56 -07:00
FTWinston
a7fb243501
Added typed HubContext
2017-09-19 16:16:31 -07:00
David Fowler
24455da8fb
Merge branch 'rel/1.0.0-alpha2' into dev
2017-09-18 20:46:14 -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
2efbd6a95a
Merge branch 'rel/1.0.0-alpha2' into dev
2017-09-18 14:14:23 -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
Mikael Mengistu
e42f6980b6
Add Hub<T> Functional Tests ( #891 )
2017-09-15 13:59:44 -07:00
Pawel Kadluczka
b093f2b279
Merge branch 'rel/1.0.0-alpha1' into dev
2017-09-13 13:55:06 -07:00
Pawel Kadluczka
d226b20756
Rename With/GetTransportType to With/GetTransport
2017-09-13 09:46:17 -07:00
David Fowler
11cc57ee0e
Merge branch 'rel/1.0.0-alpha1' into dev
...
# Conflicts:
# src/Microsoft.AspNetCore.SignalR.Client.Core/Microsoft.AspNetCore.SignalR.Client.Core.csproj
2017-09-13 09:20:53 -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
5d7b706c4d
Merge branch 'rel/1.0.0-alpha1' into dev
2017-09-13 09:15:08 -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
240c09034e
Merge branch 'rel/1.0.0-alpha1' into dev
2017-09-12 13:08:15 -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
ef4da90c91
Merge branch 'rel/1.0.0-alpha1' into dev
2017-09-11 16:55:57 -07:00
BrennanConroy
393ab6a4f0
Add extension method to get HttpContext on HubConnectionContext ( #849 )
2017-09-11 16:55:32 -07:00
LivioF
fea0db3814
Renamed private fields according to coding guidelinesù
2017-09-11 10:33:00 -07:00
Pawel Kadluczka
eec4b33cff
Merge branch 'rel/1.0.0-alpha1' into dev
2017-09-07 14:25:43 -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
225d2ed6f1
Merge branch 'rel/1.0.0-alpha1' into dev
2017-09-07 10:30:31 -07:00
Pawel Kadluczka
4ac8e786cf
Adding HubConnectionBuilder
2017-09-07 10:04:42 -07:00
Pawel Kadluczka
8ff6a4b624
Merge branch 'rel/1.0.0-alpha1' into dev
2017-09-07 09:52:28 -07:00
Pawel Kadluczka
9e614b6cc7
Initializing HubOptions.JsonSerializationSettings to default settings
2017-09-07 09:51:20 -07:00
Pawel Kadluczka
269e1d1b5e
Merge branch 'rel/1.0.0-alpha1' into dev
2017-09-05 12:22:49 -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
Nate McMaster
d3ae3abe2a
Use PackageLineup to manage PackageReference versions
2017-09-01 16:34:32 -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
Pawel Kadluczka
f9ee7911a5
Use CloseOutputAsync to close client transport WebSocket ( #695 )
...
* Use CloseOutputAsync to close client transport WebSocket
Fixes #568
2017-08-08 11:31:24 -07:00
Pawel Kadluczka
ae815475b8
Support for binary protocols on the server side
2017-07-20 17:46:45 -07:00
Mikael Mengistu
8fc2cd98b6
Add timeout to Event Queue drain ( #619 )
2017-07-19 11:47:47 -07:00
Mikael Mengistu
8ba29b578d
Dynamic Hub Change Part 2 ( #644 )
2017-07-14 15:54:31 -07:00
Pawel Kadluczka
0ebd33a25c
Plumbing TransferMode on the client side
2017-07-14 10:45:28 -07:00
Pawel Kadluczka
90a6d8fdf7
Shortening log path
...
CI is failing with PathTooLongException
2017-07-14 08:38:29 -07:00
Pawel Kadluczka
2854e868ec
Adding tests for SSE transport #413
2017-07-13 09:14:03 -07:00
BrennanConroy
bcefbae00c
Complete logging for Socket.* packages ( #655 )
2017-07-12 16:16:09 -07:00
Pawel Kadluczka
a41ef82f19
Exiting SSE transport receive loop when transport is stopping
...
Fixes : #650
2017-07-10 17:56:24 -07:00
Hao Kung
2d16cd2273
React to default auth change
2017-07-07 19:20:20 -07:00
David Fowler
595f783857
Features everywhere ( #639 )
...
* Features everywhere
- The goal here is to move things closer to the final design where
ConnectionContext represents a very low level primitive that represents
any connection like transport. As part of that change, we remove unnecessary
properties like User and move those into features. They temporarily live in the same
assembly but they are not required by ConnectionContext.
- Used features for Hubs instead of Metadata
- Metadata is no longer thread safe
2017-07-06 11:27:16 -07:00
Mikael Mengistu
2597e52e53
Rename HubConnection Extension Methods from Invoke to InvokeAsync ( #637 )
2017-07-05 22:56:03 -07:00
Mikael Mengistu
cfaa4b69d7
Dynamic Hub Work Part 1 ( #636 )
...
Getting rid of TClient
2017-07-05 22:55:16 -07:00
David Fowler
f21f5039b2
Replace ConnectionContext with HubConnectionContext ( #629 )
...
* Replace ConnectionContext with HubConnectionContext
- The SocketDelegate implementation owns the transport pipe,
it's a single producer single consumer model. SignalR needs to support
multiple producers so that broadcast, return values and sending to individual
connections works. This change introduces a multi producer channel that is used
by all producers to copy data to the transport safely. This will make the move
to pipelines easier.
2017-07-03 17:44:28 -07:00
David Fowler
0f4295f90e
Make parsers stateless ( #628 )
...
* Make parsers stateless
- Changed parser input to ReadOnlySpan<byte> to ReadOnlyBuffer<byte>
2017-07-01 23:44:22 -07:00
David Fowler
53e09f8cc3
Fix flaky test ( #622 )
...
- Remove timeout and closed the application when the transport closes.
Made some tweaks to TestWebSocketConnectionFeature as a result.
- This uncovered some interesting issues with the WebSocketTransport itself so
further refactoring is needed to make it a bit more solid.
2017-06-30 02:30:09 -07:00
Hao Kung
d125a14a39
React to HttpAbstractions
2017-06-29 16:30:38 -07:00
Pranav K
08c04f8912
Fix NuGet downgrade warnings from CoreFxLab packages
2017-06-29 10:31:32 -07:00
Mikael Mengistu
d68de2b5ea
Make Client Side Event Handlers Async ( #610 )
2017-06-28 22:39:59 -07:00
David Fowler
6332e98d03
Remove Try from Write methods ( #614 )
...
- We write to a Stream so it should never fail (it could throw
but that's not new).
2017-06-28 21:53:23 -07:00
David Fowler
d6f5e16f38
Support non blocking send on client ( #603 )
...
* Added support for non blocking sends on HubConnection
- Renamed Invoke to InvokeAsync
- Add support for non blocking send to TS client
- Add tests to make sure that non blocking sends don't send responses
2017-06-28 21:00:13 -07:00
BrennanConroy
dc29e98032
Support Authorize attribute on EndPoints ( #606 )
2017-06-28 14:52:52 -07:00
Pawel Kadluczka
f8d91b54d4
MsgPack end-to-end
...
Plugging in MsgPack protocol
Adding negotiation message to hub protocol
2017-06-27 18:40:55 -07:00
Pawel Kadluczka
71949129ea
Enabling length prefixing, parsing multiple messages
2017-06-27 18:08:32 -07:00
Pawel Kadluczka
3504337918
Adding MsgPack HubProtocol
2017-06-27 17:35:00 -07:00
Mikael Mengistu
13ef35fa79
Changed the handlers to be Func<object[], Task> ( #578 )
2017-06-27 10:14:58 -07:00