Commit Graph

30385 Commits

Author SHA1 Message Date
Ryan Nowak 19f24cad16 fix silly constructor 2018-07-24 21:54:24 -07:00
ASP.NET CI 4b97daa284 Updating submodule(s)
Mvc => c08504b08a
Routing => 1340f9c26b

[auto-updated: submodules]
2018-07-25 04:09:07 +00:00
James Newton-King 1340f9c26b
Add EndpointSelectorCandidate ctor to not break MVC (#661) 2018-07-25 16:03:26 +12:00
James Newton-King fdff66054f
Missing ChangeToken -> GetChangeToken updates (#660) 2018-07-25 14:35:41 +12:00
James Newton-King c08504b08a
MVC startup experience (#8131) 2018-07-25 14:30:51 +12:00
Mike Harder f385308503 Pass "--debug:ephemeral-hive" to "dotnet new" 2018-07-24 17:43:00 -07:00
Ryan Nowak 147c9527f3
Implement EndpointSelector and MatcherPolicy (#646)
Implement EndpointSelector and MatcherPolicy

This change makes the EndpointSelector API more concrete, and is the
beggining of removing EndpointConstraint by making it obsolete.

To that end, I'm introducing MatcherPolicy, which is a
feature-collection API for registering policies that interact with the
DfaMatcher. The two policies that we'll need to start are:
- ability to order endpoints
- ability to append 'policy' nodes to the graph

These two concepts together replace EndpointConstraint. Extending our
graph representation is a really efficient way to processing most common
scenarios.

---

In general this helps with common cases where 4 or so endpoints match
the URL, but with different HTTP methods supported on each. Today we
have to process route values and call into some 'policy' to make a
decision about which one is the winner. This change pushes this
knowledge down into the graph so that it's roughly as cheap as a
dictionary lookup, and can be done allocation-free.

The big savings here is ability to remove more candidates *before*
collecting route data.

---

Along with this change, I also built 'rejection' into the DFA node
model, you can see an example with the HTTP Method handling that I
implemented. I implemented a policy that can treat failure to resolve an
HTTP method as a 405 response by returning a failure endpoint. This is
at the heart of much of the feedback we've gotten in this area around
versioning and http method handling. We also have a version of this
feature in MVC for [Consumes].
2018-07-24 17:31:51 -07:00
ASP.NET CI a33b667941 Updating submodule(s)
Routing => 6f4c10a664

[auto-updated: submodules]
2018-07-24 17:24:02 -07:00
Kiran Challa f37ca0d2e9 Show list of endpoints in CompositeEndpointDataSource's DebuggerDisplayString
[Fixes #633] Show list of registered endpoints as debugger display string
2018-07-24 17:22:43 -07:00
Kiran Challa 6f4c10a664 PR feedback 2018-07-24 17:17:08 -07:00
Kiran Challa 71cb933a08 Show a flattened tree in LinkGenerationDecisionTree's DebuggerDisplayString
[Fixes #636] Flatten the LinkGenerationDecisionTree to show as debugger display string
2018-07-24 17:11:53 -07:00
ASP.NET CI da0ed59aa8 Updating submodule(s)
Routing => 34499dbe24

[auto-updated: submodules]
2018-07-24 16:54:01 -07:00
Kiran Challa 34499dbe24 Added support for suppressing link generation for endpoints 2018-07-24 16:47:34 -07:00
Mike Harder 4e21e92337 RazorClassLibrary projects must now use private feed in pre-release SDKs
- https://github.com/aspnet/Universe/issues/1123#issuecomment-407570943
2018-07-24 15:54:52 -07:00
ASP.NET CI 3e6bdc3029 Updating submodule(s)
Mvc => 630aeade07

[auto-updated: submodules]
2018-07-24 15:24:46 -07:00
Kiran Challa 630aeade07 Added tests related to generating urls with route name 2018-07-24 15:06:16 -07:00
ASP.NET CI 400701857c Updating submodule(s)
IISIntegration => 5bd475ef90

[auto-updated: submodules]
2018-07-24 14:10:19 -07:00
Justin Kotalik 5bd475ef90
Add event logs for some startup failure cases (#1081) 2018-07-24 13:17:05 -07:00
ASP.NET CI 57ac08f4b3 Updating submodule(s)
BrowserLink => 9ceb5fb8a2ff82123f1a6f3d5db05bc1c3c8ed05
Caching => 91013ceecfefa4c06dc6964d5433be837d97e22a
Configuration => cf9a3b90e55a7adeb6a2eeb7246afd38291f6717
CORS => 4d50d4e7e4
DataProtection => 86b35c1932
DependencyInjection => 371be6dc91c1181811d13457dde0e492c790ebc7
Diagnostics => 008e13a4e7
DotNetTools => 157ec70a6b
EventNotification => 3679f4cf918f935ed25dea88870c92ee2b31eada
FileSystem => cfa21feb4c1fc6e5c58352a075b230f57664a805
Hosting => c8718c1c56
HtmlAbstractions => c3635d20f4
HttpAbstractions => 64e4d3215f
HttpClientFactory => 8d001a0da7a1199f803b1b325ebfc02d9469c7ed
HttpSysServer => 4e8dbc7b9d
IISIntegration => 00d7073811
JavaScriptServices => a4bb72e58c
JsonPatch => 9ab15a0a77
Localization => e30ea68fda
Logging => 8ed421c11c9f7646a8eb4984b5f04099b0250a05
MetaPackages => fc7a3e9498
Microsoft.Data.Sqlite => 668ae13aa51caf9f81b37abb87c1479148e52341
MusicStore => f228f3b6e7
Mvc => 6a8f015d34
MvcPrecompilation => 7ee381725b
Options => 38f3d3a80afcdfddc55cc5c9a424fbe66e17b86f
Razor => b3eecf0d46
ResponseCaching => 53401c9bf8
Routing => deddb336b7
Scaffolding => 2be0b7ecb275dae0d603637a253bf2379960a083
Security => f724fcf4ac
Session => f781bad850
StaticFiles => e8b25a5b48
WebSockets => 514126588d

[auto-updated: submodules]
2018-07-24 19:44:54 +00:00
ASP.NET CI 35063125be Updating submodule(s)
AADIntegration => 56e7b69e0a
Antiforgery => 2d436d3e8c
AuthSamples => 49b8a6d6d9
AzureIntegration => 135155109a
BasicMiddleware => d595e54de6
Identity => 31eaaac4a8
ServerTests => edce1234ee
Templating => 0435add47a

[auto-updated: submodules]
2018-07-24 19:12:19 +00:00
Nate McMaster 514126588d
Merge branch 'release/2.1' into release/2.2 2018-07-24 12:07:26 -07:00
Nate McMaster e8b25a5b48
Merge branch 'release/2.1' into release/2.2 2018-07-24 12:07:25 -07:00
Nate McMaster f781bad850
Merge branch 'release/2.1' into release/2.2 2018-07-24 12:07:25 -07:00
Nate McMaster f724fcf4ac
Merge branch 'release/2.1' into release/2.2 2018-07-24 12:07:25 -07:00
Nate McMaster 53401c9bf8
Merge branch 'release/2.1' into release/2.2 2018-07-24 12:07:24 -07:00
Nate McMaster b3eecf0d46
Merge branch 'release/2.1' into release/2.2 2018-07-24 12:07:24 -07:00
Nate McMaster 7ee381725b
Merge branch 'release/2.1' into release/2.2 2018-07-24 12:07:23 -07:00
Nate McMaster f228f3b6e7
Merge branch 'release/2.1' into release/2.2 2018-07-24 12:07:23 -07:00
Nate McMaster 6a8f015d34
Merge branch 'release/2.1' into release/2.2 2018-07-24 12:07:23 -07:00
Nate McMaster fc7a3e9498
Merge branch 'release/2.1' into release/2.2 2018-07-24 12:07:22 -07:00
Nate McMaster 9ab15a0a77
Merge branch 'release/2.1' into release/2.2 2018-07-24 12:07:21 -07:00
Nate McMaster a4bb72e58c
Merge branch 'release/2.1' into release/2.2 2018-07-24 12:07:21 -07:00
Nate McMaster 00d7073811
Merge branch 'release/2.1' into release/2.2 2018-07-24 12:07:21 -07:00
Nate McMaster 4e8dbc7b9d
Merge branch 'release/2.1' into release/2.2 2018-07-24 12:07:20 -07:00
Nate McMaster 64e4d3215f
Merge branch 'release/2.1' into release/2.2 2018-07-24 12:07:20 -07:00
Nate McMaster c3635d20f4
Merge branch 'release/2.1' into release/2.2 2018-07-24 12:07:20 -07:00
Nate McMaster c8718c1c56
Merge branch 'release/2.1' into release/2.2 2018-07-24 12:07:19 -07:00
Nate McMaster 157ec70a6b
Merge branch 'release/2.1' into release/2.2 2018-07-24 12:06:54 -07:00
Nate McMaster 008e13a4e7
Merge branch 'release/2.1' into release/2.2 2018-07-24 12:06:53 -07:00
Nate McMaster 86b35c1932
Merge branch 'release/2.1' into release/2.2 2018-07-24 12:06:53 -07:00
Nate McMaster 4d50d4e7e4
Merge branch 'release/2.1' into release/2.2 2018-07-24 12:06:52 -07:00
Nate McMaster 135155109a
Merge branch 'release/2.1' into release/2.2 2018-07-24 12:06:51 -07:00
Nate McMaster 49b8a6d6d9
Merge branch 'release/2.1' into release/2.2 2018-07-24 12:06:51 -07:00
Nate McMaster 2d436d3e8c
Merge branch 'release/2.1' into release/2.2 2018-07-24 12:06:51 -07:00
Nate McMaster 56e7b69e0a
Merge branch 'release/2.1' into release/2.2 2018-07-24 12:06:50 -07:00
Nate McMaster 0435add47a
Merge branch 'release/2.1' into release/2.2 2018-07-24 11:59:30 -07:00
Nate McMaster edce1234ee
Merge branch 'release/2.1' into release/2.2 2018-07-24 11:52:20 -07:00
Nate McMaster deddb336b7
Merge branch 'release/2.1' into release/2.2 2018-07-24 11:47:18 -07:00
Nate McMaster 1f3524787e
Merge branch 'release/2.1' into release/2.2 2018-07-24 11:43:13 -07:00
ASP.NET CI 584ff69b77 Updating submodule(s)
SignalR => fd5d27c7cb

[auto-updated: submodules]
2018-07-24 18:40:19 +00:00