Commit Graph

135 Commits

Author SHA1 Message Date
Ryan Nowak 0ea16ddd57 Code dump of dispatcher prototype code
Here's a code dump of the parts of the Dispatcher prototype codebase
that are needed to get us off the ground.

This first cut attempts to use part of routing where possible, and not
all of those changes will be long-lasting.

I'll leave comments through thoughout the PR for education.
2018-06-01 21:33:30 -07:00
Ryan Brandenburg 62c0d6a16a Upgrade to netcoreapp22 2018-05-08 11:10:25 -07:00
Jass Bagga 93d20ec78c
Revert Dispatcher changes (#508)
Addresses aspnet/Home#2741
2018-01-10 12:53:17 -08:00
Pranav K b67c63927c Update samples and tests to target netcoreapp2.1 2017-11-13 16:45:38 -08:00
Jass Bagga fd83b300b8
Port TreeMatcher (#488)
Addresses #472
2017-11-07 10:51:50 -08:00
Nate McMaster f4fb178f55 Pin tool and package versions to make builds more repeatable
Part of aspnet/Universe#575
2017-11-01 16:32:09 -07:00
Ryan Nowak bb413c6ac3 Rename a bunch of old stuff 2017-10-26 12:35:58 -07:00
Ryan Nowak 736b49294d Add Template abstraction
This change adds the Template as a top level abstraction. URL templating
is now a two-stage process.

First you use a 'key' to look up a Template, then you use the Template
to create the URL.

This change also has some cleanup of the way RoutePatternBinder gets
instantiated. I added a factory service so that most of the complex
things can be made internal to Dispatcher. Now it's much easier to
constuct and use. These impacts some pubternal APIs that we already
broke, but makes them actually nice :)

Also cleaned up some tests and fixed one that was broken and not
running.
2017-10-25 22:15:24 -07:00
Ryan Nowak 63d2cc4637 Changes due to davidfowl feedback
Changed dispatchers to IMatcher, added a context.

Removed a bunch of outdated cruft and updated the sample to use
attribute-routing like entries.
2017-10-05 18:31:23 -07:00
Jass Bagga 2f8951e244 Productize HttpMethodEndpointSelector (#463)
Addresses #452
2017-10-05 15:14:17 -07:00
Ryan Nowak abb41302e9 Add a dispatcher by default (#462)
This change adds the TreeDispatcher by default to the pipeline. You can
register DispatcherDataSource instances to configure it.
2017-09-29 16:06:38 -07:00
Ryan Nowak bd750ad76d Making endpoints and addresses easier
This makes endpoints and addresses easier to work with by dropping the
'metadata first' approach for the the things that are really at the core
of the dispatcher.
2017-09-28 22:07:32 -07:00
Ryan Nowak 5fed462123 Add tree dispatcher 2017-09-27 14:34:09 -07:00
Ryan Nowak 7685e17e80 Add Addresses and link generation 2017-09-24 23:16:34 -07:00
Ryan Nowak 41f26dc69d Add endpoint disambiguation
- Better sample of metadata
- Sample shows how conventional routing would work
- Added endpoint disambiguation
2017-09-22 10:54:20 -07:00
Ryan Nowak 134096d9cb Relayer implementation
This refactor introduces two major changes

1. Now creating the 'handler' delegate happens inside the endpoint
middleware. This allows you to short circuit even harder, AND to create
endpoint funcs that capture and use 'next' to rejoin the middleware
pipeline.

2. Relayered the implementation to have routing plug into the dispatcher.
It wasn't immediately apparent to me that this was the right thing to do,
but I think we will need to do things this way to deliver the kind of
back-compat experience we need to do.

The idea that I have is that 'attribute routing' will be the 'default'
entry in the dispatcher. Adding additional conventional routes or other
IRouter-based extensibility will be possible through adapters - but the
default experience will be to add items to the 'attribute route'.

So. We will need to port the attribute routing infrastructure to the
dispatcher library.

We may also need to make RVD into a subclass of something in the
dispatcher assembly.
2017-09-17 18:29:22 -07:00
Jass Bagga b01072eb47 Use RouteTemplate and TemplateMatcher (#443)
Addresses #438
2017-09-14 15:24:40 -07:00
Jass Bagga a9b47f6722 Startup experience (#442)
Addresses #437 and #440
2017-09-11 15:10:33 -07:00
Jass Bagga 6b2ccdead8 Add sample to "select" an address and generate a URL (#434)
Addresses #428
2017-09-01 14:02:16 -07:00
Jass Bagga ebd0baa458 Add dispatcher packages 2017-08-31 11:54:27 -07:00
Nate McMaster e67d85d30c Use PackageLineup to manage PackageReference versions 2017-08-29 11:31:54 -07:00
Nate McMaster 44f9a7083b Use Directory.Build.props/targets 2017-08-29 11:30:03 -07:00
Ryan Brandenburg efb097ce60 Target .NET Standard 2.0 and add net461 testing 2017-05-23 14:38:36 -07:00
Pranav K ce021a888e Change TFM to netcoreapp2.0 2017-05-05 09:49:42 -07:00
Kiran Challa 77da34c7b3 Converted sample and test projects to netcoreapp2.0 2017-03-23 17:04:59 -07:00
Pranav K 1ef45e64b8 Update to net46 2017-03-22 18:26:48 -07:00
Nate McMaster 101764328b Consolidate dependency versions to one file and remove workarounds 2017-03-15 17:01:10 -07:00
Pranav K 0f4ce625ed Update to VS 2017 RC3 2017-01-27 11:04:42 -08:00
Pranav K ce525150ab Updating to 4.4 CoreFx packages 2016-12-21 22:55:19 -08:00
Kiran Challa 20967cfa76 [Fixes #367] Add extensions on WebHostBuilder for super simple HTTP service application building 2016-12-21 10:04:02 -08:00
Pranav K d3c145cbe8 Updating versions to 1.2.0-* 2016-11-09 14:19:24 -08:00
Pranav K d81ea871fb Updating to netcoreapp1.1 2016-10-13 11:24:12 -07:00
Pranav K 5c28a07a6f Revert "Updating to netcoreapp1.1"
This reverts commit 7e082dbdef.
2016-10-12 16:09:35 -07:00
Pranav K 7e082dbdef Updating to netcoreapp1.1 2016-10-12 13:46:26 -07:00
Pranav K 67d0c13815 Updating partner package versions 2016-10-03 20:00:38 -07:00
jacalvar 74a3063c45 [Fixes #357] Fix behavior when optional parameters are defined within a route and not at the end 2016-10-03 19:31:17 -07:00
Justin Kotalik 95a7785a12 Adds timeout to sample Regex. 2016-08-23 12:26:48 -07:00
jacalvar 57ec8b0f04 [Fixes #228] Update sample app to show more common routing patterns and add functional tests for it. 2016-07-15 11:21:28 -07:00
Doug Bunting 1bcd01338a One build to rule them all
- well, at least VS and command-line builds will share output
- part of aspnet/Coherence-Signed#277
2016-07-07 12:31:06 -07:00
Pranav K 2c264efd42 Updating to dev versions 2016-06-16 10:18:32 -07:00
N. Taylor Mullen 334d14ac66 Remove direct Microsoft.NETCore.Platforms dependency.
- Microsoft.NETCore.App now pulls this package in.

aspnet/Coherence-Signed#344
2016-06-13 15:29:38 -07:00
jacalvar c74a210386 Remove unncessary usings 2016-06-09 00:43:45 -07:00
Pranav K 0ce851680b Fix build warnings 2016-05-02 11:27:25 -07:00
BrennanConroy 5a8d55fa0c Remove reference to UseDefaultHostConfiguration 2016-04-27 18:59:33 -07:00
BrennanConroy 1d522a0167 Update web.config and add publish tool 2016-04-25 08:58:44 -07:00
Pavel Krymets d98924f713 Bring Microsoft.NETCore.Platforms dependency back 2016-04-18 17:03:18 -07:00
Pavel Krymets b1f720ef12 Migrate tests, tools and samples to portable 2016-04-14 16:28:13 -07:00
John Luo 2b929327aa Moving web.config and use ANCM 2016-04-11 10:00:28 -07:00
John Luo b7aa4e627e Reacting to Hosting changes 2016-03-24 12:03:16 -07:00
Doug Bunting 27c6d8c665 Remove project name from output path
- aspnet/Coherence-Signed#187
- remove `<RootNamespace>` settings but maintain other unique aspects e.g. `<DnxInvisibleContent ... />`
- in a few cases, standardize on VS version `14.0` and not something more specific
2016-03-02 21:06:00 -08:00