Commit Graph

264 Commits

Author SHA1 Message Date
Kirill Rakhman 3cc3ab00c9 Reduce boxing in RedirectRule.cs (#8988) 2019-04-02 10:04:07 -07:00
David Fowler f4c61de490
Initial design for exception page filters (#8958)
- This change introduces the concept of an IDeveloperPageException filter that runs whenever the developer exception page has encountered an error. It follows the middleware pattern (chain of resposibility) which allows short circuiting or decorating the default logic.
- Added tests
2019-04-02 10:02:34 -07:00
Ryan Nowak 285110de91 Add missing ref-assembly for header propagation
I think this was missed because the PR predates ref assemblies :)
2019-03-30 11:50:34 -07:00
Alessio Franceschelli f28cf2bbc8 HeaderPropagation: propagate incoming request headers to outgoing HTTP requests (#7921)
* Ported HeaderPropagation from aspnet/Extensions

* Introduced Middleware

* Refactored middleware logic

* Refactored builder extensions

* Copyright notice

* Test for friendly exception on Builder

* Fixed header name selection when no output name specified

* Set comparer for the dictionary of headers

* Refactored configuration as Dictionary

* Renamed state objects

* renamed OutboundHeaderName in configuration

* Changed DefaultValuesGenerator to ValueFactory

* Missing docs

* Removed AlwaysAdd and added tests for null entry in configuration

* Improved docs

* Update src/Middleware/HeaderPropagation/src/DependencyInjection/HeaderPropagationExtensions.cs

Co-Authored-By: alefranz <alessio@franceschelli.me>

* Moved dependency injection extensions

* DI: reused ServiceCollection extension in the HttpClientBuilder one

* Moved service registration

* Update src/Middleware/HeaderPropagation/src/HeaderPropagationEntry.cs

Co-Authored-By: alefranz <alessio@franceschelli.me>

* more docs

* Improved docs

* Update src/Middleware/HeaderPropagation/src/HeaderPropagationValues.cs

Co-Authored-By: alefranz <alessio@franceschelli.me>

* Fixed build

* Update eng/SharedFramework.Local.props

Co-Authored-By: alefranz <alessio@franceschelli.me>

* Updated tests for null config

* Reversed condition on HeaderPropagationMessageHandler as suggested

* Added docs for HeaderPropagationMessageHandler

* Changed proj to ship package to NuGet
2019-03-29 12:00:46 -07:00
Ryan Nowak 658b37d2bd
Make UseEndpoints a thing (#8765)
* Make endpoint middleware explicit

This change makes the endpoint middleware explicit again, and updates
all of the templates.

The other change here is make UseEndpoints be the place where you
register endpoints. This is vital because it puts your code visually at
the point of the pipeline where it executes.

Lastly, I removed support for UseMvc with endpoint routing. This is
causing issues for some security features, and we're moving in the
direction of trying to make the middleware heavy implementation required
in 3.0. There are some issues we won't be able to fix in MVC if we can't
unambiguously know if UseMvc was used or the middleware.
2019-03-28 15:41:11 -07:00
Ryan Brandenburg 70cd5f5f9f
Mark tests flaky instead of skipped (#8727)
Mark tests flaky instead of skipped
2019-03-26 09:51:37 -07:00
Pranav K 9a35bbea03
Experience for Razor SDK (#8731)
* Experience for Razor SDK

* Remove Components.Build
* Update MVC projects and templates to use AddRazorSupportForMvc
* Update components templates to use .razor extension

Fixes https://github.com/aspnet/AspNetCore/issues/6392

* Update dependencies from https://github.com/aspnet/AspNetCore-Tooling build 20190321.3

- Microsoft.NET.Sdk.Razor - 3.0.0-preview4.19171.3
- Microsoft.CodeAnalysis.Razor - 3.0.0-preview4.19171.3
- Microsoft.AspNetCore.Razor.Language - 3.0.0-preview4.19171.3
- Microsoft.AspNetCore.Mvc.Razor.Extensions - 3.0.0-preview4.19171.3

* Update dependencies from https://github.com/dotnet/core-setup build 20190322.01

- Microsoft.NETCore.App - 3.0.0-preview4-27522-01

Dependency coherency updates

- Microsoft.Bcl.Json.Sources - 4.6.0-preview4.19164.7 (parent: Microsoft.NETCore.App)
- Microsoft.CSharp - 4.6.0-preview4.19164.7 (parent: Microsoft.NETCore.App)
- Microsoft.Win32.Registry - 4.6.0-preview4.19164.7 (parent: Microsoft.NETCore.App)
- System.ComponentModel.Annotations - 4.6.0-preview4.19164.7 (parent: Microsoft.NETCore.App)
- System.Data.SqlClient - 4.7.0-preview4.19164.7 (parent: Microsoft.NETCore.App)
- System.Diagnostics.EventLog - 4.6.0-preview4.19164.7 (parent: Microsoft.NETCore.App)
- System.IO.Pipelines - 4.6.0-preview4.19164.7 (parent: Microsoft.NETCore.App)
- System.Net.Http.WinHttpHandler - 4.6.0-preview4.19164.7 (parent: Microsoft.NETCore.App)
- System.Net.WebSockets.WebSocketProtocol - 4.6.0-preview4.19164.7 (parent: Microsoft.NETCore.App)
- System.Reflection.Metadata - 1.7.0-preview4.19164.7 (parent: Microsoft.NETCore.App)
- System.Runtime.CompilerServices.Unsafe - 4.6.0-preview4.19164.7 (parent: Microsoft.NETCore.App)
- System.Security.Cryptography.Cng - 4.6.0-preview4.19164.7 (parent: Microsoft.NETCore.App)
- System.Security.Cryptography.Pkcs - 4.6.0-preview4.19164.7 (parent: Microsoft.NETCore.App)
- System.Security.Cryptography.Xml - 4.6.0-preview4.19164.7 (parent: Microsoft.NETCore.App)
- System.Security.Permissions - 4.6.0-preview4.19164.7 (parent: Microsoft.NETCore.App)
- System.Security.Principal.Windows - 4.6.0-preview4.19164.7 (parent: Microsoft.NETCore.App)
- System.ServiceProcess.ServiceController - 4.6.0-preview4.19164.7 (parent: Microsoft.NETCore.App)
- System.Text.Encodings.Web - 4.6.0-preview4.19164.7 (parent: Microsoft.NETCore.App)
- System.Threading.Channels - 4.6.0-preview4.19164.7 (parent: Microsoft.NETCore.App)
- Microsoft.Extensions.DependencyModel - 3.0.0-preview4-27522-01 (parent: Microsoft.NETCore.App)
- Microsoft.NETCore.Platforms - 3.0.0-preview4.19164.7 (parent: Microsoft.NETCore.App)

* Update dependencies from https://github.com/aspnet/EntityFrameworkCore build 20190321.4

- Microsoft.EntityFrameworkCore.Tools - 3.0.0-preview4.19171.4
- Microsoft.EntityFrameworkCore.SqlServer - 3.0.0-preview4.19171.4
- dotnet-ef - 3.0.0-preview4.19171.4
- Microsoft.EntityFrameworkCore - 3.0.0-preview4.19171.4
- Microsoft.EntityFrameworkCore.InMemory - 3.0.0-preview4.19171.4
- Microsoft.EntityFrameworkCore.Relational - 3.0.0-preview4.19171.4
- Microsoft.EntityFrameworkCore.Sqlite - 3.0.0-preview4.19171.4

* Update dependencies from https://github.com/aspnet/Extensions build 20190321.4

- Mono.WebAssembly.Interop - 3.0.0-preview4.19171.4
- Microsoft.JSInterop - 3.0.0-preview4.19171.4
- Microsoft.Internal.Extensions.Refs - 3.0.0-preview4.19171.4
- Microsoft.Extensions.Diagnostics.HealthChecks.Abstractions - 3.0.0-preview4.19171.4
- Microsoft.Extensions.Diagnostics.HealthChecks - 3.0.0-preview4.19171.4
- Microsoft.Extensions.DiagnosticAdapter - 3.0.0-preview4.19171.4
- Microsoft.Extensions.DependencyInjection.Abstractions - 3.0.0-preview4.19171.4
- Microsoft.Extensions.DependencyInjection - 3.0.0-preview4.19171.4
- Microsoft.Extensions.Configuration.Xml - 3.0.0-preview4.19171.4
- Microsoft.Extensions.Configuration.UserSecrets - 3.0.0-preview4.19171.4
- Microsoft.Extensions.Configuration.KeyPerFile - 3.0.0-preview4.19171.4
- Microsoft.Extensions.Configuration.Json - 3.0.0-preview4.19171.4
- Microsoft.Extensions.Configuration.Ini - 3.0.0-preview4.19171.4
- Microsoft.Extensions.Configuration.FileExtensions - 3.0.0-preview4.19171.4
- Microsoft.Extensions.Configuration.EnvironmentVariables - 3.0.0-preview4.19171.4
- Microsoft.Extensions.FileProviders.Abstractions - 3.0.0-preview4.19171.4
- Microsoft.Extensions.Configuration.CommandLine - 3.0.0-preview4.19171.4
- Microsoft.Extensions.Configuration.AzureKeyVault - 3.0.0-preview4.19171.4
- Microsoft.Extensions.Configuration.Abstractions - 3.0.0-preview4.19171.4
- Microsoft.Extensions.Configuration - 3.0.0-preview4.19171.4
- Microsoft.Extensions.CommandLineUtils.Sources - 3.0.0-preview4.19171.4
- Microsoft.Extensions.Caching.StackExchangeRedis - 3.0.0-preview4.19171.4
- Microsoft.Extensions.Caching.SqlServer - 3.0.0-preview4.19171.4
- Microsoft.Extensions.Caching.Memory - 3.0.0-preview4.19171.4
- Microsoft.Extensions.Caching.Abstractions - 3.0.0-preview4.19171.4
- Microsoft.Extensions.ActivatorUtilities.Sources - 3.0.0-preview4.19171.4
- Microsoft.AspNetCore.Testing - 3.0.0-preview4.19171.4
- Microsoft.AspNetCore.BenchmarkRunner.Sources - 3.0.0-preview4.19171.4
- Microsoft.AspNetCore.Analyzer.Testing - 3.0.0-preview4.19171.4
- Internal.AspNetCore.Analyzers - 3.0.0-preview4.19171.4
- Microsoft.Extensions.Configuration.Binder - 3.0.0-preview4.19171.4
- Microsoft.Extensions.FileProviders.Composite - 3.0.0-preview4.19171.4
- Microsoft.Extensions.FileProviders.Embedded - 3.0.0-preview4.19171.4
- Microsoft.Extensions.FileProviders.Physical - 3.0.0-preview4.19171.4
- Microsoft.Extensions.WebEncoders - 3.0.0-preview4.19171.4
- Microsoft.Extensions.ValueStopwatch.Sources - 3.0.0-preview4.19171.4
- Microsoft.Extensions.TypeNameHelper.Sources - 3.0.0-preview4.19171.4
- Microsoft.Extensions.Primitives - 3.0.0-preview4.19171.4
- Microsoft.Extensions.ParameterDefaultValue.Sources - 3.0.0-preview4.19171.4
- Microsoft.Extensions.Options.DataAnnotations - 3.0.0-preview4.19171.4
- Microsoft.Extensions.Options.ConfigurationExtensions - 3.0.0-preview4.19171.4
- Microsoft.Extensions.Options - 3.0.0-preview4.19171.4
- Microsoft.Extensions.ObjectPool - 3.0.0-preview4.19171.4
- Microsoft.Extensions.Logging.TraceSource - 3.0.0-preview4.19171.4
- Microsoft.Extensions.Logging.Testing - 3.0.0-preview4.19171.4
- Microsoft.Extensions.Logging.EventSource - 3.0.0-preview4.19171.4
- Microsoft.Extensions.Logging.Debug - 3.0.0-preview4.19171.4
- Microsoft.Extensions.Logging.Console - 3.0.0-preview4.19171.4
- Microsoft.Extensions.Logging.Configuration - 3.0.0-preview4.19171.4
- Microsoft.Extensions.FileSystemGlobbing - 3.0.0-preview4.19171.4
- Microsoft.Extensions.HashCodeCombiner.Sources - 3.0.0-preview4.19171.4
- Microsoft.Extensions.HostFactoryResolver.Sources - 3.0.0-preview4.19171.4
- Microsoft.Extensions.Hosting - 3.0.0-preview4.19171.4
- Microsoft.Extensions.Hosting.Abstractions - 3.0.0-preview4.19171.4
- Microsoft.Extensions.Http - 3.0.0-preview4.19171.4
- Microsoft.Extensions.Localization - 3.0.0-preview4.19171.4
- Microsoft.Extensions.Localization.Abstractions - 3.0.0-preview4.19171.4
- Microsoft.Extensions.Logging - 3.0.0-preview4.19171.4
- Microsoft.Extensions.Logging.Abstractions - 3.0.0-preview4.19171.4
- Microsoft.Extensions.Logging.AzureAppServices - 3.0.0-preview4.19171.4

* Grab latest from other aspnet repos
- brings everything into coherence
- aspnet/Extensions packages with version 3.0.0-preview4.19172.1 from build 20190322.1
- aspnet/AspNetCore-Tooling packages with version 3.0.0-preview4.19172.2 from build 20190322.2
- aspnet/EntityFrameworkCore packages with version 3.0.0-preview4.19172.3 from build 20190322.3
2019-03-22 17:33:20 -07:00
Javier Calvarro Nelson 9f1a978230
[Infrastructure improvements] (#8275)
* Improved selenium start and tear down
  * Selenium is set up and torn down in an assembly fixture.
  * Selenium is initialized lazily and in a non-blocking way.
  * Selenium processes are tracked as part of the build and their pids
    written to a file on disk for cleanup in the event of unexpected
    termination of the test process.
  * Browser fixture retries with linear backoff to create a remote
    driver. Under heavy load (like when we are doing a simultaneous NPM
    restore) the selenium server can become unresponsive so we retry
    three times, with a longer comand timeout allowance each time up to
    a max of 3 minutes.
* Moved test project setup to build time instead of runtime.
  * Added target PrepareForTest to create the required files for testing
    * The template creation folder.
    * The template props file to use our built packages.
    * The folder for the custom hive.
  * Added assembly metadata attributes to find all the data we need to
    run the tests.
    * Path to the artifacts shipping packages folder.
    * Path to the artifacts non-shipping packages folder.
    * Path to the test templates creation folder.
    * Path to use for the custom templating hive used in tests.
  * Proper cleanup as part of the build
    * Remove the test templates creation folder.
    * Remove the test packages restore path.
    * Recreate the test templates creation folder.
    * Recreate the test packages restore path.
  * Generated Directory.Build.Props and Directory.Build.Targets in the
    test templates creation folder.
  * Cleaned up potentially stale templatetestsprops.
* Improved test flows
  * Initialization is done lazily and asynchronously.
    * Selenium
    * Browser fixture
    * Template initialization.
  * Flattened test flows to avoid assertions inside deep callstacks.
    * All assertions happen at the test level with improved error messages.
      * With the exception of the migrations assertions.
    * Assertions contain information about which step failed, for what
      project and what failure details.
  * Broke down tests to perform individual steps instead of mixing build
    and publish.
    * Publish project.
    * Build project. (Debug)
    * Run built project.
    * Run published project.
  * Concentrated build logic into the Project class.
    * Context between the different steps of a test is maintained in
      this class.
    * All operations that require coordination are performed within this
      class.
      * There is a lock for dotnet and a lock for nodejs. When building
        SPAs we acquire the nodejs lock to correctly prevent multiple
        runs of nodejs in parallel.

[ApiAuthorization template cleanups]
  * Fix preview3 issues with breaking changes on Entity framework by
    manually configuring the model in ApiAuthorizationDbContext.
  * Add app.db to the project file when using local db.
  * Fix linting errors on angular template.
  * Fix react tests
  * Add tests to cover new auth options in the SPA templates.
2019-03-20 08:44:20 +01:00
Doug Bunting bcead68f0c React to EntityFrameworkCore and AspNetCore-Tooling breaking changes
- avoid `[Obsolete]` EF Core method
- mirror recent `RazorIntegrationTestBase` changes in this repo
2019-03-18 19:36:09 -07:00
Ryan Nowak 30d0afca05 Remove DisplayName overload from health checks
The builder now provides this directly.
2019-03-13 20:12:53 -07:00
Ryan Nowak e78a6521b9 Make naming of IEndpointRouteBuilderConsistent across usages. 2019-03-13 20:12:53 -07:00
Ryan Nowak d329cca17d Change APIs to internal in Diagnostics
These types are still used, but we don't want them to be public.
2019-03-13 13:15:06 -07:00
James Newton-King 21b20afb1d
Add friendly error message for when healthchecks services not registered (#8146) 2019-03-12 11:32:58 -07:00
Chris Baudin 77948feeba Update reference assemblies for health checks. 2019-03-11 20:56:08 -07:00
Chris Baudin 484978fe59 Update the health check endpoint route builder extensions to make the endpoint display name configurable. (#8359) 2019-03-11 20:56:08 -07:00
Pranav K 41e6fc8ab0 Use ApplicationPartFactory when adding application parts
Fixes https://github.com/aspnet/AspNetCore/issues/8288
2019-03-07 13:38:31 -08:00
Chris Ross 6db129a588
Support conditional compression #6925 (#8239) 2019-03-07 11:09:48 -08:00
Andrew Stanton-Nurse 7fb3d57f54
Skip some more flaky tests (#8194) 2019-03-07 09:40:26 -08:00
Ryan Nowak 8a46e8cd93 Update SpaDefaultPageMiddleware for endpoints
This change makes the SpaDefaultPageMiddleware noop when an endpoint has
been chosen. This is a problem today because this usually runs after
routing, but its always terminal.

So even if endpoint routing selected something, this would still serve
the default file. We're adding more things that fill this niche, but it
seems like a good idea to fix the existing stuff.
2019-03-06 09:48:07 -08:00
Ryan Nowak 089f64c528 Add fallback routing to file
This is a new routing feature that integrates static files to serve a
static file when routing doesn't match anything else.

This is a scenario that's covered by SPA services today, but given the
improvements to routing it makes much more sense to move lower in the
stack.
2019-03-06 09:48:07 -08:00
Ryan Nowak 7e63e2da43 Make StaticFiles Noop for middleware
Teaches all of the static files middleware (incl default files,
directory browser) to noop when an endpoint is selected. This is
desirable so you can place them after routing if you want with no ill
effect.
2019-03-06 09:48:07 -08:00
Chris Ross def25cb3de
Document the change policy for FileExtensionContentTypeProvider #2454 (#8213) 2019-03-05 13:50:48 -08:00
BrennanConroy 58ad7b7550
Fix build flakiness (#8211) 2019-03-05 12:59:21 -08:00
Ryan Brandenburg 414d8a514f
Add missing doc comments (#8035) 2019-03-05 10:01:20 -08:00
Chris Ross 93b195e566
Change SameSite default to None #2675 #4661 (#8043) 2019-03-01 16:22:12 -08:00
Hao Kung 3b16c69786 Skip NodeServices tests on helix (#8045)
NodeJs not installed on helix boxes by default currently

https://github.com/aspnet/AspNetCore/issues/8044 tracking this skip
2019-03-01 09:37:43 -08:00
Steve Sanderson 18c1b994df
Basic integration tests for NodeServices (#8029) 2019-02-28 17:58:57 +00:00
Nate McMaster e02e047dcb
Merge branch 'master' into merge/release/3.0-preview3-to-master 2019-02-24 09:31:17 -08:00
Nate McMaster 1b27c9905c
Update dependencies and react to changes (#7844)
* Add workaround for dotnet/sdk#2976
* Add new restore sources
* Update BAR manifest to point to  https://dotnetfeed.blob.core.windows.net/aspnet-aspnetcore/index.json
* Obsolete WithCulture
* Add retries to dockerbuild.sh
* Ensure each test run gets a unique in-memory database
2019-02-22 19:09:08 -08:00
Nate McMaster f0ef784783 Run yarn import to convert package-lock.json to yarn.lock 2019-02-22 13:30:19 -08:00
Nate McMaster 5be7d30231 Replace npm commands with yarn 2019-02-22 13:30:19 -08:00
Pavel Krymets 9355c7c1a5
Add reference assemblies support (#7764) 2019-02-21 14:33:35 -08:00
Pranav K 51e2bea403
Throw if CORS policy is configured to allow credentials and any origin (#7751)
* Throw if CORS policy is configured to allow credentials and any origin

Fixes https://github.com/aspnet/AspNetCore/issues/3106
2019-02-21 09:06:00 -08:00
Pranav K 5418698f39 Disable CORS functional tests from running in parallel
Fixes https://github.com/aspnet/AspNetCore-Internal/issues/1845
2019-02-21 06:20:11 -08:00
Nate McMaster 9a2db43848
Follow-up to VS2019 conversion (#7753)
* Set VS version in file to 16.0.0.0
* Fix for restore failure on Microsoft.AspNetCore.App.Runtime.csproj
2019-02-20 11:02:38 -08:00
Nate McMaster 85ae18c723
Make Visual Studio 2019 a prerequisite to building this repo (#7005)
Changes:

* Make Visual Studio 2019 a prerequisite for building this repo
* Update .sln files
* Update Windows SDK to 17134
* Update developer docs
* Disable ANCM tests
* Update to .NET Core SDK 3.0 Preview 2
* Use Microsoft.NET.Sdk.Razor as a package consistently accross the repo
* React to changes in metadata from Microsoft.NETCore.App
* React to changes in .NET Core SDK
* Attempt to workaround CodeCheck.ps1 failure which doesn't repro locally or on different agents. Possibly due to differences in the version of the PowerShell task?
* Remove dead YML file
* Rename usages of win7-{x64,x86} to win-{x64,x86}
* Update KoreBuild to 3.0.0-build-20190219.1
2019-02-20 09:53:53 -08:00
Chris Ross 4e44025a52
Replace IHostingEnvironment with IWebHostEnvironment (#7725) 2019-02-19 21:11:52 -08:00
Doug Bunting 3e0c75187c
Place limits on model binding collection size and recursion depth (#7214)
- #7052
- add MvcOptions.MaxModelBindingCollectionSize` and `MvcOptions.MaxModelBindingRecursionDepth`

nits:
- update syntax of a few `Resources.Designer.cs` files (I ran `/t:resx` on Mvc.sln)
- take VS suggestions in a few test classes
2019-02-19 15:17:56 -08:00
Nate McMaster 338de4710a
Automatically set 'PrivateAssets=All' for .Sources references (#7539)
When a `<Reference>` is named `*.Sources`, set PrivateAssets=All (exclude from generated nuspec) and IncludeAssets=ContentFiles (only consume content files, not .dll's)
2019-02-13 14:31:15 -08:00
Nate McMaster 3fd8a97af2
Add targets to generate the list of shared framework assemblies from project property (#7510)
Changes:
* Add support for a property, `IsAspNetCoreApp`, in the .csproj file of assemblies which are part of the shared framework. 
* Remove unused dependencies
* Remove reference which have become part of 'netcoreapp3.0'
2019-02-12 23:00:19 -08:00
Ryan Nowak c5d8f8c34e Update CORS package.json and friends
This is what NPM wants to do - why argue?
2019-02-11 16:19:27 -08:00
Javier Calvarro Nelson dbf746d210
[Antiforgery][Components][CORS] Remove obsolete APIs (#7459)
#7325
#7319
#7324
2019-02-11 10:38:31 -08:00
Justin Kotalik 35b99e44ce
Expose HttpResponse PipeWriter in Kestrel (#7110) 2019-02-08 17:24:26 -08:00
Hao Kung c9499e14e4
Run helix tests on master (#6728) 2019-02-07 09:20:08 -08:00
Ryan Brandenburg 28b56587b1
Handle PermanentRedirects in PrerenderTagHelpers (#7179)
Handle PermanentRedirects in PrerenderTagHelpers
2019-02-05 09:22:40 -08:00
Pranav K 00d58e84a2
Merge remote-tracking branch 'origin/release/2.2' 2019-02-01 13:41:59 -08:00
Pranav K c1a756c575 Skip test on OSX until this can be further diagnosed 2019-02-01 13:34:39 -08:00
Gérald Barré f1b24ccb92 Replace unsafe code with string.Create for hex generation (#6784) 2019-02-01 10:06:20 -08:00
Pranav K 51ec523d9e Attempt to install chromium as part of restore instead of running the CORS tests
One more go at https://github.com/aspnet/AspNetCore-Internal/issues/1619
2019-01-31 16:32:35 -08:00
BrennanConroy 25869c4690
Remove Obsolete WebSocketMiddleware constructor (#7163) 2019-01-31 16:11:50 -08:00
Nate McMaster 6081fec894
Add new build.cmd/sh options for suppressing restore, NodeJS, setting target arch and OS name, and more (#7137)
Add new command line parameters for working with the project:

* `-NoBuild`, `-NoRestore` - these already existed, but users found it hard to discover this powershell syntax: '-build:$false'
* `-Arch`/`--arch` - set the target CPU architecture to build. Defaults to x64
* `--os-name` - on non-Windows builds, manually specify if the build should target Alpine. generic Linux, or MacOS
* Rename flags used to build specific project types. The pattern now is `--build-$(group)` or `--no-build-$(group)` (In PowerShell its `-Build$(Group)` or `-NoBuild$(Group). Example: -NoBuildJava

Changes to build definitions:
* Update the ci build definition to build all supported architectures
* Support publishing multiple artifacts per job

Other changes:
* `-NoBuild` implies `-NoRestore`
* Add new properties, `TargetArchitecture`, `TargetOsName`, and `TargetRuntimeIdentifier`
* Replace usages of `SharedFxRid` with these new properties
* To make `--no-build-nodejs` actually work, replaced Components.Browser.JS.csproj with Components.Browser.JS.npmproj
* Fix errors when building for win-arm on a clean machine
* Fix a few other project errors, like using the wrong syntax for DefaultItemExcludes, or using the wrong Platform value for x86
2019-01-31 15:47:47 -08:00
Javier Calvarro Nelson 10156c496c
Merge branch 'master' into merge/release/2.2-to-master 2019-01-30 03:17:02 -08:00
Pranav K 93214b465c Move Cors Functional tests to a separate test group
Attemp #2 at addressing https://github.com/aspnet/AspNetCore-Internal/issues/1619

Puppetteer will attempt to download chromium as part of running the test. This seems odd, but
it might explain why this might be afflicted with the file descriptor contention issues that
the mondo repo tests encounter.

Moving these out in to a separate test group to see if this helps

Possible fix for https://github.com/aspnet/AspNetCore-Internal/issues/1619
2019-01-29 15:18:39 -08:00
Pavel Krymets 602a140a7a Merge branch 'release/2.2' 2019-01-28 21:51:18 -08:00
Pranav K 29898df8a8
Attempt to run Cors functional tests with watchman disabled. (#7076)
According to https://github.com/facebook/jest/issues/2219, jest will
not run tests if watchman is installed. It is not entirely clear if
this is the case in our OSX CI environment, but the symptoms seem close
to what's reported in the issue.

Possible fix for https://github.com/aspnet/AspNetCore-Internal/issues/1619
2019-01-28 16:44:56 -08:00
Pavel Krymets f06e1822f5
Enable strict mode in roslyn compiler (#6950) 2019-01-28 15:56:27 -08:00
Chris Ross 7d4b6fccff
Clean up ManualResetEvent usage in tests (#6961) 2019-01-28 12:10:16 -08:00
Nate McMaster ac04019e42
Remove obsolete build infrastructure (#6995)
Changes:

* Remove obsolete targets which are unnecessary now that this repo no longer builds git submodules in a separate build process
* Remove the need for static analysis of 'ArtifactInfo' items
* Simplify how the code signing task is configured
* Remove unused repo tasks
* Remove duplicate lists of external dependencies and packages to be produced
* Remove obsolete build definition
* Remove obsolete build script parameters
* Add VisualStudioSetupOutputPath
2019-01-28 09:57:59 -08:00
Nate McMaster 33bc4576da
Convert ProjectTemplates to build using ProjectReferences (#6935) 2019-01-23 15:54:47 -08:00
Artak a923c725a1 Fixed https://github.com/aspnet/AspNetCore/issues/5206: Fixing a minor html syntax error 2019-01-23 15:10:36 -08:00
Nate McMaster 922512a9fb
Convert the artifacts folder layout to match Arcade (#6850)
Changes:
* IsProductPackage => IsShippingPackage
* artifacts/$config/packages => artifacts/packages/$config
* packages/product => packages/Shipping
* packages/internal => packages/NonShipping
* Renamed MSBuild properties used for output folders
* Update build tools to use 2 spaces in global.json
2019-01-18 13:38:24 -08:00
Nate McMaster 090c53ce71
Update dependencies with darc (#6714) 2019-01-17 13:30:58 -08:00
Chris Ross 1f892d798d
Add AllowSynchronousIO to TestServer and IIS, fix tests (#6404) 2019-01-15 11:48:17 -08:00
James Newton-King 09b50850bc
Update AuthorizeFilter to no-op when AuthorizationMiddleware has run (#6346) 2019-01-15 20:29:23 +13:00
Travis Illig f072523780 Minor argument check fixes
Fixed `nameof()` reference to be consistent with arg being checked. Added null check for port to be consistent with earlier overload.
2019-01-14 15:00:20 -08:00
Nate McMaster 089912cd1b
Switch queues used during Windows builds (#6667) 2019-01-14 10:07:12 -08:00
David Fowler c528892560
Use the WebSocket factory method instead of WebSocketProtocol (#6646)
- WebSocketProtocol.CreateFromStream makes the netstandard ManagedWebSocket which uses the inefficient versions of Stream overloads.
- Updated the samples to use the new Memory<byte> overloads
2019-01-13 11:05:04 -08:00
Nate McMaster a9132ad26c
Switch agent queues used during Windows builds 2019-01-11 15:16:57 -08:00
Nate McMaster 3cd5054eb5
Merge branch 'release/2.2' 2019-01-11 07:20:00 -08:00
Nate McMaster 22f3166fa6
Merge branch 'release/2.1' into release/2.2 2019-01-10 01:22:10 -08:00
Nate McMaster 0f65d44482
Merge branch 'release/2.2' 2019-01-09 18:09:25 -08:00
Nate McMaster a3f9b74bb9
Merge branch 'release/2.1' into release/2.2 2019-01-09 14:52:53 -08:00
Justin Kotalik 5541a7a026
Implement PipeBody Features and add to HttpContext (#6394) 2019-01-08 21:31:50 -08:00
Kahbazi 3c9cb4f3b5 Add event name in Middlewares (#6467) 2019-01-09 17:26:58 +13:00
James Newton-King dd39bd289a
Add event name in static files (#6456) 2019-01-09 13:19:25 +13:00
Bart Wolff 6a98c68628 Code cleanup response caching middleware (#6124)
* minor code cleanups

* comment public interface

* simplified some things using language features
2019-01-08 14:49:38 -08:00
David Fowler d116ab8550
Remove ObjectPoolProvider from default set of hosting services (#6437)
- Added it where it was being used
- Updated tests
2019-01-08 12:05:48 -08:00
Nate McMaster 5d16f97965
Remove netcoreapp2.0 test TFMs (#6461)
.NET Core 2.0 reached EOL last year. This removes multi-targeting our test projects and test assets to only use .NET Core 2.1 and .NET Framework 4.6.1.
2019-01-08 11:20:09 -08:00
James Newton-King 98cce23c67
Add routing information to DeveloperExceptionPage (#6320) 2019-01-05 09:28:24 +13:00
James Newton-King 51047ef9d6
Update solutions to use correct IIS project location (#6344) 2019-01-04 15:28:59 +13:00
dotnet-bot 7d8eb101a8 Merge in 'release/2.2' changes 2019-01-02 16:46:58 +00:00
Justin Kotalik d53686868c
Merge branch 'release/2.1' into release/2.2 2018-12-31 14:45:29 -08:00
Justin Kotalik e8d898dcd9 Merge branch 'release/2.2' 2018-12-26 14:21:28 -08:00
dotnet-bot 0bf06d8cf2 Merge in 'release/2.2' changes 2018-12-21 22:15:53 +00:00
Nate McMaster f4bb260444
Merge branch release/2.1 into release/2.2 2018-12-21 13:24:33 -08:00
Justin Kotalik ce481c6c79
Make JavaScriptServices use ProjectReference (#5953) 2018-12-20 23:50:53 -08:00
James Newton-King 5ab3c89be3
Add health checks routing extensions (#5127) 2018-12-21 11:18:44 +13:00
noslaver 5475c6c6a3 removed IPEndPointParser (#6051) 2018-12-20 11:34:19 -08:00
Nate McMaster 335c9be7b4
Update the artifacts directory organization and simplify publishing targets (#5701)
This simplifies the way that we publish files to our network drop share.

Changes:
* Instead of explicitly listing every file that needs to publish, use directories to classify packages and artifacts into different categories.
* Add documentation for the expected layout of artifacts/
* Remove the need for static analysis to determine which packages go to which project
* Add the MSBuild property "IsProductPackage" to .csproj files which ship as a package to NuGet.org.
2018-12-18 11:40:13 -08:00
James Newton-King cc899e2be7
Move EndpointModel and IEndpointConventionBuilder to HTTP abstractions (#4274) 2018-12-17 18:38:49 +13:00
Nate McMaster 02780bac26
Merge branch 'release/2.2' 2018-12-14 16:03:16 -08:00
dotnet-bot 8b682dfe85 Merge in 'release/2.2' changes 2018-12-14 19:01:05 +00:00
James Newton-King 6dc28d8a4e
Update CORS middleware to use endpoint metadata (#4460) 2018-12-15 07:51:22 +13:00
Nate McMaster feb641ddda
Merge branch 'release/2.1' into release/2.2 2018-12-14 09:44:15 -08:00
Nate McMaster 13ae0057fb
Replace .Sources package references with local code (#4801)
Replaces package references the following packages with local code:

Microsoft.AspNetCore.Certificates.Generation.Sources
Microsoft.Extensions.CopyOnWriteDictionary.Sources 
Microsoft.Extensions.ClosedGenericMatcher.Sources
Microsoft.Extensions.ObjectMethodExecutor.Sources
Microsoft.Extensions.PropertyActivator.Sources
Microsoft.Extensions.PropertyHelper.Sources
Microsoft.Extensions.RazorViews.Sources
Microsoft.Extensions.SecurityHelper.Sources
Microsoft.Extensions.StackTrace.Sources
Microsoft.Extensions.WebEncoders.Sources
2018-12-14 08:36:36 -08:00
dotnet-bot 3b0d1253e1 Merge in 'release/2.2' changes 2018-12-14 08:57:43 +00:00
Nate McMaster f0990ec531
Fix build issues with IIS integration projects
Changes:
* Ensure IIS managed and pkg projects build after the native projects
* Update projects to build test
* Update CI checks to build on macOS and Linux
* Use package baselines to manage ANCM packages
2018-12-13 22:53:31 -08:00
Nate McMaster 4998ad8622
Merge branch 'merge/release/2.1-to-release/2.2' into release/2.2 (#4619) 2018-12-13 22:24:21 -08:00
Justin Kotalik 6adfa32402
Merge branch 'release/2.1' into release/2.2 2018-12-13 22:12:19 -08:00
Ajay Bhargav Baaskaran 59ada30959 Merge branch 'ajbaaska/merge-22-to-master' 2018-12-13 17:34:41 -08:00
Mikael Mengistu 42afc62acf
Update src/Middleware/CORS/test/FunctionalTests/CorsMiddlewareFunctionalTest.cs
Co-Authored-By: ajaybhargavb <ajaybhargavb@gmail.com>
2018-12-13 16:51:00 -08:00
Nate McMaster 538af1091c
Update src/Middleware/CORS/test/FunctionalTests/CorsMiddlewareFunctionalTest.cs
Co-Authored-By: ajaybhargavb <ajaybhargavb@gmail.com>
2018-12-13 16:39:37 -08:00
Nate McMaster 6e3e48d456
Update src/Middleware/CORS/test/FunctionalTests/CorsMiddlewareFunctionalTest.cs
Co-Authored-By: ajaybhargavb <ajaybhargavb@gmail.com>
2018-12-13 16:39:27 -08:00
Cédric Luthi 4a9a96cef7 Make the ResultStatusCodes property null-resettable 2018-12-13 14:09:21 -08:00
Cédric Luthi 74d900ea56 Add setter to HealthCheckOptions.ResultStatusCodes
All other properties (`Predicate`, `ResponseWriter` and `AllowCachingResponses`) have a setter but `ResultStatusCodes` doesn't.

Without a setter, reusing the same status to http status code mapping is impossible and leads to duplicate code that looks like this:

```csharp
private static void ConfigureHealthChecks(IApplicationBuilder app, HealthCheckServiceOptions options)
{
    app.UseHealthChecks("/health", new HealthCheckOptions
    {
        ResultStatusCodes =
        {
            [HealthStatus.Healthy] = StatusCodes.Status200OK,
            [HealthStatus.Degraded] = StatusCodes.Status400BadRequest,
            [HealthStatus.Unhealthy] = StatusCodes.Status503ServiceUnavailable
        }
    });
    foreach (var name in options.Registrations.Select(e => e.Name))
    {
        app.UseHealthChecks($"/health/{name}", new HealthCheckOptions
        {
            Predicate = registration => registration.Name == name,
            ResultStatusCodes =
            {
                [HealthStatus.Healthy] = StatusCodes.Status200OK,
                [HealthStatus.Degraded] = StatusCodes.Status400BadRequest,
                [HealthStatus.Unhealthy] = StatusCodes.Status503ServiceUnavailable
            }
        });
    }
}
```

With a setter, this code could be rewritten in a *don't repeat yourself* (DRY) way:

```csharp
private static void ConfigureHealthChecks(IApplicationBuilder app, HealthCheckServiceOptions options)
{
    var resultStatusCodes = new Dictionary<HealthStatus, int>
    {
        [HealthStatus.Healthy] = StatusCodes.Status200OK,
        [HealthStatus.Degraded] = StatusCodes.Status400BadRequest,
        [HealthStatus.Unhealthy] = StatusCodes.Status503ServiceUnavailable
    };
    app.UseHealthChecks("/health", new HealthCheckOptions
    {
        ResultStatusCodes = resultStatusCodes
    });
    foreach (var name in options.Registrations.Select(e => e.Name))
    {
        app.UseHealthChecks($"/health/{name}", new HealthCheckOptions
        {
            Predicate = registration => registration.Name == name,
            ResultStatusCodes = resultStatusCodes
        });
    }
}
```
2018-12-13 14:09:21 -08:00
Ajay Bhargav Baaskaran 0ecc6bc0b5 Merge branch 'release/2.2' into ajbaaska/merge-22-to-master 2018-12-13 12:06:48 -08:00
John Luo 6d2f2483d2
Remove obsolete session apis (#4609)
* Remove obsolete session apis

* Add breaking changes json updates
2018-12-12 17:35:40 -08:00
dotnet-bot f1bfecfa03 Merge in 'release/2.2' changes 2018-12-12 22:37:18 +00:00
Mikael Mengistu 9e76bec6e1
Fix CORS Functional Tests (#4610) 2018-12-12 14:36:14 -08:00
Chris Ross a08f4b5a83
ResponseCompression DisposeAsync BasicMiddleware/#247 (#4604) 2018-12-12 11:32:36 -08:00
Nate McMaster 87629bbad9
Update Middleware.sln and Kestrel.sln to workaround NU1105 error 2018-12-11 18:19:36 -08:00
Nate McMaster d12827e609
Merge branch 'release/2.2' 2018-12-11 18:04:58 -08:00
dotnet-bot d11a6c823f Merge in 'release/2.2' changes 2018-12-12 00:14:21 +00:00
dotnet-maestro-bot 38785d0be9 [automated] Merge branch 'release/2.1' => 'release/2.2' (#4577)
* Workaround problems when opening solution files in Visual Studio (#4569)

Changes:

* Condense Routing.sln into HttpAbstractions.sln
* Workaround NU1105 by adding all ProjectReferences to the .sln
* Workaround exceptions in the ReferencesHostBridge by moving Reference items to a temporary item group
* Add a 'startvs.cmd' script for launching VS with the right env variables
* Remove RangeHelper test project
* Move RangeHelper tests into StaticFiles.Tests and add target for NPM restore

* Convert Session to use Reference and move to Middleware folder (#4576)

* Add RoutingSample.Web to HttpAbstractions.sln
2018-12-11 16:13:20 -08:00
Chris Ross 97cdbfb1a1
Change middleware projects to target netcoreapp3.0 #3754 (#4472) 2018-12-11 15:41:36 -08:00
John Luo 3acdfb3d26
Convert Session to use Reference and move to Middleware folder (#4576) 2018-12-11 14:56:42 -08:00
Nate McMaster 5151e7b1ed
Workaround problems when opening solution files in Visual Studio (#4569)
Changes:

* Condense Routing.sln into HttpAbstractions.sln
* Workaround NU1105 by adding all ProjectReferences to the .sln
* Workaround exceptions in the ReferencesHostBridge by moving Reference items to a temporary item group
* Add a 'startvs.cmd' script for launching VS with the right env variables
* Remove RangeHelper test project
* Move RangeHelper tests into StaticFiles.Tests and add target for NPM restore
2018-12-11 14:05:21 -08:00
Nate McMaster 790ae47055
Merge branch 'release/2.2' 2018-12-10 17:41:14 -08:00
dotnet-bot 985d49c566 Merge in 'release/2.2' changes 2018-12-11 00:44:52 +00:00
Nate McMaster 2c4d586809
Merge 'release/2.1' into release/2.2
Co-authored-by: Justin Kotalik <jukotali@microsoft.com>
2018-12-10 15:56:42 -08:00
Adrian D. Alvarez 838bb11c1e Adjust font-weight in diagnostics error page to make it easier to read (#4534) 2018-12-10 08:35:37 -08:00
Mikael Mengistu 4c5debd6ea
Skip Autobahn test (#4488) 2018-12-07 15:44:59 -08:00
Justin Kotalik 5f843f223e
[2.1] Make Antiforgery, ResponseCaching, StaticFiles, and Cors use project ref (#4484) 2018-12-07 14:30:50 -08:00
Nate McMaster 7fad55f6b6
Revert "Update basic middleware projects to netcoreapp3.0"
This partially reverts commit e0bbda07fc.
2018-12-05 16:08:54 -08:00
Nate McMaster 3e571eb519
Temporarily revert Microsoft.AspNetCore.HttpOverrides to netstandard2.0 (#4446)
We're running into issues getting IIS tests on netcoreapp3.0. This unblocks the build and gives us more time to work on #4371
2018-12-05 16:01:14 -08:00
Nate McMaster e0bbda07fc
Update basic middleware projects to netcoreapp3.0 2018-12-05 10:06:29 -08:00
Nate McMaster 82184e9710
Merge the master branch of aspnet/Localization 2018-12-05 08:56:31 -08:00
Nate McMaster 08e243f982
Merge the master branch of aspnet/BasicMiddleware 2018-12-05 08:55:51 -08:00
Nate McMaster 62f9655a2f
Merge branch 'release/2.2' 2018-12-05 08:54:38 -08:00
Nate McMaster 495e4fe4f7
Merge branch 'release/2.2' 2018-12-04 16:03:47 -08:00
Nate McMaster 11fdf9b50a
Fix bad merge of .csproj and update Middleware.sln 2018-12-04 14:59:11 -08:00
Nate McMaster e261ca5426
Merge release/2.2 from aspnet/Localization 2018-12-04 14:25:25 -08:00
Nate McMaster 7e823a05ec
Merge release/2.2 from aspnet/BasicMiddleware 2018-12-04 14:24:42 -08:00
Nate McMaster 1be2b427de
Merge branch 'release/2.1' into release/2.2 2018-12-04 14:23:24 -08:00
Nate McMaster b140962a5f
Reorganize source code in preparation to move into aspnet/AspNetCore
Prior to reorganization, this source code was found in 268290a8b5
2018-12-04 14:13:34 -08:00
Nate McMaster 44ec52ebfe
Reorganize source code in preparation to move into aspnet/AspNetCore
Prior to reorganization, this source code was found in 2d3ad1cb0f
2018-12-04 14:10:25 -08:00
Nate McMaster ec41d9bcf6
Reorganize source code in preparation to move into aspnet/AspNetCore
Prior to reorganization, this source code was found in c283dfb56c
2018-12-04 14:00:42 -08:00
Nate McMaster d8c434febe
Reorganize source code in preparation to move into aspnet/AspNetCore
Prior to reorganization, this source code was found in de1579bdda
2018-12-04 13:57:22 -08:00
Nate McMaster 61e9b3eae9
Merge Identity, Localization and BasicMiddleware 2018-12-04 09:02:03 -08:00
Javier Calvarro Nelson f6b4d65218
[Diagnostics] Fix Diagnostics middleware errors (#4271)
Removes setting two forbidden headers.
2018-12-04 01:18:31 +01:00
dotnet-bot 342d55bef6 Merge in 'release/2.2' changes 2018-12-03 20:13:50 +00:00
Chris R d73e3b20b8 Merge remote-tracking branch 'origin/release/2.1' into tratcher/testhost/2.2
# Conflicts:
#	eng/targets/Packaging.targets
#	src/Hosting/TestHost/test/ClientHandlerTests.cs
#	src/Middleware/WebSockets/test/ConformanceTests/Microsoft.AspNetCore.WebSockets.ConformanceTests.csproj
2018-12-03 09:26:57 -08:00
Chris R c0381de983 Change Middleware projects to target netcoreapp3.0 #3754 2018-12-03 09:06:00 -08:00
Mikael Mengistu d9a953dfeb
Autobahn test suite fix(#4302) 2018-11-30 16:42:23 -08:00
Nate McMaster 7078102961
Update targets and projects to build Localization projects 2018-11-30 15:13:05 -08:00
Nate McMaster 7e0f561425
Merge source code from aspnet/Localization 2018-11-30 15:11:31 -08:00
Nate McMaster d93796fdef
Reorganize source code in preparation to move into aspnet/AspNetCore
Prior to reorganization, this source code was found in 0bcac31dd7
2018-11-30 14:58:51 -08:00
Nate McMaster 04fc8ae493
Update targets and projects to build BasicMiddleware projects 2018-11-30 14:44:17 -08:00
Nate McMaster 0843320e3e
Merge source code from aspnet/BasicMiddleware 2018-11-30 14:42:07 -08:00
Nate McMaster 2f2cec4ace
Reorganize source code in preparation to move into aspnet/AspNetCore
Prior to reorganization, this source code was found in 1de636cd18
2018-11-30 14:21:50 -08:00