Commit Graph

81 Commits

Author SHA1 Message Date
David Fowler 7a53e07623
Parse data as it comes in off the wire in the .NET client and server (#1766)
- Change websockets and the POST end point to send data unbuffered.
- Update tests to handle partial frames
2018-03-29 10:03:59 -07:00
James Newton-King 7f86b92f7e
Handshake and negotiation optimization (#1731) 2018-03-29 17:50:45 +13:00
James Newton-King 8c84518ecc
Message writing optimization (#1683) 2018-03-29 11:03:40 +13:00
David Fowler 7a9160f3e0
React to https://github.com/aspnet/KestrelHttpServer/pull/2428 (#1734) 2018-03-27 02:02:29 -07:00
David Fowler cb05ce4e0b
Progress towards deleting Sockets.Abstractions (#1705)
* Progress towards deleting Sockets.Abstractions
- Moved our custom DefaultConnectionContext to Sockets.Http and renamed it to HttpConnectionContext.
- Renamed ConnectionManager to HttpConnectionManager
- Use DefaultConnection in tests and benchmarks
- Delete ConnectionMetadata
2018-03-24 04:21:47 -07:00
David Fowler 2e63e5afe3
The rename games part 1 of many (#1696)
- React to rename of EndPoint to ConnectionHandler
- Rename UseSockets to UseConnections
- Rename MapEndPoint to MapConnectionHandler
- Rename HttpSocketOptions to HttpConnectionOptions
2018-03-22 22:35:55 -07:00
David Fowler f1a3775247
Copy HttpContext properties for long polling transport (#1684)
- The long polling transport simulates a persistent connection
over multiple http requests. In order to expose common http request
properties, we need to copy them to a fake http context on the first poll
and set that as the HttpContext exposed via the IHttpContextFeature.
2018-03-22 15:24:35 -07:00
James Newton-King 3f84eee116
Detect availability of web sockets on client and server (#1682) 2018-03-22 12:35:31 +13:00
James Newton-King 4f10560087
Rename negotiate to handshake, add handshake response, add close frame (#1591) 2018-03-20 17:40:22 +13:00
BrennanConroy 0e38ee3e63
Create connectionIds using RNGCrypto (#1606) 2018-03-16 16:16:34 -07:00
BrennanConroy c640f422e0
Pascal case formatted log parameter names (#1615) 2018-03-16 12:13:27 -07:00
David Fowler d27844dfef
ConnectionMetadata is now ConnectionItems (#1604)
* ConnectionMetadata is now ConnectionItems
2018-03-14 20:57:40 -07:00
David Fowler 6a8ede0770
Further making Microsoft.AspNetCore.Sockets "not a thing" (#1599)
- This PR attempts to move things where they are needed instead of where they
happened to be used. As a result we should now have Sockets.Abstractions and
Sockets down to the minimal set of things required to make them run.
Sockets.Abstractions should go away in favor of Protocol.Abstractions and
Sockets contains the EndPoint abstraction and related types.
- Moved ConnectionManager and friends to
Sockets.Http.
-Removed Sockets and moved everything into Sockets.Abstractions.
- Moved DefaultConnection and put it in Sockets.Abstractions.
2018-03-14 15:37:24 -07:00
David Fowler dc0567690d
Use features from Protocol.Abstractions (#1594)
- This is part of the grand unification of the connection layer between SignalR and Kestrel
2018-03-14 08:17:07 -07:00
Andrew Stanton-Nurse fb6121399c
Remove support for binary over SSE and add transfer format to negotiation (#1564) 2018-03-13 14:29:32 -07:00
Pavel Krymets 4a4efe0f39
Update to new corefx (#1561) 2018-03-08 14:23:20 -08:00
Pavel Krymets 8908eec6e7
Pipelines in corefx (#1501) 2018-02-28 12:42:01 -08:00
Andrew Stanton-Nurse 13b25ec518
Reduce detailed payload logs to trace (#1515) 2018-02-28 10:46:44 -08:00
BrennanConroy 8594d2b897
Use Threadpool for pipe scheduler (#1497) 2018-02-26 14:07:46 -08:00
David Fowler b60e4cfea6
Removing remnants from the days of OPTIONS (#1495) 2018-02-26 14:05:55 -08:00
Mikael Mengistu 0e4731e480
Expose Transport and Application Max Buffer Sizes (#1473) 2018-02-25 08:47:14 +00:00
David Fowler 32baa655b9
Do over the websocket transport (#1481)
* Do over the websocket transport
- Unify client and server logic (no code sharing yet)
- Removed use of cancellation tokens to communicate shutdown and instead used the pipe reader and socket abort.
- Added CloseTimeout to HttpOptions
2018-02-22 15:19:25 -08:00
David Fowler c8d4cf689f
Tackling some low hanging performance fruit (#1470)
* Tackling some low hanging performance fruit
- Use native Memory/Span APIs on Stream and WebSocket in .NET Core 2.1
- Remove double copying in formatters
- Implemented custom HttpContent over ReadOnlyBuffer<byte>
2018-02-20 13:50:31 -08:00
David Fowler de7faec246
Pass the array segment offset to WriteAsync (#1467) 2018-02-17 01:26:07 -08:00
David Fowler ae998ba172
Remove unneeded dependencies (#1443) 2018-02-12 23:58:44 -08:00
David Fowler 3934ffd5af
Cleanup some dead code (#1434)
- Rename SocketBuilder to ConnectionBuilder
- Removed ChannelReaderExtensions
2018-02-10 22:16:30 -08:00
David Fowler 4c08acd8a4
Don't allocate all the memory up front when receiving incoming sends (#1433) 2018-02-10 20:52:00 -08:00
David Fowler 94155b0e89
Use protocol.abstractions primitives instead of socket abstractions (#1432) 2018-02-10 18:10:09 -08:00
David Fowler 3e568588d2
Revert "Use protocol.abstractions primitives instead of socket abstractions (#1429)" (#1431)
This reverts commit e3f197cef0.
2018-02-10 11:30:41 -08:00
David Fowler e3f197cef0
Use protocol.abstractions primitives instead of socket abstractions (#1429) 2018-02-10 10:45:07 -08:00
David Fowler 28439d1441
Initial changes to move to pipelines (#1424)
- Change the Sockets abstraction from Channel<byte[]> to pipelines.

#615
2018-02-09 17:45:21 -08:00
Mikael Mengistu e214d5cdfa Reduce LongPolling timeout to accommodate Cloudflare's timeout (#1368)
* Reduce LongPolling timeout to accommodate Cloudflare's timeout
2018-01-29 23:55:08 -08:00
BrennanConroy 96a3a03de8
Fix incorrect content-type (#1347) 2018-01-25 10:38:27 -08:00
Mikael Mengistu 40e906f23a
Expose IHttpConnectionFeature properties (#1338) 2018-01-23 18:25:53 -08:00
BrennanConroy a449345436
Clean up logging (#1308) 2018-01-22 09:37:53 -08:00
BrennanConroy dfe0697f06
EventId starts at 1 for logging (#1318) 2018-01-18 16:11:43 -08:00
Pawel Kadluczka 68aa609650 Setting ContentType in the HTTP responses (#1149)
* Also making auth test work in IE
2018-01-16 11:28:20 -08:00
Geovanny Alzate Sandoval 31ef3c49df Makes MapHub and MapEndpoint consistent with other ASP.NET Core APIs using PathString. #1188 2017-12-13 09:14:36 -08:00
Andrew Stanton-Nurse c1d2024864
Implement #1156 by having the server send Ping messages (#1161) 2017-12-04 14:43:27 -08:00
Pranav K 887e22ec07 Eclipse S.T.Tasks.Extension version referenced by S.T.Channels 2017-11-22 19:53:01 -08:00
Pawel Kadluczka 0bafb304c2 Adding support for JWT in the C# client
Fixes: #1018

(Bonus: also enabling passing headers)
2017-11-21 16:32:56 -08:00
BrennanConroy 93cbf4dbef
Change negotiate to POST (#1122) 2017-11-17 15:31:47 -08:00
BrennanConroy 792745ad98 React to CoreFxLab packages (#998) 2017-11-13 15:05:35 -08:00
Nate McMaster e15a38a14c Pin package and tool versions to make build more repeatable 2017-11-01 16:40:51 -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 65cd41dbf5 Block POST requests for websocket connections (#934) 2017-09-23 17:49:19 -07:00
Andrew Stanton-Nurse 786980bc3f add names to EventIds used by logger extensions (#927) 2017-09-21 17:36:50 -07:00
BrennanConroy 0159d45f54 Merge branch 'rel/1.0.0-alpha2' into dev 2017-09-15 11:05:04 -07:00
BrennanConroy 9a67ac5341 Make sure socket closed is logged 2017-09-15 11:03:51 -07:00
Nate McMaster d3ae3abe2a Use PackageLineup to manage PackageReference versions 2017-09-01 16:34:32 -07:00