Pavel Krymets
6f2f496c3d
React to splitting memory pool ( #2521 )
2018-04-24 14:11:47 -07:00
Stephen Halter
b0e1fa5e30
Fix connection abort
2018-04-23 17:01:49 -07:00
Stephen Halter
6fd09af374
Improve logging of request drain timeout ( #2480 )
2018-04-16 11:53:10 -07:00
Andrew Stanton-Nurse
3a45136cc4
make IConnectionInherentKeepAliveFeature a boolean feature ( #2496 )
2018-04-16 11:34:06 -07:00
Ben Adams
e30a02cee5
Less StringValue struct copies for header checks ( #2488 )
2018-04-13 18:21:50 -07:00
John Luo
2d51d23697
Add file logging to functional tests
2018-04-13 14:53:57 -07:00
Stephen Halter
10f3b6863e
Avoid nullref in KestrelEventSource ( #2483 )
...
* Avoid nullref in KestrelEventSource
* Improve HostNameIsReachableAttribute to speed up test discovery
2018-04-12 17:29:34 -07:00
Chris Ross (ASP.NET)
ee12c4fcf2
Downgrade HTTPs handshake failures to debug #1853
2018-04-12 09:25:44 -07:00
Chris Ross (ASP.NET)
c6fa9793eb
Make Protocols internal
2018-04-12 08:53:27 -07:00
David Fowler
ca44b4adfc
Moved kestrel specific features into transport abstractions ( #2482 )
2018-04-11 20:23:48 -07:00
David Fowler
f6b2880369
Flow the ConnectionContext to the SNI callback ( #2478 )
2018-04-11 15:56:25 -07:00
Sébastien Ros
e8bb88cb58
Fixing typo ( #2477 )
2018-04-11 14:27:53 -07:00
David Fowler
b030ab7e49
Update Connections.Abstractions.csproj ( #2473 )
2018-04-09 17:55:14 -07:00
David Fowler
4760cce6aa
Remove IConnection ( #2472 )
2018-04-07 18:55:59 -07:00
Chris Ross (ASP.NET)
2ee0d6e337
Delay loading the dev cert #2422
2018-04-04 14:54:27 -07:00
Chris Ross (ASP.NET)
953496a970
Merge branch 'release/2.1' into dev
2018-04-04 13:44:56 -07:00
Chris Ross (ASP.NET)
9ea2c50068
Add SNI support #2357
2018-04-04 12:49:29 -07:00
Andrei Amialchenia
70ce044778
Corrects spelling of some comments ( #2461 )
2018-04-03 15:55:17 -07:00
Pavel Krymets
ba06c58bcb
Merge release/2.1 into dev ( #2460 )
2018-04-03 10:45:31 -07:00
Stephen Halter
623c27ab01
Dispose SocketAsyncEventArgs when we dispose the Socket ( #2459 )
2018-04-02 19:48:17 -07:00
Pavel Krymets
ba2b883db0
Reaction to *Memory changes ( #2446 )
2018-04-02 16:44:13 -07:00
David Fowler
6b183c5ac0
Use 4K as the minimum segment size ( #2452 )
...
- This normalizes the behavior for kestrel no matter what memory pool implementation is used. The transports should behave the same (ask for 1/2 full blocks) across pool implementations.
- Declare the minimum segment size in KestrelMemoryPool
- Updated the AdaptedPipeline to use MinimumSegmentSize / 2
2018-04-02 16:14:40 -07:00
David Fowler
a37fa83aee
Fixed a parser bug found when trying out the array pool ( #2450 )
...
- When using the array pool, we get terrible block density and as a result
the header parser was failing.
- This fixes the case where the parser needed to skip 2 blocks at the end
(which is unrealistic). Comparing the current index to the reader index is incorrect
since we may end up at the same index in another segment.
2018-04-01 00:04:02 -07:00
David Fowler
7382198356
Copy connection middleware when using ListenLocalHost ( #2447 )
...
- Connection middleware got removed during Clone when using ListenLocalhost
2018-03-31 07:29:35 -07:00
Andrew Stanton-Nurse
2c2a8dae01
Merge pull request #2445 from aspnet/release/2.1
...
Add IConnection to Connections.Abstractions (#2444 )
2018-03-30 15:21:48 -07:00
David Fowler
67cb8a0e11
Add IConnection to Connections.Abstractions ( #2444 )
2018-03-30 15:20:31 -07:00
David Fowler
46ab09ca36
Merge branch 'release/2.1' into dev
2018-03-27 02:08:35 -07:00
David Fowler
be04ccac6e
Move DuplexPipe into Kestrel.Core as internal ( #2428 )
2018-03-27 02:02:15 -07:00
Stephen Halter
68ff406862
Merge branch 'release/2.1' into dev
2018-03-26 14:51:21 -07:00
Stephen Halter
a1de323ff4
Make LibuvTransport(Factory) pubternal ( #2426 )
2018-03-26 11:39:51 -07:00
David Fowler
f0629dcbe4
Merge branch 'release/2.1' into dev
2018-03-24 03:14:59 -07:00
David Fowler
6701339835
Expose DefaultConnectionContext POCO ( #2421 )
...
- Made TransportConnecton derive from ConnectionContext
- Less objects, less opinions about what the ConnectionContext is. This diverges from what we do with HttpContext but it seems better overall.
- Made DefaultConnectionContext
- Usable for unit testing
- Usable for benchmarking
2018-03-24 03:12:53 -07:00
John Luo
2dc1858f90
Merge branch 'release/2.1' into dev
2018-03-23 16:02:42 -07:00
John Luo
63fd1e1a4d
Re-enable api check
...
- Disable api check for Transport.Libuv due to breaking change
- Add empty baseline files for unreleased packages
2018-03-23 12:55:06 -07:00
David Fowler
0753f4b4f4
Merged release/2.1
2018-03-22 21:56:29 -07:00
David Fowler
abdcb47b8f
Renames from API review ( #2413 )
...
* Renames from API review
- Rename Microsoft.AspNetCore.Protocols.Abstractions to Microsoft.AspNetCore.Connections.Abstractions.
- Renamed IConnectionHandler to IConnectionDispatcher (and related properties and types)
- Added ConnectionHandler and UseConnectionHandler extension method to Connections.Abstractions.
- Use ActivatorUtilties to create the ConnectionHandler
2018-03-22 21:38:14 -07:00
Nate McMaster
12abcd2f68
Merge branch 'release/2.1' into dev
2018-03-21 22:16:12 -07:00
Nate McMaster
54e538dcb5
Remove dotnet tool install from instructions on using dotnet-dev-certs
2018-03-21 22:10:48 -07:00
Stephen Halter
5fa658c800
Never run continuation inline in SocketAwaitable.OnCompleted ( #2407 )
2018-03-19 17:29:49 -07:00
Ryan Brandenburg
3584e5f2ab
Set 2.0 baselines
2018-03-16 10:50:05 -07:00
Ben Adams
2527face16
Query EndPoints once during reset ( #2398 )
2018-03-15 23:55:51 -07:00
Javier Calvarro Nelson
acf7584d13
Reenable API Check
2018-03-15 21:44:34 -07:00
David Fowler
181dc0de24
React to pipelines changes
2018-03-15 16:58:53 -07:00
David Fowler
d31512528d
Items is now a first class property on ConnectionContext ( #2395 )
...
* Metadata is now a first class property on ConnectionContext
- Make IConnectionMetadata a manatory top level feature on ConnectionContext
- TransportConnection will lazily manifest ConnectionMetadata on first access.
This should avoid allocations since Kestrel isn't using this today.
2018-03-14 20:56:30 -07:00
Stephen Halter
9901f0f3e4
Default to the managed socket transport ( #2392 )
2018-03-14 11:50:10 -07:00
David Fowler
04eef791bc
Added transfer format to Protocol.Abstractions ( #2391 )
2018-03-14 08:16:38 -07:00
Ben Adams
e65e58daf3
Reduce Sockets mainloop Send/Receive statemachine size ( #2376 )
...
* Use Completion to Advance in Error
* Drop ReadResult from statemachine
2018-03-13 23:04:12 -07:00
David Fowler
572627e88c
Handle posting to the libuv thread after StopAsync ( #2388 )
...
- Check if the post handle is disposed and noop if it is.
We also catch an ObjectDisposedException because it's an inherent race condition.
2018-03-13 19:37:39 -07:00
Ben Adams
f6108928d8
Pass ReadOnlySequence via in ( #2389 )
...
* Pass ReadOnlySequence via in
2018-03-13 17:54:01 -07:00
Chris Ross (ASP.NET)
bfdb48717f
Host header format validation
2018-03-13 16:37:03 -07:00
David Fowler
bcea8330c4
Clean up some left overs ( #2385 )
2018-03-13 14:10:06 -07:00
David Fowler
2d8f3d95fe
Feature/clean up proto abstractions ( #2383 )
...
- This change aims to clean up the feature interfaces
used by kestrel and exposed by protocol absractions. It splits out the
IConnectionTransportFeature into smaller features that may or may
not be implemented on the connection.
- Added all of the features from Socket.Abstractions
in an attempt to make it go away completely. As a result
the helper methods and extensions have all been added here.
- Change IConnectionHandler to take TransportConnection. This cleans up the interface and makes it more explicit what features are required by Kestrel
2018-03-13 10:27:04 -07:00
David Fowler
fa3229b489
Revert "Clean up protocol abstractions ( #2381 )" ( #2382 )
...
This reverts commit ddd0b4c260 .
2018-03-13 02:04:42 -07:00
David Fowler
ddd0b4c260
Clean up protocol abstractions ( #2381 )
...
- This change aims to clean up the feature interfaces
used by kestrel and exposed by protocol absractions. It splits out the
IConnectionTransportFeature into smaller features that may or may
not be implemented on the connection.
- Added all of the features from Socket.Abstractions
in an attempt to make it go away completely. As a result
the helper methods and extensions have all been added here.
- Change IConnectionHandler to take TransportConnection. This cleans up the interface and makes it more explicit what features are required by Kestrel
2018-03-13 01:43:49 -07:00
Stephen Halter
2a7bbeb8d7
Revert "React to pipelines changes ( #2378 )"
...
This reverts commit 2421df85d6 .
2018-03-13 00:32:52 -07:00
David Fowler
2421df85d6
React to pipelines changes ( #2378 )
2018-03-12 23:59:04 -07:00
David Fowler
e7d3b0c5f9
Remove KestrelThreadPool abstraction and replaced it with PipeScheduler ( #2371 )
2018-03-12 14:49:19 -07:00
Stephen Halter
71bff00c0d
Use LibuvThread inspired IO Queue in Socket transport ( #2368 )
2018-03-09 15:04:20 -08:00
Pavel Krymets
fc80c15a65
Update to new corefx ( #2369 )
2018-03-08 14:23:07 -08:00
Chris Ross (ASP.NET)
42fbba3520
More detailed request timeout exceptions #2245
2018-03-07 12:23:06 -08:00
Ben Adams
300453396a
Pass StringValues via in ( #2295 )
2018-02-28 19:54:44 -08:00
Pavel Krymets
2c108d9ba1
React to pipes in corefx ( #2337 )
2018-02-28 12:41:51 -08:00
Justin Wyer
83bf2375b3
#2035 Do not await OnCompleted handlers before sending the Response ( #2324 )
2018-02-25 18:10:04 -07:00
Ben Adams
de7e2a2573
Use enum for method rather than string compares ( #2294 )
2018-02-23 14:29:42 -08:00
Nikita Tsukanov
39951e892e
Don't throw in HttpRequestStream.Flush ( #2342 )
...
Because read-only streams apparently can have Flush semantics and this behavior is expected by some of built-in stream wrappers (e. g. CryptoStream)
https://github.com/dotnet/corefx/pull/27327#pullrequestreview-98384813
https://github.com/aspnet/KestrelHttpServer/issues/2341
2018-02-23 09:51:09 -08:00
Ben Adams
6728e756b7
Sanitize and centralize exception throws ( #2293 )
...
* Sanitize and centralize exception throws
2018-02-23 09:24:20 -08:00
Ben Adams
6252ffd86a
Flatten exception handling ( #2313 )
...
3 nested try blocks with 3 finallies in same function O_o
2018-02-22 16:46:18 -08:00
Ben Adams
c57784447e
Speed up TryGetAsciiString ( #1973 )
...
* Widen
* Remove TryGetAsciiStringVectorCheckShifts
* Add Span version to benchmarks
2018-02-22 16:45:31 -08:00
Ben Adams
c0f88ebdc1
Faster IFeatureCollection.Get<TFeature> ( #2290 )
2018-02-22 16:44:38 -08:00
David Fowler
3fc69dc71f
Updated Streams to override Memory and Span overloads ( #2333 )
...
- Also plumbed Memory/Span through Kestrel over ArraySegment.
- Throw synchronously from the HttpRequestStream instead of async in some cases.
2018-02-21 00:00:46 -08:00
brightcr
a72e5db797
Removed code to set response headers - connection and upgrade as it should be set by caller e.g. WebSockets Middleware ( #2329 )
2018-02-19 08:36:28 -08:00
Ben Adams
1f8591184e
Use ReferenceEquals not MulticastDelegate.equals ( #2330 )
...
It never inlines because its such a chunky method
2018-02-17 08:13:15 -08:00
Mike Harder
4afaa386db
Remove unnecessary usings ( #2326 )
2018-02-16 14:04:16 -08:00
Alessio Franceschelli
14332c5daf
Allows Content-Length for 304 Not Modified response ( #2321 )
2018-02-14 16:01:07 -08:00
Alessio Franceschelli
9341f72b8d
Consumes request before closing connection ( #2314 )
2018-02-14 11:46:13 -08:00
David Fowler
2156030460
Clean up some of protocol abstractions ( #2311 )
...
* Clean up some of protocol abstractions
- Renamed PipeConnection to DuplexPipe
- Removed MemoryPool from ConnectionContext
- Work around value tuple issue on net471
2018-02-10 10:39:21 -08:00
Joshua Clark
5dd590e75e
Add clearer exception message to HttpResponseStream ODE ( #2305 )
2018-02-08 17:28:00 -08:00
Redouane Sobaihi
8f25c4e8ca
Include limits default values in intellisense comments. ( #2304 )
2018-02-08 11:37:01 -08:00
Pavel Krymets
261b5836c1
Merge release/2.1
2018-01-30 09:39:33 -08:00
Pavel Krymets
a84095e5c3
React to pipelines changes ( #2275 )
2018-01-29 14:34:48 -08:00
David Fowler
8ea181f088
Use the OnWriterCompleted and OnReaderCompleted events directly. ( #2280 )
2018-01-29 14:27:47 -08:00
David Fowler
50b396cec6
Fixed race in sockets transport ( #2279 )
...
- Based on the changes you made earlier (f4d27e6 ), we trigger OnConnectionClosed before the socket is disposed in the SocketTransport. This moves the call to Output.Complete to happen after and thus fixes the race.
2018-01-29 12:41:45 -08:00
Javier Calvarro Nelson
8280c1b73f
Update Kestrel HTTPS developer certificate error message
2018-01-26 12:55:15 -08:00
Chris Ross (ASP.NET)
4fd4fd9f41
Mark HTTP/2 as not supported with an AppContext switch override.
2018-01-24 15:29:59 -08:00
Stephen Halter
526dfdb332
Switch back to libuv as the default transport ( #2257 )
...
* Switch back to libuv as the default transport
2018-01-18 17:25:28 -08:00
Stephen Halter
cf371a4e74
Disable heartbeat warning when debugger is attached ( #2258 )
2018-01-16 18:11:11 -08:00
Stephen Halter
f4d27e67bb
Improve server shutdown logic ( #2247 )
...
Ensure connections abort when they don't close gracefully.
2018-01-16 16:43:45 -08:00
Javier Calvarro Nelson
e6bb551018
Adds support for loading the developer certificate from a pfx file
...
* If we can't find a developer certificate on the certificate store
we will look for a developer certificate on the file system if a
password has been specified for the Development certificate.
* We will look at ${APPDATA}/ASP.NET/https/<<AppName>>.pfx for windows
and fallback to ${HOME}/.aspnet/https/<<AppName>>.pfx
* In case the password wasn't specified through configuration, the file
is not found on the file system or can't be loaded, we won't
do anything.
2018-01-12 16:32:06 -08:00
Chris Ross (ASP.NET)
420500e2a9
#2102 Always start the response before draining the request.
2018-01-09 15:59:19 -08:00
Steffen Forkmann
9a8dd6ef12
Allow Content-Length 0 for Websocket-Connection ( #2217 )
2018-01-09 15:01:09 -08:00
Chris Ross (ASP.NET)
ad2149f5f0
Change ApplicationProtocol to ReadOnlyMemory<byte> #2182
2018-01-05 09:25:30 -08:00
Stephen Halter
664055fa43
Revert "Change ApplicationProtocol to ReadOnlyMemory<byte> #2182 "
...
This reverts commit 2d3a01d48d .
2018-01-04 16:17:36 -08:00
Chris Ross (ASP.NET)
2d3a01d48d
Change ApplicationProtocol to ReadOnlyMemory<byte> #2182
2018-01-04 15:26:40 -08:00
Pavel Krymets
1fa001e7db
React to pipeline changes ( #2234 )
...
React to pipeline changes
2018-01-04 09:54:42 -08:00
Chris Ross (ASP.NET)
dfaf37cbba
Implement config support #1290 #1879 #2016 #2166 #2167 #2188
2017-12-21 09:12:32 -08:00
Pavel Krymets
3a0a133a02
Remove use of Dangerous* Span APIs and use MemoryMarshal instead ( #2228 )
2017-12-19 11:33:39 -08:00
Chris Ross (ASP.NET)
d505d20ba7
Merge Kestrel.Https into Kestrel.Core. Fix sample.
2017-12-18 14:08:14 -08:00
BrennanConroy
95dc8824c3
Upgrade package references and react to corefx API changes ( #2212 )
2017-12-11 09:02:37 -08:00
Stephen Halter
668f8e3b4b
Lazily allocate protocol-specific connection objects ( #2190 )
...
* Refactor Http[12]?Connection
2017-12-04 15:59:12 -08:00
David Fowler
b8a1c04ffb
Make the HttpParser a singleton ( #2203 )
...
- It's completely stateless so make it a singleton
- Fixed tests
2017-12-03 13:27:36 -08:00
Ryan Brandenburg
7c2c5f2bef
EnableApiCheck for Kestrel.Https ( #2198 )
2017-11-30 18:36:35 -08:00
Tornhoof
5e9e3a8574
Make sure to add whitespace after the status code even if the reasonphrase is empty ( #2184 )
2017-11-29 12:30:27 -08:00
Nate McMaster
98de3aa50d
Suppress API check due to reflection load errors ( #2185 )
...
[ci skip]
2017-11-28 11:04:08 -08:00
David Fowler
ce68427050
Use ALPN support in SSLStream on .NET Core >= 2.1 ( #2179 )
...
- Always add the TlsConnectionFeature when the HttpsConnectionAdapter runs
- Implemented the ITlsApplicationProtocolsFeature on the existing TlsConnectionFeature
- Removed Kestrel.Tls
2017-11-27 09:11:39 -08:00
Chris Ross
8e1da5d1f6
Expose WebHostBuilderContext in UseKestrel #1334 ( #2177 )
2017-11-22 10:19:17 -08:00
David Fowler
a1d75df47d
Use new Memory<byte> APIs on SocketAsyncEventArgs ( #2173 )
...
- This should improve the performance of handling buffers by (eventually)
removing GCHandle churn for Kestrel's already pinned buffers.
- Made the Sockets transport target both netcoreapp2.1 and netstandard2.0 to use new
APIs
- Disable API check for the sockets transport
2017-11-20 11:36:09 -08:00
Stephen Halter
67fc879c54
Null out send buffer less ( #2164 )
2017-11-17 12:41:35 -08:00
Chris Ross (ASP.NET)
89d1862f21
#2139 Add ListenLocalhost and ListenAnyIP
2017-11-16 16:14:17 -08:00
Andrew Stanton-Nurse
065e9bb57a
Update "temporary" OpenSSL wrapper to support 1.1, and add HTTP/2 sample with docker ( #2149 )
2017-11-13 15:54:16 -08:00
Pavel Krymets
73a37363e1
Migrate to new pipe APIs ( #2124 )
2017-11-13 15:04:54 -08:00
Andrew Stanton-Nurse
89fa8f0fa2
Revert "Open ssl pfx ( #2150 )"
...
This reverts commit 41abe63c10 .
2017-11-07 15:48:49 -08:00
Tim Seaward
41abe63c10
Open ssl pfx ( #2150 )
2017-11-07 14:49:02 -08:00
Stephen Halter
238da2742d
Use SocketAsyncEventArgs to improve perf ( #2147 )
2017-11-07 14:43:14 -08:00
Nate McMaster
6c82f78c65
Pin tool and package versions to make builds more repeatable
...
Part of aspnet/Universe#575
2017-11-01 15:18:49 -07:00
Stephen Halter
0c34523e8b
Log exception after critical accept loop error ( #2140 )
2017-10-31 11:09:11 -07:00
Tom Deseyn
eeb49c2af7
Pass setsockopt fd as int ( #2136 )
2017-10-26 11:40:52 -07:00
Andrew Stanton-Nurse
ab78fb0b8c
fix build break
2017-10-25 15:22:36 -07:00
Cesar Blum Silveira
8c4bdbcf6b
Add "zero config" HTTPS support using local development certificate. ( #2093 )
2017-10-25 13:59:09 -07:00
Stephen Halter
c3ba875d12
Better handle Socket transport accept errors ( #2133 )
...
* More reliably swallow accept errors during shutdown
* Handle and log connection reset errors thrown from accept
* Don't trace errors for server-aborted connections
2017-10-25 12:58:00 -07:00
Andrew Stanton-Nurse
1678c54291
Add some tracing and increase timeout for flaky test ( #2130 )
2017-10-25 11:56:43 -07:00
Andrew Stanton-Nurse
7d205d1093
add event names to Logging messages ( #2132 )
2017-10-25 11:27:05 -07:00
Andrew Stanton-Nurse
30010a103b
Fix for #2085 - "The Detaskening" ( #2123 )
2017-10-23 10:52:02 -07:00
Cesar Blum Silveira
3fbfba63f8
HTTP/2: implement 100-continue ( #2106 )
2017-10-18 16:31:50 -07:00
Stephen Halter
c57aa3b2a8
Treat more exceptions from Socket.ReceiveAsync as aborted connections ( #2122 )
2017-10-18 12:40:37 -07:00
Stephen Halter
733ac1efab
Handle EPIPE like ECONNRESET on Linux ( #2112 )
2017-10-13 15:07:21 -07:00
Cesar Blum Silveira
9dfffd14bb
HTTP/2: support trailers.
2017-10-12 17:26:20 -07:00
Stephen Halter
66a3c9496a
Set SO_REUSEADDR on managed listen sockets on Unix ( #2111 )
...
- https://github.com/dotnet/corefx/issues/24562
2017-10-12 12:26:52 -07:00
Cesar Blum Silveira
deed6c9780
HTTP/2: add exception error messages and log them.
2017-10-12 11:23:57 -07:00
Stephen Halter
fdb4184dbf
Sockets transport ( #2100 )
...
* Make Sockets the default transport
* Create separate Libuv and Sockets functional test projects
* Fix functional tests that fail with Sockets
* Moved OneToTenThreads test to Kestrel.Transport.Libuv.Tests
* Fix systemd activation tests to use libuv transport
* Dispose Sockets PipeFactory
* Improve Socket's server-side abort handling
* Add explicit rebinding test
2017-10-11 15:14:35 -07:00
Cesar Blum Silveira
d46d2ce193
HTTP/2: validate request headers prior to starting new stream.
2017-10-10 13:12:34 -07:00
Cesar Blum Silveira
11ce1395e5
HPACK fixes and improvements.
2017-10-04 12:59:41 -07:00
Stephen Halter
156ddfc4e8
Fix EOF handling of TlsStream.ReadAsync ( #2094 )
2017-10-04 12:38:19 -07:00
Cesar Blum Silveira
1b1137b880
HTTP/2: connection error when receiving frames disallowed by stream states.
2017-10-02 10:24:57 -07:00
Cesar Blum Silveira
bb9840a552
HTTP/2: do not ACK PING frames received with ACK set.
2017-09-29 16:40:01 -07:00
Cesar Blum Silveira
551c1ebc0b
Configure enabled protocols per endpoint and add HTTP/2 w/ prior knowledge support ( #2067 ).
2017-09-27 10:14:39 -07:00
Javier Calvarro Nelson
eb9417b577
Re-enable API Check
2017-09-25 15:16:53 -07:00
Javier Calvarro Nelson
49237c7651
Add API check baselines for 2.0
2017-09-25 15:03:09 -07:00
Cesar Blum Silveira
343ce0f01b
HTTP/2: close connection with PROTOCOL_ERROR when a stream depends on itself.
2017-09-22 16:35:12 -07:00
Cesar Blum Silveira
e3533885a8
HTTP/2: close connection with PROTOCOL_ERROR when receiving a frame with an even stream ID.
2017-09-21 12:26:09 -07:00
Cesar Blum Silveira
a4887f4caf
HTTP/2: close connection with PROTOCOL_ERROR when receiving GOAWAY frame with non-zero stream ID.
2017-09-21 11:57:31 -07:00
Cesar Blum Silveira
fc56552b2a
HTTP/2: close connection on PING frame with non-zero stream ID.
2017-09-21 11:23:15 -07:00
Cesar Blum Silveira
555a881cb7
HTTP/2: close connection with PROTOCOL_ERROR when an unknown frame type is interleaved with headers.
2017-09-21 11:20:52 -07:00
Cesar Blum Silveira
e2af346733
HTTP/2: close the connection with PROTOCOL_ERROR when a PUSH_PROMISE frame is received.
2017-09-21 11:20:33 -07:00
Cesar Blum Silveira
9687079723
Check if HTTP/2 frame writer has already been aborted.
2017-09-20 11:15:31 -07:00
Cesar Blum Silveira
9944c0fd43
Fix reading DATA frames with maximum length.
2017-09-20 11:15:31 -07:00
Cesar Blum Silveira
c8f9364e3e
Expose connection features to HTTP/2 connections.
2017-09-20 11:14:15 -07:00
Cesar Blum Silveira
a31d1e024c
Merge code paths duplicated between HTTP/1.x and HTTP/2 implementations ( #2017 ).
...
- Most of the shared code is in the HttpProtocol class (former Frame)
- Virtual calls handle protocol-specific things
- Move the ProcessRequestsAsync loop to HttpProtocol
- Implement HTTP/1.x request processing in Http1Connection and HTTP/2
in Http2Stream, with Http1Connection<T> and Http2Stream<T> subclassing
those classes in order to handle the generic HttpContext parameter
- Split MessageBody into Http1MessageBody and Http2MessageBody,
with MessageBody containing shared member variables and methods
2017-09-14 17:35:57 -07:00
Stephen Halter
1e465e9643
Improve timeout logic
2017-09-08 12:50:01 -07:00
Vladimir Sadov
f0ade24cf7
Updating to new toolset compiler. ( #2043 )
...
* Updating to new toolset compiler.
Now includes ref escaping rules.
* newer version.
2017-09-06 15:52:47 -07:00
Stephen Halter
284367db9f
Improve ConnectionLimitMiddleware and connection pipeline building ( #2010 )
...
* Improve ConnectionLimitMiddleware and connection pipeline building
* Add IDecrementConcurrentConnectionCountFeature
* Flow connection features from connection middleware
2017-08-30 11:30:20 -07:00