Commit Graph

383 Commits

Author SHA1 Message Date
Pranav K 8efcca43ce
Annotate Microsoft.AspNetCore.Http with nullable attributes (#22928)
* Annotate Microsoft.AspNetCore.Http with nullable attributes

* Annotate Hosting with nullable
2020-06-15 23:29:19 +00:00
Pranav K c30638b829
Fixup nullable (#22861) 2020-06-12 15:32:41 +00:00
Pranav K 596f93324d
Fix nullable build warning (#22838) 2020-06-11 20:48:55 +00:00
Pranav K 0794d6077d
Make AuthenticateAsync return non-null result (#22708)
* Make AuthenticateAsync return non-null result

* NoResult
2020-06-09 17:05:26 +00:00
Ondřej Štorc 9ce4a970a2
Parsing extension-av on Set Cookie header (#22181) 2020-06-09 08:48:39 -07:00
Pranav K 6188933c89
Fixup warnings in test (#22665) 2020-06-08 19:39:50 +00:00
Pranav K cd81d48766
Add nullable to WebUtilities (#22543) 2020-06-08 17:48:43 +00:00
Pranav K 6e54e06cfa
Add nullable to Auth.Abstractions, and Auth.Core (#22541) 2020-06-06 21:43:39 +00:00
Pranav K f37fa30683
Add nullable annotations to Http.Abstractions, Http.Features, Connections.Abstractions (#22337)
* Add nullable annotations to Http.Abstractions, Http.Features, Connections.Abstractions

Co-authored-by: James Newton-King <james@newtonking.com>
2020-06-05 06:54:07 -07:00
Hao Kung 8e4dadc0dd
Add certificate validation cache (#21847) 2020-06-05 00:58:47 -07:00
msftbot[bot] 912ab2bcb3
Merge pull request #22453 from dotnet-maestro-bot/merge/release/5.0-preview6-to-master
[automated] Merge branch 'release/5.0-preview6' => 'master'
2020-06-03 02:41:08 +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
James Newton-King 4c7e313c89
Add JSON extension methods to request and response (#21731) 2020-06-01 21:00:50 -07:00
Kahbazi 5cfebf260f
Use ReferenceEquals in HttpMethodMatcherPolicy (#21277) 2020-05-17 16:28:36 +00:00
Justin Kotalik 54b10629bd
Merge pull request #21791 from dotnet-maestro-bot/merge/release/3.1-to-master 2020-05-15 08:35:28 -07:00
Pranav K 48261fdada
Undo use of pipewriter in FileBufferingWriteStream (#21833) 2020-05-14 12:38:49 -07:00
Justin Kotalik 6725c718db
Update Microsoft.AspNetCore.Http.Abstractions.csproj 2020-05-14 10:13:45 -07:00
John Luo 8fba9b0c90 Use ActivatorUtilities shared source 2020-05-13 22:23:30 -07:00
N. Taylor Mullen f9b4101852 Merge remote-tracking branch 'origin/release/3.1' 2020-05-13 17:27:44 -07:00
Doug Bunting de38479e5f
Improve build reliability (#20760)
* Improve build reliability
  - ensure `ResolveCustomReferences` target executes before packages are used
  - `ResolveAssemblyReferences` and `ResolveAssemblyReferencesDesignTime` targets run too late
    - e.g. failed builds of Microsoft.AspNetCore.WebUtilities or Microsoft.AspNetCore.Hosting when building from root
  - add `GetReferenceProjectTargetPathMetadata` for ease of use as well as reliability
    - avoids extra work to get existing metadata (ref/ projects execute no tasks in this target)

  nit: rename `@(ReferenceProjectMetadata)` -> `@(ReferenceProjectTargetPathMetadata)`

* Ensure `GetTargetPathMetadata` target runs with `$(TargetFramework)` set
  - ref/ projects all multi-target and otherwise no-op this target

* Revert "Fix various "Type or namespace not found" errors (#20736)"
  - change is no longer needed with other fixes in this PR

  This reverts commit 8218d6e0e7.
2020-05-13 11:31:09 -07:00
Ryan Nowak b194b6c90a
Fix use of precedence in endpoint routing DFA (#20801) (#21200)
* Fix use of precedence in endpoint routing DFA

Fixes: #18677
Fixes: #16579

This is a change to how sorting is use when building endpoint routing's graph of
nodes that is eventually transformed into the route table. There were
bugs in how this was done that made it incompatible in some niche
scenarios both with previous implementations and how we describe the
features in the abstract.

There are a wide array of cases that might have been impacted by this
bug because routing is a pattern language. Generally the bugs will involve a
catch-all, and some something that changes ordering of templates.

Issue #18677 has the simplest repro for this, the following templates
would not behave as expected:

```
a/{*b}
{a}/{b}
```

One would expect any URL Path starting with `/a` to match the first
route, but that's not what happens.

---

The change supports an opt-in via the following AppContext switch:

```
Microsoft.AspNetCore.Routing.UseCorrectCatchAllBehavior
```

Set to true to enable the correct behavior.

---

The root cause of this bug was an issue in how the algorithm used to be
build the DFA was designed. Specifically that it uses a BFS to build the
graph, and it uses an up-front one-time sort of endpoints in order to
drive that BFS.

The building of the graph has the expectation that at each level, we
will process **all** literal segments (`/a`) and then **all** parameter
segments (`/{a}`) and then **all** catch-all segments (`/{*a}`). Routing
defines a concept called *precedence* that defines the *conceptual*
order in while segments types are ordered.

So there are two problems:

- We sort based on criteria other than precedence (#16579)
- We can't rely on a one-time sort, it needs to be done at each level
(#18677)

---

The fix is to repeat the sort operation at each level and use precedence
as the only key for sorting (as dictated by the graph building algo).

We do a sort of the matches of each node *after* building the
precedence-based part of the DFA, based on the full sorting criteria, to
maintain compatibility.

* Add test
2020-05-13 11:12:14 -07:00
David Fowler 5c6f97b9ef
Made changes to FileBufferWriteStream (#21223)
* Made changes to FileBufferWriteStream
- Make the internal FileStream write only
- Make a new readable stream over the same file in DrainBufferAsync to copy data to the buffer.
- Added an overload to DrainBufferAsync into a PipeWriter and use this overload in the 2 formatters in MVC. This should reduce the amount of copying from the internal buffer and reduces pinning (since these buffers are already pinned)
- Improved formatter tests
2020-04-28 23:22:39 -07:00
Ryan Nowak 80861f1da9
Fix use of precedence in endpoint routing DFA (#20801)
* Fix use of precedence in endpoint routing DFA

Fixes: #18677
Fixes: #16579

This is a change to how sorting is use when building endpoint routing's graph of
nodes that is eventually transformed into the route table. There were
bugs in how this was done that made it incompatible in some niche
scenarios both with previous implementations and how we describe the
features in the abstract.

There are a wide array of cases that might have been impacted by this
bug because routing is a pattern language. Generally the bugs will involve a
catch-all, and some something that changes ordering of templates.

Issue #18677 has the simplest repro for this, the following templates
would not behave as expected:

```
a/{*b}
{a}/{b}
```

One would expect any URL Path starting with `/a` to match the first
route, but that's not what happens.

---

The root cause of this bug was an issue in how the algorithm used to be
build the DFA was designed. Specifically that it uses a BFS to build the
graph, and it uses an up-front one-time sort of endpoints in order to
drive that BFS.

The building of the graph has the expectation that at each level, we
will process **all** literal segments (`/a`) and then **all** parameter
segments (`/{a}`) and then **all** catch-all segments (`/{*a}`). Routing
defines a concept called *precedence* that defines the *conceptual*
order in while segments types are ordered.

So there are two problems:

- We sort based on criteria other than precedence (#16579)
- We can't rely on a one-time sort, it needs to be done at each level
(#18677)

---

The fix is to repeat the sort operation at each level and use precedence
as the only key for sorting (as dictated by the graph building algo).

We do a sort of the matches of each node *after* building the
precedence-based part of the DFA, based on the full sorting criteria, to
maintain compatibility.

* Add test
2020-04-21 22:48:27 -07:00
Sébastien Ros b243ae1615
Fixing QueryCollection property documentation (#20044)
* Fixing QueryCollection property documentation

* Update src/Http/Http/src/QueryCollection.cs

Co-Authored-By: Chris Ross <Tratcher@Outlook.com>

Co-authored-by: Sourabh Shirhatti <shirhatti@outlook.com>
Co-authored-by: Chris Ross <Tratcher@Outlook.com>
2020-04-15 22:28:43 +00:00
dotnet-bot 4f307c40be Merge in 'release/3.1' changes 2020-04-15 19:43:15 +00:00
David Fowler 1b99352ec7
Don't re-use DefaultHttpContext if IHttpContextAccessor is in use (#15049) (#20844)
* Don't re-use DefaultHttpContext if IHttpContextAccessor is in use
- Consumers may still get null or an ODE but will never end up with data from a different request.
- Make sure an ODE is thrown from all properties on HttpContext after the request is over.
2020-04-15 12:41:59 -07:00
dotnet-bot e3bd613f37 Merge in 'release/3.1' changes 2020-04-14 18:01:07 +00:00
William Godbe 8218d6e0e7
Fix various "Type or namespace not found" errors (#20736)
* Add manual packageReferences where needed

* Add more explicit packageRefs

* Fix typo

* undo changes to blazor.server.js

* Fix typo

* Don't gen ref assemblies in CodeCheck
2020-04-14 10:57:26 -07:00
Thomas Levesque 5d914d4d2d
Implement HttpRequestStreamReader.ReadToEndAsync (#18232) 2020-04-13 23:40:21 -07:00
Alessio Franceschelli e3d3da3546
HttpRequestStreamReader overrides for Read Span, ReadAsync Memory, ReadLine and ReadLineAsync (#18802) 2020-04-13 08:18:12 -07:00
Chris Oliver b463e049b6
Move BadHttpRequestException to Http.Abstractions (#20339) 2020-04-06 14:42:16 -07:00
James Newton-King b53179267a Merged PR 6773: Fix routing policy exit destination
**Description**

An infinite loop can happen in routing if there is a catch all route with host name matching.

This problem is caused by the DFA matcher builder giving an incorrect exit destination to policies. Currently the exit destination is the catch all state, so the policy will transition to itself when there is no match. It will run again, transition to itself again, run again, etc. This causes the policy to run forever.

What should happen is the host name policy fails, it transitions to the final state with no candidates, and the route matcher does not match any endpoints. The browser is returned a 404 status.

**Customer Impact**

This problem shows up in this situation:
1. If a customer has configured a catch all route in their app
2. The catch all route has host matching
3. A browser makes a request to the server that matches the catch all route but doesn't match the host name

The route matcher will run forever, using up a threadpool thread. When threadpool threads are exhausted the server will stop responding.

**Regression?**

No.

**Risk**

Medium. The fix is simple but route matching is complex, and routing runs with every request.
2020-04-02 20:30:18 +00:00
Kevin Pilch f34033a415 Add .vsconfig files in root and beside slns 2020-03-31 14:25:44 -07:00
Franklin Tse 9249a95286
Improve support to the dictionary returned by ParseQuery (#20133) 2020-03-31 10:27:51 -07:00
Roman Marusyk d0cc04f957
Convert InvalidOperationException to InvalidDataException for form reader (#20138) 2020-03-26 09:42:22 -07:00
Andrew Stanton-Nurse 98ce12714a
Update XML docs for OnStarting (#19534) 2020-03-18 13:58:46 -07:00
James Newton-King 56a64a6ff0
Avoid string allocation when converting zero (#19732) 2020-03-12 09:52:12 +13:00
John Luo f05e019271
Merge branch 'master' into johluo/migrate-logging-testing 2020-03-04 22:17:06 -08:00
John Luo c181547864 Migration fixup for Logging.Testing 2020-03-04 22:10:12 -08:00
Sedat Kapanoglu 7e139c9b5f
Add HeaderNames.XRequestedWith = "X-Requested-With" (#19470)
* Add HeaderNames.XRequestedWith = "X-Requested-With"

X-Requested-With is the standard for differentiating AJAX requests and is commonly used. Having this in HeaderNames would prevent typos related to typing this header name. I couldn't find any rationale about excluding this but there might be legitimate reasons like discouraging the use of HTTP headers or differentiating AJAX requests, etc. Please reject this if that's the case.

* Replace "X-Requested-With" references with HeaderNames.XRequestedWith

The only remaining instance is WebSocketsTransport.cs in
SignalR\clients\csharp\Http.Connections.Client which doesn't have
Microsoft.Net in its references. I didn't want to impose a new
dependency as its risky.

* Fix the order of using statements

* Add XRequestedWith to the ref assembly
2020-03-03 15:45:50 -08:00
Justin Kotalik ee8d8439dd
Fix HttpResponseStreamWriter (#19216) 2020-02-21 16:16:44 -08:00
John Luo a5fc9defc4 Regenerate ref assemblies 2020-02-20 16:53:07 -08:00
John Luo 5f9f1ce183 Merge branch 'master' into johluo/migrating-extensions 2020-02-20 16:44:06 -08:00
John Luo 7d1f5d8c0b Updates for extensions migrations
- Multi-target ObjectPool
- Move Embedded.Manifest.Task.Internal.Entry to the public namespace
- Remove ref assemblies from AspNetCore.Testing
- Skip TestPathUtilitiesTest since it's a pattern we want to migrate away from
- Fix FileProviders.Abstractions version in Embedded.*.nuspec
- Add workarounds for project references to FileProviders.Embedded
2020-02-20 14:00:29 -08:00
Doug Bunting c2ee4ae820
Re-enable source build job
- change ref/ projects to build only the default TFM during source builds
  - avoid errors restoring packages like Microsoft.BCL.AsyncInterfaces
  - may also speed up source builds slightly
2020-02-19 22:46:22 -08:00
Brennan Conroy 2d066dcd3e Apply some fixes 2020-02-19 14:18:29 -08:00
Hao Kung 607a6b4f8a
Merge branch 'master' into halter73/mega-merge 2020-02-18 16:51:15 -08:00
Ajay Bhargav Baaskaran f2dd6d4598 Add back DownloadFile.cs
Revert Razor.Runtime.Manual.cs and regenerate ref assemblies
2020-02-18 15:52:34 -08:00
Ajay Bhargav Baaskaran b92f4231e8 Todos 2020-02-18 13:47:25 -08:00
Stephen Halter 88073f86ff Merge branch 'release/3.1' into master 2020-02-18 13:46:51 -08:00
samsosa 2a52168115
Remove HostString.Port string alloc in HostString.cs (#19082)
https://github.com/dotnet/aspnetcore/issues/19064
2020-02-16 23:07:32 -08:00
Stephen Halter f3e2b4d4d1
Keep Pipe readable after FormPipeReader error (#18939) 2020-02-14 09:36:57 -08:00
Doug Bunting a6c43b14a1
Mark AspNetCore projects that aren't packaged explicitly (#18767)
* Mark AspNetCore projects that aren't packaged explicitly
- avoid NU5104 warnings due to confusing versioning
- `$(IsShippingPackage)` was semantically incorrect in any case

* Remove redundant `$(IsShippingPackage)` settings in `$(IsAspNetCoreApp)` projects
- default is `true` for all implementation projects

* Use `$(IsPackable)` when deciding how `$(IsAspNetCoreApp)` projects are handled
- remove all use of `$(IsShippingPackage)` for shared framework composition
- update documentation to match these changes

nits:
- remove odd default for `$(IsPackable)` in Directory.Build.targets
  - no longer relevant since all `$(IsAspNetCoreApp)` projects are `$(IsShippingPackage)` too
- include more information in docs/ProjectProperties.md

* Add direct System.Text.Json references
- avoid MSB3277 warnings
2020-02-13 15:51:27 -08:00
Alessio Franceschelli 6e0a4fcfdd
Added Write/WriteLine ReadOnlySpan/ReadOnlyMemory overrides to HttpResponseStreamWriter (#18451) 2020-02-08 22:04:01 -08:00
Nick Kirby d6cb79e64a
Use FirstSpan instead of calling First.Span (#18615) 2020-01-31 12:51:40 -08:00
Matyas Richter 58a107b27e Don't throw exception while flushing ReferenceReadStream #18503 (#18548) 2020-01-25 07:26:26 -08:00
davidnx 237b697320 Use StatusCodes.Status404NotFound instead of 404 (#18453)
This is a minor change to improve consistency and use `StatusCodes` members instead of raw harcoded status code numbers. It may help beginners browsing through the code-base to find where the default 404 response comes from for unmatched requests.
2020-01-20 16:28:56 +00:00
James Newton-King df712cc4a9
Add HttpProtocol (#18049) 2020-01-16 13:35:47 +13:00
John Luo 9522e1dd2e Multi-target all shared framework projects with netcoreapp3.1 (#17998)
- regen ref
2020-01-15 12:08:17 -08:00
Chris Ross ad8ecf96a1 React to runtime/594 Encoder.Convert change (#17747) 2020-01-15 11:07:50 -08:00
William Godbe 6ec28e8715
Fix setter for CandidateState.Values in reference assembly (#18278) 2020-01-15 11:02:08 -08:00
Maher Jendoubi 116799fa70 Contributing: Fixed some typos (#18331) 2020-01-14 08:58:52 -08:00
Kahbazi 5f169dce14 Fix missing cors middleware exception message (#17892)
* Fix missing cors middleware exception message

* Update unit test expected error message

* Update integration test expected error message
2020-01-09 14:26:37 -08:00
Kevin Pilch 0517745c08 aspnet/AspNetCore -> dotnet/aspnet
Except aspnet/AspNetCore-Internal.
2020-01-08 16:40:11 -08:00
Martin Costello b6b5319bab Use UnixEpoch for cookie deletion (#18126)
Use the DateTimeOffset.UnixEpoch field instead of a new DateTime value when deleting cookies.
2020-01-04 12:39:53 -08:00
Kahbazi adb12f23d0 Use AppendJoin(...) instead of Append(string.Join(...)) on StringBuilder (#18007) 2020-01-02 08:05:54 -08:00
Doug Bunting 3a67489398
Add missing `_dummy` and `_dummyPrimitive` fields
- probably need to double-check for similar gaps in 'release/3.0' branch
2019-12-13 12:13:15 -08:00
Doug Bunting 7256b353b3
Update `internal` types and members in *.Manual.cs files
- match changes that are in 'release/3.1' but not 'release/3.0'
  - e.g. `StaticComponentRenderer`'s namespace change and newly-added members
- redo GenAPI exclusions
  - remove some unecessary workarounds getting in the way of keeping up w/ API changes
  - add more GenAPI exclusions, enabling `--all` without hitting dotnet/arcade#4488
2019-12-13 12:10:44 -08:00
Doug Bunting 7ba757265f
Merge branch 'release/3.1' into merge/release/3.0-to-release/3.1
- upgrade Arcade SDK to '1.0.0-beta.19607.3'
- regenerate eng/ProjectReferences.props and ref/ projects
2019-12-11 20:03:03 -08:00
Andrew Stanton-Nurse eb113093cd
Clarify docs on HttpRequest.PathBase (#17639) 2019-12-11 13:50:03 -08:00
Eddy Nakamura 5ff9ed68d1 updating inline <code> to <c> (#17611)
* updating inline "code" tag to "c" tag

* Apply suggestions from code review

Co-Authored-By: Andrew Stanton-Nurse <andrew@stanton-nurse.com>

* reverting tag

* reverting tag

* reverting entire file
2019-12-11 11:47:38 -08:00
Doug Bunting cf6b5028c3
Improve generation and use of ref/ projects (#17311)
* Remove useless src/PackageArchive files
- not used outside 2.x branches

* Improve use of ref/ assemblies
- compile against ref/ assemblies but do not change package metadata
  - update the metadata of implementation projects to include the ref/ assembly path
  - update `@(ReferenceAssembly)` metadata for Extensions packages, not `@(PackageReference)`
  - can be disabled using `$(CompileUsingReferenceAssemblies)` e.g. when generating ref/ projects
- include ref/ projects in source build by default
  - remove `$(ExcludeFromSourceBuild)` overrides from ref/ project files
- use latest package references and use project references even when _not_ building the targeting packs
- restore previous `@(Reference)` -> `@(PackageReference)` logic
  - add build-only Microsoft.Internal.Extensions.Refs package reference in most cases
- remove IndirectReferences.props and `@(_ExtensionInternalRefAssemblies)`; no longer needed

* Improve ref/ project generation
- use ../src/**/AssemblyInfo.cs files instead of including attributes in *.Manual.cs files
  - for same reason, copy `@(InternalsVisibleto)` items from src/ to ref/ projects
- use eng/targets/CSharp.ReferenceAssembly.props instead of ref/Directory.Build.props files
- use TFM-specific *.Manual.cs files in ref/ project files instead of ref/Directory.Build.props files

optimizations and usability improvements:
- add `$(BuildMainlyReferenceProviders)` property to focus on reference providers when generating ref/ projects
- disable `$(UseReferenceAssemblyInImplementation)` to avoid using ref/ projects while generating them

nits:
- clean up whitespace and remove blank lines in ref/ project files

* Perform smaller cleanup
- remove `$(IsTargetingPackPatching)`; use only `$(IsTargetingPackBuilding)`
- remove `$(DisableServicingFeatures)`; enable the servicing features we need
  - suppress baseline references even in servicing builds
- restore `$(AdditionalGenApiCmdOptions)`; useful when updating *.Manual.cs files

nits:
- simplify conditions using `$(HasReferenceAssembly)`
- correct spelling in comments
- shorten long lines

* Use a response file for GenAPI commands
- work around dotnet/arcade#4021 and help with additional ref assemblies
- mimic 111462e0c2 and integrate w/ other changes here

* Undo some manual ref/ project changes
- now done automatically or centrally
- remove manual `[TypeForwardedTo]` and `[InternalsVisibleTo]` attributes
  - fully qualify a type now that `using` is gone
- remove dupe `@(Compile)` items for *.Manual.cs files; included in the ref/ project files
- remove redundant `$(AllowUnsafeBlocks)` and `$(NoWarn)` settings

nits:
- rename a *.Manual.cs file that's not TFM-specific
- remove `private` members

* Correct use of `@(ProjectReference)` items for reference providers
- use `@(Reference)` instead

* Remove recently-added `@(Compile)` and `@(Reference)` items
- were added due to missing `[InternalsVisibleTo]` attributes in ref/ assemblies or as early workarounds
  - plus, now transitive references **Just Work™️**
- expose `ClosedGenericMatcher` in the usual (*.Manual.cs) way
- also undo Microsoft.Extensions.ApiDescription.Server workaround

* Remove `private` members from ref/ *.Manual.cs files
- not useful and bloat the ref/ assemblies

* Cleanup warnings
- avoid "CSC warning CS2008: No source files specified." building site extensions
- correct warnings (as errors) about `RenderToStringResult` being obsolete
  - add Microsoft.AspNetCore.SpaServices.Tests to Middleware solution

* Remove `@(RuntimeHostConfigurationOption)` workarounds
- deps files are unaffected by new ref/ assembly handling and test projects aren't special-cased
- also execute a test previously skipped due to deps file problems

* Regenerate ref/ projects
- pick up the latest generation changes

(unclear why Mvc.RazorPages/ref/Microsoft.AspNetCore.Mvc.RazorPages.netcoreapp3.0.cs changed but works)

* Fill in missing `internal` types 1 of n
- rename Microsoft.AspNetCore.Components.netstandard2.0.Manual.cs; need `RenderTreeFrame` type everywhere
- add types needed in unit and perf tests to *.Manual.cs files

* Clean up recent commits
- remove recently-added `private` members
- restore `_dummyPrimitive` fields in Microsoft.AspNetCore.Server.HttpSys.Manual.cs

* Add *.Manual.cs files for more projects

* !fixup! fields in *.Manual.cs `struct`s
- GenAPI sometimes generates `_dummy` and `_dummyPrimitive` fields _instead of_ visible members
- what GenAPI generates sometimes have the right length but actual fields don't hurt
  - that is, using the real fields corrects both the visible API and `struct`s' sizes

nits:
- consolidate `namespace`s in Microsoft.AspNetCore.Mvc.Core.Manual.cs

* Remove special case for generating ref/ projects on non-Windows
- referenced issue was closed with no action but workaround still not required
- no tabs in generated content

* Only create ref/ projects for assemblies in the shared framework
- restrict when `$(HasReferenceAssembly)` is `true` by default
- add warnings when `$(IsAspNetCoreApp)` or `$(HasReferenceAssembly)` have unexpected values

* Remove "extra" ref/ projects
- associated implementation projects no longer have `$(HasReferenceAssembly)` set to `true`

* Add a few GenAPI exclusions
- see dotnet/arcade#4488
- generation for these members leads to NREs

* Add more `internal` types and members
- Identity/Core
- Identity/Extensions.Core
- Mvc/Mvc.ViewFeatures

* Add direct dependencies to work around CS1705 errors
- add direct references to some test and sample projects to make intent clear i.e. address CS1705 root cause
  - these projects must use implementation assemblies for those direct references
  - requirement also applies to anything depending on them e.g. functional tests
  - for simplicity, use `$(CompileUsingReferenceAssemblies)` instead of targeted `@(Reference)` metadata
- leads to ~40 projects that do not themselves add ref/ metadata
  - this is _not_ transitive i.e. it applies only to projects that override `$(CompileUsingReferenceAssemblies)`

* nits: Remove a few more `private` members in *.Manual.cs files

* !fixup! correct namespaces of a few types in *.Manual.cs files

* Try another way to fix Microsoft.AspNetCore.Blazor.Build.Tests

* Try another way to fix missing targets in Web.JS.npmproj
2019-12-11 07:36:59 -08:00
Andrew Stanton-Nurse 06a85e5db2
Dairai/add http class descriptions (#17349) 2019-12-05 09:28:29 -08:00
Dairai Nyabando a71aa8a5bc Correcting closing XML remark tag
#17349
2019-12-04 22:54:00 -05:00
Dairai Nyabando 10d5a0ba62 Correcting XML closing tags
#17349
2019-12-04 20:07:14 -05:00
Roman Marusyk 032625cd32 Change "lower-case to "lowercase" in xml comments (#17499) 2019-12-01 12:45:28 -08:00
Dairai Nyabando ed5a43d5ad updating the return statements for specific methods
#17349
2019-11-25 22:20:29 -05:00
Mehmet Can Kamar d59868b2d4 BindingAddress is customized for unix socket urls #10782 test… (#12112) 2019-11-25 09:18:16 -08:00
Günther Foidl 9e67b7b22e Use C#'s ReadOnlySpan static data optimization in more places (#14447) 2019-11-24 18:04:26 -08:00
Dairai Nyabando 7c8d0f89f8 Additional class and methods description changes including adding class references and inheriting docs
#17349
2019-11-23 18:27:12 -05:00
Dairai Nyabando d2f2ed99fc Updating method descriptions as per review suggestions
#17349
2019-11-23 17:23:18 -05:00
Dairai Nyabando 5dcb568df0 Updating descriptions to add parameters
#17204
2019-11-22 22:27:55 -05:00
Chris Ross 6902b14471 [3.1.x] Backport HttpContext.Items fix (#17237) 2019-11-22 15:24:27 -08:00
Dairai Nyabando 66613b194d Updating descriptions for HTTP classes
#17204
2019-11-22 00:04:16 -05:00
André Silva 8d1c8005d8 Fixes QueryHelpers.AddQueryString() throws when one of the dictionary values is null #16647 (#17177) 2019-11-18 16:03:44 -08:00
Justin Kotalik 0f580f1082
Initial HTTP/3 Implementation in Kestrel (#16914) 2019-11-15 14:50:54 -08:00
Steven Maglio 5b1b8bcb8b Adding null-conditional operator on IEnumerable.GetEnumerator() (#16947) 2019-11-11 08:25:37 -08:00
Brennan fece4705ee
[master] Update Arcade dependency (#16716) 2019-10-31 17:18:24 -07:00
James Newton-King 78b9b2e23e
Additional host matching tests (#16680) 2019-10-31 13:26:42 +13:00
Hao Kung 814a37548b
Only run claims transformation once per ClaimsPrincipal instance by default (#12028) 2019-10-29 15:48:06 -07:00
dotnet-maestro[bot] 2c6456d463 [release/3.0] Update dependencies from 4 repositories (#14425)
* Update dependencies from https://github.com/dotnet/arcade build 20190924.3
* Update dependencies from https://github.com/aspnet/Blazor build 20191003.2
* Update dependencies from https://github.com/aspnet/AspNetCore-Tooling build 20191007.2
* Update dependencies from https://github.com/aspnet/EntityFrameworkCore build 20191010.4
* Remove potentially unnecessary feeds
* Install the runtime during source build
* Pin m.nc.app.ref
* Add aspnetcore-dev feed back to nuget.config
* Pin internal refs package
* Move efcore internal refs dependency
* Compile against ref assemblies
* Add manually generated internal ref assembly:
  * DataProtection
  * Kestrel
  * Hosting
  * Http
  * Mvc
  * Middleware
  * SignalR
  * Identity
  * Components
* Fix crossgen for ref compilation
* Fix tools for ref compilation
* Explicitly specify ExcludeFromSourceBuild
* Build targeting pack for 3.0.1
* Improve condition for building targeting pack in 3.0.1
* Fixing siteex build for ref compilation
* Resolve reference assemblies from Extensions
* Don't build refPack during source build
* Add big list of project references, for tests to use
  * Exclude sources files from indirect references
  * The types in these packages will be compiled into the binaries of the projects that directly depended o it
  * Add manual indirect references to project references
  * Add samples/test assets
  * Don't add indirect refs for ProjectRefs with ReferenceOutputAssembly=false
* Fix JSInterop for ref compilation
* Do not substitute ext ref assemblies in ref pack
* Disable the TestFramework assembly attribute from Logging.Testing
There's custom logic in ProjectTemplates.Tests to use a different TestFramework instead
* Fix Functional tests
  * Issues caused by incorrect deps files working around this via test infrastructure instead
  * Mvc
  * Analyzers
  * StaticFiles
  * SignalR
  * HttpOverrides
2019-10-28 18:06:32 -07:00
riccikl 0a0e1ea0cd Fix references in documentation (#15436) 2019-10-28 11:41:04 -07:00
Kahbazi bda22253e9 Make MapPathMiddlewareTests async (#15376) 2019-10-28 10:46:56 -07:00
Kahbazi 3a92c93cfb Add PreserveMatchedPathSegment to MapOptions #3762 (#15364) 2019-10-28 08:51:30 -07:00
Pranav K 882df6003f
Merge remote-tracking branch 'origin/release/3.1' 2019-10-23 16:23:13 -07:00
Brennan Conroy 859c1e085e Merge branch 'master' into merge/release/3.1-to-master 2019-10-23 14:06:23 -07:00
Chris Ross 1ba180e87c
Remove Microsoft.AspNetCore.SuppressSameSiteNone compat switch #14739 (#15092) 2019-10-22 10:05:37 -07:00
Hao Kung a0eb923ab5
Add TryAddScheme (#14448) 2019-10-21 10:08:52 -07:00
Chris Ross 6d43b50183
Handle large limits for form keys and values #13719 (#15066) 2019-10-17 10:37:07 -07:00
David Fowler 16be9a264e
Don't re-use DefaultHttpContext if IHttpContextAccessor is in use (#15049)
* Don't re-use DefaultHttpContext if IHttpContextAccessor is in use
- Consumers may still get null or an ODE but will never end up with data from a different request.
- Make sure an ODE is thrown from all properties on HttpContext after the request is over.
2019-10-16 17:09:54 -07:00