Stephen Halter
ac60f13312
Modify RequestProcessingAsync to call single parse method ( #1427 )
...
* Modify RequestProcessingAsync to call single parse method
* Fix bad request logging
2017-03-03 14:43:32 -08:00
David Fowler
1d685e195e
Parser cleanup and remove line continuation header error ( #1431 )
...
- Cleaned up some parsing logic (removed locals etc)
- Removing line continuation errors cleaned up code duplication
a little bit
2017-03-03 10:04:44 -08:00
David Fowler
cb6059c143
Make the IHttpParser per frame and add a reset ( #1415 )
...
* Make the IHttpParser per frame and add a reset
- Made the IHttpParser a per frame object so state can be stored
across method calls and parses.
- Added HttpParserFactory to ServiceContext
2017-03-01 13:12:03 -08:00
Pavel Krymets
d3694f085a
Add IHttpParser interface ( #1414 )
2017-03-01 11:55:36 -08:00
Cesar Blum Silveira
568aaff9c4
Improve HTTP parsing tests ( #1393 ).
...
- Add several more test cases
- Share data between functional and unit tests
2017-02-28 14:23:27 -08:00
David Fowler
c6705d8693
Convert TakeStartLine and TakeMessageHeaders to be state machines ( #1401 )
...
- Less passes over the buffer
- Single pass to find all start line delimiters instead
of calling IndexOf multiple times.
- Made TakeStartLine and TakeMessageHeaders a state machine
- Only check length against remaining bytes once
- Change variable names to match TakeStartLine
- Use ReadableBuffer.First.Span instead of ToSpan()
- Added test for missing path with a querystring
2017-02-27 11:55:30 -08:00
David Fowler
5692f51bf7
Revert "Revert "Use Spans to parse the start line and headers ( #1394 )""
...
This reverts commit 19c3107deb .
2017-02-24 10:22:05 -08:00
David Fowler
19c3107deb
Revert "Use Spans to parse the start line and headers ( #1394 )"
...
This reverts commit 8140b8cdfe .
2017-02-24 10:03:32 -08:00
David Fowler
8140b8cdfe
Use Spans to parse the start line and headers ( #1394 )
...
* Use Spans to parse the start line and headers
- Use `Span<byte>` to parse the start line and headers
2017-02-23 23:02:29 -08:00
Pavel Krymets
824ef2c937
Input Pipeline migration ( #1277 )
2017-02-17 15:38:13 -08:00
John Luo
57b368566d
Use StatusCode instead of three digit numbers for status codes
2017-01-09 10:09:54 -08:00
Stephen Halter
2351c1b558
Create a direct way to configure Kestrel endpoints
...
- Replace endpoint configuration via .UseUrls() or --server.urls with Listen*
methods on KestrelSerrverOptions.
- Replace IConnectionFilter with IConnectionAdapter which no longer exposes
ServerAddress via a context.
- Simplify libuv Listener classes
- Support systemd socket activation
- Add docker-based test for systemd socket activation to be run on Travis
2017-01-06 17:37:58 -08:00
Cesar Blum Silveira
cedbe76f52
Abort request on client FIN ( #1139 ).
2016-12-13 12:03:33 -08:00
Cesar Blum Silveira
51ecbd7949
Add benchmarks for Frame writes.
2016-12-13 11:33:56 -08:00
Pavel Krymets
e55c62444b
Refactor FrameTests and rename SocketInput SocketOutput properties ( #1229 )
2016-11-22 16:36:36 -08:00
Cesar Blum Silveira
3177ba0aae
Wait for frame loop completion to dispose connection stream ( #1156 ).
2016-10-10 10:16:03 -07:00
Cesar Blum Silveira
a2439105ae
Refactor request line validation and error reporting ( #1116 ).
2016-10-03 16:54:51 -07:00
Cesar Blum Silveira
4117ad8a1e
Refactor non-body response handling.
...
- Add functional tests
- Remove BadHttpResponse, ResponseRejectionReasons and TestFrameProtectedMembers
- Chunk non-keepalive HTTP/1.1 responses
- Set _canHaveBody to true when StatusCode == 101
- Add test to check that upgraded connections are always closed when the app
is done
- Log writes on responses to HEAD requests only once.
2016-10-03 16:46:59 -07:00
Ben Adams
e7e6b896ba
Don't emit TE header or body for non-body responses
2016-10-03 15:54:14 -07:00
Cesar Blum Silveira
0312da7df3
Add request headers timeout ( #1110 ).
2016-09-27 17:08:02 -07:00
Cesar Blum Silveira
375e8b7022
Change context relationships from inheritance to composition.
2016-09-27 11:53:06 -07:00
Cesar Blum Silveira
49ff98f8cb
More specific response status codes for errors ( #653 ).
...
- 414 when request line exceeds size limit
- 431 when request headers exceed size or count limits
- 505 when request line contains unsupported HTTP version
2016-09-22 12:13:14 -07:00
Cesar Blum Silveira
1a273f5a34
Improve keep-alive timeout.
...
- Track time more accurately
- Control timeout in Connection instead of Frame
2016-09-14 20:57:16 -07:00
Cesar Blum Silveira
8c513402a3
Always call ConsumingComplete() with furthest examined position ( #1095 ).
2016-09-10 20:05:14 -07:00
Pavel Krymets
c777a9efea
Use TaskCache class from Microsoft.Extensions.TaskCache.Sources ( #1089 )
...
Instead of Task.FromResult(0)
2016-09-09 15:57:33 -07:00
Cesar Blum Silveira
19f8958fa8
Move TestServer to shared directory.
2016-09-06 12:47:24 -07:00
Cesar Blum Silveira
08f98f4790
Add header limit options ( #475 ).
2016-08-09 12:31:39 -07:00
Cesar Blum Silveira
a5aacd6307
Throw when setting OnStarting after response has already started ( #806 ).
2016-08-08 11:38:06 -07:00
Ben Adams
0a1ea124ee
Use HttpVersionType enum rather than string compare
2016-07-22 21:34:49 +01:00
Cesar Blum Silveira
9f720eda90
Reset frame streams on each request ( #940 ).
2016-07-06 14:57:43 -07:00
Andrew Stanton-Nurse
09f5be1434
fix #909 by moving most classes to Internal ns
2016-06-03 14:14:21 -07:00
Cesar Blum Silveira
de022b6051
Improved handling of whitespace in headers.
2016-06-02 16:18:43 -07:00
Cesar Blum Silveira
0a181b1f3f
Reset Frame's IHttpRequestFeature.Headers and IHttpResponseFeature.Headers between requests ( #879 ).
2016-05-27 16:02:55 -07:00
Cesar Blum Silveira
3f4e2323f4
Throw when setting Frame.StatusCode or Frame.ReasonPhrase after response has already started ( #805 ).
2016-05-24 16:32:54 -07:00
Stephen Halter
f15471bcf2
Remove 2 from MemoryPool2 and related types
...
- This was merely an artifact from when this was the second of 2 pools
2016-03-03 12:11:25 -08:00
Ben Adams
766803c573
Return 400 for bad requests and close conn
2016-02-27 12:35:12 +00:00
Stephen Halter
f4bb8d5eff
Verify that memory pool blocks aren't leaked in tests
2016-02-17 16:05:34 -08:00
N. Taylor Mullen
b062f851dc
Rename AspNet 5 file contents.
...
See https://github.com/aspnet/Announcements/issues/144 for more information.
2016-01-22 12:23:51 -08:00
N. Taylor Mullen
3cfe2f3070
Rename AspNet 5 folders and files.
...
See https://github.com/aspnet/Announcements/issues/144 for more information.
2016-01-22 12:23:44 -08:00