Andrew Stanton-Nurse
d5f62f7b5a
Merge pull request #2122 from aspnet/release/2.1
...
CancellationToken EVERYWHERE (#2101 )
2018-04-20 16:22:16 -07:00
Andrew Stanton-Nurse
47eafca4d8
CancellationToken EVERYWHERE ( #2101 )
2018-04-20 16:21:51 -07:00
Andrew Stanton-Nurse
36f05d42f5
Merge pull request #2118 from aspnet/release/2.1
...
Release/2.1
2018-04-20 13:49:53 -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
e6011ef69b
Use custom group names in tests to not collide with other tests running ( #2102 )
2018-04-20 09:26:26 -07:00
BrennanConroy
1e65802109
Merge branch 'release/2.1' into dev
2018-04-20 08:53:15 -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
8571769f2f
Merge branch 'release/2.1' into dev
2018-04-19 17:00:59 -07:00
BrennanConroy
1957655653
Run hub invocations serially ( #2086 )
2018-04-19 16:59:06 -07:00
Andrew Stanton-Nurse
bea09f5f94
Merge pull request #2104 from aspnet/release/2.1
...
fix #2078 by adding locking (#2079 )
2018-04-19 15:32:27 -07:00
Andrew Stanton-Nurse
6b6d890c8f
fix #2078 by adding locking ( #2079 )
2018-04-19 15:32:04 -07:00
James Newton-King
da94e984ce
Merge pull request #2090 from aspnet/release/2.1
...
Global suppress low impact logging verification in tests (#2089 )
2018-04-19 17:46:11 +12:00
James Newton-King
ad52ba7316
Global suppress low impact logging verification in tests ( #2089 )
2018-04-19 16:50:02 +12:00
BrennanConroy
f36313e585
Merge pull request #2088 from aspnet/release/2.1
...
Split lock into WriteLock and StateLock to prevent deadlocks and unne…
2018-04-18 17:45:08 -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
9a0c190f48
Merge pull request #2082 from aspnet/release/2.1
...
Added support for negotiate response to redirect the client to anothe…
2018-04-18 14:51:55 -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
Andrew Stanton-Nurse
ba75e5fdf7
Merge branch 'release/2.1' into dev
2018-04-18 09:08:52 -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
61cce236fc
Derp
2018-04-18 10:37:23 +12:00
James Newton-King
0f0b9a73c1
Logger thread safety?
2018-04-18 10:13:12 +12:00
Mike Harder
e19079bd50
Remove unused dependency on Microsoft.AspNetCore.Server.IntegrationTesting ( #2062 )
2018-04-17 12:18:34 -07:00
James Newton-King
707d79d3a1
Comment
2018-04-17 21:28:06 +12:00
James Newton-King
9f526b74af
This time?
2018-04-17 21:09:16 +12:00
James Newton-King
259dd04c99
Fix weird NRE
2018-04-17 20:58:18 +12: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
8241acf3a1
Boop
2018-04-17 18:00:04 +12:00
James Newton-King
818497de64
Improvements
2018-04-17 16:57:55 +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
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
David Fowler
680b51ed6c
Skip failing test ( #2042 )
2018-04-16 10:24:14 -07:00
James Newton-King
b5d5f11ef8
Rename excludedIds to excludedConnectionIds ( #2037 )
2018-04-16 18:03:16 +12: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
fbb13c4c1f
Improve response status logging
2018-04-16 09:38:47 +12:00
James Newton-King
aec323d8d2
Clean up
2018-04-16 09:03:01 +12:00
James Newton-King
75ade2d674
y u no log?
2018-04-16 08:48:58 +12:00
James Newton-King
64f52d1098
y u no log?
2018-04-16 08:33:19 +12:00
James Newton-King
0a5dd8f6d3
Fix tests
2018-04-15 20:26:54 +12:00
James Newton-King
5a64429fd5
Improvements!
2018-04-15 20:21:45 +12:00
James Newton-King
5b188018f0
Log level
2018-04-15 19:56:46 +12:00
James Newton-King
1d900fe139
More logging!
2018-04-15 19:19:24 +12:00
James Newton-King
81b593fdbe
More logging!
2018-04-15 19:18:36 +12:00
James Newton-King
25aea395da
ah-ha!
2018-04-15 19:10:37 +12:00
James Newton-King
725bb33949
Lazy initialize HttpConnectionContext.Items ( #2027 )
2018-04-15 19:06:13 +12:00
James Newton-King
585bcc3ee0
How about this?
2018-04-15 19:02:56 +12:00
James Newton-King
05739820d2
Test
2018-04-15 18:40:53 +12:00
James Newton-King
a13f3f4765
Clean up
2018-04-15 17:11:09 +12:00
James Newton-King
89922a399f
Capture server logs in tests
2018-04-15 14:43:56 +12:00
James Newton-King
ddc905c219
Add VerifyNoErrorsScope ( #1972 )
2018-04-15 11:12:21 +12:00
James Newton-King
377ed1b834
JsonHubProtocol and MessagePackHubProtocol version fields now private ( #2023 )
2018-04-15 09:58:05 +12:00
David Fowler
4fe41dc6d0
Increase timeout of test ( #2021 )
...
- Seems like it was possible for the server timeout to happen *before* the invocation happened.
- Added logging to the test
2018-04-14 05:05:49 -07: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
James Newton-King
e4d0f2980e
Microsoft.AspNetCore.SignalR.Client refactor ( #2000 )
2018-04-14 21:09:41 +12:00
Andrew Stanton-Nurse
c7f7f36210
API Review for Http.Connections ( #2010 )
2018-04-13 16:35:07 -07:00
Mikael Mengistu
623ab63091
HubConnectionTests.Helper Header ( #2011 )
2018-04-13 21:32:26 +00:00
Andrew Stanton-Nurse
499d39b364
rename MsgPack assembly only ( #2005 )
2018-04-13 12:01:45 -07:00
Andrew Stanton-Nurse
43e6ab750a
Fix #1927 by using Synchronous Callbacks everywhere. ( #2003 )
2018-04-13 11:38:03 -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
=
d5a4d9b8c5
Update usage of TestSink
2018-04-12 16:58:19 -07: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
1ae901de3d
Fix incorrect test for long poll and web sockets requests ( #1971 )
2018-04-12 18:21:05 +12:00
BrennanConroy
c9ab30e150
Enable detailed errors for redis tests ( #1962 )
2018-04-11 15:14:34 -07: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
Mikael Mengistu
83821a028d
Rename HubEndPointTestUtils folder ( #1943 )
2018-04-11 04:05:28 +00:00
James Newton-King
c83baf2b76
Remove params from message ctors ( #1931 )
2018-04-11 12:11:13 +12: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
Vegard Løkken
31dfe91962
Support async access token factory ( #1911 )
2018-04-10 05:34:10 -07:00
BrennanConroy
6d050140e5
Swtich to MessagePack-CSharp ( #1879 )
2018-04-09 17:04:32 -07:00
James Newton-King
bd78785f8d
Minor DefaultHubLifetimeManager improvements ( #1904 )
2018-04-09 12:31:14 +12:00
David Fowler
9fd713c73a
Make MemoryBufferWriter a Stream ( #1907 )
...
- Get rid of LimitArrayPoolWriteStream and use MemoryBufferWriter in its place in the MessagePackProtocol implementation.
- Added tests for MemoryPoolBufferWriter and fixed a bug in CopyToAsync
- Added CopyTo(`IBufferWriter<byte>`)
- Changed MemoryBufferWriter to fill the underlying arrays that back segments, the segment size is now a minimum.
2018-04-08 16:11:17 -07:00
James Newton-King
27d18578d0
Use expression body properties and implicit arrays where possible ( #1906 )
2018-04-08 21:40:01 +12:00
James Newton-King
0f663cadc4
readonly all the things ( #1901 )
2018-04-08 15:47:01 +12:00
David Fowler
0d9c3d8898
Buffer messages so we get a single outgoing request ( #1898 )
2018-04-07 16:41:52 -07:00
David Fowler
c1049b722d
The grand unification of ConnectionContext ( #1895 )
...
This change rationalizes the 2 very similar abstractions that exist in Connections.Abstractions, IConnection and ConnectionContext. It also introduces an IConnectionFactory to SignalR that is used to create a new ConnectionContext for a HubConnection.
- HubConnection just completes both ends of the transport pipe instead of calling DisposeAsync.
- Implemented ConnectionContext on HttpConnection and added HttpConnectionFactory
- Updated tests
2018-04-07 16:19:01 -07:00
David Fowler
e3da7feab4
Clean up client ITransport interface ( #1893 )
...
- Transports own the pipe creation. The fact they are 2 sides is an implementation detail.
2018-04-07 15:11:42 -07:00
David Fowler
86083c0302
Removing native support for IObservable<T> ( #1890 )
...
- There are too many issues and questions with respect to back pressure and the buffering policy we should use when the client being streamed to can't support the data being pushed via OnNext.
As a result, we're dropping support for IObservable but keeping ChannelReader and we'll eventually support IAsyncEnumerable when that makes it into the BCL.
- Add sample showing Observable -> ChannelReader adaption
2018-04-07 15:10:39 -07:00
James Newton-King
acc0b7ad0d
Serialize NegotiateResponse with IBufferWriter ( #1881 )
2018-04-07 15:50:13 +12:00
David Fowler
f632330d7f
Allocate pipe writer stream per connection ( #1885 )
...
- Don't create the PipeWriterStream per operation, make it per Connection
- Reduce the buffer size for CopyToAsync operations to 4K where possible instead of 81K (the default)
2018-04-06 14:36:35 -07:00
David Fowler
e51676fb47
Policheck errors
2018-04-06 13:01:20 -07:00
David Fowler
e3d90bdf6a
Fix graceful closing of pipes ( #1882 )
...
- Closing pipes gracefully in most cases. The only case where we forcefully close the pipes is during application shutdown
- Return 404 if sending to connection after disposal
- Added tests
2018-04-06 10:59:40 -07:00
Mikael Mengistu
4ddf8664c0
Don't throw from Observer's OnNext ( #1872 )
2018-04-06 00:35:04 -07:00
James Newton-King
36edadabb4
Lock when sending data to connection ( #1876 )
2018-04-06 16:25:47 +12:00