Commit Graph

817 Commits

Author SHA1 Message Date
Dylan Dmitri Gray e7e2ca50e9
Ping Cleanup (#2530)
Tidied up some comments, to make the ResetPing client behavior easier to understand.

Will ping in debug mode for consistency. If this becomes a problem when debugging, developers can disable the pings manually. It's easier to fix something noisy, than try to diagnose inconsistently missing behavior.
2018-06-25 17:09:05 -07:00
Mikael Mengistu a4a8b49908
Removed extra reference to Internal.AspNetCore.Sdk (#2475) 2018-06-12 16:12:52 -07:00
Mikael Mengistu c7ebae47ea
Show detailed error message for HubExceptions (#2461) 2018-06-11 13:55:47 -07:00
BrennanConroy 0306038658
Return empty string for connectionId in some cases (#2470) 2018-06-11 12:50:34 -07:00
Mikael Mengistu dd64e4d9a5
Clean up Spec Test dependencies (#2451) 2018-06-08 15:28:23 -07:00
Mikael Mengistu e41764c161
Update AddSignalRCore to respect user registered services (#2434) 2018-06-07 16:32:37 -07:00
Nate McMaster 9d58e41521
Update Microsoft.AspNetCore.SignalR.Specification.Tests.csproj (#2449) 2018-06-07 12:26:09 -07:00
Mikael Mengistu 648705f648
Create a Public Test Suite for HubLifetimeManager implementations (#2353) 2018-06-06 16:59:55 -07:00
Dylan Dmitri Gray 3d0f68b22c
server closes connections that have gone silent (#2364) 2018-06-05 15:21:55 -07:00
James Newton-King 4f85ca2b1d
Add connection ID scope to HubConnection (#2394) 2018-06-01 11:12:51 +12:00
James Newton-King 8d680db112
Remove scanning connections log messages (#2397) 2018-05-30 15:29:46 +12:00
Dylan Dmitri Gray f0f1df9b4a
PingInterval -> KeepAliveInterval (#2384) 2018-05-25 15:15:38 -07:00
James Newton-King 02a9bde10d
Fix flaky ClientPingsMultipleTimes test (#2368) 2018-05-24 17:29:15 +12:00
James Newton-King 5c633aa183
Log 404 responses from long polling transport DELETE as Debug instead of Error (#2366) 2018-05-24 14:21:48 +12:00
Dylan Dmitri Gray 736b7f5042
Client pings server on interval (#2309) 2018-05-23 13:53:23 -07:00
James Newton-King e29296220d
Fix not reading to end of argument JSON on binding error (#2319) 2018-05-19 19:50:43 +12:00
James Newton-King 879646aba3
Fix losing UTC DateTimeKind on ISO8601 UTC values (#2317) 2018-05-19 18:43:14 +12:00
James Newton-King 96bbe70cd8
Handle incoming HTTP requests being canceled gracefully (#2314) 2018-05-19 13:32:05 +12:00
James Newton-King bff2060454
Fix JsonHubProtocol error message when too many arguments (#2312) 2018-05-18 19:55:53 +12:00
BrennanConroy 32cee74a0c
Generate baselines and enable Api check (#2304) 2018-05-17 15:21:13 -07:00
Pavel Krymets 3719dc00fa
Enable analyzers (#2300) 2018-05-17 09:48:07 -07:00
James Newton-King eaa03679de
Fix flakey tests from SSE receiving a 404 response on stop (#2282) 2018-05-17 18:31:56 +12:00
Andrew Stanton-Nurse 2388dd3a76
Merge pull request #2287 from aspnet/release/2.1
Android HttpClientHandler.ClientCertificates fix (#2270)
2018-05-16 12:39:50 -07:00
James Newton-King e1a22b315d Android HttpClientHandler.ClientCertificates fix (#2270) 2018-05-16 11:25:39 -07:00
Mikael Mengistu 2041cf6ede
Don't create empty lambdas (#2283) 2018-05-16 11:12:53 -07:00
Mikael Mengistu 283297f455
Remove handlers from HubConnection (#2267) 2018-05-15 23:57:02 -07:00
BrennanConroy 9cb683a41d Merge branch 'release/2.1' into dev 2018-05-15 16:16:02 -07:00
BrennanConroy 95f543848c
Fix multiple connections for a single user in Redis and MemoryLeak (#2273) 2018-05-15 15:57:23 -07:00
James Newton-King 43aa392dff
Add state to TS HubConnection (#2268) 2018-05-16 08:43:08 +12:00
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