Commit Graph

434 Commits

Author SHA1 Message Date
Doug Bunting d546861a00
[release/5.0] Add option to `RazorPageGenerator` for `#line` preprocessor directives (#27765) (#29024)
- cherry-picked from 1a241fcfc2f8 in 'master' branch

- avoid new CS1504 errors because compiler can't find the ErrorPage.cshtml file
  - we override Arcade's `$(MicrosoftCodeAnalysisCSharpVersion)`
- use new option in GeneratePage.ps1 script
  - script also did not know `RazorSyntaxGenerator` had moved to this repo
- reflect latest `RazorSyntaxGenerator` processing
  - run GeneratePage.ps1
  - update README.md

nits:
- quote all paths in GeneratePage.ps1 script
- remove passive voice in README.md
2021-01-13 10:25:45 -08:00
Doug Bunting 415875625c
[release/5.0] Update API baseline files (#27653)
* Move all PublicAPI.Unshipped.txt files to PublicAPI.Shipped.txt
- we have now shipped this API surface

* Add eng/PublicAPI.empty.txt file
- make it easier to add new implementation projects

* Add missing public API baseline files
- #26784 part 1/2
- a few unexpected files turned up missing beyond the #26784 list…

* Reference Microsoft.CodeAnalysis.PublicApiAnalyzers more often
- #27484 part 2/2
- emit errors when API baseline files are missing
- update categorization of some projects
  - specification tests are not implementation projects
    - but _were_ project reference providers (keep that)
  - correct `$(IsTestAssetProject)` setting for Razor shims et cetera
  - correct `$(IsSampleProject)` setting for casing of some Sample directories
  - Microsoft.AspNetCore.Analyzer.Testing should be treated as test asset
- add `$(AddPublicApiAnalyzers)` property to support overrides
  - e.g. for `msbuild` task projects and tools

nit:
- remove useless `$(IsTestProject)` setting in a specification test project
- wrap some long `Condition`s

* Do not run public API analyzer in `RazorCoreCompile` target

* Remove old `$(EnableApiCheck)` settings
- property does nothing
- also remove a dangling ApiCheck comment
2020-11-12 10:28:52 -08:00
Steve Sanderson 86705673c7
XML docs for Middleware: Localization, Localization.Routing, ResponseCompression (#26889)
* XML docs for Middleware/Localization and Localization.Routing

* XML docs for Middleware/ResponseCompression
2020-10-14 14:02:24 -07:00
Doug Bunting 8399c9f3f9
!!! Correct condition controlling `public` API analysis !!! (#26797)
* !!! Correct condition controlling `public` API analysis !!!
-  #26785 demonstrated analyzers were inoperable

* Remove unused `public` API files

* Update `public` API files
- three Components files were missing `#nullable enable`
- `nullable` annotations missing or out-of-date elsewhere

* Ignore `public` API files completely during source build
- do not warn about unused files

* Update more `public` API files
2020-10-12 11:07:18 -07:00
Stephen Halter ff6d1986ac
Add docs for Session, Diagnostics.EntityFrameworkCore, MiddlewareAnalysis and HeaderPropagation (#26720) 2020-10-09 20:38:45 -07:00
John Luo 8555002772
Add an option to allow 404 responses from ExceptionHandlers (#26567) 2020-10-06 10:23:58 -07:00
John Luo 8eb9603a9c
Api docs for Diagnostics middlewares (#26525)
* Api docs for Diagnostics middlewares

* Update ExceptionHandlerFeature.cs

* Update StatusCodePagesMiddleware.cs

* Update ExceptionHandlerMiddleware.cs

* Apply suggestions from code review

Co-authored-by: Pranav K <prkrishn@hotmail.com>

Co-authored-by: Pranav K <prkrishn@hotmail.com>
2020-10-02 20:54:37 +00:00
John Luo ce2e3bc723
Api docs for HttpOverrides (#26530)
* Api docs for HttpOverrides

* Update ForwardedHeadersExtensions.cs

* Update ForwardedHeadersOptions.cs

* Feedback

* Add more details

Co-authored-by: Pranav K <prkrishn@hotmail.com>
2020-10-02 20:42:18 +00:00
John Luo acf1dc45c0
Api docs for ResponseCaching (#26531)
* Api docs for ResponseCaching

* Enable warnings for HostFiltering, HttpsPolicy and StaticFiles

* Update src/Middleware/ResponseCaching/src/ResponseCachingFeature.cs

Co-authored-by: Pranav K <prkrishn@hotmail.com>

* Add more details

Co-authored-by: Pranav K <prkrishn@hotmail.com>
2020-10-02 18:58:34 +00:00
Brennan 7c3a072dfd
API docs for WebSockets (#26470) 2020-09-30 20:10:49 -07:00
Justin Kotalik 4cb7f94fb1
Rewrite api docs (#26440) 2020-09-30 10:51:39 -07:00
James Newton-King 792df8a4c2
Add API docs to healthchecks and CORS (#26416)
* Add API docs to healthchecks and CORS

* Clean up

* Missing docs
2020-09-29 10:36:25 -07:00
Chris Ross 11b85eb7e2
Add Windows.10.Amd64.Server20H1.Open helix queue (#25627) 2020-09-10 19:36:42 -07:00
Kevin Pilch 956c24e2c8
Add PublicAPI baselines for Middleware (#25602) 2020-09-05 15:41:20 -07:00
John Luo 222dd67175
Fix Unhandled DBErrors in ComponentsWebAssembly and Spa templates (#25466)
* Add workaround for EF issue dotnet/efcore#22341
2020-09-01 07:26:33 -07:00
Chris Ross 1cf67b3faf
Fix ClearsResponseBuffer_BeforeRequestIsReexecuted #24146 (#25294) 2020-08-31 10:20:05 -07:00
John Luo 44175edd79
Update Microsoft.AspNetCore.SpaServices.Extensions.csproj
Fixup the comment to more accurately describe what occured
2020-08-29 00:34:36 -07:00
John Luo 7438f7aabe Suppress baseline reference of Microsoft.AspNetCore.SpaServices
This was removed in release/5.0
2020-08-28 12:11:13 -07:00
Pranav K 5ed38b7eeb
Remove NodeServices + SpaServices
Follow up to https://github.com/dotnet/aspnetcore/pull/24912.
Not shipping NodeServices isn't enough since it's referenced by SpaServices. This PR removes the two packages
that were announced to be removed in 5.0
2020-08-26 14:19:07 -07:00
John Luo 4c381e83d2
Throw original exception if exception handler is not found (#25062)
* Throw original exception if exception handler is not found
2020-08-20 02:45:07 -07:00
Javier Calvarro Nelson 1cd7e15fb2
[Spa] Make node Services non-shipping (#24912)
As per the announcement on https://github.com/dotnet/aspnetcore/issues/12890, avoid shipping this package in 5.0.
2020-08-19 13:27:29 -07:00
Martin Costello b22512de0e
Right-size Lists when created (#23714)
Create new instances of List<T> with an appropriate capacity for the items that will be added.
Use Array.Empty<T>() where appropriate, rather than create an empty list and then return it.
2020-08-19 09:45:52 -07:00
John Luo cfe158cbed
Convert DatabaseErrorPage to exception filter (#24588)
* Convert DatabaseErrorPage middleware to exception filter
2020-08-17 11:13:17 -07:00
Chris Ross 3b9c16ce28
Cherry pick preview8 changes into master (#24849)
* Pass RequestAborted to SendFileAsync

* Fix HttpSys tests
2020-08-12 21:30:04 +00:00
Levi Broderick bbf7c8780c
Clean up some usage of SHA1 and SHA256 in the code base (#24696)
* AntiForgery: Use SHA256 one-shot

* AuthN: Use SHA256 one-shot APIs

* MVC/Razor: Cleanup SHA256 references

* WebSockets: Use SHA1 one-shots

* dotnet-openapi: Use preferred SHA256 factory

* SignalR: Prefer RNG.Fill over RNG.GetBytes
2020-08-10 14:26:41 -07:00
Kahbazi d0a8117ac4
Use HasFlag in ForwardedheadersMiddleware (#24660) 2020-08-08 02:36:19 +00:00
John Luo 5782872f7f
Quarantine test (#24147) 2020-07-21 09:52:55 -07:00
Doug Bunting 5266918ed2
Use Roslyn to create ref/ assemblies (#23403)
* Remove all ref/ projects

* Remove GenAPI infrastructure

* Remove notion of a reference assembly project
  - remove `$(IsReferenceAssemblyProject)`, `$(ReferenceReferenceAssemblies)` and `$(ReferenceImplementationAssemblies)`
    - remove unnecessary `$(NoWarn)` settings

nits:
- remove a few misleading comments
- wrap some long lines

* Move .0 package version workaround into Versions.props
  - touch up SharedFramework.External.props

* Expose `%(LatestPackageReference.RTMVersion)` metadata
  - automate use of properties in the `@(LatestPackageReference)` item group to make this maintainable
    - add a couple of special cases at the bottom of eng/Dependencies.props
    - add one more `$(...PackageVersion)` property to avoid yet-another special case

* Enable Roslyn reference assemblies
  - exclude ref/ assembly from packages other than targeting pack
  - update Microsoft.AspNetCore.App.Ref.csproj
    - `%(IsReferenceAssembly)` and `%(ReferenceGrouping)` metadata no longer relevant
    - only ref/ assemblies are in `@(ReferencePathWithRefAssemblies)` item group

nits:
  - remove now-unnecessary workaround
    - issues with TFM transition are behind us
  - clean up Microsoft.AspNetCore.App.Runtime.csproj slightly
    - use `GeneratePathProperty="true"`
        - reorder item / property settings for meta-expansion
    - correct spelling errors and phrasing in comments

* Update documentation to reflect recent changes
  - remove CrossRepoBreakingChanges.md; was tied to old TeamCity infrastructure
    - also much less relevant given repo merges
  - adjust details and examples in ReferenceResolution.md
    - reflect repo merges, Dependencies.props changes, and current Maestro++ channels
    - add a few more details e.g. specific files where Version.Details.xml versions are used

* !fixup! Remove another irrelevant doc file

* !fixup! Address PR review suggestions
  - convert a couple of warnings to errors
  - use consistent casing for Microsoft.NETCore.App.Runtime.* packages
  - reduce `%(LatestPackageReference.Version)` metadata special cases
  - add and improve comments e.g.
    - improve comments about `$(*V0PackageVersion)` properties
    - improve placement of comments about item removal in ResolveReferences.targets
    - confirmed `$(*V0PackageVersion)` property list is complete

nits:
- fix solution example in ReferenceResolution.md
- remove item group definition for `@(LatestPackageReference)`
- remove `%(LatestPackageReference.VersionName)` metadata after use; large item group
    - similarly, remove `%(LatestPackageReference.RTMVersion)` when not needed; just complicates `Condition`s

When I squash, I must remember this fixes
- #14801
- dotnet/aspnetcore-internal#2693

* Actually use `%(LatestPackageReference.RTMVersion)` metadata
  - gather RTM package references in a new project
    - a (very) separate project to work around package conflict resolution
    - empty `Test` target works around Arcade's testing approach
  - new target in ResolveReferences.targets updates relevant assembly paths to use the RTM packages
    - done as soon as possible after `ResolvePackageAssets` determines the paths
    - done for all compilation inputs, not just ref/ assemblies
2020-07-17 13:35:17 -07:00
Ryan Brandenburg 917078ddb7
Merge pull request #21928 from Kahbazi/patch-15
Remove Obsolete constructor in RequestLocalizationMiddleware
2020-07-10 09:43:03 -07:00
Youssef Victor 32b8ad6dce
Add missing comma to xml documentation (#23634) 2020-07-09 16:02:11 -07:00
Kahbazi 906d5e3db0
Update reference assemblies 2020-07-09 12:02:44 +04:30
Kahbazi d16d426efd
Remove Obsolete constructor in RequestLocalizationMiddleware 2020-07-09 12:01:29 +04:30
Kevin Pilch 3117f43c33
Migrate to single sln file + slnf files (#23581) 2020-07-08 15:27:22 -07:00
Brennan f1dd68f1bd
[Middleware] Move to GenericHost (#23626) 2020-07-07 17:32:35 -07:00
Kahbazi 5a375a7c22
Add Extensions method for options (#23602) 2020-07-06 11:54:44 -07:00
Pranav K 9a4e6cf97c
Merge remote-tracking branch 'origin/release/5.0-preview7' 2020-07-02 11:42:14 -07:00
Ajay Bhargav B 7f4b846e9f
Made the encodings of .razor and .cshtml files in the repo consistent (#23502)
* Added UTF8 BOMs to .razor and .cshtml files

* Fixes and unquarantined BOM tests

* Update .editorconfig
2020-06-30 12:03:01 -07:00
Martin Costello acabbbc61b
Remove QueuePolicy locks (#23187)
* Use field rather than property

Operate on a field directly, rather than through a property.

* Make field readonly

Make field read-only as its value is never changed.

* Remove lock

Use Interlocked.Decrement() instead of taking a lock.

* Remove lock for increment

This removes the need for the lock in the success case at the cost of an extra  Interlocked.Decrement() call for the failed case.

* Fix typos

Change "availible" to "available".

* Add unit test for full queue

Add a unit test that validates request is not queued if the queue is already full.
2020-06-30 05:11:58 +00:00
Martin Costello c19f3d29ca
Only look-up Cache-Control once (#23329)
Only look-up the Cache-Control header once, rather than twice if non-empty.
2020-06-24 22:48:36 +00:00
Martin Costello 5155e11120
Two minor perf tweaks in CORS and Localization middleware (#23190)
* Use char instead of char[] for string.Split

Use the newer overload for string.Split() that accepts a char instead of creating a char array.

* Remove redundant bounds check

Remove redundant bounds check for count of exactly 1 as that has already been checked to be true by the previous check.
2020-06-24 07:17:33 -07:00
Stephan Troyer 7aa91ffd62
SpaProxy: Fix proxying of WebSocket protocol (#23250) 2020-06-23 16:20:00 -07:00
Doug Bunting c4c6e25a06
Add missing doc files and cleanup nits (#22931)
* nit: Remove useless `$(HasReferenceAssembly)` settings
  - set in /Directory.Build.targets
    - `true` only in `$(IsAspNetCoreApp)` projects
* nit: Remove useless `$(CompileUsingReferenceAssemblies)` settings
  - no current versioning differences between ref/ and src/ assemblies when targeting default TFM
* Add more `$(GenerateDocumentationFile)` settings
  - increases the number of generated doc files, mostly without problems
- !fixup! correct typo in `DebugProxyHost` doc comments
    - was not generating a doc file before
  - remove previous (ineffective) src/Components/Directory.Build.targets setting
  - nit: remove a duplicate `$(GenerateDocumentationFile)` setting
* nit: Remove useless `$(IsPackable)` settings
  - only analyzers and implementation projects are packable by default
    - main use case for explicit setting is projects shipping only in shared framework
  - conditional setting in src/Mvc/Directory.Build.props just subset logic in /Directory.Build.targets
* nit: Remove useless `$(IsProjectReferenceProvider)` settings
  - only implementation projects are providers by default
* nit: Remove useless `$(IsTestAssetProject)` settings
  - set in src/Mvc/test/WebSites/Directory.Build.props
* !fixup! Looks like `InProcessNewShimWebSite` must compile w/o ref/ assemblies
  - restore `$(CompileUsingReferenceAssemblies)` in this one project
2020-06-17 13:04:45 -07:00
Ken Dale 28ed208022
Add SetIsOriginAllowedToAllowWildcardSubdomains_DoesNotAllowRootDomain test (#23001)
This test makes it clear root domains are not included in CORS subdomain wildcards
2020-06-17 06:22:20 -07:00
brianchance a0827ace5e
Change default for queryStringDelete (#21586) 2020-06-15 14:46:40 -07:00
Huei Feng 7cdbaeeccf
Update Async To MigrationsEndPointMiddleware (#22573) 2020-06-15 14:42:55 -07:00
Scott Addie 11fb7b67d1
Add detail to InvalidOperationException in Exception Handler Middleware (#22858) 2020-06-15 11:31:23 -07:00
John Luo ef9a3662d6
Also set no-store when we set no-cache in response cache control headers (#22842) 2020-06-11 20:38:54 -07:00
Javier Calvarro Nelson a27356078f
Disable Yarn warnings on CI builds for restore and Blazor WebAssembly projects (#22703)
Disables warnings when running the Yarn task in CI environments. You'll still get the warnings on developer builds.
2020-06-09 09:53:50 -07:00
Kirill Osenkov 0e7ca749de
Add a Mime Type for .exe and .dll files. (#21805)
* Add a Mime Type for .exe and .dll files.

Useful for serving downloads of installers.
Could be application/octet-stream, but I hear application/vnd.microsoft.portable-executable is specified by IANA here:

https://www.iana.org/assignments/media-types/application/vnd.microsoft.portable-executable

* Update src/Middleware/StaticFiles/src/FileExtensionContentTypeProvider.cs

Co-authored-by: Chris Ross <Tratcher@Outlook.com>

* Update src/Middleware/StaticFiles/src/FileExtensionContentTypeProvider.cs

Co-authored-by: Chris Ross <Tratcher@Outlook.com>

Co-authored-by: Chris Ross <Tratcher@Outlook.com>
2020-06-05 20:21:31 +00:00
Doug Bunting 256045729a
Add `SuccessfulTests` to ensure something runs in every non-Helix run (#22406)
* Remove extra `[SkipOnHelix]` attribute
- only need the one compiled into Microsoft.AspNetCore.Testing
- update the documentation to reflect this
  - nit: address Markdown warnings that VS Code showed

* Add `SuccessfulTests` to ensure something runs in every non-Helix runs
- #22241
- cleans up hundreds of warnings but leaves a couple for the Blazor tests assembly
  - see comments about xUnit runner command line in the new class
2020-06-02 12:19:28 -07:00