Commit Graph

29 Commits

Author SHA1 Message Date
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
James Newton-King 198013bfa3
Microsoft.AspNetCore.Http.Connections.Client refactors (#1995) 2018-04-13 20:13:58 +12:00
Mikael Mengistu 70c63fe9e8
Http.Connections.Client API Review changes (#1987) 2018-04-13 06:52:27 +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
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
Vegard Løkken 31dfe91962 Support async access token factory (#1911) 2018-04-10 05:34:10 -07:00
David Fowler 01089da84d
Use in for ReadOnlySequence (#1900) 2018-04-09 09:29:27 -07:00
Ben Adams 406d8f9a81 readonly readonly structs (#1908) 2018-04-08 23:28:37 -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 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 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
James Newton-King cb5ece8a24
HttpTransportType refactor (#1873)
- Rename file to HttpTransportType.cs
- Add HttpTransportType.None
- Move All to static readonly field
- Make TransportType on client and service HttpConnectionOptions consistent
- Move setting defaults into ctor
2018-04-06 16:18:47 +12:00
James Newton-King 921986d561
Fix AccessTokenFactory not being called with each request (#1880) 2018-04-06 15:46:36 +12:00
BrennanConroy b0c4e9d0f7
0 byte read in WebSockets (#1878) 2018-04-05 18:50:30 -07:00
David Fowler 39f693b9ed
Found these while looking at a flaky test (#1871)
- Fix crashing test
- Dispose the ClientWebsocket in StopAsync
2018-04-05 12:47:39 -07:00
BrennanConroy b9e88923e7
Comment why we set X-Requested-With (#1870) 2018-04-05 11:38:15 -07:00
James Newton-King f7fc2647de
var all the things (#1855) 2018-04-05 18:41:13 +12:00
BrennanConroy 32b4d5cc6c
Set X-Requested-With on all requests (#1848) 2018-04-04 17:12:50 -07:00
James Newton-King e7b84b753b
Refactor HubConnectionBuilder (#1830) 2018-04-04 21:19:13 +12:00
Mikael Mengistu 7c2d9e87e9
Clean up pipe pair on transport start failure (#1836) 2018-04-03 17:08:04 -07:00
Mikael Mengistu ba0131a731
Rename TransportTypes to HttpTransportTypes (#1839) 2018-04-03 16:00:20 -07:00
Pavel Krymets d23f2beafc
Merge release/2.1 into dev (#1834) 2018-04-03 10:45:44 -07:00
BrennanConroy 221c95e0af Couple logging additions (#1827)
- Added logging in a couple more places in HubConnection
- Increase DEFAULT_TIMEOUT_INTERVAL to 20 seconds
2018-04-02 19:25:47 -07:00
David Fowler ef30e2e2df
Clean up the SSE client side transport (#1816)
- Renamed StreamPipeConnection to PipeReaderFactory
- Flow the transport cancellation token to the CopyToAsync routine 
- Other small cleanup and nits to make the style consistent with the other pipe reader loops
- Return a cancelled ValueTask from PipeWriterStream.WriteAsync
- Move event stream request to start itself
- We no longer need to pass the tcs through.
- It also cleans up handling failure in start since the application pipe hasn't been read or written to
2018-04-01 21:11:59 -07:00
David Fowler 82bda4a9c8
Added micro benchmarks for SSE parsing and Writing (#1818) 2018-04-01 09:19:07 -07:00
David Fowler e6e45cea05
Change how HttpConnection sets headers (#1806)
- Removed SendUtils.PrepareRequst and instead used HttpClient.DefaultRequstHeaders to set the common headers to apply HttpOptions to all outbound requests
- Modified how we check for the user agent request testing
2018-03-31 22:23:09 -07:00
Andrew Stanton-Nurse 6b3a27e73c
Bedrock Renames (#1777) 2018-03-30 15:09:19 -07:00