James Newton-King
7625bbcb6c
Add HubConnection.State ( #2204 )
2018-05-14 19:23:00 +12:00
Stephen Halter
ffc665ccc2
Use correct TaskCompletionSource ctor ( #2261 )
...
https://github.com/dotnet/corefx/issues/29664
2018-05-13 19:52:19 -07:00
BrennanConroy
7916f95235
Merge branch 'release/2.1' into dev
2018-05-10 16:54:26 -07:00
BrennanConroy
4b1fb58a8a
Throw error on unexpected close ( #2205 )
2018-05-10 16:38:21 -07:00
James Newton-King
db33d593f0
Gracefully handle disposing while writing ( #2180 )
2018-05-09 17:57:56 -07:00
BrennanConroy
f09b0e13d9
Upgrade to netcoreapp2.2 and remove netcoreapp2.0 testing ( #2221 )
2018-05-09 09:59:02 -07:00
Mikael Mengistu
62d892315b
Merge pull request #2224 from aspnet/release/2.1
...
Use params passed into HubConnectionBuilder (#2223 )
2018-05-07 21:44:04 -07:00
Mikael Mengistu
6f6382799b
Use params passed into HubConnectionBuilder ( #2223 )
2018-05-07 18:19:20 -07:00
James Newton-King
da7a95f563
Handle null collections when writing NegotiateResponse ( #2202 )
2018-05-04 16:08:06 -07:00
Andrew Stanton-Nurse
6429e8e8ea
Merge pull request #2198 from aspnet/release/2.1
...
fix #2187 by passing min size through to buffer writer when encoding (#2190 )
2018-05-03 19:10:42 -07:00
Andrew Stanton-Nurse
b492dbe5d1
fix #2187 by passing min size through to buffer writer when encoding ( #2190 )
2018-05-03 19:10:15 -07:00
BrennanConroy
8c7f33a6d7
Port C# client perf fix to release ( #2189 )
2018-05-02 21:53:39 -07:00
Andrew Stanton-Nurse
622e133a8a
fix #2134 by disposing httpconnection if start fails ( #2137 ) ( #2188 )
2018-05-02 13:10:58 -07:00
James Newton-King
9f40bd639f
Merge pull request #2186 from aspnet/release/2.1
...
Fix not setting HttpConnection.ConnectionId (#2154 )
2018-05-01 23:01:20 -07:00
James Newton-King
41c8dcf449
Fix not setting HttpConnection.ConnectionId ( #2154 )
2018-05-01 21:48:57 -07:00
James Newton-King
277e2963ef
Merge branch 'release/2.1' into dev
2018-05-01 17:52:01 -07:00
James Newton-King
3e906fb64a
Minor API cleanup ( #2147 )
2018-05-01 17:51:08 -07:00
James Newton-King
49cdaad6d6
Merge pull request #2185 from aspnet/release/2.1
...
Fix not detecting marker service (#2149 )
2018-05-01 17:42:39 -07:00
James Newton-King
555c1fd720
Fix not detecting marker service ( #2149 )
2018-05-01 17:42:00 -07:00
Andrew Stanton-Nurse
2a236193da
Merge pull request #2184 from aspnet/release/2.1
2018-05-01 16:37:54 -07:00
Andrew Stanton-Nurse
1bba0fde87
Merge branch 'release/2.1' into dev
2018-05-01 16:15:57 -07:00
Andrew Stanton-Nurse
d711916ad6
fix #2140 by ensuring the access token flows to WebSocketTransport ( #2173 )
2018-05-01 16:14:24 -07:00
James Newton-King
295801ac50
XML documentation ( #2106 )
2018-05-01 16:08:09 -07:00
David Fowler
f3ba1babfc
Remove unnecessary state machines in DefautHubDispatcher ( #2167 )
...
* Remove unnecessary state machines in DefautHubDispatcher
- Remove state machines for async tail calls
- Added fast path for auth check when there are no policies
2018-04-30 22:41:32 -07:00
David Fowler
c53514fa19
Don't throw from AbortAsync ( #2166 )
...
- Log from inside of HubConnectionContext if the user callback failed.
- Use ThreadPool.QUWI instead of Task.Factory.StartNew.
- Remove try catch from HubConnectionHandler
2018-04-30 09:22:48 -07:00
David Fowler
ab451b53b7
Simplify error handling in HubConnectionHandler ( #2162 )
...
* Simplify error handling in HubConnectionHandler
- Since we execute hub methods inline, there's no need to abort the connection on unexpected exceptions.
- Don't pass the cancellation token to ReadAsync, instead just use CancelPendingRead.
- Don't treat OperationCancelledException errors as errors.
2018-04-29 22:51:16 -07:00
BrennanConroy
43fc0854c3
Remove unnecessary hop ( #2136 )
2018-04-23 15:25:57 -07:00
Andrew Stanton-Nurse
bd46d757ba
fix #2134 by disposing httpconnection if start fails ( #2137 )
2018-04-23 12:38:37 -07:00
BrennanConroy
33ee8626c8
Cache some property access in json hub protocol ( #2128 )
2018-04-22 09:55:38 -07:00
Andrew Stanton-Nurse
47eafca4d8
CancellationToken EVERYWHERE ( #2101 )
2018-04-20 16:21:51 -07:00
Andrew Stanton-Nurse
058830c9df
fix #2116 by requiring task return values from typed client ( #2117 )
2018-04-20 13:49:12 -07:00
BrennanConroy
9101ab636b
Always check for WebSockets close ( #2100 )
2018-04-20 08:21:04 -07:00
James Newton-King
5516a969e3
Change Hub and friends to abstract ( #2108 )
2018-04-20 20:53:01 +12:00
Andrew Stanton-Nurse
ace9a0d414
fix #2097 by adding GetHttpContext to HubConnectionContext ( #2099 )
2018-04-19 19:14:39 -07:00
BrennanConroy
1957655653
Run hub invocations serially ( #2086 )
2018-04-19 16:59:06 -07:00
Andrew Stanton-Nurse
6b6d890c8f
fix #2078 by adding locking ( #2079 )
2018-04-19 15:32:04 -07:00
David Fowler
676bf179f3
Reduce redundant dependencies ( #2091 )
2018-04-19 00:18:52 -07:00
BrennanConroy
e9937ffb66
Split lock into WriteLock and StateLock to prevent deadlocks and unneeded lock contention ( #2081 )
2018-04-18 17:44:05 -07:00
David Fowler
903fe1e902
Added support for negotiate response to redirect the client to another SignalR endpoint ( #2070 )
...
- Add a SkipNegotiation flag to the .NET and ts client
to allow skipping the negotiation phase. Don't infer it based on the transport type.
- Updated the negotiate protocol to support returning a redirect url
- Added support to .NET client to handle redirect negotiations
- Handle poorly written endpoints that sends infinite redirects
- Added access token support and an infinite redirect guard
- Add delete handler for stopping the transport
2018-04-18 14:22:45 -07:00
David Fowler
5c9b64244a
Expose the IHubProtocol on HubConnectionContext ( #2073 )
2018-04-18 10:35:55 -07:00
Andrew Stanton-Nurse
b4046b5ed8
Fix #1989 by adding a 'binding failure' pseudo-message ( #2064 )
2018-04-17 20:08:07 -07:00
James Newton-King
8985fee4b5
Merge
2018-04-17 20:39:19 +12:00
David Fowler
05d6bbb782
Flush first long poll immediately ( #2032 )
...
There was a race condition between the first poll and any other http request that was sent.
In particular, if you called StartAsync then StopAsync it was possible for the delete to happen before the poll started leading to 400 errors. This change fixes that by making the very first poll
return immediately so that the client can use that to determine if there was an error connecting.
2018-04-17 00:49:26 -07:00
James Newton-King
d35bcea0a5
Move HubException and add serialization ctor ( #2049 )
2018-04-17 14:10:42 +12:00
Andrew Stanton-Nurse
c05c5a6b2a
React to aspnet/KestrelHttpServer#2496: make IConnectionInherentKeepAliveFeature a boolean feature ( #2041 )
2018-04-16 11:34:12 -07:00
David Fowler
a426334018
Expose IList instead of List
2018-04-16 10:44:22 -07:00
David Fowler
a5d9930802
API review changes ( #2043 )
...
- Make SerializedHubMessage and SerializedMessage
public
- Made HubConnectionStore public
- Move SendUtils and Utils to the internal folder
- Make Microsoft.AspNetCore.Http.Connections.Common/Internal public.
- Move InvocationRequest to internal folder
2018-04-16 10:31:10 -07:00
BrennanConroy
927b08f893
Cache property access ( #2030 )
2018-04-15 23:23:00 -07:00
James Newton-King
4f4dfe1d23
Move RedisLog to Internal namespace ( #2038 )
2018-04-16 18:08:26 +12:00
James Newton-King
b5d5f11ef8
Rename excludedIds to excludedConnectionIds ( #2037 )
2018-04-16 18:03:16 +12:00
BrennanConroy
7745fd748a
Extension methods for IHubClients methods ( #2016 )
2018-04-15 22:43:26 -07:00
James Newton-King
0da06fb5d2
Microsoft.AspNetCore.SignalR.Redis API review ( #2036 )
2018-04-16 15:56:49 +12:00
James Newton-King
b3a9011698
API review changes for Microsoft.AspNetCore.SignalR ( #2033 )
2018-04-16 15:54:42 +12:00
James Newton-King
6eac7049ba
Update text and binary formatter helpers to be shared ( #2035 )
2018-04-16 15:19:34 +12:00
James Newton-King
a17320221e
Derp
2018-04-16 10:43:06 +12:00
James Newton-King
62f14054eb
Capture and log prematurely closed connections
2018-04-16 10:41:35 +12:00
James Newton-King
fbb13c4c1f
Improve response status logging
2018-04-16 09:38:47 +12:00
James Newton-King
f8e641d007
Merge
2018-04-15 19:21:07 +12:00
James Newton-King
725bb33949
Lazy initialize HttpConnectionContext.Items ( #2027 )
2018-04-15 19:06:13 +12:00
James Newton-King
9d033aa9f9
Blah
2018-04-15 18:16:23 +12:00
James Newton-King
c835288e84
Suppress web socket closing without handshake
2018-04-15 17:51:31 +12:00
James Newton-King
ddc905c219
Add VerifyNoErrorsScope ( #1972 )
2018-04-15 11:12:21 +12:00
James Newton-King
b9e7113c01
Move types out of .Core namespace and make method virtual ( #2024 )
2018-04-15 09:58:33 +12:00
James Newton-King
377ed1b834
JsonHubProtocol and MessagePackHubProtocol version fields now private ( #2023 )
2018-04-15 09:58:05 +12:00
James Newton-King
5a77c8be25
API review Microsoft.AspNetCore.SignalR.Internal ( #2022 )
2018-04-15 00:23:26 +12:00
David Fowler
d6395a52bc
Send delete request after poll ends ( #2020 )
...
* Added test and fixed other test
2018-04-14 04:45:16 -07:00
David Fowler
0f8485cafc
Renamed class to match the file ( #2019 )
2018-04-14 04:08:26 -07:00
James Newton-King
e4d0f2980e
Microsoft.AspNetCore.SignalR.Client refactor ( #2000 )
2018-04-14 21:09:41 +12:00
BrennanConroy
3f0a6ebc0d
API Review Dependency Injection ( #2015 )
2018-04-13 17:21:48 -07:00
Andrew Stanton-Nurse
1fbb940b82
Remove MSG from SignalR ( #2006 )
2018-04-13 17:08:02 -07:00
Andrew Stanton-Nurse
c7f7f36210
API Review for Http.Connections ( #2010 )
2018-04-13 16:35:07 -07:00
BrennanConroy
d0137a996c
Internalize Microsoft.AspNetCore.Http.Connections.Client.Internal ( #2014 )
2018-04-13 15:04:58 -07:00
BrennanConroy
021356bf27
Internalize classes in Http.Connections ( #2013 )
2018-04-13 14:57:37 -07:00
Andrew Stanton-Nurse
499d39b364
rename MsgPack assembly only ( #2005 )
2018-04-13 12:01:45 -07:00
BrennanConroy
0919914e56
Internalize more classes ( #2004 )
2018-04-13 11:28:52 -07:00
David Fowler
3e69fdc4ad
Delegate disposable to the IConnectionFactory ( #1999 )
...
- Added DisposeAsync to the IConnectionFactory. It's responsible for disposing the connection after the pipe has closed.
- Added dispose callback to WithConnectionFactory
- Don't wait for poll request to end before unwinding from the transport
- Make sure all http requests are done before returning from StopAsync in both SSE and longpolling
2018-04-13 09:16:23 -07:00
David Fowler
abe139ee16
Make the protocol and messages public ( #1994 )
...
* Move types to a .Protocol namespace
2018-04-13 01:53:41 -07:00
James Newton-King
198013bfa3
Microsoft.AspNetCore.Http.Connections.Client refactors ( #1995 )
2018-04-13 20:13:58 +12:00
David Fowler
83dec1093a
Fixed flaky longpolling tests ( #1993 )
...
- Wait for disposal and removal of the connection
2018-04-13 00:42:31 -07:00
David Fowler
4a568e90d2
API review changes ( #1992 )
...
- Changed GetMessageBytes to return ReadOnlyMemory
- Make HandshakeProtocol.SuccessHandshakeData a readonly field
2018-04-13 00:25:02 -07:00
Mikael Mengistu
70c63fe9e8
Http.Connections.Client API Review changes ( #1987 )
2018-04-13 06:52:27 +00:00
Ahson Khan
0ee4a86564
Collapse AsSpan().Slice(..) into AsSpan(..) ( #1991 )
2018-04-12 23:15:47 -07:00
Mikael Mengistu
0053124ca4
Make Proxies Internal ( #1982 )
2018-04-13 00:38:16 +00:00
Mikael Mengistu
df4d901ae7
Fix 5 param On extension method ( #1984 )
2018-04-13 00:37:13 +00:00
Andrew Stanton-Nurse
24328b8e88
fix #1281 by adding support for DELETE endpoint on server ( #1925 )
2018-04-12 12:39:08 -07:00
Andrew Stanton-Nurse
0992db9fd2
fix #1914 by switching RedisProtocol to MsgPack ( #1968 )
2018-04-12 12:10:51 -07:00
David Fowler
8b1a7e9199
API review feedback ( #1974 )
...
- Remove SetHttpContext
- Remove HttpContextFeature
- Add and implement IHttpTransportFeature on HttpConnectionContext
- Remove ConnectionMetadataNames
2018-04-12 03:50:14 -07:00
James Newton-King
d4773e831c
Set default transport and application buffer sizes ( #1964 )
2018-04-12 18:23:00 +12:00
James Newton-King
7563ccae20
Always use TaskCreationOptions.RunContinuationsAsynchronously ( #1966 )
2018-04-12 18:21:20 +12:00
David Fowler
3c8c8ea8e1
React to Kestrel changes ( #1969 )
2018-04-11 20:29:17 -07:00
David Fowler
08f9990c39
Ensure there's a redis connection earlier
2018-04-11 15:25:38 -07:00
Mikael Mengistu
b8c3273cae
Dont always copy handlers ( #1945 )
2018-04-11 22:19:51 +00:00
David Fowler
8cc851ff9b
Clean up timer code with custom awaitable ( #1935 )
...
- Gets rid of locks by using an event loop
2018-04-11 10:39:29 -07:00
David Fowler
cb5bba36fc
Get off the event loop before dispatch ( #1952 )
2018-04-11 10:39:09 -07:00
James Newton-King
12b69a0fdb
Refactor HttpOptions in client ( #1942 )
...
- Rename HttpOptions to HttpConfigurationOptions
- Remove HttpConfigurationOptions from SignalR client project
- Updated client HttpConnection ctors
2018-04-11 20:20:04 +12:00
James Newton-King
b30c2fecbf
SSE formatting refactor ( #1916 )
2018-04-11 17:13:15 +12:00
James Newton-King
c83baf2b76
Remove params from message ctors ( #1931 )
2018-04-11 12:11:13 +12:00
Mikael Mengistu
13f7981010
Rename Callback to Configure in UseConnections ( #1939 )
2018-04-11 00:08:22 +00:00
Mikael Mengistu
e2169ceda6
Connect to Redis asynchronously ( #1922 )
2018-04-10 23:48:11 +00:00
Ben Adams
8a3516284e
Add GetMessageBytes to IHubProtocol ( #1915 )
2018-04-10 07:14:09 -07:00