diff --git a/.azure/pipelines/ci.yml b/.azure/pipelines/ci.yml index f5aea4cc0b5f..e7e424ae8cad 100644 --- a/.azure/pipelines/ci.yml +++ b/.azure/pipelines/ci.yml @@ -32,15 +32,27 @@ variables: - name: _DotNetValidationArtifactsCategory value: .NETCORE - ${{ if ne(variables['System.TeamProject'], 'internal') }}: + - name: _UseHelixOpenQueues + value: 'true' - name: _BuildArgs value: '' - name: _PublishArgs value: '' - name: _SignType value: '' - - name: _UseHelixOpenQueues - value: 'true' + - name: _InternalRuntimeDownloadArgs + value: '' + - name: _InternalRuntimeDownloadCodeSignArgs + value: '' - ${{ if eq(variables['System.TeamProject'], 'internal') }}: + - group: DotNet-MSRC-Storage + - name: _InternalRuntimeDownloadArgs + value: -DotNetRuntimeSourceFeed https://dotnetclimsrc.blob.core.windows.net/dotnet -DotNetRuntimeSourceFeedKey $(dotnetclimsrc-read-sas-token-base64) /p:DotNetAssetRootAccessTokenSuffix='$(dotnetclimsrc-read-sas-token-base64)' + # The code signing doesn't use the aspnet build scripts, so the msbuild parameers have + # to be passed directly. This is awkward, since we pass the same info above, but we have + # to have it in two different forms + - name: _InternalRuntimeDownloadCodeSignArgs + value: /p:DotNetRuntimeSourceFeed=https://dotnetclimsrc.blob.core.windows.net/dotnet /p:DotNetRuntimeSourceFeedKey=$(dotnetclimsrc-read-sas-token-base64) - group: DotNet-HelixApi-Access - name: _UseHelixOpenQueues value: 'false' @@ -68,7 +80,7 @@ variables: - name: _BuildArgs value: '' - name: _SignType - valule: test + value: test - name: _PublishArgs value: '' # used for post-build phases, internal builds only @@ -86,7 +98,15 @@ stages: jobDisplayName: Code check agentOs: Windows steps: - - powershell: ./eng/scripts/CodeCheck.ps1 -ci + - ${{ if ne(variables['System.TeamProject'], 'public') }}: + - task: PowerShell@2 + displayName: Setup Private Feeds Credentials + inputs: + filePath: $(Build.SourcesDirectory)/eng/common/SetupNugetSources.ps1 + arguments: -ConfigFile $(Build.SourcesDirectory)/NuGet.config -Password $Env:Token + env: + Token: $(dn-bot-dnceng-artifact-feeds-rw) + - powershell: ./eng/scripts/CodeCheck.ps1 -ci $(_InternalRuntimeDownloadArgs) displayName: Run eng/scripts/CodeCheck.ps1 artifacts: - name: Code_Check_Logs @@ -113,6 +133,14 @@ stages: # This is intentional to workaround https://github.com/dotnet/arcade/issues/1957 which always re-submits for code-signing, even # if they have already been signed. This results in slower builds due to re-submitting the same .nupkg many times for signing. # The sign settings have been configured to + - ${{ if ne(variables['System.TeamProject'], 'public') }}: + - task: PowerShell@2 + displayName: Setup Private Feeds Credentials + inputs: + filePath: $(Build.SourcesDirectory)/eng/common/SetupNugetSources.ps1 + arguments: -ConfigFile $(Build.SourcesDirectory)/NuGet.config -Password $Env:Token + env: + Token: $(dn-bot-dnceng-artifact-feeds-rw) - script: ./build.cmd -ci @@ -122,6 +150,7 @@ stages: -buildNative /bl:artifacts/log/build.x64.binlog $(_BuildArgs) + $(_InternalRuntimeDownloadArgs) displayName: Build x64 # Build the x86 shared framework @@ -137,6 +166,7 @@ stages: /p:OnlyPackPlatformSpecificPackages=true /bl:artifacts/log/build.x86.binlog $(_BuildArgs) + $(_InternalRuntimeDownloadArgs) displayName: Build x86 # This is in a separate build step with -forceCoreMsbuild to workaround MAX_PATH limitations - https://github.com/Microsoft/msbuild/issues/53 @@ -145,6 +175,7 @@ stages: -pack -noBuildDeps $(_BuildArgs) + $(_InternalRuntimeDownloadArgs) condition: ne(variables['Build.Reason'], 'PullRequest') displayName: Build SiteExtension @@ -171,6 +202,7 @@ stages: /p:AssetManifestFileName=aspnetcore-win-x64-x86.xml $(_BuildArgs) $(_PublishArgs) + $(_InternalRuntimeDownloadArgs) /p:PublishInstallerBaseVersion=true displayName: Build Installers @@ -211,6 +243,7 @@ stages: /p:AssetManifestFileName=aspnetcore-win-arm.xml $(_BuildArgs) $(_PublishArgs) + $(_InternalRuntimeDownloadArgs) installNodeJs: false installJdk: false artifacts: @@ -237,6 +270,7 @@ stages: -p:AssetManifestFileName=aspnetcore-MacOS_x64.xml $(_BuildArgs) $(_PublishArgs) + $(_InternalRuntimeDownloadArgs) installNodeJs: false installJdk: false artifacts: @@ -257,6 +291,14 @@ stages: jobDisplayName: "Build: Linux x64" agentOs: Linux steps: + - ${{ if ne(variables['System.TeamProject'], 'public') }}: + - task: Bash@3 + displayName: Setup Private Feeds Credentials + inputs: + filePath: $(Build.SourcesDirectory)/eng/common/SetupNugetSources.sh + arguments: $(Build.SourcesDirectory)/NuGet.config $Token + env: + Token: $(dn-bot-dnceng-artifact-feeds-rw) - script: ./build.sh --ci --arch x64 @@ -267,6 +309,7 @@ stages: -p:OnlyPackPlatformSpecificPackages=true -bl:artifacts/log/build.linux-x64.binlog $(_BuildArgs) + $(_InternalRuntimeDownloadArgs) displayName: Run build.sh - script: | git clean -xfd src/**/obj/ @@ -280,7 +323,8 @@ stages: -p:BuildRuntimeArchive=false \ -p:LinuxInstallerType=deb \ -bl:artifacts/log/build.deb.binlog \ - $(_BuildArgs) + $(_BuildArgs) \ + $(_InternalRuntimeDownloadArgs) displayName: Build Debian installers - script: | git clean -xfd src/**/obj/ @@ -296,7 +340,8 @@ stages: -bl:artifacts/log/build.rpm.binlog \ -p:AssetManifestFileName=aspnetcore-Linux_x64.xml \ $(_BuildArgs) \ - $(_PublishArgs) + $(_PublishArgs) \ + $(_InternalRuntimeDownloadArgs) displayName: Build RPM installers installNodeJs: false installJdk: false @@ -328,6 +373,7 @@ stages: -p:AssetManifestFileName=aspnetcore-Linux_arm.xml $(_BuildArgs) $(_PublishArgs) + $(_InternalRuntimeDownloadArgs) installNodeJs: false installJdk: false artifacts: @@ -358,6 +404,7 @@ stages: -p:AssetManifestFileName=aspnetcore-Linux_arm64.xml $(_BuildArgs) $(_PublishArgs) + $(_InternalRuntimeDownloadArgs) installNodeJs: false installJdk: false artifacts: @@ -391,6 +438,7 @@ stages: -p:AssetManifestFileName=aspnetcore-Linux_musl_x64.xml $(_BuildArgs) $(_PublishArgs) + $(_InternalRuntimeDownloadArgs) installNodeJs: false installJdk: false artifacts: @@ -424,6 +472,7 @@ stages: -p:AssetManifestFileName=aspnetcore-Linux_musl_arm64.xml $(_BuildArgs) $(_PublishArgs) + $(_InternalRuntimeDownloadArgs) installNodeJs: false installJdk: false artifacts: @@ -445,7 +494,7 @@ stages: jobDisplayName: "Test: Windows Server 2016 x64" agentOs: Windows isTestingJob: true - buildArgs: -all -pack -test -BuildNative "/p:SkipHelixReadyTests=true /p:SkipIISNewHandlerTests=true /p:SkipIISTests=true /p:SkipIISExpressTests=true /p:SkipIISNewShimTests=true /p:RunTemplateTests=false" + buildArgs: -all -pack -test -BuildNative "/p:SkipHelixReadyTests=true /p:SkipIISNewHandlerTests=true /p:SkipIISTests=true /p:SkipIISExpressTests=true /p:SkipIISNewShimTests=true /p:RunTemplateTests=false" $(_InternalRuntimeDownloadArgs) beforeBuild: - powershell: "& ./src/Servers/IIS/tools/UpdateIISExpressCertificate.ps1; & ./src/Servers/IIS/tools/update_schema.ps1" displayName: Setup IISExpress test certificates and schema @@ -481,7 +530,15 @@ stages: agentOs: Windows isTestingJob: true steps: - - script: ./build.cmd -ci -all -pack + - ${{ if ne(variables['System.TeamProject'], 'public') }}: + - task: PowerShell@2 + displayName: Setup Private Feeds Credentials + inputs: + filePath: $(Build.SourcesDirectory)/eng/common/SetupNugetSources.ps1 + arguments: -ConfigFile $(Build.SourcesDirectory)/NuGet.config -Password $Env:Token + env: + Token: $(dn-bot-dnceng-artifact-feeds-rw) + - script: ./build.cmd -ci -all -pack $(_InternalRuntimeDownloadArgs) displayName: Build Repo - script: ./src/ProjectTemplates/build.cmd -ci -pack -NoRestore -NoBuilddeps "/p:RunTemplateTests=true /bl:artifacts/log/template.pack.binlog" displayName: Pack Templates @@ -508,7 +565,7 @@ stages: jobDisplayName: "Test: macOS 10.13" agentOs: macOS isTestingJob: true - buildArgs: --all --test "/p:RunTemplateTests=false /p:SkipHelixReadyTests=true" + buildArgs: --all --test "/p:RunTemplateTests=false /p:SkipHelixReadyTests=true" $(_InternalRuntimeDownloadArgs) beforeBuild: - bash: "./eng/scripts/install-nginx-mac.sh" displayName: Installing Nginx @@ -543,7 +600,7 @@ stages: jobDisplayName: "Test: Ubuntu 16.04 x64" agentOs: Linux isTestingJob: true - buildArgs: --all --test "/p:RunTemplateTests=false /p:SkipHelixReadyTests=true" + buildArgs: --all --test "/p:RunTemplateTests=false /p:SkipHelixReadyTests=true" $(_InternalRuntimeDownloadArgs) beforeBuild: - bash: "./eng/scripts/install-nginx-linux.sh" displayName: Installing Nginx @@ -656,6 +713,14 @@ stages: chmod +x $HOME/bin/jq echo "##vso[task.prependpath]$HOME/bin" displayName: Install jq + - ${{ if ne(variables['System.TeamProject'], 'public') }}: + - task: Bash@3 + displayName: Setup Private Feeds Credentials + inputs: + filePath: $(Build.SourcesDirectory)/eng/common/SetupNugetSources.sh + arguments: $(Build.SourcesDirectory)/NuGet.config $Token + env: + Token: $(dn-bot-dnceng-artifact-feeds-rw) - script: ./eng/scripts/ci-source-build.sh --ci --configuration Release /p:BuildManaged=true /p:BuildNodeJs=false displayName: Run ci-source-build.sh - task: PublishBuildArtifacts@1 diff --git a/.azure/pipelines/jobs/codesign-xplat.yml b/.azure/pipelines/jobs/codesign-xplat.yml index abf15125404a..07e2e99f0e89 100644 --- a/.azure/pipelines/jobs/codesign-xplat.yml +++ b/.azure/pipelines/jobs/codesign-xplat.yml @@ -28,6 +28,14 @@ jobs: contents: '**/*.nupkg' targetFolder: $(Build.SourcesDirectory)/artifacts/packages/$(BuildConfiguration)/shipping/ flattenFolders: true + - ${{ if ne(variables['System.TeamProject'], 'public') }}: + - task: PowerShell@2 + displayName: Setup Private Feeds Credentials + inputs: + filePath: $(Build.SourcesDirectory)/eng/common/SetupNugetSources.ps1 + arguments: -ConfigFile $(Build.SourcesDirectory)/NuGet.config -Password $Env:Token + env: + Token: $(dn-bot-dnceng-artifact-feeds-rw) - powershell: .\eng\common\build.ps1 -ci -restore @@ -39,6 +47,7 @@ jobs: /p:DotNetSignType=$(_SignType) $(_BuildArgs) $(_PublishArgs) + $(_InternalRuntimeDownloadCodeSignArgs) displayName: Sign and publish packages artifacts: - name: CodeSign_Xplat_${{ parameters.inputName }}_Logs diff --git a/.azure/pipelines/jobs/default-build.yml b/.azure/pipelines/jobs/default-build.yml index dad5a3b6f1ca..ef4ec9e60c39 100644 --- a/.azure/pipelines/jobs/default-build.yml +++ b/.azure/pipelines/jobs/default-build.yml @@ -161,6 +161,24 @@ jobs: - ${{ if ne(parameters.steps, '')}}: - ${{ parameters.steps }} - ${{ if eq(parameters.steps, '')}}: + - ${{ if ne(variables['System.TeamProject'], 'public') }}: + - ${{ if eq(parameters.agentOs, 'Windows') }}: + - ${{ if ne(variables['System.TeamProject'], 'public') }}: + - task: PowerShell@2 + displayName: Setup Private Feeds Credentials + inputs: + filePath: $(Build.SourcesDirectory)/eng/common/SetupNugetSources.ps1 + arguments: -ConfigFile $(Build.SourcesDirectory)/NuGet.config -Password $Env:Token + env: + Token: $(dn-bot-dnceng-artifact-feeds-rw) + - ${{ if ne(parameters.agentOs, 'Windows') }}: + - task: Bash@3 + displayName: Setup Private Feeds Credentials + inputs: + filePath: $(Build.SourcesDirectory)/eng/common/SetupNugetSources.sh + arguments: $(Build.SourcesDirectory)/NuGet.config $Token + env: + Token: $(dn-bot-dnceng-artifact-feeds-rw) - ${{ if eq(parameters.buildScript, '') }}: - ${{ if eq(parameters.agentOs, 'Windows') }}: - script: .\$(BuildDirectory)\build.cmd -ci /p:DotNetSignType=$(_SignType) -Configuration $(BuildConfiguration) $(BuildScriptArgs) diff --git a/Directory.Build.props b/Directory.Build.props index a4b4790b4057..78ad5cd2af1c 100644 --- a/Directory.Build.props +++ b/Directory.Build.props @@ -91,8 +91,11 @@ aspnetcore-runtime aspnetcore-targeting-pack - - false + + false + false + true - false - - - false - - + - true + true @@ -28,7 +21,7 @@ $(VersionPrefix) $(PackageBrandingVersion) $(BrandingVersionSuffix.Trim()) - $(VersionPrefix) + $(VersionPrefix) $(VersionPrefix)-$(VersionSuffix.Replace('.','-')) $(Version) @@ -58,18 +51,24 @@ - - $(PackagesInPatch.Contains(' $(PackageId);')) - - + true true - + false + + + + false + + + + $(PackageVersion) + + $(BaselinePackageVersion.Substring(0, $(BaselinePackageVersion.IndexOf('-')))).0 @@ -83,6 +82,9 @@ --> $(BaselinePackageVersion) $(BaselinePackageVersion) + + + $(BaselinePackageVersion) @@ -92,7 +94,8 @@ true - true + true false true @@ -162,7 +165,7 @@ - + diff --git a/build.ps1 b/build.ps1 index 042916322b93..7ce1d87f5864 100644 --- a/build.ps1 +++ b/build.ps1 @@ -77,6 +77,12 @@ MSBuild verbosity: q[uiet], m[inimal], n[ormal], d[etailed], and diag[nostic] .PARAMETER MSBuildArguments Additional MSBuild arguments to be passed through. +.PARAMETER DotNetRuntimeSourceFeed +Additional feed that can be used when downloading .NET runtimes + +.PARAMETER DotNetRuntimeSourceFeedKey +Key for feed that can be used when downloading .NET runtimes + .EXAMPLE Building both native and managed projects. @@ -151,6 +157,11 @@ param( # Other lifecycle targets [switch]$Help, # Show help + + # Optional arguments that enable downloading an internal + # runtime or runtime from a non-default location + [string]$DotNetRuntimeSourceFeed, + [string]$DotNetRuntimeSourceFeedKey, # Capture the rest [Parameter(ValueFromRemainingArguments = $true)] @@ -251,6 +262,16 @@ if (-not $Configuration) { } $MSBuildArguments += "/p:Configuration=$Configuration" +[string[]]$ToolsetBuildArguments = @() +if ($DotNetRuntimeSourceFeed -or $DotNetRuntimeSourceFeedKey) { + $runtimeFeedArg = "/p:DotNetRuntimeSourceFeed=$DotNetRuntimeSourceFeed" + $runtimeFeedKeyArg = "/p:DotNetRuntimeSourceFeedKey=$DotNetRuntimeSourceFeedKey" + $MSBuildArguments += $runtimeFeedArg + $MSBuildArguments += $runtimeFeedKeyArg + $ToolsetBuildArguments += $runtimeFeedArg + $ToolsetBuildArguments += $runtimeFeedKeyArg +} + $foundJdk = $false $javac = Get-Command javac -ErrorAction Ignore -CommandType Application $localJdkPath = "$PSScriptRoot\.tools\jdk\win-x64\" @@ -375,7 +396,8 @@ try { /p:Configuration=Release ` /p:Restore=$RunRestore ` /p:Build=true ` - /clp:NoSummary + /clp:NoSummary ` + @ToolsetBuildArguments } MSBuild $toolsetBuildProj ` diff --git a/build.sh b/build.sh index 309b97cc0944..92ef856d4759 100755 --- a/build.sh +++ b/build.sh @@ -29,6 +29,8 @@ build_installers='' build_projects='' target_arch='x64' configuration='' +dotnet_runtime_source_feed='' +dotnet_runtime_source_feed_key='' if [ "$(uname)" = "Darwin" ]; then target_os_name='osx' @@ -45,33 +47,36 @@ __usage() { echo "Usage: $(basename "${BASH_SOURCE[0]}") [options] [[--] ...] Arguments: - ... Arguments passed to the command. Variable number of arguments allowed. + ... Arguments passed to the command. Variable number of arguments allowed. Options: - --configuration|-c The build configuration (Debug, Release). Default=Debug - --arch The CPU architecture to build for (x64, arm, arm64). Default=$target_arch - --os-name The base runtime identifier to build for (linux, osx, linux-musl). Default=$target_os_name - - --[no-]restore Run restore. - --[no-]build Compile projects. (Implies --no-restore) - --[no-]pack Produce packages. - --[no-]test Run tests. - - --projects A list of projects to build. (Must be an absolute path.) - Globbing patterns are supported, such as \"$(pwd)/**/*.csproj\". - --no-build-deps Do not build project-to-project references and only build the specified project. - --no-build-repo-tasks Suppress building RepoTasks. - - --all Build all project types. - --[no-]build-native Build native projects (C, C++). - --[no-]build-managed Build managed projects (C#, F#, VB). - --[no-]build-nodejs Build NodeJS projects (TypeScript, JS). - --[no-]build-java Build Java projects. - --[no-]build-installers Build Java projects. - - --ci Apply CI specific settings and environment variables. - --binarylog|-bl Use a binary logger - --verbosity|-v MSBuild verbosity: q[uiet], m[inimal], n[ormal], d[etailed], and diag[nostic] + --configuration|-c The build configuration (Debug, Release). Default=Debug + --arch The CPU architecture to build for (x64, arm, arm64). Default=$target_arch + --os-name The base runtime identifier to build for (linux, osx, linux-musl). Default=$target_os_name + + --[no-]restore Run restore. + --[no-]build Compile projects. (Implies --no-restore) + --[no-]pack Produce packages. + --[no-]test Run tests. + + --projects A list of projects to build. (Must be an absolute path.) + Globbing patterns are supported, such as \"$(pwd)/**/*.csproj\". + --no-build-deps Do not build project-to-project references and only build the specified project. + --no-build-repo-tasks Suppress building RepoTasks. + + --all Build all project types. + --[no-]build-native Build native projects (C, C++). + --[no-]build-managed Build managed projects (C#, F#, VB). + --[no-]build-nodejs Build NodeJS projects (TypeScript, JS). + --[no-]build-java Build Java projects. + --[no-]build-installers Build Java projects. + + --ci Apply CI specific settings and environment variables. + --binarylog|-bl Use a binary logger + --verbosity|-v MSBuild verbosity: q[uiet], m[inimal], n[ormal], d[etailed], and diag[nostic] + + --dotnet-runtime-source-feed Additional feed that can be used when downloading .NET runtimes + --dotnet-runtime-source-feed-key Key for feed that can be used when downloading .NET runtimes Description: This build script installs required tools and runs an MSBuild command on this repository @@ -188,16 +193,26 @@ while [[ $# -gt 0 ]]; do -no-build-repo-tasks|-nobuildrepotasks) build_repo_tasks=false ;; + -arch) + shift + target_arch="${1:-}" + [ -z "$target_arch" ] && __error "Missing value for parameter --arch" && __usage + ;; -ci) ci=true ;; -binarylog|-bl) use_default_binary_log=true ;; - -verbosity|-v) + -dotnet-runtime-source-feed|-dotnetruntimesourcefeed) shift - [ -z "${1:-}" ] && __error "Missing value for parameter --verbosity" && __usage - verbosity="${1:-}" + [ -z "${1:-}" ] && __error "Missing value for parameter --dotnet-runtime-source-feed" && __usage + dotnet_runtime_source_feed="${1:-}" + ;; + -dotnet-runtime-source-feed-key|-dotnetruntimesourcefeedkey) + shift + [ -z "${1:-}" ] && __error "Missing value for parameter --dotnet-runtime-source-feed-key" && __usage + dotnet_runtime_source_feed_key="${1:-}" ;; *) msbuild_args[${#msbuild_args[*]}]="$1" @@ -270,6 +285,17 @@ msbuild_args[${#msbuild_args[*]}]="-p:Configuration=$configuration" echo "Setting msbuild verbosity to $verbosity" msbuild_args[${#msbuild_args[*]}]="-verbosity:$verbosity" +# Set up additional runtime args +toolset_build_args=() +if [ ! -z "$dotnet_runtime_source_feed" ] || [ ! -z "$dotnet_runtime_source_feed_key" ]; then + runtimeFeedArg="/p:DotNetRuntimeSourceFeed=$dotnet_runtime_source_feed" + runtimeFeedKeyArg="/p:DotNetRuntimeSourceFeedKey=$dotnet_runtime_source_feed_key" + msbuild_args[${#msbuild_args[*]}]=$runtimeFeedArg + msbuild_args[${#msbuild_args[*]}]=$runtimeFeedKeyArg + toolset_build_args[${#toolset_build_args[*]}]=$runtimeFeedArg + toolset_build_args[${#toolset_build_args[*]}]=$runtimeFeedKeyArg +fi + # Initialize global variables need to be set before the import of Arcade is imported restore=$run_restore @@ -325,7 +351,8 @@ if [ "$build_repo_tasks" = true ]; then -p:Configuration=Release \ -p:Restore=$run_restore \ -p:Build=true \ - -clp:NoSummary + -clp:NoSummary \ + ${toolset_build_args[@]+"${toolset_build_args[@]}"} fi # This incantation avoids unbound variable issues if msbuild_args is empty diff --git a/docs/PreparingPatchUpdates.md b/docs/PreparingPatchUpdates.md index ee153b4d031c..5b069cb4b04d 100644 --- a/docs/PreparingPatchUpdates.md +++ b/docs/PreparingPatchUpdates.md @@ -12,5 +12,3 @@ In order to prepare this repo to build a new servicing update, the following cha * Update the package baselines. This is used to ensure packages keep a consistent set of dependencies between releases. See [eng/tools/BaselineGenerator/](/eng/tools/BaselineGenerator/README.md) for instructions on how to run this tool. - -* Update the list of packages in [eng/PatchConfig.props](/eng/PatchConfig.props) to list which packages should be patching in this release. diff --git a/docs/ProjectProperties.md b/docs/ProjectProperties.md index 1a5a1c4eb427..24e186c28854 100644 --- a/docs/ProjectProperties.md +++ b/docs/ProjectProperties.md @@ -5,6 +5,8 @@ In addition to the standard set of MSBuild properties supported by Microsoft.NET Property name | Meaning -------------------|-------------------------------------------------------------------------------------------- -IsShippingPackage | When set to `true`, the package produced by from project is intended for use by customers. Defaults to `false`, which means the package is intended for internal use only by Microsoft teams. -IsAspNetCoreApp | Set to `true` when the assembly is part of the [Microsoft.AspNetCore.App shared framework](./SharedFramework.md) and is not available as a NuGet package (unless IsShippingPackage is also set to `true`). -TestDependsOnMssql | Set to `true` when your tests depends on SQL Server. This will ensure distribute tests on Helix install LocalDB ([more information on Helix](./Helix.md)). +IsPackable | Set to `true` when the project should produce a package. That package may or may not ship to customers (depending on `IsShippingPackage`). Defaults to `true` for analyzer and implementation projects; `false` otherwise. +IsShipping | Set to `true` when the project output is intended for use by customers. Defaults to `true` for analyzer, implementation and specification test projects; `false` otherwise. +IsShippingPackage | Set to `true` when a package produced from project is intended for use by customers. Defaults to `IsShipping`. Note this may be `true` even for projects with `IsPackable` set to `false`. +IsAspNetCoreApp | Set to `true` when the assembly is part of the [Microsoft.AspNetCore.App shared framework](./SharedFramework.md) and is not available as a NuGet package (unless `IsPackable` is also set to `true` -- the default). Defaults to `false`. +TestDependsOnMssql | Set to `true` when your tests depends on SQL Server. This will ensure distribute tests on Helix install LocalDB ([more information on Helix](./Helix.md)). Defaults to `false`. diff --git a/docs/ReferenceResolution.md b/docs/ReferenceResolution.md index 0c5d231bef27..d84215a6d365 100644 --- a/docs/ReferenceResolution.md +++ b/docs/ReferenceResolution.md @@ -31,7 +31,6 @@ The requirements that led to this system are: * [eng/Baseline.xml](/eng/Baseline.xml) - this contains the 'baseline' of the latest servicing release for this branch. It should be modified and used to update the generated file, Baseline.Designer.props. * [eng/Dependencies.props](/eng/Dependencies.props) - contains a list of all package references that might be used in the repo. -* [eng/PatchConfig.props](/eng/PatchConfig.props) - lists which assemblies or packages are patching in the current build. * [eng/ProjectReferences.props](/eng/ProjectReferences.props) - lists which assemblies or packages might be available to be referenced as a local project. * [eng/Versions.props](/eng/Versions.props) - contains a list of versions which may be updated by automation. This is used by MSBuild to restore and build. * [eng/Version.Details.xml](/eng/Version.Details.xml) - used by automation to update dependencies variables in other files. diff --git a/eng/Baseline.Designer.props b/eng/Baseline.Designer.props index b5c81965354d..beae2b6a595e 100644 --- a/eng/Baseline.Designer.props +++ b/eng/Baseline.Designer.props @@ -2,106 +2,106 @@ $(MSBuildAllProjects);$(MSBuildThisFileFullPath) - 3.1.0 + 3.1.2 - 3.0.0 + 3.0.2 - 3.0.0 + 3.0.2 - 3.1.0 + 3.1.1 - 3.1.0 + 3.1.1 - - - + + + - + - 3.1.0 + 3.1.1 - 3.1.0 + 3.1.1 - - + + - 3.1.0 + 3.1.1 - - + + - 3.1.0 + 3.1.1 - 3.1.0 + 3.1.1 - 3.1.0 + 3.1.1 - 3.1.0 + 3.1.1 - 3.1.0 + 3.1.1 - 3.1.0 + 3.1.1 - + - 3.1.0 + 3.1.1 - 3.1.0 + 3.1.1 - 3.1.0 + 3.1.1 @@ -109,39 +109,39 @@ - 3.1.0 + 3.1.1 - - - + + + - - - + + + - 3.1.0 + 3.1.1 - - + + - 3.1.0 + 3.1.1 - + - 3.1.0 + 3.1.1 - + @@ -186,273 +186,273 @@ - 3.1.0 + 3.1.1 - - - + + + - - - + + + - 3.1.0 + 3.1.1 - 3.1.0 + 3.1.1 - - + + - - + + - 3.1.0 + 3.1.1 - + - + - 3.1.0 + 3.1.1 - - - - + + + + - - - - + + + + - 3.1.0 + 3.1.1 - - + + - 3.1.0 + 3.1.1 - + - + - + - 3.1.0 + 3.1.1 - 3.1.0 + 3.1.1 - + - + - 3.1.0 + 3.1.1 - - - - - - + + + + + + - - - - - - + + + + + + - 3.1.0 + 3.1.1 - 3.1.0 + 3.1.1 - + - 3.1.0 + 3.1.1 - + - 3.1.0 + 3.1.1 - - + + - 3.1.0 + 3.1.1 - - + + - - + + - 3.1.0 + 3.1.1 - + - 3.1.0 + 3.1.1 - + - 3.1.0 + 3.1.1 - - + + - 3.1.0 + 3.1.1 - 3.1.0 + 3.1.1 - - - + + + - - - + + + - 3.1.0 + 3.1.1 - + - + - 3.1.0 + 3.1.1 - + - + - 3.1.0 + 3.1.1 - - + + - - + + - 3.1.0 + 3.1.1 - - - - + + + + - 3.1.0 + 3.1.1 - - + + - 3.1.0 + 3.1.1 @@ -460,236 +460,238 @@ - 3.1.0 + 3.1.1 - 3.1.0 + 3.1.1 - + - 3.1.0 + 3.1.1 - + - 3.1.0 + 3.1.1 - - - + + + - 3.1.0 + 3.1.1 - - - + + + - 3.1.0 + 3.1.1 - + - 3.1.0 + 3.1.1 - 3.1.0 + 3.1.1 - + - - + + - 3.1.0 + 3.1.1 - - + + - 3.1.0 + 3.1.1 - - + + - - + + - - - - + + + + - 3.1.0 + 3.1.1 - - + + - - + + - 3.1.0 + 3.1.1 - + - + - 3.1.0 + 3.1.1 - + - 3.1.0 + 3.1.1 - + - 3.1.0 + 3.1.1 - - - - + + + + - 3.1.0 + 3.1.1 - + - 3.1.0 + 3.1.1 - + - 3.1.0 + 3.1.1 - - + + - 3.1.0 + 3.1.1 - 3.1.0 + 3.1.1 - 3.1.0 + 3.1.1 - 3.1.0 + 3.1.1 - 3.1.0 + 3.1.1 - 3.1.0 + 3.1.1 - 3.1.0 + 3.1.1 - 3.1.0 + 3.1.1 - 3.1.0 + 3.1.1 - - - + + + - 3.1.0 + 3.1.1 - - - + + + - - - + + + - 3.1.0 + 3.1.1 - - + + + - - + + + \ No newline at end of file diff --git a/eng/Baseline.xml b/eng/Baseline.xml index 9a5276d72971..0954489adee2 100644 --- a/eng/Baseline.xml +++ b/eng/Baseline.xml @@ -4,86 +4,86 @@ This file contains a list of all the packages and their versions which were rele Update this list when preparing for a new patch. --> - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/eng/Build.props b/eng/Build.props index 876c87b6f4f8..58deebde93f9 100644 --- a/eng/Build.props +++ b/eng/Build.props @@ -141,6 +141,7 @@ $(RepoRoot)src\Servers\**\*.csproj; $(RepoRoot)src\Security\**\*.*proj; $(RepoRoot)src\SiteExtensions\Microsoft.Web.Xdt.Extensions\**\*.csproj; + $(RepoRoot)src\SiteExtensions\LoggingAggregate\test\**\*.csproj; $(RepoRoot)src\Shared\**\*.*proj; $(RepoRoot)src\Tools\**\*.*proj; $(RepoRoot)src\Middleware\**\*.csproj; @@ -159,7 +160,35 @@ @(ProjectToExclude); $(RepoRoot)**\node_modules\**\*; $(RepoRoot)**\bin\**\*; - $(RepoRoot)**\obj\**\*;" /> + $(RepoRoot)**\obj\**\*;" + Condition=" '$(BuildMainlyReferenceProviders)' != 'true' " /> + diff --git a/eng/CodeGen.proj b/eng/CodeGen.proj index e2b6785f30d0..72c13a69ba5c 100644 --- a/eng/CodeGen.proj +++ b/eng/CodeGen.proj @@ -3,6 +3,7 @@ true $([MSBuild]::NormalizeDirectory('$(MSBuildThisFileDirectory)', '..')) + true @@ -15,13 +16,12 @@ BuildInParallel="true" SkipNonexistentTargets="true" SkipNonexistentProjects="true" > - - <_SharedFrameworkAndPackageRef Include="@(_ProjectReferenceProvider->WithMetadataValue('IsAspNetCoreApp','true')->WithMetadataValue('IsShippingPackage', 'true')->Distinct())" /> - <_SharedFrameworkRef Include="@(_ProjectReferenceProvider->WithMetadataValue('IsAspNetCoreApp','true')->WithMetadataValue('IsShippingPackage', 'false')->Distinct())" /> + <_SharedFrameworkAndPackageRef Include="@(_ProjectReferenceProvider->WithMetadataValue('IsAspNetCoreApp','true')->WithMetadataValue('IsPackable', 'true')->Distinct())" /> + <_SharedFrameworkRef Include="@(_ProjectReferenceProvider->WithMetadataValue('IsAspNetCoreApp','true')->WithMetadataValue('IsPackable', 'false')->Distinct())" /> <_ProjectReferenceProviderWithRefAssembly Include="@(_ProjectReferenceProvider->HasMetadata('ReferenceAssemblyProjectFileRelativePath'))" /> <_ProjectReferenceProvider Remove="@(_ProjectReferenceProviderWithRefAssembly)" /> @@ -58,7 +58,7 @@ This file contains a complete list of the assemblies which are part of the shared framework. - This project is generated using the and properties from each .csproj in this repository. + This project is generated using the and properties from each .csproj in this repository. --> @@ -85,4 +85,4 @@ SkipNonexistentProjects="true" /> - \ No newline at end of file + diff --git a/eng/Dependencies.props b/eng/Dependencies.props index 2bedb5af612d..6a577b9fdefb 100644 --- a/eng/Dependencies.props +++ b/eng/Dependencies.props @@ -82,12 +82,14 @@ and are generated based on the last package release. + + @@ -99,6 +101,7 @@ and are generated based on the last package release. + diff --git a/eng/PatchConfig.props b/eng/PatchConfig.props deleted file mode 100644 index 60adba37fa3f..000000000000 --- a/eng/PatchConfig.props +++ /dev/null @@ -1,28 +0,0 @@ - - - - $(MSBuildAllProjects);$(MSBuildThisFileFullPath) - - - - - Microsoft.Net.Http.Headers; - Microsoft.AspNetCore.CookiePolicy; - Microsoft.AspNetCore.DataProtection.EntityFrameworkCore; - @microsoft/signalr; - Microsoft.Net.Http.Headers; - Microsoft.AspNetCore.Http.Abstractions; - Microsoft.AspNetCore.Http.Features; - Microsoft.AspNetCore.CookiePolicy; - - - diff --git a/eng/PoliCheckExclusions.xml b/eng/PoliCheckExclusions.xml index 73e3072f1c65..49b67cd50f78 100644 --- a/eng/PoliCheckExclusions.xml +++ b/eng/PoliCheckExclusions.xml @@ -1,3 +1,3 @@ - LINUX_TEST_RESULTS|MACOS_TEST_RESULTS|WINDOWS_TEST_RESULTS - \ No newline at end of file + LINUX_TEST_RESULTS|MACOS_TEST_RESULTS|WINDOWS_TEST_RESULTS|LINUX_TEST_LOGS|MACOS_TEST_LOGS|WINDOWS_TEST_LOGS|WINDOWS_TEST_TEMPLATES_LOGS + diff --git a/eng/ProjectReferences.props b/eng/ProjectReferences.props index 8d1040b1575c..feebe6e3ffcf 100644 --- a/eng/ProjectReferences.props +++ b/eng/ProjectReferences.props @@ -5,39 +5,74 @@ --> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - @@ -46,62 +81,40 @@ - - - - - - - - - - - - - - - - - - - - - - @@ -114,32 +127,18 @@ - - - - - - - - - - - - - - diff --git a/eng/Publishing.props b/eng/Publishing.props index aa5294832a3c..ba728e1f71e4 100644 --- a/eng/Publishing.props +++ b/eng/Publishing.props @@ -30,8 +30,11 @@ - - + diff --git a/eng/SharedFramework.Local.props b/eng/SharedFramework.Local.props index 5f09d593dea4..ddfe60ecfb73 100644 --- a/eng/SharedFramework.Local.props +++ b/eng/SharedFramework.Local.props @@ -3,7 +3,7 @@ This file contains a complete list of the assemblies which are part of the shared framework. - This project is generated using the and properties from each .csproj in this repository. + This project is generated using the and properties from each .csproj in this repository. --> diff --git a/eng/SignCheckExclusionsFile.txt b/eng/SignCheckExclusionsFile.txt index e047f630ec5a..a65b9f27f9b0 100644 --- a/eng/SignCheckExclusionsFile.txt +++ b/eng/SignCheckExclusionsFile.txt @@ -1,4 +1,5 @@ -apphost.exe;; Exclude the apphost because this is expected to be code-signed by customers after the SDK modifies it. -.js;; We do not sign JavaScript files. -.binlog;; MSBuild binary logs are not signed though they are sometimes placed where validation thinks they should be. -WixUIWixca|WixDepCA;; We do not sign WiX content in our installers. +*apphost.exe;; Exclude the apphost because this is expected to be code-signed by customers after the SDK modifies it. +*.binlog;; MSBuild binary logs are not signed though they are sometimes placed where validation thinks they should be. +*.js;; We do not sign JavaScript files. +*netfxca|*wixca|*wixdepca|*wixuiwixca;*.msi; We do not sign WiX content in our installers. +*wixstdba.dll;*.exe; diff --git a/eng/Versions.props b/eng/Versions.props index 91bac37df5d2..138de3c19f37 100644 --- a/eng/Versions.props +++ b/eng/Versions.props @@ -17,6 +17,8 @@ release preview Preview $(PreReleaseVersionIteration) + true + false $(AspNetCoreMajorVersion).$(AspNetCoreMinorVersion) false @@ -31,7 +33,7 @@ $(VersionPrefix) - $(AspNetCoreMajorVersion).$(AspNetCoreMinorVersion).0 + $(AspNetCoreMajorVersion).$(AspNetCoreMinorVersion).0 0.3.$(AspNetCorePatchVersion) $([MSBuild]::Add(10, $(AspNetCoreMajorVersion))) @@ -234,7 +236,7 @@ 4.2.1 4.2.1 3.8.0 - 2.23.2 + 2.27.0 3.0.0 3.0.0 3.0.0 @@ -266,5 +268,6 @@ https://dotnetcli.blob.core.windows.net/dotnet/ + https://dotnetclimsrc.blob.core.windows.net/dotnet/ diff --git a/eng/Workarounds.targets b/eng/Workarounds.targets index 1e54db80e55f..0e2159fd3c25 100644 --- a/eng/Workarounds.targets +++ b/eng/Workarounds.targets @@ -67,4 +67,15 @@ + + + + + + + + diff --git a/eng/scripts/CodeCheck.ps1 b/eng/scripts/CodeCheck.ps1 index 474d8e2e81a0..c48d2e796cd9 100644 --- a/eng/scripts/CodeCheck.ps1 +++ b/eng/scripts/CodeCheck.ps1 @@ -4,7 +4,11 @@ This script runs a quick check for common errors, such as checking that Visual Studio solutions are up to date or that generated code has been committed to source. #> param( - [switch]$ci + [switch]$ci, + # Optional arguments that enable downloading an internal + # runtime or runtime from a non-default location + [string]$DotNetRuntimeSourceFeed, + [string]$DotNetRuntimeSourceFeedKey ) $ErrorActionPreference = 'Stop' @@ -43,7 +47,12 @@ function LogError { try { if ($ci) { # Install dotnet.exe - & $repoRoot/restore.cmd -ci -NoBuildNodeJS + if ($DotNetRuntimeSourceFeed -or $DotNetRuntimeSourceFeedKey) { + & $repoRoot/restore.cmd -ci -NoBuildNodeJS -DotNetRuntimeSourceFeed $DotNetRuntimeSourceFeed -DotNetRuntimeSourceFeedKey $DotNetRuntimeSourceFeedKey + } + else{ + & $repoRoot/restore.cmd -ci -NoBuildNodeJS + } } . "$repoRoot/activate.ps1" @@ -172,12 +181,13 @@ try { # Redirect stderr to stdout because PowerShell does not consistently handle output to stderr $changedFiles = & cmd /c 'git --no-pager diff --ignore-space-change --name-only 2>nul' - # Temporary: Disable check for blazor js file - $changedFilesExclusion = "src/Components/Web.JS/dist/Release/blazor.server.js" + # Temporary: Disable check for blazor js file and nuget.config (updated automatically for + # internal builds) + $changedFilesExclusions = @("src/Components/Web.JS/dist/Release/blazor.server.js", "NuGet.config") if ($changedFiles) { foreach ($file in $changedFiles) { - if ($file -eq $changedFilesExclusion) {continue} + if ($changedFilesExclusions -contains $file) {continue} $filePath = Resolve-Path "${repoRoot}/${file}" LogError "Generated code is not up to date in $file. You might need to regenerate the reference assemblies or project list (see docs/ReferenceAssemblies.md and docs/ReferenceResolution.md)" -filepath $filePath & git --no-pager diff --ignore-space-change $filePath diff --git a/eng/scripts/ci-source-build.sh b/eng/scripts/ci-source-build.sh index dd737ac47317..468f74975193 100755 --- a/eng/scripts/ci-source-build.sh +++ b/eng/scripts/ci-source-build.sh @@ -9,10 +9,34 @@ set -euo pipefail scriptroot="$( cd -P "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" reporoot="$(dirname "$(dirname "$scriptroot")")" +# +# This commented out section is used for servicing branches +# +# For local development, make a backup copy of this file first +# if [ ! -f "$reporoot/global.bak.json" ]; then +# mv "$reporoot/global.json" "$reporoot/global.bak.json" +# fi + +# Detect the current version of .NET Core installed +# export SDK_VERSION=$(dotnet --version) +# echo "The ambient version of .NET Core SDK version = $SDK_VERSION" + +# Update the global.json file to match the current .NET environment +# cat "$reporoot/global.bak.json" | \ +# jq '.sdk.version=env.SDK_VERSION' | \ +# jq '.tools.dotnet=env.SDK_VERSION' | \ +# jq 'del(.tools.runtimes)' \ +# > "$reporoot/global.json" + +# Restore the original global.json file +#trap "{ +# mv "$reporoot/global.bak.json" "$reporoot/global.json" +#}" EXIT + # Build repo tasks "$reporoot/eng/common/build.sh" --restore --build --ci --configuration Release /p:ProjectToBuild=$reporoot/eng/tools/RepoTasks/RepoTasks.csproj export DotNetBuildFromSource='true' # Build projects -"$reporoot/eng/common/build.sh" --restore --build --pack "$@" +"$reporoot/eng/common/build.sh" --restore --build --pack "$@" \ No newline at end of file diff --git a/eng/targets/Packaging.targets b/eng/targets/Packaging.targets index fdef1de7a324..ea8dabdb4675 100644 --- a/eng/targets/Packaging.targets +++ b/eng/targets/Packaging.targets @@ -13,7 +13,7 @@ <_ProjectPathWithVersion Include="$(MSBuildProjectFullPath)"> $(PackageId) - $(PackageVersion) + $(PackageVersionForPackageVersionInfo) $(VersionSuffix) $(PackageId.Replace('.',''))PackageVersion diff --git a/eng/targets/ReferenceAssembly.targets b/eng/targets/ReferenceAssembly.targets index 149d4e244375..84076d9a414c 100644 --- a/eng/targets/ReferenceAssembly.targets +++ b/eng/targets/ReferenceAssembly.targets @@ -1,6 +1,6 @@ - + <_RefSourceOutputPath>$([System.IO.Directory]::GetParent('$(MSBuildProjectDirectory)'))/ref/ <_RefProjectFileOutputPath>$(_RefSourceOutputPath)$(AssemblyName).csproj @@ -13,8 +13,8 @@ + Targets="_GenerateProjectSourceInner" + Properties="TargetFramework=%(_DeduplicatedTargetFramework.Identity);CompileUsingReferenceAssemblies=false"> @@ -23,27 +23,31 @@ + <_TargetFrameworkOverride /> + <_TargetFrameworkOverride + Condition=" @(_ResultTargetFramework->Count()) > 1 ">%0A <TargetFrameworks Condition="'%24(DotNetBuildFromSource)' == 'true'">%24(DefaultNetCoreTargetFramework)</TargetFrameworks> - @(_ResultTargetFramework) + @(_ResultTargetFramework)$(_TargetFrameworkOverride) @(ProjectListContentItem->'%(Identity)', '%0A') ]]> - - - + - + <_RefSourceFileTFM>$(TargetFramework) <_RefSourceFileTFM Condition="$(TargetFramework.StartsWith('netcoreapp'))">netcoreapp @@ -53,6 +57,7 @@ <_RefSourceOutputPath>$([System.IO.Directory]::GetParent('$(MSBuildProjectDirectory)'))/ref/ <_RefSourceFileName>$(AssemblyName).$(_RefSourceFileTFM).cs <_ManualRefSourceFileName>$(AssemblyName).Manual.cs + <_PerTFMManualRefSourceFileName>$(AssemblyName).$(_RefSourceFileTFM).Manual.cs <_RefSourceFileOutputPath>$(_RefSourceOutputPath)$(_RefSourceFileName) @@ -63,8 +68,11 @@ <_GenApiFile>$([MSBuild]::NormalizePath('$(ArtifactsDir)', 'log', 'GenAPI.rsp')) - <_GenAPICommand Condition="'$(MSBuildRuntimeType)' == 'core'">"$(DotNetTool)" --roll-forward-on-no-candidate-fx 2 "$(_GenAPIPath)" + <_GenAPICommand + Condition="'$(MSBuildRuntimeType)' == 'core'">"$(DotNetTool)" --roll-forward-on-no-candidate-fx 2 "$(_GenAPIPath)" <_GenAPICmd>$(_GenAPICommand) @"$(_GenApiFile)" + <_GenAPICmd + Condition=" '$(AdditionalGenApiCmdOptions)' != '' ">$(_GenAPICmd) $(AdditionalGenApiCmdOptions) <_GenApiArguments> - + <_ReferenceAssemblyCompileItems Include="$(_RefSourceFileName)" /> + <_ReferenceAssemblyCompileItems Include="$(_ManualRefSourceFileName)" + Condition="Exists('$(_RefSourceOutputPath)$(_ManualRefSourceFileName)')" /> + <_ReferenceAssemblyCompileItems Include="$(_PerTFMManualRefSourceFileName)" + Condition="Exists('$(_RefSourceOutputPath)$(_PerTFMManualRefSourceFileName)')" /> + <_ReferenceAssemblyCompileItems Include="../src/AssemblyInfo.cs" + Condition="Exists('$(MSBuildProjectDirectory)/AssemblyInfo.cs')" /> + <_ReferenceAssemblyCompileItems Include="../src/Properties/AssemblyInfo.cs" + Condition="Exists('$(MSBuildProjectDirectory)/Properties/AssemblyInfo.cs')" /> + + + <_ReferenceAssemblyItems + Include="@(_ReferenceAssemblyCompileItems->'<Compile Include="%(Identity)" />')" /> + <_ReferenceAssemblyItems + Include="@(FilteredOriginalReferences->'<Reference Include="%(Identity)" />')" + Condition=" '@(FilteredOriginalReferences)' != '' " /> + + <_ReferenceAssemblyItems + Include="@(InternalsVisibleTo->'<InternalsVisibleTo Include="%(Identity)" Key="%(Key)" />')" + Condition=" '@(InternalsVisibleTo)' != '' " /> - <_ManualReferenceAssemblyContent /> - <_ManualReferenceAssemblyContent Condition="Exists('$(_RefSourceOutputPath)$(_ManualRefSourceFileName)')"> - ]]> - - - ]]>$(_ManualReferenceAssemblyContent)'', '%0A ') + @(_ReferenceAssemblyItems, '%0A ') ]]> diff --git a/eng/targets/ResolveReferences.targets b/eng/targets/ResolveReferences.targets index 4efbe58e9769..9762a9380ec5 100644 --- a/eng/targets/ResolveReferences.targets +++ b/eng/targets/ResolveReferences.targets @@ -210,6 +210,24 @@ Text="Could not resolve this reference. Could not locate the package or project for "%(Reference.Identity)". Did you update baselines and dependencies lists? See docs/ReferenceResolution.md for more details." /> + + <_CompileTfmUsingReferenceAssemblies>false + <_CompileTfmUsingReferenceAssemblies + Condition=" '$(CompileUsingReferenceAssemblies)' != false AND '$(TargetFramework)' == '$(DefaultNetCoreTargetFramework)' ">true + + + + + + @@ -237,7 +255,7 @@ $([MSBuild]::ValueOrDefault($(IsAspNetCoreApp),'false')) - $([MSBuild]::ValueOrDefault($(IsShippingPackage),'false')) + $([MSBuild]::ValueOrDefault($(IsPackable),'false')) $([MSBuild]::MakeRelative($(RepoRoot), $(MSBuildProjectFullPath))) $(ReferenceAssemblyProjectFileRelativePath) @@ -269,4 +287,4 @@ - + \ No newline at end of file diff --git a/eng/tools/RepoTasks/DownloadFile.cs b/eng/tools/RepoTasks/DownloadFile.cs new file mode 100644 index 000000000000..7ba2602d0ce6 --- /dev/null +++ b/eng/tools/RepoTasks/DownloadFile.cs @@ -0,0 +1,149 @@ +// Copyright (c) .NET Foundation and contributors. All rights reserved. +// Licensed under the MIT license. See LICENSE file in the project root for full license information. + +using System; +using System.IO; +using System.Net; +using System.Net.Http; +using System.Threading.Tasks; +using System.Collections.Generic; +using Microsoft.Build.Framework; +using Microsoft.Build.Utilities; + +namespace RepoTasks +{ + public class DownloadFile : Microsoft.Build.Utilities.Task + { + [Required] + public string Uri { get; set; } + + /// + /// If this field is set and the task fail to download the file from `Uri`, with a NotFound + /// status, it will try to download the file from `PrivateUri`. + /// + public string PrivateUri { get; set; } + + /// + /// Suffix for the private URI in base64 form (for SAS compatibility) + /// + public string PrivateUriSuffix { get; set; } + + public int MaxRetries { get; set; } = 5; + + [Required] + public string DestinationPath { get; set; } + + public bool Overwrite { get; set; } + + public override bool Execute() + { + return ExecuteAsync().GetAwaiter().GetResult(); + } + + private async System.Threading.Tasks.Task ExecuteAsync() + { + string destinationDir = Path.GetDirectoryName(DestinationPath); + if (!Directory.Exists(destinationDir)) + { + Directory.CreateDirectory(destinationDir); + } + + if (File.Exists(DestinationPath) && !Overwrite) + { + return true; + } + + const string FileUriProtocol = "file://"; + + if (Uri.StartsWith(FileUriProtocol, StringComparison.Ordinal)) + { + var filePath = Uri.Substring(FileUriProtocol.Length); + Log.LogMessage($"Copying '{filePath}' to '{DestinationPath}'"); + File.Copy(filePath, DestinationPath); + return true; + } + + List errorMessages = new List(); + bool? downloadStatus = await DownloadWithRetriesAsync(Uri, DestinationPath, errorMessages); + + if (downloadStatus == false && !string.IsNullOrEmpty(PrivateUri)) + { + string uriSuffix = ""; + if (!string.IsNullOrEmpty(PrivateUriSuffix)) + { + var uriSuffixBytes = System.Convert.FromBase64String(PrivateUriSuffix); + uriSuffix = System.Text.Encoding.UTF8.GetString(uriSuffixBytes); + } + downloadStatus = await DownloadWithRetriesAsync($"{PrivateUri}{uriSuffix}", DestinationPath, errorMessages); + } + + if (downloadStatus != true) + { + foreach (var error in errorMessages) + { + Log.LogError(error); + } + } + + return downloadStatus == true; + } + + /// + /// Attempt to download file from `source` with retries when response error is different of FileNotFound and Success. + /// + /// URL to the file to be downloaded. + /// Local path where to put the downloaded file. + /// true: Download Succeeded. false: Download failed with 404. null: Download failed but is retriable. + private async Task DownloadWithRetriesAsync(string source, string target, List errorMessages) + { + Random rng = new Random(); + + Log.LogMessage(MessageImportance.High, $"Attempting download '{source}' to '{target}'"); + + using (var httpClient = new HttpClient()) + { + for (int retryNumber = 0; retryNumber < MaxRetries; retryNumber++) + { + try + { + var httpResponse = await httpClient.GetAsync(source); + + Log.LogMessage(MessageImportance.High, $"{source} -> {httpResponse.StatusCode}"); + + // The Azure Storage REST API returns '400 - Bad Request' in some cases + // where the resource is not found on the storage. + // https://docs.microsoft.com/en-us/rest/api/storageservices/common-rest-api-error-codes + if (httpResponse.StatusCode == HttpStatusCode.NotFound || + httpResponse.ReasonPhrase.IndexOf("The requested URI does not represent any resource on the server.", StringComparison.OrdinalIgnoreCase) == 0) + { + errorMessages.Add($"Problems downloading file from '{source}'. Does the resource exist on the storage? {httpResponse.StatusCode} : {httpResponse.ReasonPhrase}"); + return false; + } + + httpResponse.EnsureSuccessStatusCode(); + + using (var outStream = File.Create(target)) + { + await httpResponse.Content.CopyToAsync(outStream); + } + + Log.LogMessage(MessageImportance.High, $"returning true {source} -> {httpResponse.StatusCode}"); + return true; + } + catch (Exception e) + { + Log.LogMessage(MessageImportance.High, $"returning error in {source} "); + errorMessages.Add($"Problems downloading file from '{source}'. {e.Message} {e.StackTrace}"); + File.Delete(target); + } + + await System.Threading.Tasks.Task.Delay(rng.Next(1000, 10000)); + } + } + + Log.LogMessage(MessageImportance.High, $"giving up {source} "); + errorMessages.Add($"Giving up downloading the file from '{source}' after {MaxRetries} retries."); + return null; + } + } +} \ No newline at end of file diff --git a/eng/tools/RepoTasks/RepoTasks.tasks b/eng/tools/RepoTasks/RepoTasks.tasks index 0fa015d81f0a..631944feea73 100644 --- a/eng/tools/RepoTasks/RepoTasks.tasks +++ b/eng/tools/RepoTasks/RepoTasks.tasks @@ -10,4 +10,5 @@ + diff --git a/src/Analyzers/Analyzers/test/AnalyzerTestBase.cs b/src/Analyzers/Analyzers/test/AnalyzerTestBase.cs index 4e396cbceaa9..eb748f2ab369 100644 --- a/src/Analyzers/Analyzers/test/AnalyzerTestBase.cs +++ b/src/Analyzers/Analyzers/test/AnalyzerTestBase.cs @@ -39,7 +39,7 @@ public Project CreateProject(string source) } var read = Read(source); - return DiagnosticProject.Create(GetType().Assembly, new[] { read.Source, }); + return AnalyzersDiagnosticAnalyzerRunner.CreateProjectWithReferencesInBinDir(GetType().Assembly, new[] { read.Source, }); } public Task CreateCompilationAsync(string source) diff --git a/src/Analyzers/Analyzers/test/AnalyzersDiagnosticAnalyzerRunner.cs b/src/Analyzers/Analyzers/test/AnalyzersDiagnosticAnalyzerRunner.cs index 57a8ce8a697f..f54a187c0e7e 100644 --- a/src/Analyzers/Analyzers/test/AnalyzersDiagnosticAnalyzerRunner.cs +++ b/src/Analyzers/Analyzers/test/AnalyzersDiagnosticAnalyzerRunner.cs @@ -2,6 +2,9 @@ // Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. using System; +using System.IO; +using System.Linq; +using System.Reflection; using System.Threading.Tasks; using Microsoft.AspNetCore.Analyzer.Testing; using Microsoft.CodeAnalysis; @@ -20,7 +23,28 @@ public AnalyzersDiagnosticAnalyzerRunner(DiagnosticAnalyzer analyzer) public Task GetDiagnosticsAsync(string source) { - return GetDiagnosticsAsync(sources: new[] { source }, Analyzer, Array.Empty()); + var project = CreateProjectWithReferencesInBinDir(GetType().Assembly, source); + + return GetDiagnosticsAsync(project); + } + + public static Project CreateProjectWithReferencesInBinDir(Assembly testAssembly, params string[] source) + { + // The deps file in the project is incorrect and does not contain "compile" nodes for some references. + // However these binaries are always present in the bin output. As a "temporary" workaround, we'll add + // every dll file that's present in the test's build output as a metadatareference. + + var project = DiagnosticProject.Create(testAssembly, source); + + foreach (var assembly in Directory.EnumerateFiles(AppContext.BaseDirectory, "*.dll")) + { + if (!project.MetadataReferences.Any(c => string.Equals(Path.GetFileNameWithoutExtension(c.Display), Path.GetFileNameWithoutExtension(assembly), StringComparison.OrdinalIgnoreCase))) + { + project = project.AddMetadataReference(MetadataReference.CreateFromFile(assembly)); + } + } + + return project; } public Task GetDiagnosticsAsync(Project project) diff --git a/src/Antiforgery/ref/Microsoft.AspNetCore.Antiforgery.Manual.cs b/src/Antiforgery/ref/Microsoft.AspNetCore.Antiforgery.Manual.cs new file mode 100644 index 000000000000..10c1b0e282e0 --- /dev/null +++ b/src/Antiforgery/ref/Microsoft.AspNetCore.Antiforgery.Manual.cs @@ -0,0 +1,147 @@ +// Copyright (c) .NET Foundation. All rights reserved. +// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. + +namespace Microsoft.AspNetCore.Antiforgery +{ + internal partial class AntiforgeryFeature : Microsoft.AspNetCore.Antiforgery.IAntiforgeryFeature + { + public AntiforgeryFeature() { } + public Microsoft.AspNetCore.Antiforgery.AntiforgeryToken CookieToken { [System.Runtime.CompilerServices.CompilerGeneratedAttribute]get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute]set { } } + public bool HaveDeserializedCookieToken { [System.Runtime.CompilerServices.CompilerGeneratedAttribute]get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute]set { } } + public bool HaveDeserializedRequestToken { [System.Runtime.CompilerServices.CompilerGeneratedAttribute]get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute]set { } } + public bool HaveGeneratedNewCookieToken { [System.Runtime.CompilerServices.CompilerGeneratedAttribute]get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute]set { } } + public bool HaveStoredNewCookieToken { [System.Runtime.CompilerServices.CompilerGeneratedAttribute]get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute]set { } } + public Microsoft.AspNetCore.Antiforgery.AntiforgeryToken NewCookieToken { [System.Runtime.CompilerServices.CompilerGeneratedAttribute]get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute]set { } } + public string NewCookieTokenString { [System.Runtime.CompilerServices.CompilerGeneratedAttribute]get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute]set { } } + public Microsoft.AspNetCore.Antiforgery.AntiforgeryToken NewRequestToken { [System.Runtime.CompilerServices.CompilerGeneratedAttribute]get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute]set { } } + public string NewRequestTokenString { [System.Runtime.CompilerServices.CompilerGeneratedAttribute]get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute]set { } } + public Microsoft.AspNetCore.Antiforgery.AntiforgeryToken RequestToken { [System.Runtime.CompilerServices.CompilerGeneratedAttribute]get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute]set { } } + } + + internal partial class AntiforgerySerializationContext + { + public AntiforgerySerializationContext() { } + public System.IO.BinaryReader Reader { get { throw null; } } + public System.Security.Cryptography.SHA256 Sha256 { get { throw null; } } + public System.IO.MemoryStream Stream { get { throw null; } } + public System.IO.BinaryWriter Writer { get { throw null; } } + public char[] GetChars(int count) { throw null; } + public void Reset() { } + } + + internal partial class AntiforgerySerializationContextPooledObjectPolicy : Microsoft.Extensions.ObjectPool.IPooledObjectPolicy + { + public AntiforgerySerializationContextPooledObjectPolicy() { } + public Microsoft.AspNetCore.Antiforgery.AntiforgerySerializationContext Create() { throw null; } + public bool Return(Microsoft.AspNetCore.Antiforgery.AntiforgerySerializationContext obj) { throw null; } + } + + internal sealed partial class AntiforgeryToken + { + internal const int ClaimUidBitLength = 256; + internal const int SecurityTokenBitLength = 128; + public AntiforgeryToken() { } + public string AdditionalData { get { throw null; } set { } } + public Microsoft.AspNetCore.Antiforgery.BinaryBlob ClaimUid { [System.Runtime.CompilerServices.CompilerGeneratedAttribute]get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute]set { } } + public bool IsCookieToken { [System.Runtime.CompilerServices.CompilerGeneratedAttribute]get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute]set { } } + public Microsoft.AspNetCore.Antiforgery.BinaryBlob SecurityToken { get { throw null; } set { } } + public string Username { get { throw null; } set { } } + } + + [System.Diagnostics.DebuggerDisplayAttribute("{DebuggerString}")] + internal sealed partial class BinaryBlob : System.IEquatable + { + public BinaryBlob(int bitLength) { } + public BinaryBlob(int bitLength, byte[] data) { } + public int BitLength { get { throw null; } } + public bool Equals(Microsoft.AspNetCore.Antiforgery.BinaryBlob other) { throw null; } + public override bool Equals(object obj) { throw null; } + public byte[] GetData() { throw null; } + public override int GetHashCode() { throw null; } + } + + internal partial class DefaultAntiforgery : Microsoft.AspNetCore.Antiforgery.IAntiforgery + { + public DefaultAntiforgery(Microsoft.Extensions.Options.IOptions antiforgeryOptionsAccessor, Microsoft.AspNetCore.Antiforgery.IAntiforgeryTokenGenerator tokenGenerator, Microsoft.AspNetCore.Antiforgery.IAntiforgeryTokenSerializer tokenSerializer, Microsoft.AspNetCore.Antiforgery.IAntiforgeryTokenStore tokenStore, Microsoft.Extensions.Logging.ILoggerFactory loggerFactory) { } + public Microsoft.AspNetCore.Antiforgery.AntiforgeryTokenSet GetAndStoreTokens(Microsoft.AspNetCore.Http.HttpContext httpContext) { throw null; } + public Microsoft.AspNetCore.Antiforgery.AntiforgeryTokenSet GetTokens(Microsoft.AspNetCore.Http.HttpContext httpContext) { throw null; } + [System.Diagnostics.DebuggerStepThroughAttribute] + public System.Threading.Tasks.Task IsRequestValidAsync(Microsoft.AspNetCore.Http.HttpContext httpContext) { throw null; } + public void SetCookieTokenAndHeader(Microsoft.AspNetCore.Http.HttpContext httpContext) { } + protected virtual void SetDoNotCacheHeaders(Microsoft.AspNetCore.Http.HttpContext httpContext) { } + [System.Diagnostics.DebuggerStepThroughAttribute] + public System.Threading.Tasks.Task ValidateRequestAsync(Microsoft.AspNetCore.Http.HttpContext httpContext) { throw null; } + } + + internal partial class DefaultAntiforgeryTokenGenerator : Microsoft.AspNetCore.Antiforgery.IAntiforgeryTokenGenerator + { + public DefaultAntiforgeryTokenGenerator(Microsoft.AspNetCore.Antiforgery.IClaimUidExtractor claimUidExtractor, Microsoft.AspNetCore.Antiforgery.IAntiforgeryAdditionalDataProvider additionalDataProvider) { } + public Microsoft.AspNetCore.Antiforgery.AntiforgeryToken GenerateCookieToken() { throw null; } + public Microsoft.AspNetCore.Antiforgery.AntiforgeryToken GenerateRequestToken(Microsoft.AspNetCore.Http.HttpContext httpContext, Microsoft.AspNetCore.Antiforgery.AntiforgeryToken cookieToken) { throw null; } + public bool IsCookieTokenValid(Microsoft.AspNetCore.Antiforgery.AntiforgeryToken cookieToken) { throw null; } + public bool TryValidateTokenSet(Microsoft.AspNetCore.Http.HttpContext httpContext, Microsoft.AspNetCore.Antiforgery.AntiforgeryToken cookieToken, Microsoft.AspNetCore.Antiforgery.AntiforgeryToken requestToken, out string message) { throw null; } + } + + internal partial class DefaultAntiforgeryTokenSerializer : Microsoft.AspNetCore.Antiforgery.IAntiforgeryTokenSerializer + { + public DefaultAntiforgeryTokenSerializer(Microsoft.AspNetCore.DataProtection.IDataProtectionProvider provider, Microsoft.Extensions.ObjectPool.ObjectPool pool) { } + public Microsoft.AspNetCore.Antiforgery.AntiforgeryToken Deserialize(string serializedToken) { throw null; } + public string Serialize(Microsoft.AspNetCore.Antiforgery.AntiforgeryToken token) { throw null; } + } + + internal partial class DefaultAntiforgeryTokenStore : Microsoft.AspNetCore.Antiforgery.IAntiforgeryTokenStore + { + public DefaultAntiforgeryTokenStore(Microsoft.Extensions.Options.IOptions optionsAccessor) { } + public string GetCookieToken(Microsoft.AspNetCore.Http.HttpContext httpContext) { throw null; } + [System.Diagnostics.DebuggerStepThroughAttribute] + public System.Threading.Tasks.Task GetRequestTokensAsync(Microsoft.AspNetCore.Http.HttpContext httpContext) { throw null; } + public void SaveCookieToken(Microsoft.AspNetCore.Http.HttpContext httpContext, string token) { } + } + + internal partial class DefaultClaimUidExtractor : Microsoft.AspNetCore.Antiforgery.IClaimUidExtractor + { + public DefaultClaimUidExtractor(Microsoft.Extensions.ObjectPool.ObjectPool pool) { } + public string ExtractClaimUid(System.Security.Claims.ClaimsPrincipal claimsPrincipal) { throw null; } + public static System.Collections.Generic.IList GetUniqueIdentifierParameters(System.Collections.Generic.IEnumerable claimsIdentities) { throw null; } + } + + internal partial interface IAntiforgeryFeature + { + Microsoft.AspNetCore.Antiforgery.AntiforgeryToken CookieToken { get; set; } + bool HaveDeserializedCookieToken { get; set; } + bool HaveDeserializedRequestToken { get; set; } + bool HaveGeneratedNewCookieToken { get; set; } + bool HaveStoredNewCookieToken { get; set; } + Microsoft.AspNetCore.Antiforgery.AntiforgeryToken NewCookieToken { get; set; } + string NewCookieTokenString { get; set; } + Microsoft.AspNetCore.Antiforgery.AntiforgeryToken NewRequestToken { get; set; } + string NewRequestTokenString { get; set; } + Microsoft.AspNetCore.Antiforgery.AntiforgeryToken RequestToken { get; set; } + } + + internal partial interface IAntiforgeryTokenGenerator + { + Microsoft.AspNetCore.Antiforgery.AntiforgeryToken GenerateCookieToken(); + Microsoft.AspNetCore.Antiforgery.AntiforgeryToken GenerateRequestToken(Microsoft.AspNetCore.Http.HttpContext httpContext, Microsoft.AspNetCore.Antiforgery.AntiforgeryToken cookieToken); + bool IsCookieTokenValid(Microsoft.AspNetCore.Antiforgery.AntiforgeryToken cookieToken); + bool TryValidateTokenSet(Microsoft.AspNetCore.Http.HttpContext httpContext, Microsoft.AspNetCore.Antiforgery.AntiforgeryToken cookieToken, Microsoft.AspNetCore.Antiforgery.AntiforgeryToken requestToken, out string message); + } + + internal partial interface IAntiforgeryTokenSerializer + { + Microsoft.AspNetCore.Antiforgery.AntiforgeryToken Deserialize(string serializedToken); + string Serialize(Microsoft.AspNetCore.Antiforgery.AntiforgeryToken token); + } + + internal partial interface IAntiforgeryTokenStore + { + string GetCookieToken(Microsoft.AspNetCore.Http.HttpContext httpContext); + System.Threading.Tasks.Task GetRequestTokensAsync(Microsoft.AspNetCore.Http.HttpContext httpContext); + void SaveCookieToken(Microsoft.AspNetCore.Http.HttpContext httpContext, string token); + } + + internal partial interface IClaimUidExtractor + { + string ExtractClaimUid(System.Security.Claims.ClaimsPrincipal claimsPrincipal); + } +} diff --git a/src/Antiforgery/ref/Microsoft.AspNetCore.Antiforgery.csproj b/src/Antiforgery/ref/Microsoft.AspNetCore.Antiforgery.csproj index 19cd7ed436e3..451b80df9531 100644 --- a/src/Antiforgery/ref/Microsoft.AspNetCore.Antiforgery.csproj +++ b/src/Antiforgery/ref/Microsoft.AspNetCore.Antiforgery.csproj @@ -5,10 +5,12 @@ - - - - - + + + + + + + diff --git a/src/Antiforgery/src/Microsoft.AspNetCore.Antiforgery.csproj b/src/Antiforgery/src/Microsoft.AspNetCore.Antiforgery.csproj index d00d01e0662c..566e221871c3 100644 --- a/src/Antiforgery/src/Microsoft.AspNetCore.Antiforgery.csproj +++ b/src/Antiforgery/src/Microsoft.AspNetCore.Antiforgery.csproj @@ -6,7 +6,7 @@ true true aspnetcore;antiforgery - false + false diff --git a/src/Azure/AzureAD/Authentication.AzureAD.UI/ref/Microsoft.AspNetCore.Authentication.AzureAD.UI.csproj b/src/Azure/AzureAD/Authentication.AzureAD.UI/ref/Microsoft.AspNetCore.Authentication.AzureAD.UI.csproj deleted file mode 100644 index 85033065e42a..000000000000 --- a/src/Azure/AzureAD/Authentication.AzureAD.UI/ref/Microsoft.AspNetCore.Authentication.AzureAD.UI.csproj +++ /dev/null @@ -1,13 +0,0 @@ - - - - $(DefaultNetCoreTargetFramework) - - - - - - - - - diff --git a/src/Azure/AzureAD/Authentication.AzureAD.UI/ref/Microsoft.AspNetCore.Authentication.AzureAD.UI.netcoreapp.cs b/src/Azure/AzureAD/Authentication.AzureAD.UI/ref/Microsoft.AspNetCore.Authentication.AzureAD.UI.netcoreapp.cs deleted file mode 100644 index 37f4cd55734b..000000000000 --- a/src/Azure/AzureAD/Authentication.AzureAD.UI/ref/Microsoft.AspNetCore.Authentication.AzureAD.UI.netcoreapp.cs +++ /dev/null @@ -1,64 +0,0 @@ -// Copyright (c) .NET Foundation. All rights reserved. -// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. - -namespace Microsoft.AspNetCore.Authentication -{ - public static partial class AzureADAuthenticationBuilderExtensions - { - public static Microsoft.AspNetCore.Authentication.AuthenticationBuilder AddAzureAD(this Microsoft.AspNetCore.Authentication.AuthenticationBuilder builder, System.Action configureOptions) { throw null; } - public static Microsoft.AspNetCore.Authentication.AuthenticationBuilder AddAzureAD(this Microsoft.AspNetCore.Authentication.AuthenticationBuilder builder, string scheme, string openIdConnectScheme, string cookieScheme, string displayName, System.Action configureOptions) { throw null; } - public static Microsoft.AspNetCore.Authentication.AuthenticationBuilder AddAzureADBearer(this Microsoft.AspNetCore.Authentication.AuthenticationBuilder builder, System.Action configureOptions) { throw null; } - public static Microsoft.AspNetCore.Authentication.AuthenticationBuilder AddAzureADBearer(this Microsoft.AspNetCore.Authentication.AuthenticationBuilder builder, string scheme, string jwtBearerScheme, System.Action configureOptions) { throw null; } - } -} -namespace Microsoft.AspNetCore.Authentication.AzureAD.UI -{ - public static partial class AzureADDefaults - { - public const string AuthenticationScheme = "AzureAD"; - public const string BearerAuthenticationScheme = "AzureADBearer"; - public const string CookieScheme = "AzureADCookie"; - public static readonly string DisplayName; - public const string JwtBearerAuthenticationScheme = "AzureADJwtBearer"; - public const string OpenIdScheme = "AzureADOpenID"; - } - public partial class AzureADOptions - { - public AzureADOptions() { } - public string[] AllSchemes { get { throw null; } } - public string CallbackPath { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute] set { } } - public string ClientId { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute] set { } } - public string ClientSecret { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute] set { } } - public string CookieSchemeName { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute] set { } } - public string Domain { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute] set { } } - public string Instance { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute] set { } } - public string JwtBearerSchemeName { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } } - public string OpenIdConnectSchemeName { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute] set { } } - public string SignedOutCallbackPath { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute] set { } } - public string TenantId { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute] set { } } - } -} -namespace Microsoft.AspNetCore.Authentication.AzureAD.UI.Internal -{ - [Microsoft.AspNetCore.Authorization.AllowAnonymousAttribute] - public partial class AccessDeniedModel : Microsoft.AspNetCore.Mvc.RazorPages.PageModel - { - public AccessDeniedModel() { } - public void OnGet() { } - } - [Microsoft.AspNetCore.Authorization.AllowAnonymousAttribute] - [Microsoft.AspNetCore.Mvc.ResponseCacheAttribute(Duration=0, Location=Microsoft.AspNetCore.Mvc.ResponseCacheLocation.None, NoStore=true)] - public partial class ErrorModel : Microsoft.AspNetCore.Mvc.RazorPages.PageModel - { - public ErrorModel() { } - public string RequestId { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute] set { } } - public bool ShowRequestId { get { throw null; } } - public void OnGet() { } - } - [Microsoft.AspNetCore.Authorization.AllowAnonymousAttribute] - public partial class SignedOutModel : Microsoft.AspNetCore.Mvc.RazorPages.PageModel - { - public SignedOutModel() { } - public Microsoft.AspNetCore.Mvc.IActionResult OnGet() { throw null; } - } -} diff --git a/src/Azure/AzureAD/Authentication.AzureAD.UI/src/Microsoft.AspNetCore.Authentication.AzureAD.UI.csproj b/src/Azure/AzureAD/Authentication.AzureAD.UI/src/Microsoft.AspNetCore.Authentication.AzureAD.UI.csproj index 6720f825e670..a17773b58dcf 100644 --- a/src/Azure/AzureAD/Authentication.AzureAD.UI/src/Microsoft.AspNetCore.Authentication.AzureAD.UI.csproj +++ b/src/Azure/AzureAD/Authentication.AzureAD.UI/src/Microsoft.AspNetCore.Authentication.AzureAD.UI.csproj @@ -6,7 +6,7 @@ $(DefaultNetCoreTargetFramework) aspnetcore;authentication;AzureAD true - true + true Microsoft.AspNetCore.Mvc.ApplicationParts.NullApplicationPartFactory, Microsoft.AspNetCore.Mvc.Core true diff --git a/src/Azure/AzureAD/Authentication.AzureADB2C.UI/ref/Microsoft.AspNetCore.Authentication.AzureADB2C.UI.csproj b/src/Azure/AzureAD/Authentication.AzureADB2C.UI/ref/Microsoft.AspNetCore.Authentication.AzureADB2C.UI.csproj deleted file mode 100644 index 7bcd1a5e1bbf..000000000000 --- a/src/Azure/AzureAD/Authentication.AzureADB2C.UI/ref/Microsoft.AspNetCore.Authentication.AzureADB2C.UI.csproj +++ /dev/null @@ -1,13 +0,0 @@ - - - - $(DefaultNetCoreTargetFramework) - - - - - - - - - diff --git a/src/Azure/AzureAD/Authentication.AzureADB2C.UI/ref/Microsoft.AspNetCore.Authentication.AzureADB2C.UI.netcoreapp.cs b/src/Azure/AzureAD/Authentication.AzureADB2C.UI/ref/Microsoft.AspNetCore.Authentication.AzureADB2C.UI.netcoreapp.cs deleted file mode 100644 index 65981fe5fa00..000000000000 --- a/src/Azure/AzureAD/Authentication.AzureADB2C.UI/ref/Microsoft.AspNetCore.Authentication.AzureADB2C.UI.netcoreapp.cs +++ /dev/null @@ -1,68 +0,0 @@ -// Copyright (c) .NET Foundation. All rights reserved. -// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. - -namespace Microsoft.AspNetCore.Authentication -{ - public static partial class AzureADB2CAuthenticationBuilderExtensions - { - public static Microsoft.AspNetCore.Authentication.AuthenticationBuilder AddAzureADB2C(this Microsoft.AspNetCore.Authentication.AuthenticationBuilder builder, System.Action configureOptions) { throw null; } - public static Microsoft.AspNetCore.Authentication.AuthenticationBuilder AddAzureADB2C(this Microsoft.AspNetCore.Authentication.AuthenticationBuilder builder, string scheme, string openIdConnectScheme, string cookieScheme, string displayName, System.Action configureOptions) { throw null; } - public static Microsoft.AspNetCore.Authentication.AuthenticationBuilder AddAzureADB2CBearer(this Microsoft.AspNetCore.Authentication.AuthenticationBuilder builder, System.Action configureOptions) { throw null; } - public static Microsoft.AspNetCore.Authentication.AuthenticationBuilder AddAzureADB2CBearer(this Microsoft.AspNetCore.Authentication.AuthenticationBuilder builder, string scheme, string jwtBearerScheme, System.Action configureOptions) { throw null; } - } -} -namespace Microsoft.AspNetCore.Authentication.AzureADB2C.UI -{ - public static partial class AzureADB2CDefaults - { - public const string AuthenticationScheme = "AzureADB2C"; - public const string BearerAuthenticationScheme = "AzureADB2CBearer"; - public const string CookieScheme = "AzureADB2CCookie"; - public static readonly string DisplayName; - public const string JwtBearerAuthenticationScheme = "AzureADB2CJwtBearer"; - public const string OpenIdScheme = "AzureADB2COpenID"; - public static readonly string PolicyKey; - } - public partial class AzureADB2COptions - { - public AzureADB2COptions() { } - public string[] AllSchemes { get { throw null; } } - public string CallbackPath { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute] set { } } - public string ClientId { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute] set { } } - public string ClientSecret { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute] set { } } - public string CookieSchemeName { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute] set { } } - public string DefaultPolicy { get { throw null; } } - public string Domain { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute] set { } } - public string EditProfilePolicyId { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute] set { } } - public string Instance { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute] set { } } - public string JwtBearerSchemeName { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } } - public string OpenIdConnectSchemeName { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute] set { } } - public string ResetPasswordPolicyId { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute] set { } } - public string SignedOutCallbackPath { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute] set { } } - public string SignUpSignInPolicyId { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute] set { } } - } -} -namespace Microsoft.AspNetCore.Authentication.AzureADB2C.UI.Internal -{ - [Microsoft.AspNetCore.Authorization.AllowAnonymousAttribute] - public partial class AccessDeniedModel : Microsoft.AspNetCore.Mvc.RazorPages.PageModel - { - public AccessDeniedModel() { } - public void OnGet() { } - } - [Microsoft.AspNetCore.Authorization.AllowAnonymousAttribute] - [Microsoft.AspNetCore.Mvc.ResponseCacheAttribute(Duration=0, Location=Microsoft.AspNetCore.Mvc.ResponseCacheLocation.None, NoStore=true)] - public partial class ErrorModel : Microsoft.AspNetCore.Mvc.RazorPages.PageModel - { - public ErrorModel() { } - public string RequestId { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute] set { } } - public bool ShowRequestId { get { throw null; } } - public void OnGet() { } - } - [Microsoft.AspNetCore.Authorization.AllowAnonymousAttribute] - public partial class SignedOutModel : Microsoft.AspNetCore.Mvc.RazorPages.PageModel - { - public SignedOutModel() { } - public Microsoft.AspNetCore.Mvc.IActionResult OnGet() { throw null; } - } -} diff --git a/src/Azure/AzureAD/Authentication.AzureADB2C.UI/src/Microsoft.AspNetCore.Authentication.AzureADB2C.UI.csproj b/src/Azure/AzureAD/Authentication.AzureADB2C.UI/src/Microsoft.AspNetCore.Authentication.AzureADB2C.UI.csproj index 2711ae53037d..77ec20937b75 100644 --- a/src/Azure/AzureAD/Authentication.AzureADB2C.UI/src/Microsoft.AspNetCore.Authentication.AzureADB2C.UI.csproj +++ b/src/Azure/AzureAD/Authentication.AzureADB2C.UI/src/Microsoft.AspNetCore.Authentication.AzureADB2C.UI.csproj @@ -6,7 +6,7 @@ $(DefaultNetCoreTargetFramework) aspnetcore;authentication;AzureADB2C true - true + true Microsoft.AspNetCore.Mvc.ApplicationParts.NullApplicationPartFactory, Microsoft.AspNetCore.Mvc.Core true diff --git a/src/Azure/AzureAppServices.HostingStartup/ref/Microsoft.AspNetCore.AzureAppServices.HostingStartup.csproj b/src/Azure/AzureAppServices.HostingStartup/ref/Microsoft.AspNetCore.AzureAppServices.HostingStartup.csproj deleted file mode 100644 index 5026fcfe23e3..000000000000 --- a/src/Azure/AzureAppServices.HostingStartup/ref/Microsoft.AspNetCore.AzureAppServices.HostingStartup.csproj +++ /dev/null @@ -1,11 +0,0 @@ - - - - $(DefaultNetCoreTargetFramework) - - - - - - - diff --git a/src/Azure/AzureAppServices.HostingStartup/ref/Microsoft.AspNetCore.AzureAppServices.HostingStartup.netcoreapp.cs b/src/Azure/AzureAppServices.HostingStartup/ref/Microsoft.AspNetCore.AzureAppServices.HostingStartup.netcoreapp.cs deleted file mode 100644 index 5b449024e0f2..000000000000 --- a/src/Azure/AzureAppServices.HostingStartup/ref/Microsoft.AspNetCore.AzureAppServices.HostingStartup.netcoreapp.cs +++ /dev/null @@ -1,11 +0,0 @@ -// Copyright (c) .NET Foundation. All rights reserved. -// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. - -namespace Microsoft.AspNetCore.AzureAppServices.HostingStartup -{ - public partial class AzureAppServicesHostingStartup : Microsoft.AspNetCore.Hosting.IHostingStartup - { - public AzureAppServicesHostingStartup() { } - public void Configure(Microsoft.AspNetCore.Hosting.IWebHostBuilder builder) { } - } -} diff --git a/src/Azure/AzureAppServices.HostingStartup/src/Microsoft.AspNetCore.AzureAppServices.HostingStartup.csproj b/src/Azure/AzureAppServices.HostingStartup/src/Microsoft.AspNetCore.AzureAppServices.HostingStartup.csproj index 8992d007b831..5d4b07647f16 100644 --- a/src/Azure/AzureAppServices.HostingStartup/src/Microsoft.AspNetCore.AzureAppServices.HostingStartup.csproj +++ b/src/Azure/AzureAppServices.HostingStartup/src/Microsoft.AspNetCore.AzureAppServices.HostingStartup.csproj @@ -7,7 +7,7 @@ $(DefaultNetCoreTargetFramework) true aspnetcore;azure;appservices - true + true diff --git a/src/Azure/AzureAppServicesIntegration/ref/Microsoft.AspNetCore.AzureAppServicesIntegration.csproj b/src/Azure/AzureAppServicesIntegration/ref/Microsoft.AspNetCore.AzureAppServicesIntegration.csproj deleted file mode 100644 index ba1159838ba3..000000000000 --- a/src/Azure/AzureAppServicesIntegration/ref/Microsoft.AspNetCore.AzureAppServicesIntegration.csproj +++ /dev/null @@ -1,11 +0,0 @@ - - - - $(DefaultNetCoreTargetFramework) - - - - - - - diff --git a/src/Azure/AzureAppServicesIntegration/ref/Microsoft.AspNetCore.AzureAppServicesIntegration.netcoreapp.cs b/src/Azure/AzureAppServicesIntegration/ref/Microsoft.AspNetCore.AzureAppServicesIntegration.netcoreapp.cs deleted file mode 100644 index 55a333c151f4..000000000000 --- a/src/Azure/AzureAppServicesIntegration/ref/Microsoft.AspNetCore.AzureAppServicesIntegration.netcoreapp.cs +++ /dev/null @@ -1,10 +0,0 @@ -// Copyright (c) .NET Foundation. All rights reserved. -// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. - -namespace Microsoft.AspNetCore.Hosting -{ - public static partial class AppServicesWebHostBuilderExtensions - { - public static Microsoft.AspNetCore.Hosting.IWebHostBuilder UseAzureAppServices(this Microsoft.AspNetCore.Hosting.IWebHostBuilder hostBuilder) { throw null; } - } -} diff --git a/src/Azure/AzureAppServicesIntegration/src/Microsoft.AspNetCore.AzureAppServicesIntegration.csproj b/src/Azure/AzureAppServicesIntegration/src/Microsoft.AspNetCore.AzureAppServicesIntegration.csproj index 972ea62ff830..a9f4eae94d18 100644 --- a/src/Azure/AzureAppServicesIntegration/src/Microsoft.AspNetCore.AzureAppServicesIntegration.csproj +++ b/src/Azure/AzureAppServicesIntegration/src/Microsoft.AspNetCore.AzureAppServicesIntegration.csproj @@ -7,7 +7,7 @@ true true aspnetcore;azure;appservices - true + true diff --git a/src/Components/Analyzers/src/Microsoft.AspNetCore.Components.Analyzers.csproj b/src/Components/Analyzers/src/Microsoft.AspNetCore.Components.Analyzers.csproj index a83904f24566..dab047ca116a 100644 --- a/src/Components/Analyzers/src/Microsoft.AspNetCore.Components.Analyzers.csproj +++ b/src/Components/Analyzers/src/Microsoft.AspNetCore.Components.Analyzers.csproj @@ -6,7 +6,7 @@ true false Roslyn analyzers for ASP.NET Core Components. - true + true false @@ -18,6 +18,7 @@ + diff --git a/src/Components/Analyzers/src/build/netstandard2.0/Microsoft.AspNetCore.Components.Analyzers.props b/src/Components/Analyzers/src/build/netstandard2.0/Microsoft.AspNetCore.Components.Analyzers.props deleted file mode 100644 index 0ba7b4da050d..000000000000 --- a/src/Components/Analyzers/src/build/netstandard2.0/Microsoft.AspNetCore.Components.Analyzers.props +++ /dev/null @@ -1,5 +0,0 @@ - - - true - - diff --git a/src/Components/Analyzers/src/build/netstandard2.0/Microsoft.AspNetCore.Components.Analyzers.targets b/src/Components/Analyzers/src/build/netstandard2.0/Microsoft.AspNetCore.Components.Analyzers.targets new file mode 100644 index 000000000000..d8c68fd5ee2a --- /dev/null +++ b/src/Components/Analyzers/src/build/netstandard2.0/Microsoft.AspNetCore.Components.Analyzers.targets @@ -0,0 +1,34 @@ + + + + + <_AspNetCoreComponentsAnalyzerName Include="$([System.IO.Path]::GetFileNameWithoutExtension('%(Analyzer.Identity)'))" /> + + + + <_AspNetCoreComponentsAnalyzerPath>$([MSBuild]::NormalizePath('$(MSBuildThisFileDirectory)../../analyzers/dotnet/cs/Microsoft.AspNetCore.Components.Analyzers.dll')) + + + + + + + diff --git a/src/Components/Analyzers/src/buildTransitive/netstandard2.0/Microsoft.AspNetCore.Components.Analyzers.targets b/src/Components/Analyzers/src/buildTransitive/netstandard2.0/Microsoft.AspNetCore.Components.Analyzers.targets new file mode 100644 index 000000000000..fd79fdac66f4 --- /dev/null +++ b/src/Components/Analyzers/src/buildTransitive/netstandard2.0/Microsoft.AspNetCore.Components.Analyzers.targets @@ -0,0 +1,3 @@ + + + diff --git a/src/Components/Authorization/ref/Microsoft.AspNetCore.Components.Authorization.csproj b/src/Components/Authorization/ref/Microsoft.AspNetCore.Components.Authorization.csproj index 513c24575daa..53db4b90de52 100644 --- a/src/Components/Authorization/ref/Microsoft.AspNetCore.Components.Authorization.csproj +++ b/src/Components/Authorization/ref/Microsoft.AspNetCore.Components.Authorization.csproj @@ -2,15 +2,16 @@ netstandard2.0;$(DefaultNetCoreTargetFramework) + $(DefaultNetCoreTargetFramework) - - + + - - + + diff --git a/src/Components/Authorization/src/Microsoft.AspNetCore.Components.Authorization.csproj b/src/Components/Authorization/src/Microsoft.AspNetCore.Components.Authorization.csproj index 8f3142849aeb..fa9f68277203 100644 --- a/src/Components/Authorization/src/Microsoft.AspNetCore.Components.Authorization.csproj +++ b/src/Components/Authorization/src/Microsoft.AspNetCore.Components.Authorization.csproj @@ -6,7 +6,6 @@ true Authentication and authorization support for Blazor applications. true - true 3.0 diff --git a/src/Components/Blazor/Blazor/ref/Microsoft.AspNetCore.Blazor.csproj b/src/Components/Blazor/Blazor/ref/Microsoft.AspNetCore.Blazor.csproj deleted file mode 100644 index 88ca078caaeb..000000000000 --- a/src/Components/Blazor/Blazor/ref/Microsoft.AspNetCore.Blazor.csproj +++ /dev/null @@ -1,12 +0,0 @@ - - - - netstandard2.1 - - - - - - - - diff --git a/src/Components/Blazor/Blazor/ref/Microsoft.AspNetCore.Blazor.netstandard2.1.cs b/src/Components/Blazor/Blazor/ref/Microsoft.AspNetCore.Blazor.netstandard2.1.cs deleted file mode 100644 index 583e9efc50a8..000000000000 --- a/src/Components/Blazor/Blazor/ref/Microsoft.AspNetCore.Blazor.netstandard2.1.cs +++ /dev/null @@ -1,81 +0,0 @@ -// Copyright (c) .NET Foundation. All rights reserved. -// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. - -namespace Microsoft.AspNetCore.Blazor -{ - [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Never)] - public static partial class JSInteropMethods - { - [Microsoft.JSInterop.JSInvokableAttribute("NotifyLocationChanged")] - public static void NotifyLocationChanged(string uri, bool isInterceptedLink) { } - } -} -namespace Microsoft.AspNetCore.Blazor.Hosting -{ - public static partial class BlazorWebAssemblyHost - { - public static Microsoft.AspNetCore.Blazor.Hosting.IWebAssemblyHostBuilder CreateDefaultBuilder() { throw null; } - } - public partial interface IWebAssemblyHost : System.IDisposable - { - System.IServiceProvider Services { get; } - System.Threading.Tasks.Task StartAsync(System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)); - System.Threading.Tasks.Task StopAsync(System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)); - } - public partial interface IWebAssemblyHostBuilder - { - System.Collections.Generic.IDictionary Properties { get; } - Microsoft.AspNetCore.Blazor.Hosting.IWebAssemblyHost Build(); - Microsoft.AspNetCore.Blazor.Hosting.IWebAssemblyHostBuilder ConfigureServices(System.Action configureDelegate); - Microsoft.AspNetCore.Blazor.Hosting.IWebAssemblyHostBuilder UseServiceProviderFactory(Microsoft.Extensions.DependencyInjection.IServiceProviderFactory factory); - Microsoft.AspNetCore.Blazor.Hosting.IWebAssemblyHostBuilder UseServiceProviderFactory(System.Func> factory); - } - public sealed partial class WebAssemblyHostBuilderContext - { - public WebAssemblyHostBuilderContext(System.Collections.Generic.IDictionary properties) { } - public System.Collections.Generic.IDictionary Properties { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } } - } - public static partial class WebAssemblyHostBuilderExtensions - { - public static Microsoft.AspNetCore.Blazor.Hosting.IWebAssemblyHostBuilder ConfigureServices(this Microsoft.AspNetCore.Blazor.Hosting.IWebAssemblyHostBuilder hostBuilder, System.Action configureDelegate) { throw null; } - public static Microsoft.AspNetCore.Blazor.Hosting.IWebAssemblyHostBuilder UseBlazorStartup(this Microsoft.AspNetCore.Blazor.Hosting.IWebAssemblyHostBuilder builder, System.Type startupType) { throw null; } - public static Microsoft.AspNetCore.Blazor.Hosting.IWebAssemblyHostBuilder UseBlazorStartup(this Microsoft.AspNetCore.Blazor.Hosting.IWebAssemblyHostBuilder builder) { throw null; } - } - public static partial class WebAssemblyHostExtensions - { - public static void Run(this Microsoft.AspNetCore.Blazor.Hosting.IWebAssemblyHost host) { } - } -} -namespace Microsoft.AspNetCore.Blazor.Http -{ - public enum FetchCredentialsOption - { - Omit = 0, - SameOrigin = 1, - Include = 2, - } - public static partial class WebAssemblyHttpMessageHandlerOptions - { - public static Microsoft.AspNetCore.Blazor.Http.FetchCredentialsOption DefaultCredentials { get { throw null; } set { } } - } -} -namespace Microsoft.AspNetCore.Blazor.Rendering -{ - public static partial class WebAssemblyEventDispatcher - { - [Microsoft.JSInterop.JSInvokableAttribute("DispatchEvent")] - public static System.Threading.Tasks.Task DispatchEvent(Microsoft.AspNetCore.Components.RenderTree.WebEventDescriptor eventDescriptor, string eventArgsJson) { throw null; } - } -} -namespace Microsoft.AspNetCore.Components.Builder -{ - public static partial class ComponentsApplicationBuilderExtensions - { - public static void AddComponent(this Microsoft.AspNetCore.Components.Builder.IComponentsApplicationBuilder app, string domElementSelector) where TComponent : Microsoft.AspNetCore.Components.IComponent { } - } - public partial interface IComponentsApplicationBuilder - { - System.IServiceProvider Services { get; } - void AddComponent(System.Type componentType, string domElementSelector); - } -} diff --git a/src/Components/Blazor/Blazor/src/Microsoft.AspNetCore.Blazor.csproj b/src/Components/Blazor/Blazor/src/Microsoft.AspNetCore.Blazor.csproj index be94e420a214..867dec821513 100644 --- a/src/Components/Blazor/Blazor/src/Microsoft.AspNetCore.Blazor.csproj +++ b/src/Components/Blazor/Blazor/src/Microsoft.AspNetCore.Blazor.csproj @@ -3,7 +3,7 @@ netstandard2.1 Build client-side single-page applications (SPAs) with Blazor running under WebAssembly. - true + false diff --git a/src/Components/Blazor/Blazor/test/Microsoft.AspNetCore.Blazor.Tests.csproj b/src/Components/Blazor/Blazor/test/Microsoft.AspNetCore.Blazor.Tests.csproj index be1cb3f836b7..b156fde4a2e0 100644 --- a/src/Components/Blazor/Blazor/test/Microsoft.AspNetCore.Blazor.Tests.csproj +++ b/src/Components/Blazor/Blazor/test/Microsoft.AspNetCore.Blazor.Tests.csproj @@ -2,11 +2,17 @@ $(DefaultNetCoreTargetFramework) + + false + + + + diff --git a/src/Components/Blazor/Build/src/Microsoft.AspNetCore.Blazor.Build.csproj b/src/Components/Blazor/Build/src/Microsoft.AspNetCore.Blazor.Build.csproj index daee88af6854..57b1e5b4cd89 100644 --- a/src/Components/Blazor/Build/src/Microsoft.AspNetCore.Blazor.Build.csproj +++ b/src/Components/Blazor/Build/src/Microsoft.AspNetCore.Blazor.Build.csproj @@ -5,7 +5,7 @@ Microsoft.AspNetCore.Blazor.Build.Tasks Microsoft.AspNetCore.Blazor.Build Build mechanism for ASP.NET Core Blazor applications. - true + false false false diff --git a/src/Components/Blazor/Build/test/Microsoft.AspNetCore.Blazor.Build.Tests.csproj b/src/Components/Blazor/Build/test/Microsoft.AspNetCore.Blazor.Build.Tests.csproj index 25b791e22aa8..bc90f9596ecf 100644 --- a/src/Components/Blazor/Build/test/Microsoft.AspNetCore.Blazor.Build.Tests.csproj +++ b/src/Components/Blazor/Build/test/Microsoft.AspNetCore.Blazor.Build.Tests.csproj @@ -6,6 +6,8 @@ $(DefaultItemExcludes);TestFiles\**\* false + + false @@ -30,6 +32,8 @@ + + diff --git a/src/Components/Blazor/DevServer/src/Microsoft.AspNetCore.Blazor.DevServer.csproj b/src/Components/Blazor/DevServer/src/Microsoft.AspNetCore.Blazor.DevServer.csproj index d18ab7c9e442..4749a781cabe 100644 --- a/src/Components/Blazor/DevServer/src/Microsoft.AspNetCore.Blazor.DevServer.csproj +++ b/src/Components/Blazor/DevServer/src/Microsoft.AspNetCore.Blazor.DevServer.csproj @@ -5,7 +5,7 @@ Exe blazor-devserver Microsoft.AspNetCore.Blazor.DevServer - true + false false Microsoft.AspNetCore.Blazor.DevServer.Program Development server for use when building Blazor applications. diff --git a/src/Components/Blazor/Http/src/Microsoft.AspNetCore.Blazor.HttpClient.csproj b/src/Components/Blazor/Http/src/Microsoft.AspNetCore.Blazor.HttpClient.csproj index ae4ee9a8a81b..9d6deb6173bb 100644 --- a/src/Components/Blazor/Http/src/Microsoft.AspNetCore.Blazor.HttpClient.csproj +++ b/src/Components/Blazor/Http/src/Microsoft.AspNetCore.Blazor.HttpClient.csproj @@ -3,7 +3,7 @@ netstandard2.0 Provides experimental support for using System.Text.Json with HttpClient. Intended for use with Blazor running under WebAssembly. - true + false false diff --git a/src/Components/Blazor/Server/src/Microsoft.AspNetCore.Blazor.Server.csproj b/src/Components/Blazor/Server/src/Microsoft.AspNetCore.Blazor.Server.csproj index ac8147d099b5..4bdbc1bb1b38 100644 --- a/src/Components/Blazor/Server/src/Microsoft.AspNetCore.Blazor.Server.csproj +++ b/src/Components/Blazor/Server/src/Microsoft.AspNetCore.Blazor.Server.csproj @@ -3,7 +3,7 @@ $(DefaultNetCoreTargetFramework) Runtime server features for ASP.NET Core Blazor applications. - true + false false diff --git a/src/Components/Blazor/Validation/src/Microsoft.AspNetCore.Blazor.DataAnnotations.Validation.csproj b/src/Components/Blazor/Validation/src/Microsoft.AspNetCore.Blazor.DataAnnotations.Validation.csproj index 725b1f981114..53cc678edbb0 100644 --- a/src/Components/Blazor/Validation/src/Microsoft.AspNetCore.Blazor.DataAnnotations.Validation.csproj +++ b/src/Components/Blazor/Validation/src/Microsoft.AspNetCore.Blazor.DataAnnotations.Validation.csproj @@ -3,7 +3,7 @@ netstandard2.1 Provides experimental support for validation using DataAnnotations. - true + false false diff --git a/src/Components/Blazor/Validation/test/Microsoft.AspNetCore.Blazor.DataAnnotations.Validation.Tests.csproj b/src/Components/Blazor/Validation/test/Microsoft.AspNetCore.Blazor.DataAnnotations.Validation.Tests.csproj index 02e85615362b..199d86622f6d 100644 --- a/src/Components/Blazor/Validation/test/Microsoft.AspNetCore.Blazor.DataAnnotations.Validation.Tests.csproj +++ b/src/Components/Blazor/Validation/test/Microsoft.AspNetCore.Blazor.DataAnnotations.Validation.Tests.csproj @@ -2,10 +2,14 @@ $(DefaultNetCoreTargetFramework) + + false + + diff --git a/src/Components/Blazor/testassets/HostedInAspNet.Server/HostedInAspNet.Server.csproj b/src/Components/Blazor/testassets/HostedInAspNet.Server/HostedInAspNet.Server.csproj index c4ab49b06ce3..1350803e6b1a 100644 --- a/src/Components/Blazor/testassets/HostedInAspNet.Server/HostedInAspNet.Server.csproj +++ b/src/Components/Blazor/testassets/HostedInAspNet.Server/HostedInAspNet.Server.csproj @@ -12,6 +12,8 @@ + + diff --git a/src/Components/Components/ref/Directory.Build.props b/src/Components/Components/ref/Directory.Build.props deleted file mode 100644 index 322f33d633a5..000000000000 --- a/src/Components/Components/ref/Directory.Build.props +++ /dev/null @@ -1,9 +0,0 @@ - - - - - - - - - diff --git a/src/Components/Components/ref/Microsoft.AspNetCore.Components.Manual.cs b/src/Components/Components/ref/Microsoft.AspNetCore.Components.Manual.cs new file mode 100644 index 000000000000..26646bf79bb8 --- /dev/null +++ b/src/Components/Components/ref/Microsoft.AspNetCore.Components.Manual.cs @@ -0,0 +1,322 @@ +// Copyright (c) .NET Foundation. All rights reserved. +// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. + +using System; +using System.Runtime.InteropServices; +using Microsoft.AspNetCore.Components.Rendering; + +namespace Microsoft.AspNetCore.Components +{ + public readonly partial struct ElementReference + { + internal static Microsoft.AspNetCore.Components.ElementReference CreateWithUniqueId() { throw null; } + } + public abstract partial class NavigationManager + { + internal static string NormalizeBaseUri(string baseUri) { throw null; } + } + public readonly partial struct RenderHandle + { + internal RenderHandle(Microsoft.AspNetCore.Components.RenderTree.Renderer renderer, int componentId) { throw null; } + } + internal partial class ComponentFactory + { + public static readonly Microsoft.AspNetCore.Components.ComponentFactory Instance; + public ComponentFactory() { } + public Microsoft.AspNetCore.Components.IComponent InstantiateComponent(System.IServiceProvider serviceProvider, System.Type componentType) { throw null; } + } + public readonly partial struct ParameterView + { + internal ParameterView(in Microsoft.AspNetCore.Components.Rendering.ParameterViewLifetime lifetime, Microsoft.AspNetCore.Components.RenderTree.RenderTreeFrame[] frames, int ownerIndex) { throw null; } + internal Microsoft.AspNetCore.Components.Rendering.ParameterViewLifetime Lifetime { get { throw null; } } + internal void CaptureSnapshot(Microsoft.AspNetCore.Components.RenderTree.ArrayBuilder builder) { } + internal bool DefinitelyEquals(Microsoft.AspNetCore.Components.ParameterView oldParameters) { throw null; } + internal Microsoft.AspNetCore.Components.ParameterView WithCascadingParameters(System.Collections.Generic.IReadOnlyList cascadingParameters) { throw null; } + } + internal static partial class RouteTableFactory + { + public static readonly System.Collections.Generic.IComparer RoutePrecedence; + internal static Microsoft.AspNetCore.Components.Routing.RouteTable Create(System.Collections.Generic.Dictionary templatesByHandler) { throw null; } + public static Microsoft.AspNetCore.Components.Routing.RouteTable Create(System.Collections.Generic.IEnumerable assemblies) { throw null; } + internal static Microsoft.AspNetCore.Components.Routing.RouteTable Create(System.Collections.Generic.IEnumerable componentTypes) { throw null; } + internal static int RouteComparison(Microsoft.AspNetCore.Components.Routing.RouteEntry x, Microsoft.AspNetCore.Components.Routing.RouteEntry y) { throw null; } + } + internal partial interface IEventCallback + { + bool HasDelegate { get; } + object UnpackForRenderTree(); + } + internal partial interface ICascadingValueComponent + { + object CurrentValue { get; } + bool CurrentValueIsFixed { get; } + bool CanSupplyValue(System.Type valueType, string valueName); + void Subscribe(Microsoft.AspNetCore.Components.Rendering.ComponentState subscriber); + void Unsubscribe(Microsoft.AspNetCore.Components.Rendering.ComponentState subscriber); + } + [System.Runtime.InteropServices.StructLayoutAttribute(System.Runtime.InteropServices.LayoutKind.Sequential)] + internal readonly partial struct CascadingParameterState + { + private readonly object _dummy; + public CascadingParameterState(string localValueName, Microsoft.AspNetCore.Components.ICascadingValueComponent valueSupplier) { throw null; } + public string LocalValueName { [System.Runtime.CompilerServices.CompilerGeneratedAttribute]get { throw null; } } + public Microsoft.AspNetCore.Components.ICascadingValueComponent ValueSupplier { [System.Runtime.CompilerServices.CompilerGeneratedAttribute]get { throw null; } } + public static System.Collections.Generic.IReadOnlyList FindCascadingParameters(Microsoft.AspNetCore.Components.Rendering.ComponentState componentState) { throw null; } + } +} +namespace Microsoft.AspNetCore.Components.RenderTree +{ + public readonly partial struct RenderTreeEdit + { + internal static Microsoft.AspNetCore.Components.RenderTree.RenderTreeEdit PermutationListEnd() { throw null; } + internal static Microsoft.AspNetCore.Components.RenderTree.RenderTreeEdit PermutationListEntry(int fromSiblingIndex, int toSiblingIndex) { throw null; } + internal static Microsoft.AspNetCore.Components.RenderTree.RenderTreeEdit PrependFrame(int siblingIndex, int referenceFrameIndex) { throw null; } + internal static Microsoft.AspNetCore.Components.RenderTree.RenderTreeEdit RemoveAttribute(int siblingIndex, string name) { throw null; } + internal static Microsoft.AspNetCore.Components.RenderTree.RenderTreeEdit RemoveFrame(int siblingIndex) { throw null; } + internal static Microsoft.AspNetCore.Components.RenderTree.RenderTreeEdit SetAttribute(int siblingIndex, int referenceFrameIndex) { throw null; } + internal static Microsoft.AspNetCore.Components.RenderTree.RenderTreeEdit StepIn(int siblingIndex) { throw null; } + internal static Microsoft.AspNetCore.Components.RenderTree.RenderTreeEdit StepOut() { throw null; } + internal static Microsoft.AspNetCore.Components.RenderTree.RenderTreeEdit UpdateMarkup(int siblingIndex, int referenceFrameIndex) { throw null; } + internal static Microsoft.AspNetCore.Components.RenderTree.RenderTreeEdit UpdateText(int siblingIndex, int referenceFrameIndex) { throw null; } + } + public readonly partial struct RenderBatch + { + internal RenderBatch(Microsoft.AspNetCore.Components.RenderTree.ArrayRange updatedComponents, Microsoft.AspNetCore.Components.RenderTree.ArrayRange referenceFrames, Microsoft.AspNetCore.Components.RenderTree.ArrayRange disposedComponentIDs, Microsoft.AspNetCore.Components.RenderTree.ArrayRange disposedEventHandlerIDs) { throw null; } + } + internal static partial class ArrayBuilderExtensions + { + public static Microsoft.AspNetCore.Components.RenderTree.ArrayRange ToRange(this Microsoft.AspNetCore.Components.RenderTree.ArrayBuilder builder) { throw null; } + public static Microsoft.AspNetCore.Components.RenderTree.ArrayBuilderSegment ToSegment(this Microsoft.AspNetCore.Components.RenderTree.ArrayBuilder builder, int fromIndexInclusive, int toIndexExclusive) { throw null; } + } + internal static partial class RenderTreeDiffBuilder + { + public const int SystemAddedAttributeSequenceNumber = -2147483648; + public static Microsoft.AspNetCore.Components.RenderTree.RenderTreeDiff ComputeDiff(Microsoft.AspNetCore.Components.RenderTree.Renderer renderer, Microsoft.AspNetCore.Components.Rendering.RenderBatchBuilder batchBuilder, int componentId, Microsoft.AspNetCore.Components.RenderTree.ArrayRange oldTree, Microsoft.AspNetCore.Components.RenderTree.ArrayRange newTree) { throw null; } + public static void DisposeFrames(Microsoft.AspNetCore.Components.Rendering.RenderBatchBuilder batchBuilder, Microsoft.AspNetCore.Components.RenderTree.ArrayRange frames) { } + } + internal partial class ArrayBuilder : System.IDisposable + { + public ArrayBuilder(int minCapacity = 32, System.Buffers.ArrayPool arrayPool = null) { } + public T[] Buffer { get { throw null; } } + public int Count { get { throw null; } } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)]public int Append(in T item) { throw null; } + internal int Append(T[] source, int startIndex, int length) { throw null; } + public void Clear() { } + public void Dispose() { } + public void InsertExpensive(int index, T value) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)]public void Overwrite(int index, in T value) { } + public void RemoveLast() { } + } + internal partial class StackObjectPool where T : class + { + public StackObjectPool(int maxPreservedItems, System.Func instanceFactory) { } + public T Get() { throw null; } + public void Return(T instance) { } + } + public readonly partial struct RenderTreeDiff + { + internal RenderTreeDiff(int componentId, Microsoft.AspNetCore.Components.RenderTree.ArrayBuilderSegment entries) { throw null; } + } + + // https://github.com/dotnet/arcade/pull/2033 + [StructLayout(LayoutKind.Explicit, Pack = 4)] + public readonly partial struct RenderTreeFrame + { + [FieldOffset(0)] public readonly int Sequence; + + [FieldOffset(4)] public readonly RenderTreeFrameType FrameType; + + [FieldOffset(8)] public readonly int ElementSubtreeLength; + + [FieldOffset(16)] public readonly string ElementName; + + [FieldOffset(24)] public readonly object ElementKey; + + [FieldOffset(16)] public readonly string TextContent; + + [FieldOffset(8)] public readonly ulong AttributeEventHandlerId; + + [FieldOffset(16)] public readonly string AttributeName; + + [FieldOffset(24)] public readonly object AttributeValue; + + [FieldOffset(32)] public readonly string AttributeEventUpdatesAttributeName; + + [FieldOffset(8)] public readonly int ComponentSubtreeLength; + + [FieldOffset(12)] public readonly int ComponentId; + + [FieldOffset(16)] public readonly Type ComponentType; + + [FieldOffset(32)] public readonly object ComponentKey; + + public IComponent Component => null; + + [FieldOffset(8)] public readonly int RegionSubtreeLength; + + [FieldOffset(16)] public readonly string ElementReferenceCaptureId; + + [FieldOffset(24)] public readonly Action ElementReferenceCaptureAction; + + [FieldOffset(8)] public readonly int ComponentReferenceCaptureParentFrameIndex; + + [FieldOffset(16)] public readonly Action ComponentReferenceCaptureAction; + + [FieldOffset(16)] public readonly string MarkupContent; + + public override string ToString() => null; + + internal static RenderTreeFrame Element(int sequence, string elementName) { throw null; } + internal static RenderTreeFrame Text(int sequence, string textContent) { throw null; } + internal static RenderTreeFrame Markup(int sequence, string markupContent) { throw null; } + internal static RenderTreeFrame Attribute(int sequence, string name, object value) { throw null; } + internal static RenderTreeFrame ChildComponent(int sequence, Type componentType) { throw null; } + internal static RenderTreeFrame PlaceholderChildComponentWithSubtreeLength(int subtreeLength) { throw null; } + internal static RenderTreeFrame Region(int sequence) { throw null; } + internal static RenderTreeFrame ElementReferenceCapture(int sequence, Action elementReferenceCaptureAction) { throw null; } + internal static RenderTreeFrame ComponentReferenceCapture(int sequence, Action componentReferenceCaptureAction, int parentFrameIndex) { throw null; } + internal RenderTreeFrame WithElementSubtreeLength(int elementSubtreeLength) { throw null; } + internal RenderTreeFrame WithComponentSubtreeLength(int componentSubtreeLength) { throw null; } + internal RenderTreeFrame WithAttributeSequence(int sequence) { throw null; } + internal RenderTreeFrame WithComponent(ComponentState componentState) { throw null; } + internal RenderTreeFrame WithAttributeEventHandlerId(ulong eventHandlerId) { throw null; } + internal RenderTreeFrame WithAttributeValue(object attributeValue) { throw null; } + internal RenderTreeFrame WithAttributeEventUpdatesAttributeName(string attributeUpdatesAttributeName) { throw null; } + internal RenderTreeFrame WithRegionSubtreeLength(int regionSubtreeLength) { throw null; } + internal RenderTreeFrame WithElementReferenceCaptureId(string elementReferenceCaptureId) { throw null; } + internal RenderTreeFrame WithElementKey(object elementKey) { throw null; } + internal RenderTreeFrame WithComponentKey(object componentKey) { throw null; } + } +} +namespace Microsoft.AspNetCore.Components.Rendering +{ + [System.Runtime.InteropServices.StructLayoutAttribute(System.Runtime.InteropServices.LayoutKind.Sequential)] + internal readonly partial struct ParameterViewLifetime + { + public static readonly ParameterViewLifetime Unbound = default; + private readonly object _dummy; + private readonly int _dummyPrimitive; + public ParameterViewLifetime(Microsoft.AspNetCore.Components.Rendering.RenderBatchBuilder owner) { throw null; } + public void AssertNotExpired() { } + } + [System.Diagnostics.DebuggerDisplayAttribute("{_state,nq}")] + internal partial class RendererSynchronizationContext : System.Threading.SynchronizationContext + { + public RendererSynchronizationContext() { } + public event System.UnhandledExceptionEventHandler UnhandledException { add { } remove { } } + public override System.Threading.SynchronizationContext CreateCopy() { throw null; } + public System.Threading.Tasks.Task InvokeAsync(System.Action action) { throw null; } + public System.Threading.Tasks.Task InvokeAsync(System.Func asyncAction) { throw null; } + public System.Threading.Tasks.Task InvokeAsync(System.Func> asyncFunction) { throw null; } + public System.Threading.Tasks.Task InvokeAsync(System.Func function) { throw null; } + public override void Post(System.Threading.SendOrPostCallback d, object state) { } + public override void Send(System.Threading.SendOrPostCallback d, object state) { } + } + [System.Runtime.InteropServices.StructLayoutAttribute(System.Runtime.InteropServices.LayoutKind.Sequential)] + internal readonly partial struct RenderQueueEntry + { + public readonly ComponentState ComponentState; + public readonly RenderFragment RenderFragment; + public RenderQueueEntry(Microsoft.AspNetCore.Components.Rendering.ComponentState componentState, Microsoft.AspNetCore.Components.RenderFragment renderFragment) { throw null; } + } + internal partial class RenderBatchBuilder : System.IDisposable + { + public RenderBatchBuilder() { } + public System.Collections.Generic.Dictionary AttributeDiffSet { [System.Runtime.CompilerServices.CompilerGeneratedAttribute]get { throw null; } } + public System.Collections.Generic.Queue ComponentDisposalQueue { [System.Runtime.CompilerServices.CompilerGeneratedAttribute]get { throw null; } } + public System.Collections.Generic.Queue ComponentRenderQueue { [System.Runtime.CompilerServices.CompilerGeneratedAttribute]get { throw null; } } + public Microsoft.AspNetCore.Components.RenderTree.ArrayBuilder DisposedComponentIds { [System.Runtime.CompilerServices.CompilerGeneratedAttribute]get { throw null; } } + public Microsoft.AspNetCore.Components.RenderTree.ArrayBuilder DisposedEventHandlerIds { [System.Runtime.CompilerServices.CompilerGeneratedAttribute]get { throw null; } } + public Microsoft.AspNetCore.Components.RenderTree.ArrayBuilder EditsBuffer { [System.Runtime.CompilerServices.CompilerGeneratedAttribute]get { throw null; } } + internal Microsoft.AspNetCore.Components.RenderTree.StackObjectPool> KeyedItemInfoDictionaryPool { [System.Runtime.CompilerServices.CompilerGeneratedAttribute]get { throw null; } } + public int ParameterViewValidityStamp { get { throw null; } } + public Microsoft.AspNetCore.Components.RenderTree.ArrayBuilder ReferenceFramesBuffer { [System.Runtime.CompilerServices.CompilerGeneratedAttribute]get { throw null; } } + public Microsoft.AspNetCore.Components.RenderTree.ArrayBuilder UpdatedComponentDiffs { [System.Runtime.CompilerServices.CompilerGeneratedAttribute]get { throw null; } } + public void ClearStateForCurrentBatch() { } + public void Dispose() { } + public void InvalidateParameterViews() { } + public Microsoft.AspNetCore.Components.RenderTree.RenderBatch ToBatch() { throw null; } + } + [System.Runtime.InteropServices.StructLayoutAttribute(System.Runtime.InteropServices.LayoutKind.Sequential)] + internal readonly partial struct KeyedItemInfo + { + public readonly int OldIndex; + public readonly int NewIndex; + public readonly int OldSiblingIndex; + public readonly int NewSiblingIndex; + public KeyedItemInfo(int oldIndex, int newIndex) { throw null; } + public Microsoft.AspNetCore.Components.Rendering.KeyedItemInfo WithNewSiblingIndex(int newSiblingIndex) { throw null; } + public Microsoft.AspNetCore.Components.Rendering.KeyedItemInfo WithOldSiblingIndex(int oldSiblingIndex) { throw null; } + } + internal partial class ComponentState : System.IDisposable + { + public ComponentState(Microsoft.AspNetCore.Components.RenderTree.Renderer renderer, int componentId, Microsoft.AspNetCore.Components.IComponent component, Microsoft.AspNetCore.Components.Rendering.ComponentState parentComponentState) { } + public Microsoft.AspNetCore.Components.IComponent Component { [System.Runtime.CompilerServices.CompilerGeneratedAttribute]get { throw null; } } + public int ComponentId { [System.Runtime.CompilerServices.CompilerGeneratedAttribute]get { throw null; } } + public Microsoft.AspNetCore.Components.Rendering.RenderTreeBuilder CurrentRenderTree { [System.Runtime.CompilerServices.CompilerGeneratedAttribute]get { throw null; } } + public Microsoft.AspNetCore.Components.Rendering.ComponentState ParentComponentState { [System.Runtime.CompilerServices.CompilerGeneratedAttribute]get { throw null; } } + public void Dispose() { } + public void NotifyCascadingValueChanged() { } + public System.Threading.Tasks.Task NotifyRenderCompletedAsync() { throw null; } + public void RenderIntoBatch(Microsoft.AspNetCore.Components.Rendering.RenderBatchBuilder batchBuilder, Microsoft.AspNetCore.Components.RenderFragment renderFragment) { } + public void SetDirectParameters(Microsoft.AspNetCore.Components.ParameterView parameters) { } + public bool TryDisposeInBatch(Microsoft.AspNetCore.Components.Rendering.RenderBatchBuilder batchBuilder, out System.Exception exception) { throw null; } + } + internal partial class RenderTreeUpdater + { + public RenderTreeUpdater() { } + public static void UpdateToMatchClientState(Microsoft.AspNetCore.Components.Rendering.RenderTreeBuilder renderTreeBuilder, ulong eventHandlerId, object newFieldValue) { } + } +} +namespace Microsoft.AspNetCore.Components.Routing +{ + internal partial class TemplateParser + { + public static readonly char[] InvalidParameterNameCharacters; + public TemplateParser() { } + internal static Microsoft.AspNetCore.Components.Routing.RouteTemplate ParseTemplate(string template) { throw null; } + } + internal partial class RouteContext + { + public RouteContext(string path) { } + public System.Type Handler { [System.Runtime.CompilerServices.CompilerGeneratedAttribute]get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute]set { } } + public System.Collections.Generic.IReadOnlyDictionary Parameters { [System.Runtime.CompilerServices.CompilerGeneratedAttribute]get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute]set { } } + public string[] Segments { [System.Runtime.CompilerServices.CompilerGeneratedAttribute]get { throw null; } } + } + [System.Diagnostics.DebuggerDisplayAttribute("Handler = {Handler}, Template = {Template}")] + internal partial class RouteEntry + { + public RouteEntry(Microsoft.AspNetCore.Components.Routing.RouteTemplate template, System.Type handler, string[] unusedRouteParameterNames) { } + public System.Type Handler { [System.Runtime.CompilerServices.CompilerGeneratedAttribute]get { throw null; } } + public Microsoft.AspNetCore.Components.Routing.RouteTemplate Template { [System.Runtime.CompilerServices.CompilerGeneratedAttribute]get { throw null; } } + public string[] UnusedRouteParameterNames { [System.Runtime.CompilerServices.CompilerGeneratedAttribute]get { throw null; } } + internal void Match(Microsoft.AspNetCore.Components.Routing.RouteContext context) { } + } + internal partial class RouteTable + { + public RouteTable(Microsoft.AspNetCore.Components.Routing.RouteEntry[] routes) { } + public Microsoft.AspNetCore.Components.Routing.RouteEntry[] Routes { [System.Runtime.CompilerServices.CompilerGeneratedAttribute]get { throw null; } } + internal void Route(Microsoft.AspNetCore.Components.Routing.RouteContext routeContext) { } + } + internal abstract partial class RouteConstraint + { + protected RouteConstraint() { } + public abstract bool Match(string pathSegment, out object convertedValue); + public static Microsoft.AspNetCore.Components.Routing.RouteConstraint Parse(string template, string segment, string constraint) { throw null; } + } + internal partial class TemplateSegment + { + public TemplateSegment(string template, string segment, bool isParameter) { } + public Microsoft.AspNetCore.Components.Routing.RouteConstraint[] Constraints { [System.Runtime.CompilerServices.CompilerGeneratedAttribute]get { throw null; } } + public bool IsParameter { [System.Runtime.CompilerServices.CompilerGeneratedAttribute]get { throw null; } } + public string Value { [System.Runtime.CompilerServices.CompilerGeneratedAttribute]get { throw null; } } + public bool Match(string pathSegment, out object matchedParameterValue) { throw null; } + } + [System.Diagnostics.DebuggerDisplayAttribute("{TemplateText}")] + internal partial class RouteTemplate + { + public RouteTemplate(string templateText, Microsoft.AspNetCore.Components.Routing.TemplateSegment[] segments) { } + public Microsoft.AspNetCore.Components.Routing.TemplateSegment[] Segments { [System.Runtime.CompilerServices.CompilerGeneratedAttribute]get { throw null; } } + public string TemplateText { [System.Runtime.CompilerServices.CompilerGeneratedAttribute]get { throw null; } } + } +} diff --git a/src/Components/Components/ref/Microsoft.AspNetCore.Components.csproj b/src/Components/Components/ref/Microsoft.AspNetCore.Components.csproj index 8a32a89b9e93..c535b143b6db 100644 --- a/src/Components/Components/ref/Microsoft.AspNetCore.Components.csproj +++ b/src/Components/Components/ref/Microsoft.AspNetCore.Components.csproj @@ -2,18 +2,23 @@ netstandard2.0;$(DefaultNetCoreTargetFramework) + $(DefaultNetCoreTargetFramework) - - - - + + + + + + - - - + + + + + diff --git a/src/Components/Components/ref/Microsoft.AspNetCore.Components.netstandard2.0.Manual.cs b/src/Components/Components/ref/Microsoft.AspNetCore.Components.netstandard2.0.Manual.cs deleted file mode 100644 index 0f6b69993535..000000000000 --- a/src/Components/Components/ref/Microsoft.AspNetCore.Components.netstandard2.0.Manual.cs +++ /dev/null @@ -1,58 +0,0 @@ -// Copyright (c) .NET Foundation. All rights reserved. -// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. - -using System; -using System.Runtime.InteropServices; -using Microsoft.AspNetCore.Components.Rendering; - -namespace Microsoft.AspNetCore.Components.RenderTree -{ - // https://github.com/dotnet/arcade/pull/2033 - [StructLayout(LayoutKind.Explicit, Pack = 4)] - public readonly partial struct RenderTreeFrame - { - [FieldOffset(0)] public readonly int Sequence; - - [FieldOffset(4)] public readonly RenderTreeFrameType FrameType; - - [FieldOffset(8)] public readonly int ElementSubtreeLength; - - [FieldOffset(16)] public readonly string ElementName; - - [FieldOffset(24)] public readonly object ElementKey; - - [FieldOffset(16)] public readonly string TextContent; - - [FieldOffset(8)] public readonly ulong AttributeEventHandlerId; - - [FieldOffset(16)] public readonly string AttributeName; - - [FieldOffset(24)] public readonly object AttributeValue; - - [FieldOffset(32)] public readonly string AttributeEventUpdatesAttributeName; - - [FieldOffset(8)] public readonly int ComponentSubtreeLength; - - [FieldOffset(12)] public readonly int ComponentId; - - [FieldOffset(16)] public readonly Type ComponentType; - - [FieldOffset(32)] public readonly object ComponentKey; - - public IComponent Component => null; - - [FieldOffset(8)] public readonly int RegionSubtreeLength; - - [FieldOffset(16)] public readonly string ElementReferenceCaptureId; - - [FieldOffset(24)] public readonly Action ElementReferenceCaptureAction; - - [FieldOffset(8)] public readonly int ComponentReferenceCaptureParentFrameIndex; - - [FieldOffset(16)] public readonly Action ComponentReferenceCaptureAction; - - [FieldOffset(16)] public readonly string MarkupContent; - - public override string ToString() => null; - } -} diff --git a/src/Components/Components/src/Microsoft.AspNetCore.Components.csproj b/src/Components/Components/src/Microsoft.AspNetCore.Components.csproj index 4c0a31a3f6e0..6bc25e8d43aa 100644 --- a/src/Components/Components/src/Microsoft.AspNetCore.Components.csproj +++ b/src/Components/Components/src/Microsoft.AspNetCore.Components.csproj @@ -5,7 +5,6 @@ $(DefaultNetCoreTargetFramework) Components feature for ASP.NET Core. true - true true diff --git a/src/Components/Forms/ref/Microsoft.AspNetCore.Components.Forms.csproj b/src/Components/Forms/ref/Microsoft.AspNetCore.Components.Forms.csproj index cc3fcfda2760..0709f6d84b9f 100644 --- a/src/Components/Forms/ref/Microsoft.AspNetCore.Components.Forms.csproj +++ b/src/Components/Forms/ref/Microsoft.AspNetCore.Components.Forms.csproj @@ -2,14 +2,15 @@ netstandard2.0;$(DefaultNetCoreTargetFramework) + $(DefaultNetCoreTargetFramework) - - + + - + diff --git a/src/Components/Forms/src/Microsoft.AspNetCore.Components.Forms.csproj b/src/Components/Forms/src/Microsoft.AspNetCore.Components.Forms.csproj index d338f21000d3..1c39c34f1d44 100644 --- a/src/Components/Forms/src/Microsoft.AspNetCore.Components.Forms.csproj +++ b/src/Components/Forms/src/Microsoft.AspNetCore.Components.Forms.csproj @@ -6,7 +6,6 @@ true Forms and validation support for Blazor applications. true - true diff --git a/src/Components/Ignitor/src/Ignitor.csproj b/src/Components/Ignitor/src/Ignitor.csproj index 2b139eb30f45..140496e8265c 100644 --- a/src/Components/Ignitor/src/Ignitor.csproj +++ b/src/Components/Ignitor/src/Ignitor.csproj @@ -7,6 +7,8 @@ false false $(DefineConstants);IGNITOR + + false @@ -26,6 +28,8 @@ + + diff --git a/src/Components/Ignitor/test/Ignitor.Test.csproj b/src/Components/Ignitor/test/Ignitor.Test.csproj index aa2df88e243e..32e40b083f9c 100644 --- a/src/Components/Ignitor/test/Ignitor.Test.csproj +++ b/src/Components/Ignitor/test/Ignitor.Test.csproj @@ -3,10 +3,14 @@ $(DefaultNetCoreTargetFramework) $(DefineConstants);IGNITOR + + false + + diff --git a/src/Components/Server/ref/Microsoft.AspNetCore.Components.Server.Manual.cs b/src/Components/Server/ref/Microsoft.AspNetCore.Components.Server.Manual.cs new file mode 100644 index 000000000000..438fbb599b93 --- /dev/null +++ b/src/Components/Server/ref/Microsoft.AspNetCore.Components.Server.Manual.cs @@ -0,0 +1,328 @@ +// Copyright (c) .NET Foundation. All rights reserved. +// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. + +namespace Microsoft.AspNetCore.Components +{ + [System.Runtime.InteropServices.StructLayoutAttribute(System.Runtime.InteropServices.LayoutKind.Sequential)] + internal partial struct ComponentParameter + { + private object _dummy; + public string Assembly { [System.Runtime.CompilerServices.CompilerGeneratedAttribute]get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute]set { } } + public string Name { [System.Runtime.CompilerServices.CompilerGeneratedAttribute]get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute]set { } } + public string TypeName { [System.Runtime.CompilerServices.CompilerGeneratedAttribute]get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute]set { } } + public static (System.Collections.Generic.IList parameterDefinitions, System.Collections.Generic.IList parameterValues) FromParameterView(Microsoft.AspNetCore.Components.ParameterView parameters) { throw null; } + } + internal partial class ComponentParametersTypeCache + { + public ComponentParametersTypeCache() { } + public System.Type GetParameterType(string assembly, string type) { throw null; } + } + [System.Runtime.InteropServices.StructLayoutAttribute(System.Runtime.InteropServices.LayoutKind.Sequential)] + internal partial struct ServerComponent + { + private object _dummy; + private int _dummyPrimitive; + public ServerComponent(int sequence, string assemblyName, string typeName, System.Collections.Generic.IList parametersDefinitions, System.Collections.Generic.IList parameterValues, System.Guid invocationId) { throw null; } + public string AssemblyName { [System.Runtime.CompilerServices.CompilerGeneratedAttribute]get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute]set { } } + public System.Guid InvocationId { [System.Runtime.CompilerServices.CompilerGeneratedAttribute]get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute]set { } } + public System.Collections.Generic.IList ParameterDefinitions { [System.Runtime.CompilerServices.CompilerGeneratedAttribute]get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute]set { } } + public System.Collections.Generic.IList ParameterValues { [System.Runtime.CompilerServices.CompilerGeneratedAttribute]get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute]set { } } + public int Sequence { [System.Runtime.CompilerServices.CompilerGeneratedAttribute]get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute]set { } } + public string TypeName { [System.Runtime.CompilerServices.CompilerGeneratedAttribute]get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute]set { } } + } + internal static partial class ServerComponentSerializationSettings + { + public static readonly System.TimeSpan DataExpiration; + public const string DataProtectionProviderPurpose = "Microsoft.AspNetCore.Components.ComponentDescriptorSerializer,V1"; + public static readonly System.Text.Json.JsonSerializerOptions JsonSerializationOptions; + } + internal sealed partial class ElementReferenceJsonConverter : System.Text.Json.Serialization.JsonConverter + { + public ElementReferenceJsonConverter() { } + public override Microsoft.AspNetCore.Components.ElementReference Read(ref System.Text.Json.Utf8JsonReader reader, System.Type typeToConvert, System.Text.Json.JsonSerializerOptions options) { throw null; } + public override void Write(System.Text.Json.Utf8JsonWriter writer, Microsoft.AspNetCore.Components.ElementReference value, System.Text.Json.JsonSerializerOptions options) { } + } + [System.Runtime.InteropServices.StructLayoutAttribute(System.Runtime.InteropServices.LayoutKind.Sequential)] + internal partial struct ServerComponentMarker + { + private object _dummy; + private int _dummyPrimitive; + public string Descriptor { [System.Runtime.CompilerServices.CompilerGeneratedAttribute]get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute]set { } } + public string PrerenderId { [System.Runtime.CompilerServices.CompilerGeneratedAttribute]get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute]set { } } + public int? Sequence { [System.Runtime.CompilerServices.CompilerGeneratedAttribute]get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute]set { } } + public string Type { [System.Runtime.CompilerServices.CompilerGeneratedAttribute]get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute]set { } } + public Microsoft.AspNetCore.Components.ServerComponentMarker GetEndRecord() { throw null; } + public static Microsoft.AspNetCore.Components.ServerComponentMarker NonPrerendered(int sequence, string descriptor) { throw null; } + public static Microsoft.AspNetCore.Components.ServerComponentMarker Prerendered(int sequence, string descriptor) { throw null; } + } + internal partial class ServerComponentTypeCache + { + public ServerComponentTypeCache() { } + public System.Type GetRootComponent(string assembly, string type) { throw null; } + } +} +namespace Microsoft.AspNetCore.Components.Server +{ + internal partial class CircuitDisconnectMiddleware + { + public CircuitDisconnectMiddleware(Microsoft.Extensions.Logging.ILogger logger, Microsoft.AspNetCore.Components.Server.Circuits.CircuitRegistry registry, Microsoft.AspNetCore.Components.Server.Circuits.CircuitIdFactory circuitIdFactory, Microsoft.AspNetCore.Http.RequestDelegate next) { } + public Microsoft.AspNetCore.Components.Server.Circuits.CircuitIdFactory CircuitIdFactory { [System.Runtime.CompilerServices.CompilerGeneratedAttribute]get { throw null; } } + public Microsoft.Extensions.Logging.ILogger Logger { [System.Runtime.CompilerServices.CompilerGeneratedAttribute]get { throw null; } } + public Microsoft.AspNetCore.Http.RequestDelegate Next { [System.Runtime.CompilerServices.CompilerGeneratedAttribute]get { throw null; } } + public Microsoft.AspNetCore.Components.Server.Circuits.CircuitRegistry Registry { [System.Runtime.CompilerServices.CompilerGeneratedAttribute]get { throw null; } } + [System.Diagnostics.DebuggerStepThroughAttribute] + public System.Threading.Tasks.Task Invoke(Microsoft.AspNetCore.Http.HttpContext context) { throw null; } + } + internal partial class ServerComponentDeserializer + { + public ServerComponentDeserializer(Microsoft.AspNetCore.DataProtection.IDataProtectionProvider dataProtectionProvider, Microsoft.Extensions.Logging.ILogger logger, Microsoft.AspNetCore.Components.ServerComponentTypeCache rootComponentTypeCache, Microsoft.AspNetCore.Components.Server.ComponentParameterDeserializer parametersDeserializer) { } + public bool TryDeserializeComponentDescriptorCollection(string serializedComponentRecords, out System.Collections.Generic.List descriptors) { throw null; } + } + internal partial class ComponentDescriptor + { + public ComponentDescriptor() { } + public System.Type ComponentType { [System.Runtime.CompilerServices.CompilerGeneratedAttribute]get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute]set { } } + public Microsoft.AspNetCore.Components.ParameterView Parameters { [System.Runtime.CompilerServices.CompilerGeneratedAttribute]get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute]set { } } + public int Sequence { [System.Runtime.CompilerServices.CompilerGeneratedAttribute]get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute]set { } } + public void Deconstruct(out System.Type componentType, out Microsoft.AspNetCore.Components.ParameterView parameters, out int sequence) { throw null; } + } + internal sealed partial class ComponentHub : Microsoft.AspNetCore.SignalR.Hub + { + public ComponentHub(Microsoft.AspNetCore.Components.Server.ServerComponentDeserializer serializer, Microsoft.AspNetCore.Components.Server.Circuits.CircuitFactory circuitFactory, Microsoft.AspNetCore.Components.Server.Circuits.CircuitIdFactory circuitIdFactory, Microsoft.AspNetCore.Components.Server.Circuits.CircuitRegistry circuitRegistry, Microsoft.Extensions.Logging.ILogger logger) { } + public static Microsoft.AspNetCore.Http.PathString DefaultPath { [System.Runtime.CompilerServices.CompilerGeneratedAttribute]get { throw null; } } + [System.Diagnostics.DebuggerStepThroughAttribute] + public System.Threading.Tasks.ValueTask BeginInvokeDotNetFromJS(string callId, string assemblyName, string methodIdentifier, long dotNetObjectId, string argsJson) { throw null; } + [System.Diagnostics.DebuggerStepThroughAttribute] + public System.Threading.Tasks.ValueTask ConnectCircuit(string circuitIdSecret) { throw null; } + [System.Diagnostics.DebuggerStepThroughAttribute] + public System.Threading.Tasks.ValueTask DispatchBrowserEvent(string eventDescriptor, string eventArgs) { throw null; } + [System.Diagnostics.DebuggerStepThroughAttribute] + public System.Threading.Tasks.ValueTask EndInvokeJSFromDotNet(long asyncHandle, bool succeeded, string arguments) { throw null; } + public override System.Threading.Tasks.Task OnDisconnectedAsync(System.Exception exception) { throw null; } + [System.Diagnostics.DebuggerStepThroughAttribute] + public System.Threading.Tasks.ValueTask OnLocationChanged(string uri, bool intercepted) { throw null; } + [System.Diagnostics.DebuggerStepThroughAttribute] + public System.Threading.Tasks.ValueTask OnRenderCompleted(long renderId, string errorMessageOrNull) { throw null; } + [System.Diagnostics.DebuggerStepThroughAttribute] + public System.Threading.Tasks.ValueTask StartCircuit(string baseUri, string uri, string serializedComponentRecords) { throw null; } + } + internal partial class ComponentParameterDeserializer + { + public ComponentParameterDeserializer(Microsoft.Extensions.Logging.ILogger logger, Microsoft.AspNetCore.Components.ComponentParametersTypeCache parametersCache) { } + public bool TryDeserializeParameters(System.Collections.Generic.IList parametersDefinitions, System.Collections.Generic.IList parameterValues, out Microsoft.AspNetCore.Components.ParameterView parameters) { throw null; } + } +} +namespace Microsoft.AspNetCore.Components.Server.BlazorPack +{ + internal sealed partial class BlazorPackHubProtocol : Microsoft.AspNetCore.SignalR.Protocol.IHubProtocol + { + internal const string ProtocolName = "blazorpack"; + public BlazorPackHubProtocol() { } + public string Name { get { throw null; } } + public Microsoft.AspNetCore.Connections.TransferFormat TransferFormat { get { throw null; } } + public int Version { get { throw null; } } + public System.ReadOnlyMemory GetMessageBytes(Microsoft.AspNetCore.SignalR.Protocol.HubMessage message) { throw null; } + public bool IsVersionSupported(int version) { throw null; } + public bool TryParseMessage(ref System.Buffers.ReadOnlySequence input, Microsoft.AspNetCore.SignalR.IInvocationBinder binder, out Microsoft.AspNetCore.SignalR.Protocol.HubMessage message) { throw null; } + public void WriteMessage(Microsoft.AspNetCore.SignalR.Protocol.HubMessage message, System.Buffers.IBufferWriter output) { } + } +} +namespace Microsoft.AspNetCore.Components.Server.Circuits +{ + internal partial class CircuitFactory + { + public CircuitFactory(Microsoft.Extensions.DependencyInjection.IServiceScopeFactory scopeFactory, Microsoft.Extensions.Logging.ILoggerFactory loggerFactory, Microsoft.AspNetCore.Components.Server.Circuits.CircuitIdFactory circuitIdFactory, Microsoft.Extensions.Options.IOptions options) { } + public Microsoft.AspNetCore.Components.Server.Circuits.CircuitHost CreateCircuitHost(System.Collections.Generic.IReadOnlyList components, Microsoft.AspNetCore.Components.Server.Circuits.CircuitClientProxy client, string baseUri, string uri, System.Security.Claims.ClaimsPrincipal user) { throw null; } + } + internal partial class RenderBatchWriter : System.IDisposable + { + public RenderBatchWriter(System.IO.Stream output, bool leaveOpen) { } + public void Dispose() { } + public void Write(in Microsoft.AspNetCore.Components.RenderTree.RenderBatch renderBatch) { } + } + internal partial class CircuitRegistry + { + public CircuitRegistry(Microsoft.Extensions.Options.IOptions options, Microsoft.Extensions.Logging.ILogger logger, Microsoft.AspNetCore.Components.Server.Circuits.CircuitIdFactory CircuitHostFactory) { } + internal System.Collections.Concurrent.ConcurrentDictionary ConnectedCircuits { [System.Runtime.CompilerServices.CompilerGeneratedAttribute]get { throw null; } } + internal Microsoft.Extensions.Caching.Memory.MemoryCache DisconnectedCircuits { [System.Runtime.CompilerServices.CompilerGeneratedAttribute]get { throw null; } } + [System.Diagnostics.DebuggerStepThroughAttribute] + public virtual System.Threading.Tasks.Task ConnectAsync(Microsoft.AspNetCore.Components.Server.Circuits.CircuitId circuitId, Microsoft.AspNetCore.SignalR.IClientProxy clientProxy, string connectionId, System.Threading.CancellationToken cancellationToken) { throw null; } + protected virtual (Microsoft.AspNetCore.Components.Server.Circuits.CircuitHost circuitHost, bool previouslyConnected) ConnectCore(Microsoft.AspNetCore.Components.Server.Circuits.CircuitId circuitId, Microsoft.AspNetCore.SignalR.IClientProxy clientProxy, string connectionId) { throw null; } + public virtual System.Threading.Tasks.Task DisconnectAsync(Microsoft.AspNetCore.Components.Server.Circuits.CircuitHost circuitHost, string connectionId) { throw null; } + protected virtual bool DisconnectCore(Microsoft.AspNetCore.Components.Server.Circuits.CircuitHost circuitHost, string connectionId) { throw null; } + [System.Diagnostics.DebuggerStepThroughAttribute] + protected virtual void OnEntryEvicted(object key, object value, Microsoft.Extensions.Caching.Memory.EvictionReason reason, object state) { } + public void Register(Microsoft.AspNetCore.Components.Server.Circuits.CircuitHost circuitHost) { } + public void RegisterDisconnectedCircuit(Microsoft.AspNetCore.Components.Server.Circuits.CircuitHost circuitHost) { } + public System.Threading.Tasks.ValueTask TerminateAsync(Microsoft.AspNetCore.Components.Server.Circuits.CircuitId circuitId) { throw null; } + } + internal partial class CircuitHandle + { + public CircuitHandle() { } + public Microsoft.AspNetCore.Components.Server.Circuits.CircuitHost CircuitHost { [System.Runtime.CompilerServices.CompilerGeneratedAttribute]get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute]set { } } + } + internal partial class RemoteRenderer : Microsoft.AspNetCore.Components.RenderTree.Renderer + { + internal readonly System.Collections.Concurrent.ConcurrentQueue _unacknowledgedRenderBatches; + public RemoteRenderer(System.IServiceProvider serviceProvider, Microsoft.Extensions.Logging.ILoggerFactory loggerFactory, Microsoft.AspNetCore.Components.Server.CircuitOptions options, Microsoft.AspNetCore.Components.Server.Circuits.CircuitClientProxy client, Microsoft.Extensions.Logging.ILogger logger) : base (default(System.IServiceProvider), default(Microsoft.Extensions.Logging.ILoggerFactory)) { } + public override Microsoft.AspNetCore.Components.Dispatcher Dispatcher { [System.Runtime.CompilerServices.CompilerGeneratedAttribute]get { throw null; } } + public event System.EventHandler UnhandledException { add { } remove { } } + public System.Threading.Tasks.Task AddComponentAsync(System.Type componentType, string domElementSelector) { throw null; } + protected override void Dispose(bool disposing) { } + protected override void HandleException(System.Exception exception) { } + public System.Threading.Tasks.Task OnRenderCompletedAsync(long incomingBatchId, string errorMessageOrNull) { throw null; } + public System.Threading.Tasks.Task ProcessBufferedRenderBatches() { throw null; } + protected override void ProcessPendingRender() { } + protected override System.Threading.Tasks.Task UpdateDisplayAsync(in Microsoft.AspNetCore.Components.RenderTree.RenderBatch batch) { throw null; } + [System.Runtime.InteropServices.StructLayoutAttribute(System.Runtime.InteropServices.LayoutKind.Sequential)] + internal readonly partial struct UnacknowledgedRenderBatch + { + private readonly object _dummy; + private readonly int _dummyPrimitive; + public UnacknowledgedRenderBatch(long batchId, Microsoft.AspNetCore.Components.Server.Circuits.ArrayBuilder data, System.Threading.Tasks.TaskCompletionSource completionSource, Microsoft.Extensions.Internal.ValueStopwatch valueStopwatch) { throw null; } + public long BatchId { [System.Runtime.CompilerServices.CompilerGeneratedAttribute]get { throw null; } } + public System.Threading.Tasks.TaskCompletionSource CompletionSource { [System.Runtime.CompilerServices.CompilerGeneratedAttribute]get { throw null; } } + public Microsoft.AspNetCore.Components.Server.Circuits.ArrayBuilder Data { [System.Runtime.CompilerServices.CompilerGeneratedAttribute]get { throw null; } } + public Microsoft.Extensions.Internal.ValueStopwatch ValueStopwatch { [System.Runtime.CompilerServices.CompilerGeneratedAttribute]get { throw null; } } + } + } + internal partial class ArrayBuilder : System.IDisposable + { + public ArrayBuilder(int minCapacity = 32, System.Buffers.ArrayPool arrayPool = null) { } + public T[] Buffer { get { throw null; } } + public int Count { get { throw null; } } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)]public int Append(in T item) { throw null; } + internal int Append(T[] source, int startIndex, int length) { throw null; } + public void Clear() { } + public void Dispose() { } + public void InsertExpensive(int index, T value) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)]public void Overwrite(int index, in T value) { } + public void RemoveLast() { } + } + internal partial class CircuitClientProxy : Microsoft.AspNetCore.SignalR.IClientProxy + { + public CircuitClientProxy() { } + public CircuitClientProxy(Microsoft.AspNetCore.SignalR.IClientProxy clientProxy, string connectionId) { } + public Microsoft.AspNetCore.SignalR.IClientProxy Client { [System.Runtime.CompilerServices.CompilerGeneratedAttribute]get { throw null; } } + public bool Connected { [System.Runtime.CompilerServices.CompilerGeneratedAttribute]get { throw null; } } + public string ConnectionId { [System.Runtime.CompilerServices.CompilerGeneratedAttribute]get { throw null; } } + public System.Threading.Tasks.Task SendCoreAsync(string method, object[] args, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) { throw null; } + public void SetDisconnected() { } + public void Transfer(Microsoft.AspNetCore.SignalR.IClientProxy clientProxy, string connectionId) { } + } + internal partial class CircuitHost : System.IAsyncDisposable + { + public CircuitHost(Microsoft.AspNetCore.Components.Server.Circuits.CircuitId circuitId, Microsoft.Extensions.DependencyInjection.IServiceScope scope, Microsoft.AspNetCore.Components.Server.CircuitOptions options, Microsoft.AspNetCore.Components.Server.Circuits.CircuitClientProxy client, Microsoft.AspNetCore.Components.Server.Circuits.RemoteRenderer renderer, System.Collections.Generic.IReadOnlyList descriptors, Microsoft.AspNetCore.Components.Server.Circuits.RemoteJSRuntime jsRuntime, Microsoft.AspNetCore.Components.Server.Circuits.CircuitHandler[] circuitHandlers, Microsoft.Extensions.Logging.ILogger logger) { } + public Microsoft.AspNetCore.Components.Server.Circuits.Circuit Circuit { [System.Runtime.CompilerServices.CompilerGeneratedAttribute]get { throw null; } } + public Microsoft.AspNetCore.Components.Server.Circuits.CircuitId CircuitId { [System.Runtime.CompilerServices.CompilerGeneratedAttribute]get { throw null; } } + public Microsoft.AspNetCore.Components.Server.Circuits.CircuitClientProxy Client { [System.Runtime.CompilerServices.CompilerGeneratedAttribute]get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute]set { } } + public System.Collections.Generic.IReadOnlyList Descriptors { [System.Runtime.CompilerServices.CompilerGeneratedAttribute]get { throw null; } } + public Microsoft.AspNetCore.Components.Server.Circuits.CircuitHandle Handle { [System.Runtime.CompilerServices.CompilerGeneratedAttribute]get { throw null; } } + public Microsoft.AspNetCore.Components.Server.Circuits.RemoteJSRuntime JSRuntime { [System.Runtime.CompilerServices.CompilerGeneratedAttribute]get { throw null; } } + public Microsoft.AspNetCore.Components.Server.Circuits.RemoteRenderer Renderer { [System.Runtime.CompilerServices.CompilerGeneratedAttribute]get { throw null; } } + public System.IServiceProvider Services { [System.Runtime.CompilerServices.CompilerGeneratedAttribute]get { throw null; } } + public event System.UnhandledExceptionEventHandler UnhandledException { add { } remove { } } + [System.Diagnostics.DebuggerStepThroughAttribute] + public System.Threading.Tasks.Task BeginInvokeDotNetFromJS(string callId, string assemblyName, string methodIdentifier, long dotNetObjectId, string argsJson) { throw null; } + [System.Diagnostics.DebuggerStepThroughAttribute] + public System.Threading.Tasks.Task DispatchEvent(string eventDescriptorJson, string eventArgsJson) { throw null; } + [System.Diagnostics.DebuggerStepThroughAttribute] + public System.Threading.Tasks.ValueTask DisposeAsync() { throw null; } + [System.Diagnostics.DebuggerStepThroughAttribute] + public System.Threading.Tasks.Task EndInvokeJSFromDotNet(long asyncCall, bool succeded, string arguments) { throw null; } + public System.Threading.Tasks.Task InitializeAsync(System.Threading.CancellationToken cancellationToken) { throw null; } + [System.Diagnostics.DebuggerStepThroughAttribute] + public System.Threading.Tasks.Task OnConnectionDownAsync(System.Threading.CancellationToken cancellationToken) { throw null; } + [System.Diagnostics.DebuggerStepThroughAttribute] + public System.Threading.Tasks.Task OnConnectionUpAsync(System.Threading.CancellationToken cancellationToken) { throw null; } + [System.Diagnostics.DebuggerStepThroughAttribute] + public System.Threading.Tasks.Task OnLocationChangedAsync(string uri, bool intercepted) { throw null; } + [System.Diagnostics.DebuggerStepThroughAttribute] + public System.Threading.Tasks.Task OnRenderCompletedAsync(long renderId, string errorMessageOrNull) { throw null; } + public void SendPendingBatches() { } + public void SetCircuitUser(System.Security.Claims.ClaimsPrincipal user) { } + } + [System.Runtime.InteropServices.StructLayoutAttribute(System.Runtime.InteropServices.LayoutKind.Sequential)] + internal readonly partial struct CircuitId : System.IEquatable + { + private readonly object _dummy; + public CircuitId(string secret, string id) { throw null; } + public string Id { [System.Runtime.CompilerServices.CompilerGeneratedAttribute]get { throw null; } } + public string Secret { [System.Runtime.CompilerServices.CompilerGeneratedAttribute]get { throw null; } } + public bool Equals([System.Diagnostics.CodeAnalysis.AllowNullAttribute]Microsoft.AspNetCore.Components.Server.Circuits.CircuitId other) { throw null; } + public override bool Equals(object obj) { throw null; } + public override int GetHashCode() { throw null; } + public override string ToString() { throw null; } + } + internal partial class CircuitIdFactory + { + public CircuitIdFactory(Microsoft.AspNetCore.DataProtection.IDataProtectionProvider provider) { } + public Microsoft.AspNetCore.Components.Server.Circuits.CircuitId CreateCircuitId() { throw null; } + public bool TryParseCircuitId(string text, out Microsoft.AspNetCore.Components.Server.Circuits.CircuitId circuitId) { throw null; } + } + internal partial class RemoteJSRuntime : Microsoft.JSInterop.JSRuntime + { + public RemoteJSRuntime(Microsoft.Extensions.Options.IOptions options, Microsoft.Extensions.Logging.ILogger logger) { } + protected override void BeginInvokeJS(long asyncHandle, string identifier, string argsJson) { } + protected override void EndInvokeDotNet(Microsoft.JSInterop.Infrastructure.DotNetInvocationInfo invocationInfo, in Microsoft.JSInterop.Infrastructure.DotNetInvocationResult invocationResult) { } + internal void Initialize(Microsoft.AspNetCore.Components.Server.Circuits.CircuitClientProxy clientProxy) { } + public static partial class Log + { + internal static void BeginInvokeJS(Microsoft.Extensions.Logging.ILogger logger, long asyncHandle, string identifier) { } + internal static void InvokeDotNetMethodException(Microsoft.Extensions.Logging.ILogger logger, in Microsoft.JSInterop.Infrastructure.DotNetInvocationInfo invocationInfo, System.Exception exception) { } + internal static void InvokeDotNetMethodSuccess(Microsoft.Extensions.Logging.ILogger logger, in Microsoft.JSInterop.Infrastructure.DotNetInvocationInfo invocationInfo) { } + } + } +} +namespace Microsoft.AspNetCore.Internal +{ + internal static partial class BinaryMessageFormatter + { + public static int LengthPrefixLength(long length) { throw null; } + public static void WriteLengthPrefix(long length, System.Buffers.IBufferWriter output) { } + public static int WriteLengthPrefix(long length, System.Span output) { throw null; } + } + internal static partial class BinaryMessageParser + { + public static bool TryParseMessage(ref System.Buffers.ReadOnlySequence buffer, out System.Buffers.ReadOnlySequence payload) { throw null; } + } + internal sealed partial class MemoryBufferWriter : System.IO.Stream, System.Buffers.IBufferWriter + { + public MemoryBufferWriter(int minimumSegmentSize = 4096) { } + public override bool CanRead { get { throw null; } } + public override bool CanSeek { get { throw null; } } + public override bool CanWrite { get { throw null; } } + public override long Length { get { throw null; } } + public override long Position { get { throw null; } set { } } + public void Advance(int count) { } + public void CopyTo(System.Buffers.IBufferWriter destination) { } + public void CopyTo(System.Span span) { } + public override System.Threading.Tasks.Task CopyToAsync(System.IO.Stream destination, int bufferSize, System.Threading.CancellationToken cancellationToken) { throw null; } + protected override void Dispose(bool disposing) { } + public override void Flush() { } + public override System.Threading.Tasks.Task FlushAsync(System.Threading.CancellationToken cancellationToken) { throw null; } + public static Microsoft.AspNetCore.Internal.MemoryBufferWriter Get() { throw null; } + public System.Memory GetMemory(int sizeHint = 0) { throw null; } + public System.Span GetSpan(int sizeHint = 0) { throw null; } + public override int Read(byte[] buffer, int offset, int count) { throw null; } + public void Reset() { } + public static void Return(Microsoft.AspNetCore.Internal.MemoryBufferWriter writer) { } + public override long Seek(long offset, System.IO.SeekOrigin origin) { throw null; } + public override void SetLength(long value) { } + public byte[] ToArray() { throw null; } + public override void Write(byte[] buffer, int offset, int count) { } + public override void Write(System.ReadOnlySpan span) { } + public override void WriteByte(byte value) { } + } +} +namespace Microsoft.Extensions.Internal +{ + [System.Runtime.InteropServices.StructLayoutAttribute(System.Runtime.InteropServices.LayoutKind.Sequential)] + internal partial struct ValueStopwatch + { + private int _dummyPrimitive; + public bool IsActive { get { throw null; } } + public System.TimeSpan GetElapsedTime() { throw null; } + public static Microsoft.Extensions.Internal.ValueStopwatch StartNew() { throw null; } + } +} diff --git a/src/Components/Server/ref/Microsoft.AspNetCore.Components.Server.csproj b/src/Components/Server/ref/Microsoft.AspNetCore.Components.Server.csproj index 838eac284aa8..3973a0b3c278 100644 --- a/src/Components/Server/ref/Microsoft.AspNetCore.Components.Server.csproj +++ b/src/Components/Server/ref/Microsoft.AspNetCore.Components.Server.csproj @@ -5,14 +5,16 @@ - - - - - - - - - + + + + + + + + + + + diff --git a/src/Components/Server/src/Microsoft.AspNetCore.Components.Server.csproj b/src/Components/Server/src/Microsoft.AspNetCore.Components.Server.csproj index 04475e354052..69bf60373e41 100644 --- a/src/Components/Server/src/Microsoft.AspNetCore.Components.Server.csproj +++ b/src/Components/Server/src/Microsoft.AspNetCore.Components.Server.csproj @@ -9,7 +9,7 @@ true CS0436;$(NoWarn) $(DefineConstants);ENABLE_UNSAFE_MSGPACK;SPAN_BUILTIN;MESSAGEPACK_INTERNAL;COMPONENTS_SERVER - false + false diff --git a/src/Components/Web.JS/Microsoft.AspNetCore.Components.Web.JS.npmproj b/src/Components/Web.JS/Microsoft.AspNetCore.Components.Web.JS.npmproj index 071e61a13a2b..915e6f019090 100644 --- a/src/Components/Web.JS/Microsoft.AspNetCore.Components.Web.JS.npmproj +++ b/src/Components/Web.JS/Microsoft.AspNetCore.Components.Web.JS.npmproj @@ -28,6 +28,11 @@ + + + + + diff --git a/src/Components/Web.JS/dist/Release/blazor.server.js b/src/Components/Web.JS/dist/Release/blazor.server.js index b6d853ce324e..e04bab52cc11 100644 --- a/src/Components/Web.JS/dist/Release/blazor.server.js +++ b/src/Components/Web.JS/dist/Release/blazor.server.js @@ -12,4 +12,4 @@ var r=n(50),o=n(51),i=n(52);function a(){return c.TYPED_ARRAY_SUPPORT?2147483647 * @author Feross Aboukhadijeh * @license MIT */ -function r(e,t){if(e===t)return 0;for(var n=e.length,r=t.length,o=0,i=Math.min(n,r);o=0;u--)if(l[u]!==f[u])return!1;for(u=l.length-1;u>=0;u--)if(c=l[u],!b(e[c],t[c],n,r))return!1;return!0}(e,t,n,a))}return n?e===t:e==t}function m(e){return"[object Arguments]"==Object.prototype.toString.call(e)}function w(e,t){if(!e||!t)return!1;if("[object RegExp]"==Object.prototype.toString.call(t))return t.test(e);try{if(e instanceof t)return!0}catch(e){}return!Error.isPrototypeOf(t)&&!0===t.call({},e)}function E(e,t,n,r){var o;if("function"!=typeof t)throw new TypeError('"block" argument must be a function');"string"==typeof n&&(r=n,n=null),o=function(e){var t;try{e()}catch(e){t=e}return t}(t),r=(n&&n.name?" ("+n.name+").":".")+(r?" "+r:"."),e&&!o&&y(o,n,"Missing expected exception"+r);var a="string"==typeof r,s=!e&&o&&!n;if((!e&&i.isError(o)&&a&&w(o,n)||s)&&y(o,n,"Got unwanted exception"+r),e&&o&&n&&!w(o,n)||!e&&o)throw o}f.AssertionError=function(e){var t;this.name="AssertionError",this.actual=e.actual,this.expected=e.expected,this.operator=e.operator,e.message?(this.message=e.message,this.generatedMessage=!1):(this.message=d(g((t=this).actual),128)+" "+t.operator+" "+d(g(t.expected),128),this.generatedMessage=!0);var n=e.stackStartFunction||y;if(Error.captureStackTrace)Error.captureStackTrace(this,n);else{var r=new Error;if(r.stack){var o=r.stack,i=p(n),a=o.indexOf("\n"+i);if(a>=0){var s=o.indexOf("\n",a+1);o=o.substring(s+1)}this.stack=o}}},i.inherits(f.AssertionError,Error),f.fail=y,f.ok=v,f.equal=function(e,t,n){e!=t&&y(e,t,n,"==",f.equal)},f.notEqual=function(e,t,n){e==t&&y(e,t,n,"!=",f.notEqual)},f.deepEqual=function(e,t,n){b(e,t,!1)||y(e,t,n,"deepEqual",f.deepEqual)},f.deepStrictEqual=function(e,t,n){b(e,t,!0)||y(e,t,n,"deepStrictEqual",f.deepStrictEqual)},f.notDeepEqual=function(e,t,n){b(e,t,!1)&&y(e,t,n,"notDeepEqual",f.notDeepEqual)},f.notDeepStrictEqual=function e(t,n,r){b(t,n,!0)&&y(t,n,r,"notDeepStrictEqual",e)},f.strictEqual=function(e,t,n){e!==t&&y(e,t,n,"===",f.strictEqual)},f.notStrictEqual=function(e,t,n){e===t&&y(e,t,n,"!==",f.notStrictEqual)},f.throws=function(e,t,n){E(!0,e,t,n)},f.doesNotThrow=function(e,t,n){E(!1,e,t,n)},f.ifError=function(e){if(e)throw e};var S=Object.keys||function(e){var t=[];for(var n in e)a.call(e,n)&&t.push(n);return t}}).call(this,n(9))},function(e,t){e.exports=function(e){return e&&"object"==typeof e&&"function"==typeof e.copy&&"function"==typeof e.fill&&"function"==typeof e.readUInt8}},function(e,t){"function"==typeof Object.create?e.exports=function(e,t){e.super_=t,e.prototype=Object.create(t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}})}:e.exports=function(e,t){e.super_=t;var n=function(){};n.prototype=t.prototype,e.prototype=new n,e.prototype.constructor=e}},function(e,t,n){e.exports=n(10)},function(e,t){var n={}.toString;e.exports=Array.isArray||function(e){return"[object Array]"==n.call(e)}},function(e,t){},function(e,t,n){"use strict";var r=n(15).Buffer,o=n(60);e.exports=function(){function e(){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),this.head=null,this.tail=null,this.length=0}return e.prototype.push=function(e){var t={data:e,next:null};this.length>0?this.tail.next=t:this.head=t,this.tail=t,++this.length},e.prototype.unshift=function(e){var t={data:e,next:this.head};0===this.length&&(this.tail=t),this.head=t,++this.length},e.prototype.shift=function(){if(0!==this.length){var e=this.head.data;return 1===this.length?this.head=this.tail=null:this.head=this.head.next,--this.length,e}},e.prototype.clear=function(){this.head=this.tail=null,this.length=0},e.prototype.join=function(e){if(0===this.length)return"";for(var t=this.head,n=""+t.data;t=t.next;)n+=e+t.data;return n},e.prototype.concat=function(e){if(0===this.length)return r.alloc(0);if(1===this.length)return this.head.data;for(var t,n,o,i=r.allocUnsafe(e>>>0),a=this.head,s=0;a;)t=a.data,n=i,o=s,t.copy(n,o),s+=a.data.length,a=a.next;return i},e}(),o&&o.inspect&&o.inspect.custom&&(e.exports.prototype[o.inspect.custom]=function(){var e=o.inspect({length:this.length});return this.constructor.name+" "+e})},function(e,t){},function(e,t,n){var r=n(6),o=r.Buffer;function i(e,t){for(var n in e)t[n]=e[n]}function a(e,t,n){return o(e,t,n)}o.from&&o.alloc&&o.allocUnsafe&&o.allocUnsafeSlow?e.exports=r:(i(r,t),t.Buffer=a),i(o,a),a.from=function(e,t,n){if("number"==typeof e)throw new TypeError("Argument must not be a number");return o(e,t,n)},a.alloc=function(e,t,n){if("number"!=typeof e)throw new TypeError("Argument must be a number");var r=o(e);return void 0!==t?"string"==typeof n?r.fill(t,n):r.fill(t):r.fill(0),r},a.allocUnsafe=function(e){if("number"!=typeof e)throw new TypeError("Argument must be a number");return o(e)},a.allocUnsafeSlow=function(e){if("number"!=typeof e)throw new TypeError("Argument must be a number");return r.SlowBuffer(e)}},function(e,t,n){(function(e){var r=void 0!==e&&e||"undefined"!=typeof self&&self||window,o=Function.prototype.apply;function i(e,t){this._id=e,this._clearFn=t}t.setTimeout=function(){return new i(o.call(setTimeout,r,arguments),clearTimeout)},t.setInterval=function(){return new i(o.call(setInterval,r,arguments),clearInterval)},t.clearTimeout=t.clearInterval=function(e){e&&e.close()},i.prototype.unref=i.prototype.ref=function(){},i.prototype.close=function(){this._clearFn.call(r,this._id)},t.enroll=function(e,t){clearTimeout(e._idleTimeoutId),e._idleTimeout=t},t.unenroll=function(e){clearTimeout(e._idleTimeoutId),e._idleTimeout=-1},t._unrefActive=t.active=function(e){clearTimeout(e._idleTimeoutId);var t=e._idleTimeout;t>=0&&(e._idleTimeoutId=setTimeout(function(){e._onTimeout&&e._onTimeout()},t))},n(63),t.setImmediate="undefined"!=typeof self&&self.setImmediate||void 0!==e&&e.setImmediate||this&&this.setImmediate,t.clearImmediate="undefined"!=typeof self&&self.clearImmediate||void 0!==e&&e.clearImmediate||this&&this.clearImmediate}).call(this,n(9))},function(e,t,n){(function(e,t){!function(e,n){"use strict";if(!e.setImmediate){var r,o,i,a,s,c=1,u={},l=!1,f=e.document,h=Object.getPrototypeOf&&Object.getPrototypeOf(e);h=h&&h.setTimeout?h:e,"[object process]"==={}.toString.call(e.process)?r=function(e){t.nextTick(function(){d(e)})}:!function(){if(e.postMessage&&!e.importScripts){var t=!0,n=e.onmessage;return e.onmessage=function(){t=!1},e.postMessage("","*"),e.onmessage=n,t}}()?e.MessageChannel?((i=new MessageChannel).port1.onmessage=function(e){d(e.data)},r=function(e){i.port2.postMessage(e)}):f&&"onreadystatechange"in f.createElement("script")?(o=f.documentElement,r=function(e){var t=f.createElement("script");t.onreadystatechange=function(){d(e),t.onreadystatechange=null,o.removeChild(t),t=null},o.appendChild(t)}):r=function(e){setTimeout(d,0,e)}:(a="setImmediate$"+Math.random()+"$",s=function(t){t.source===e&&"string"==typeof t.data&&0===t.data.indexOf(a)&&d(+t.data.slice(a.length))},e.addEventListener?e.addEventListener("message",s,!1):e.attachEvent("onmessage",s),r=function(t){e.postMessage(a+t,"*")}),h.setImmediate=function(e){"function"!=typeof e&&(e=new Function(""+e));for(var t=new Array(arguments.length-1),n=0;n0?this._transform(null,t,n):n()},e.exports.decoder=c,e.exports.encoder=s},function(e,t,n){(t=e.exports=n(36)).Stream=t,t.Readable=t,t.Writable=n(41),t.Duplex=n(10),t.Transform=n(42),t.PassThrough=n(67)},function(e,t,n){"use strict";e.exports=i;var r=n(42),o=n(21);function i(e){if(!(this instanceof i))return new i(e);r.call(this,e)}o.inherits=n(16),o.inherits(i,r),i.prototype._transform=function(e,t,n){n(null,e)}},function(e,t,n){var r=n(22);function o(e){Error.call(this),Error.captureStackTrace&&Error.captureStackTrace(this,this.constructor),this.name=this.constructor.name,this.message=e||"unable to decode"}n(34).inherits(o,Error),e.exports=function(e){return function(e){e instanceof r||(e=r().append(e));var t=i(e);if(t)return e.consume(t.bytesConsumed),t.value;throw new o};function t(e,t,n){return t>=n+e}function n(e,t){return{value:e,bytesConsumed:t}}function i(e,r){r=void 0===r?0:r;var o=e.length-r;if(o<=0)return null;var i,l,f,h=e.readUInt8(r),p=0;if(!function(e,t){var n=function(e){switch(e){case 196:return 2;case 197:return 3;case 198:return 5;case 199:return 3;case 200:return 4;case 201:return 6;case 202:return 5;case 203:return 9;case 204:return 2;case 205:return 3;case 206:return 5;case 207:return 9;case 208:return 2;case 209:return 3;case 210:return 5;case 211:return 9;case 212:return 3;case 213:return 4;case 214:return 6;case 215:return 10;case 216:return 18;case 217:return 2;case 218:return 3;case 219:return 5;case 222:return 3;default:return-1}}(e);return!(-1!==n&&t=0;f--)p+=e.readUInt8(r+f+1)*Math.pow(2,8*(7-f));return n(p,9);case 208:return n(p=e.readInt8(r+1),2);case 209:return n(p=e.readInt16BE(r+1),3);case 210:return n(p=e.readInt32BE(r+1),5);case 211:return n(p=function(e,t){var n=128==(128&e[t]);if(n)for(var r=1,o=t+7;o>=t;o--){var i=(255^e[o])+r;e[o]=255&i,r=i>>8}var a=e.readUInt32BE(t+0),s=e.readUInt32BE(t+4);return(4294967296*a+s)*(n?-1:1)}(e.slice(r+1,r+9),0),9);case 202:return n(p=e.readFloatBE(r+1),5);case 203:return n(p=e.readDoubleBE(r+1),9);case 217:return t(i=e.readUInt8(r+1),o,2)?n(p=e.toString("utf8",r+2,r+2+i),2+i):null;case 218:return t(i=e.readUInt16BE(r+1),o,3)?n(p=e.toString("utf8",r+3,r+3+i),3+i):null;case 219:return t(i=e.readUInt32BE(r+1),o,5)?n(p=e.toString("utf8",r+5,r+5+i),5+i):null;case 196:return t(i=e.readUInt8(r+1),o,2)?n(p=e.slice(r+2,r+2+i),2+i):null;case 197:return t(i=e.readUInt16BE(r+1),o,3)?n(p=e.slice(r+3,r+3+i),3+i):null;case 198:return t(i=e.readUInt32BE(r+1),o,5)?n(p=e.slice(r+5,r+5+i),5+i):null;case 220:return o<3?null:(i=e.readUInt16BE(r+1),a(e,r,i,3));case 221:return o<5?null:(i=e.readUInt32BE(r+1),a(e,r,i,5));case 222:return i=e.readUInt16BE(r+1),s(e,r,i,3);case 223:throw new Error("map too big to decode in JS");case 212:return c(e,r,1);case 213:return c(e,r,2);case 214:return c(e,r,4);case 215:return c(e,r,8);case 216:return c(e,r,16);case 199:return i=e.readUInt8(r+1),l=e.readUInt8(r+2),t(i,o,3)?u(e,r,l,i,3):null;case 200:return i=e.readUInt16BE(r+1),l=e.readUInt8(r+3),t(i,o,4)?u(e,r,l,i,4):null;case 201:return i=e.readUInt32BE(r+1),l=e.readUInt8(r+5),t(i,o,6)?u(e,r,l,i,6):null}if(144==(240&h))return a(e,r,i=15&h,1);if(128==(240&h))return s(e,r,i=15&h,1);if(160==(224&h))return t(i=31&h,o,1)?n(p=e.toString("utf8",r+1,r+i+1),i+1):null;if(h>=224)return n(p=h-256,1);if(h<128)return n(h,1);throw new Error("not implemented yet")}function a(e,t,r,o){var a,s=[],c=0;for(t+=o,a=0;ai)&&((n=r.allocUnsafe(9))[0]=203,n.writeDoubleBE(e,1)),n}e.exports=function(e,t,n,i){function s(c,u){var l,f,h;if(void 0===c)throw new Error("undefined is not encodable in msgpack!");if(null===c)(l=r.allocUnsafe(1))[0]=192;else if(!0===c)(l=r.allocUnsafe(1))[0]=195;else if(!1===c)(l=r.allocUnsafe(1))[0]=194;else if("string"==typeof c)(f=r.byteLength(c))<32?((l=r.allocUnsafe(1+f))[0]=160|f,f>0&&l.write(c,1)):f<=255&&!n?((l=r.allocUnsafe(2+f))[0]=217,l[1]=f,l.write(c,2)):f<=65535?((l=r.allocUnsafe(3+f))[0]=218,l.writeUInt16BE(f,1),l.write(c,3)):((l=r.allocUnsafe(5+f))[0]=219,l.writeUInt32BE(f,1),l.write(c,5));else if(c&&(c.readUInt32LE||c instanceof Uint8Array))c instanceof Uint8Array&&(c=r.from(c)),c.length<=255?((l=r.allocUnsafe(2))[0]=196,l[1]=c.length):c.length<=65535?((l=r.allocUnsafe(3))[0]=197,l.writeUInt16BE(c.length,1)):((l=r.allocUnsafe(5))[0]=198,l.writeUInt32BE(c.length,1)),l=o([l,c]);else if(Array.isArray(c))c.length<16?(l=r.allocUnsafe(1))[0]=144|c.length:c.length<65536?((l=r.allocUnsafe(3))[0]=220,l.writeUInt16BE(c.length,1)):((l=r.allocUnsafe(5))[0]=221,l.writeUInt32BE(c.length,1)),l=c.reduce(function(e,t){return e.append(s(t,!0)),e},o().append(l));else{if(!i&&"function"==typeof c.getDate)return function(e){var t,n=1*e,i=Math.floor(n/1e3),a=1e6*(n-1e3*i);if(a||i>4294967295){(t=new r(10))[0]=215,t[1]=-1;var s=4*a,c=i/Math.pow(2,32),u=s+c&4294967295,l=4294967295&i;t.writeInt32BE(u,2),t.writeInt32BE(l,6)}else(t=new r(6))[0]=214,t[1]=-1,t.writeUInt32BE(Math.floor(n/1e3),2);return o().append(t)}(c);if("object"==typeof c)l=function(t){var n,i,a=-1,s=[];for(n=0;n>8),s.push(255&a)):(s.push(201),s.push(a>>24),s.push(a>>16&255),s.push(a>>8&255),s.push(255&a));return o().append(r.from(s)).append(i)}(c)||function(e){var t,n,i=[],a=0;for(t in e)e.hasOwnProperty(t)&&void 0!==e[t]&&"function"!=typeof e[t]&&(++a,i.push(s(t,!0)),i.push(s(e[t],!0)));a<16?(n=r.allocUnsafe(1))[0]=128|a:((n=r.allocUnsafe(3))[0]=222,n.writeUInt16BE(a,1));return i.unshift(n),i.reduce(function(e,t){return e.append(t)},o())}(c);else if("number"==typeof c){if((h=c)!==Math.floor(h))return a(c,t);if(c>=0)if(c<128)(l=r.allocUnsafe(1))[0]=c;else if(c<256)(l=r.allocUnsafe(2))[0]=204,l[1]=c;else if(c<65536)(l=r.allocUnsafe(3))[0]=205,l.writeUInt16BE(c,1);else if(c<=4294967295)(l=r.allocUnsafe(5))[0]=206,l.writeUInt32BE(c,1);else{if(!(c<=9007199254740991))return a(c,!0);(l=r.allocUnsafe(9))[0]=207,function(e,t){for(var n=7;n>=0;n--)e[n+1]=255&t,t/=256}(l,c)}else if(c>=-32)(l=r.allocUnsafe(1))[0]=256+c;else if(c>=-128)(l=r.allocUnsafe(2))[0]=208,l.writeInt8(c,1);else if(c>=-32768)(l=r.allocUnsafe(3))[0]=209,l.writeInt16BE(c,1);else if(c>-214748365)(l=r.allocUnsafe(5))[0]=210,l.writeInt32BE(c,1);else{if(!(c>=-9007199254740991))return a(c,!0);(l=r.allocUnsafe(9))[0]=211,function(e,t,n){var r=n<0;r&&(n=Math.abs(n));var o=n%4294967296,i=n/4294967296;if(e.writeUInt32BE(Math.floor(i),t+0),e.writeUInt32BE(o,t+4),r)for(var a=1,s=t+7;s>=t;s--){var c=(255^e[s])+a;e[s]=255&c,a=c>>8}}(l,1,c)}}}if(!l)throw new Error("not implemented yet");return u?l:l.slice()}return s}},function(e,t,n){"use strict";var r=this&&this.__awaiter||function(e,t,n,r){return new(n||(n=Promise))(function(o,i){function a(e){try{c(r.next(e))}catch(e){i(e)}}function s(e){try{c(r.throw(e))}catch(e){i(e)}}function c(e){e.done?o(e.value):new n(function(t){t(e.value)}).then(a,s)}c((r=r.apply(e,t||[])).next())})},o=this&&this.__generator||function(e,t){var n,r,o,i,a={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]};return i={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(i[Symbol.iterator]=function(){return this}),i;function s(i){return function(s){return function(i){if(n)throw new TypeError("Generator is already executing.");for(;a;)try{if(n=1,r&&(o=2&i[0]?r.return:i[0]?r.throw||((o=r.return)&&o.call(r),0):r.next)&&!(o=o.call(r,i[1])).done)return o;switch(r=0,o&&(i=[2&i[0],o.value]),i[0]){case 0:case 1:o=i;break;case 4:return a.label++,{value:i[1],done:!1};case 5:a.label++,r=i[1],i=[0];continue;case 7:i=a.ops.pop(),a.trys.pop();continue;default:if(!(o=(o=a.trys).length>0&&o[o.length-1])&&(6===i[0]||2===i[0])){a=0;continue}if(3===i[0]&&(!o||i[1]>o[0]&&i[1]this.nextBatchId?this.fatalError?(this.logger.log(s.LogLevel.Debug,"Received a new batch "+e+" but errored out on a previous batch "+(this.nextBatchId-1)),[4,n.send("OnRenderCompleted",this.nextBatchId-1,this.fatalError.toString())]):[3,4]:[3,5];case 3:return o.sent(),[2];case 4:return this.logger.log(s.LogLevel.Debug,"Waiting for batch "+this.nextBatchId+". Batch "+e+" not processed."),[2];case 5:return o.trys.push([5,7,,8]),this.nextBatchId++,this.logger.log(s.LogLevel.Debug,"Applying batch "+e+"."),i.renderBatch(this.browserRendererId,new a.OutOfProcessRenderBatch(t)),[4,this.completeBatch(n,e)];case 6:return o.sent(),[3,8];case 7:throw r=o.sent(),this.fatalError=r.toString(),this.logger.log(s.LogLevel.Error,"There was an error applying batch "+e+"."),n.send("OnRenderCompleted",e,r.toString()),r;case 8:return[2]}})})},e.prototype.getLastBatchid=function(){return this.nextBatchId-1},e.prototype.completeBatch=function(e,t){return r(this,void 0,void 0,function(){return o(this,function(n){switch(n.label){case 0:return n.trys.push([0,2,,3]),[4,e.send("OnRenderCompleted",t,null)];case 1:return n.sent(),[3,3];case 2:return n.sent(),this.logger.log(s.LogLevel.Warning,"Failed to deliver completion notification for render '"+t+"'."),[3,3];case 3:return[2]}})})},e}();t.RenderQueue=c},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=n(72),o=Math.pow(2,32),i=Math.pow(2,21)-1,a=function(){function e(e){this.batchData=e;var t=new l(e);this.arrayRangeReader=new f(e),this.arrayBuilderSegmentReader=new h(e),this.diffReader=new s(e),this.editReader=new c(e,t),this.frameReader=new u(e,t)}return e.prototype.updatedComponents=function(){return p(this.batchData,this.batchData.length-20)},e.prototype.referenceFrames=function(){return p(this.batchData,this.batchData.length-16)},e.prototype.disposedComponentIds=function(){return p(this.batchData,this.batchData.length-12)},e.prototype.disposedEventHandlerIds=function(){return p(this.batchData,this.batchData.length-8)},e.prototype.updatedComponentsEntry=function(e,t){var n=e+4*t;return p(this.batchData,n)},e.prototype.referenceFramesEntry=function(e,t){return e+20*t},e.prototype.disposedComponentIdsEntry=function(e,t){var n=e+4*t;return p(this.batchData,n)},e.prototype.disposedEventHandlerIdsEntry=function(e,t){var n=e+8*t;return g(this.batchData,n)},e}();t.OutOfProcessRenderBatch=a;var s=function(){function e(e){this.batchDataUint8=e}return e.prototype.componentId=function(e){return p(this.batchDataUint8,e)},e.prototype.edits=function(e){return e+4},e.prototype.editsEntry=function(e,t){return e+16*t},e}(),c=function(){function e(e,t){this.batchDataUint8=e,this.stringReader=t}return e.prototype.editType=function(e){return p(this.batchDataUint8,e)},e.prototype.siblingIndex=function(e){return p(this.batchDataUint8,e+4)},e.prototype.newTreeIndex=function(e){return p(this.batchDataUint8,e+8)},e.prototype.moveToSiblingIndex=function(e){return p(this.batchDataUint8,e+8)},e.prototype.removedAttributeName=function(e){var t=p(this.batchDataUint8,e+12);return this.stringReader.readString(t)},e}(),u=function(){function e(e,t){this.batchDataUint8=e,this.stringReader=t}return e.prototype.frameType=function(e){return p(this.batchDataUint8,e)},e.prototype.subtreeLength=function(e){return p(this.batchDataUint8,e+4)},e.prototype.elementReferenceCaptureId=function(e){var t=p(this.batchDataUint8,e+4);return this.stringReader.readString(t)},e.prototype.componentId=function(e){return p(this.batchDataUint8,e+8)},e.prototype.elementName=function(e){var t=p(this.batchDataUint8,e+8);return this.stringReader.readString(t)},e.prototype.textContent=function(e){var t=p(this.batchDataUint8,e+4);return this.stringReader.readString(t)},e.prototype.markupContent=function(e){var t=p(this.batchDataUint8,e+4);return this.stringReader.readString(t)},e.prototype.attributeName=function(e){var t=p(this.batchDataUint8,e+4);return this.stringReader.readString(t)},e.prototype.attributeValue=function(e){var t=p(this.batchDataUint8,e+8);return this.stringReader.readString(t)},e.prototype.attributeEventHandlerId=function(e){return g(this.batchDataUint8,e+12)},e}(),l=function(){function e(e){this.batchDataUint8=e,this.stringTableStartIndex=p(e,e.length-4)}return e.prototype.readString=function(e){if(-1===e)return null;var t,n=p(this.batchDataUint8,this.stringTableStartIndex+4*e),o=function(e,t){for(var n=0,r=0,o=0;o<4;o++){var i=e[t+o];if(n|=(127&i)<>>0)}function g(e,t){var n=d(e,t+4);if(n>i)throw new Error("Cannot read uint64 with high order part "+n+", because the result would exceed Number.MAX_SAFE_INTEGER.");return n*o+d(e,t)}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r="function"==typeof TextDecoder?new TextDecoder("utf-8"):null;t.decodeUtf8=r?r.decode.bind(r):function(e){var t=0,n=e.length,r=[],o=[];for(;t65535&&(u-=65536,r.push(u>>>10&1023|55296),u=56320|1023&u),r.push(u)}r.length>1024&&(o.push(String.fromCharCode.apply(null,r)),r.length=0)}return o.push(String.fromCharCode.apply(null,r)),o.join("")}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=n(17),o=function(){function e(){}return e.prototype.log=function(e,t){},e.instance=new e,e}();t.NullLogger=o;var i=function(){function e(e){this.minimumLogLevel=e}return e.prototype.log=function(e,t){if(e>=this.minimumLogLevel)switch(e){case r.LogLevel.Critical:case r.LogLevel.Error:console.error("["+(new Date).toISOString()+"] "+r.LogLevel[e]+": "+t);break;case r.LogLevel.Warning:console.warn("["+(new Date).toISOString()+"] "+r.LogLevel[e]+": "+t);break;case r.LogLevel.Information:console.info("["+(new Date).toISOString()+"] "+r.LogLevel[e]+": "+t);break;default:console.log("["+(new Date).toISOString()+"] "+r.LogLevel[e]+": "+t)}},e}();t.ConsoleLogger=i},function(e,t,n){"use strict";var r=this&&this.__awaiter||function(e,t,n,r){return new(n||(n=Promise))(function(o,i){function a(e){try{c(r.next(e))}catch(e){i(e)}}function s(e){try{c(r.throw(e))}catch(e){i(e)}}function c(e){e.done?o(e.value):new n(function(t){t(e.value)}).then(a,s)}c((r=r.apply(e,t||[])).next())})},o=this&&this.__generator||function(e,t){var n,r,o,i,a={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]};return i={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(i[Symbol.iterator]=function(){return this}),i;function s(i){return function(s){return function(i){if(n)throw new TypeError("Generator is already executing.");for(;a;)try{if(n=1,r&&(o=2&i[0]?r.return:i[0]?r.throw||((o=r.return)&&o.call(r),0):r.next)&&!(o=o.call(r,i[1])).done)return o;switch(r=0,o&&(i=[2&i[0],o.value]),i[0]){case 0:case 1:o=i;break;case 4:return a.label++,{value:i[1],done:!1};case 5:a.label++,r=i[1],i=[0];continue;case 7:i=a.ops.pop(),a.trys.pop();continue;default:if(!(o=(o=a.trys).length>0&&o[o.length-1])&&(6===i[0]||2===i[0])){a=0;continue}if(3===i[0]&&(!o||i[1]>o[0]&&i[1]0&&o[o.length-1])&&(6===i[0]||2===i[0])){a=0;continue}if(3===i[0]&&(!o||i[1]>o[0]&&i[1]0&&o[o.length-1])&&(6===i[0]||2===i[0])){a=0;continue}if(3===i[0]&&(!o||i[1]>o[0]&&i[1]reloading the page if you're unable to reconnect.",this.message.querySelector("a").addEventListener("click",function(){return location.reload()})},e.prototype.rejected=function(){this.button.style.display="none",this.reloadParagraph.style.display="none",this.message.innerHTML="Could not reconnect to the server. Reload the page to restore functionality.",this.message.querySelector("a").addEventListener("click",function(){return location.reload()})},e}();t.DefaultReconnectDisplay=a},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=function(){function e(e){this.dialog=e}return e.prototype.show=function(){this.removeClasses(),this.dialog.classList.add(e.ShowClassName)},e.prototype.hide=function(){this.removeClasses(),this.dialog.classList.add(e.HideClassName)},e.prototype.failed=function(){this.removeClasses(),this.dialog.classList.add(e.FailedClassName)},e.prototype.rejected=function(){this.removeClasses(),this.dialog.classList.add(e.RejectedClassName)},e.prototype.removeClasses=function(){this.dialog.classList.remove(e.ShowClassName,e.HideClassName,e.FailedClassName,e.RejectedClassName)},e.ShowClassName="components-reconnect-show",e.HideClassName="components-reconnect-hide",e.FailedClassName="components-reconnect-failed",e.RejectedClassName="components-reconnect-rejected",e}();t.UserSpecifiedDisplay=r},function(e,t,n){"use strict";n.r(t);var r=n(6),o=n(11),i=n(2),a=function(){function e(){}return e.write=function(e){var t=e.byteLength||e.length,n=[];do{var r=127&t;(t>>=7)>0&&(r|=128),n.push(r)}while(t>0);t=e.byteLength||e.length;var o=new Uint8Array(n.length+t);return o.set(n,0),o.set(e,n.length),o.buffer},e.parse=function(e){for(var t=[],n=new Uint8Array(e),r=[0,7,14,21,28],o=0;o7)throw new Error("Messages bigger than 2GB are not supported.");if(!(n.byteLength>=o+i+a))throw new Error("Incomplete message.");t.push(n.slice?n.slice(o+i,o+i+a):n.subarray(o+i,o+i+a)),o=o+i+a}return t},e}();var s=new Uint8Array([145,i.MessageType.Ping]),c=function(){function e(){this.name="messagepack",this.version=1,this.transferFormat=i.TransferFormat.Binary,this.errorResult=1,this.voidResult=2,this.nonVoidResult=3}return e.prototype.parseMessages=function(e,t){if(!(e instanceof r.Buffer||(n=e,n&&"undefined"!=typeof ArrayBuffer&&(n instanceof ArrayBuffer||n.constructor&&"ArrayBuffer"===n.constructor.name))))throw new Error("Invalid input for MessagePack hub protocol. Expected an ArrayBuffer or Buffer.");var n;null===t&&(t=i.NullLogger.instance);for(var o=[],s=0,c=a.parse(e);s=3?e[2]:void 0,error:e[1],type:i.MessageType.Close}},e.prototype.createPingMessage=function(e){if(e.length<1)throw new Error("Invalid payload for Ping message.");return{type:i.MessageType.Ping}},e.prototype.createInvocationMessage=function(e,t){if(t.length<5)throw new Error("Invalid payload for Invocation message.");var n=t[2];return n?{arguments:t[4],headers:e,invocationId:n,streamIds:[],target:t[3],type:i.MessageType.Invocation}:{arguments:t[4],headers:e,streamIds:[],target:t[3],type:i.MessageType.Invocation}},e.prototype.createStreamItemMessage=function(e,t){if(t.length<4)throw new Error("Invalid payload for StreamItem message.");return{headers:e,invocationId:t[2],item:t[3],type:i.MessageType.StreamItem}},e.prototype.createCompletionMessage=function(e,t){if(t.length<4)throw new Error("Invalid payload for Completion message.");var n,r,o=t[3];if(o!==this.voidResult&&t.length<5)throw new Error("Invalid payload for Completion message.");switch(o){case this.errorResult:n=t[4];break;case this.nonVoidResult:r=t[4]}return{error:n,headers:e,invocationId:t[2],result:r,type:i.MessageType.Completion}},e.prototype.writeInvocation=function(e){var t=o().encode([i.MessageType.Invocation,e.headers||{},e.invocationId||null,e.target,e.arguments,e.streamIds]);return a.write(t.slice())},e.prototype.writeStreamInvocation=function(e){var t=o().encode([i.MessageType.StreamInvocation,e.headers||{},e.invocationId,e.target,e.arguments,e.streamIds]);return a.write(t.slice())},e.prototype.writeStreamItem=function(e){var t=o().encode([i.MessageType.StreamItem,e.headers||{},e.invocationId,e.item]);return a.write(t.slice())},e.prototype.writeCompletion=function(e){var t,n=o(),r=e.error?this.errorResult:e.result?this.nonVoidResult:this.voidResult;switch(r){case this.errorResult:t=n.encode([i.MessageType.Completion,e.headers||{},e.invocationId,r,e.error]);break;case this.voidResult:t=n.encode([i.MessageType.Completion,e.headers||{},e.invocationId,r]);break;case this.nonVoidResult:t=n.encode([i.MessageType.Completion,e.headers||{},e.invocationId,r,e.result])}return a.write(t.slice())},e.prototype.writeCancelInvocation=function(e){var t=o().encode([i.MessageType.CancelInvocation,e.headers||{},e.invocationId]);return a.write(t.slice())},e.prototype.readHeaders=function(e){var t=e[1];if("object"!=typeof t)throw new Error("Invalid headers.");return t},e}();n.d(t,"VERSION",function(){return u}),n.d(t,"MessagePackHubProtocol",function(){return c});var u="0.0.0-DEV_BUILD"}]); \ No newline at end of file +function r(e,t){if(e===t)return 0;for(var n=e.length,r=t.length,o=0,i=Math.min(n,r);o=0;u--)if(l[u]!==f[u])return!1;for(u=l.length-1;u>=0;u--)if(c=l[u],!b(e[c],t[c],n,r))return!1;return!0}(e,t,n,a))}return n?e===t:e==t}function m(e){return"[object Arguments]"==Object.prototype.toString.call(e)}function w(e,t){if(!e||!t)return!1;if("[object RegExp]"==Object.prototype.toString.call(t))return t.test(e);try{if(e instanceof t)return!0}catch(e){}return!Error.isPrototypeOf(t)&&!0===t.call({},e)}function E(e,t,n,r){var o;if("function"!=typeof t)throw new TypeError('"block" argument must be a function');"string"==typeof n&&(r=n,n=null),o=function(e){var t;try{e()}catch(e){t=e}return t}(t),r=(n&&n.name?" ("+n.name+").":".")+(r?" "+r:"."),e&&!o&&y(o,n,"Missing expected exception"+r);var a="string"==typeof r,s=!e&&o&&!n;if((!e&&i.isError(o)&&a&&w(o,n)||s)&&y(o,n,"Got unwanted exception"+r),e&&o&&n&&!w(o,n)||!e&&o)throw o}f.AssertionError=function(e){var t;this.name="AssertionError",this.actual=e.actual,this.expected=e.expected,this.operator=e.operator,e.message?(this.message=e.message,this.generatedMessage=!1):(this.message=d(g((t=this).actual),128)+" "+t.operator+" "+d(g(t.expected),128),this.generatedMessage=!0);var n=e.stackStartFunction||y;if(Error.captureStackTrace)Error.captureStackTrace(this,n);else{var r=new Error;if(r.stack){var o=r.stack,i=p(n),a=o.indexOf("\n"+i);if(a>=0){var s=o.indexOf("\n",a+1);o=o.substring(s+1)}this.stack=o}}},i.inherits(f.AssertionError,Error),f.fail=y,f.ok=v,f.equal=function(e,t,n){e!=t&&y(e,t,n,"==",f.equal)},f.notEqual=function(e,t,n){e==t&&y(e,t,n,"!=",f.notEqual)},f.deepEqual=function(e,t,n){b(e,t,!1)||y(e,t,n,"deepEqual",f.deepEqual)},f.deepStrictEqual=function(e,t,n){b(e,t,!0)||y(e,t,n,"deepStrictEqual",f.deepStrictEqual)},f.notDeepEqual=function(e,t,n){b(e,t,!1)&&y(e,t,n,"notDeepEqual",f.notDeepEqual)},f.notDeepStrictEqual=function e(t,n,r){b(t,n,!0)&&y(t,n,r,"notDeepStrictEqual",e)},f.strictEqual=function(e,t,n){e!==t&&y(e,t,n,"===",f.strictEqual)},f.notStrictEqual=function(e,t,n){e===t&&y(e,t,n,"!==",f.notStrictEqual)},f.throws=function(e,t,n){E(!0,e,t,n)},f.doesNotThrow=function(e,t,n){E(!1,e,t,n)},f.ifError=function(e){if(e)throw e};var S=Object.keys||function(e){var t=[];for(var n in e)a.call(e,n)&&t.push(n);return t}}).call(this,n(9))},function(e,t){e.exports=function(e){return e&&"object"==typeof e&&"function"==typeof e.copy&&"function"==typeof e.fill&&"function"==typeof e.readUInt8}},function(e,t){"function"==typeof Object.create?e.exports=function(e,t){e.super_=t,e.prototype=Object.create(t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}})}:e.exports=function(e,t){e.super_=t;var n=function(){};n.prototype=t.prototype,e.prototype=new n,e.prototype.constructor=e}},function(e,t,n){e.exports=n(10)},function(e,t){var n={}.toString;e.exports=Array.isArray||function(e){return"[object Array]"==n.call(e)}},function(e,t){},function(e,t,n){"use strict";var r=n(15).Buffer,o=n(60);e.exports=function(){function e(){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),this.head=null,this.tail=null,this.length=0}return e.prototype.push=function(e){var t={data:e,next:null};this.length>0?this.tail.next=t:this.head=t,this.tail=t,++this.length},e.prototype.unshift=function(e){var t={data:e,next:this.head};0===this.length&&(this.tail=t),this.head=t,++this.length},e.prototype.shift=function(){if(0!==this.length){var e=this.head.data;return 1===this.length?this.head=this.tail=null:this.head=this.head.next,--this.length,e}},e.prototype.clear=function(){this.head=this.tail=null,this.length=0},e.prototype.join=function(e){if(0===this.length)return"";for(var t=this.head,n=""+t.data;t=t.next;)n+=e+t.data;return n},e.prototype.concat=function(e){if(0===this.length)return r.alloc(0);if(1===this.length)return this.head.data;for(var t,n,o,i=r.allocUnsafe(e>>>0),a=this.head,s=0;a;)t=a.data,n=i,o=s,t.copy(n,o),s+=a.data.length,a=a.next;return i},e}(),o&&o.inspect&&o.inspect.custom&&(e.exports.prototype[o.inspect.custom]=function(){var e=o.inspect({length:this.length});return this.constructor.name+" "+e})},function(e,t){},function(e,t,n){var r=n(6),o=r.Buffer;function i(e,t){for(var n in e)t[n]=e[n]}function a(e,t,n){return o(e,t,n)}o.from&&o.alloc&&o.allocUnsafe&&o.allocUnsafeSlow?e.exports=r:(i(r,t),t.Buffer=a),i(o,a),a.from=function(e,t,n){if("number"==typeof e)throw new TypeError("Argument must not be a number");return o(e,t,n)},a.alloc=function(e,t,n){if("number"!=typeof e)throw new TypeError("Argument must be a number");var r=o(e);return void 0!==t?"string"==typeof n?r.fill(t,n):r.fill(t):r.fill(0),r},a.allocUnsafe=function(e){if("number"!=typeof e)throw new TypeError("Argument must be a number");return o(e)},a.allocUnsafeSlow=function(e){if("number"!=typeof e)throw new TypeError("Argument must be a number");return r.SlowBuffer(e)}},function(e,t,n){(function(e){var r=void 0!==e&&e||"undefined"!=typeof self&&self||window,o=Function.prototype.apply;function i(e,t){this._id=e,this._clearFn=t}t.setTimeout=function(){return new i(o.call(setTimeout,r,arguments),clearTimeout)},t.setInterval=function(){return new i(o.call(setInterval,r,arguments),clearInterval)},t.clearTimeout=t.clearInterval=function(e){e&&e.close()},i.prototype.unref=i.prototype.ref=function(){},i.prototype.close=function(){this._clearFn.call(r,this._id)},t.enroll=function(e,t){clearTimeout(e._idleTimeoutId),e._idleTimeout=t},t.unenroll=function(e){clearTimeout(e._idleTimeoutId),e._idleTimeout=-1},t._unrefActive=t.active=function(e){clearTimeout(e._idleTimeoutId);var t=e._idleTimeout;t>=0&&(e._idleTimeoutId=setTimeout(function(){e._onTimeout&&e._onTimeout()},t))},n(63),t.setImmediate="undefined"!=typeof self&&self.setImmediate||void 0!==e&&e.setImmediate||this&&this.setImmediate,t.clearImmediate="undefined"!=typeof self&&self.clearImmediate||void 0!==e&&e.clearImmediate||this&&this.clearImmediate}).call(this,n(9))},function(e,t,n){(function(e,t){!function(e,n){"use strict";if(!e.setImmediate){var r,o,i,a,s,c=1,u={},l=!1,f=e.document,h=Object.getPrototypeOf&&Object.getPrototypeOf(e);h=h&&h.setTimeout?h:e,"[object process]"==={}.toString.call(e.process)?r=function(e){t.nextTick(function(){d(e)})}:!function(){if(e.postMessage&&!e.importScripts){var t=!0,n=e.onmessage;return e.onmessage=function(){t=!1},e.postMessage("","*"),e.onmessage=n,t}}()?e.MessageChannel?((i=new MessageChannel).port1.onmessage=function(e){d(e.data)},r=function(e){i.port2.postMessage(e)}):f&&"onreadystatechange"in f.createElement("script")?(o=f.documentElement,r=function(e){var t=f.createElement("script");t.onreadystatechange=function(){d(e),t.onreadystatechange=null,o.removeChild(t),t=null},o.appendChild(t)}):r=function(e){setTimeout(d,0,e)}:(a="setImmediate$"+Math.random()+"$",s=function(t){t.source===e&&"string"==typeof t.data&&0===t.data.indexOf(a)&&d(+t.data.slice(a.length))},e.addEventListener?e.addEventListener("message",s,!1):e.attachEvent("onmessage",s),r=function(t){e.postMessage(a+t,"*")}),h.setImmediate=function(e){"function"!=typeof e&&(e=new Function(""+e));for(var t=new Array(arguments.length-1),n=0;n0?this._transform(null,t,n):n()},e.exports.decoder=c,e.exports.encoder=s},function(e,t,n){(t=e.exports=n(36)).Stream=t,t.Readable=t,t.Writable=n(41),t.Duplex=n(10),t.Transform=n(42),t.PassThrough=n(67)},function(e,t,n){"use strict";e.exports=i;var r=n(42),o=n(21);function i(e){if(!(this instanceof i))return new i(e);r.call(this,e)}o.inherits=n(16),o.inherits(i,r),i.prototype._transform=function(e,t,n){n(null,e)}},function(e,t,n){var r=n(22);function o(e){Error.call(this),Error.captureStackTrace&&Error.captureStackTrace(this,this.constructor),this.name=this.constructor.name,this.message=e||"unable to decode"}n(34).inherits(o,Error),e.exports=function(e){return function(e){e instanceof r||(e=r().append(e));var t=i(e);if(t)return e.consume(t.bytesConsumed),t.value;throw new o};function t(e,t,n){return t>=n+e}function n(e,t){return{value:e,bytesConsumed:t}}function i(e,r){r=void 0===r?0:r;var o=e.length-r;if(o<=0)return null;var i,l,f,h=e.readUInt8(r),p=0;if(!function(e,t){var n=function(e){switch(e){case 196:return 2;case 197:return 3;case 198:return 5;case 199:return 3;case 200:return 4;case 201:return 6;case 202:return 5;case 203:return 9;case 204:return 2;case 205:return 3;case 206:return 5;case 207:return 9;case 208:return 2;case 209:return 3;case 210:return 5;case 211:return 9;case 212:return 3;case 213:return 4;case 214:return 6;case 215:return 10;case 216:return 18;case 217:return 2;case 218:return 3;case 219:return 5;case 222:return 3;default:return-1}}(e);return!(-1!==n&&t=0;f--)p+=e.readUInt8(r+f+1)*Math.pow(2,8*(7-f));return n(p,9);case 208:return n(p=e.readInt8(r+1),2);case 209:return n(p=e.readInt16BE(r+1),3);case 210:return n(p=e.readInt32BE(r+1),5);case 211:return n(p=function(e,t){var n=128==(128&e[t]);if(n)for(var r=1,o=t+7;o>=t;o--){var i=(255^e[o])+r;e[o]=255&i,r=i>>8}var a=e.readUInt32BE(t+0),s=e.readUInt32BE(t+4);return(4294967296*a+s)*(n?-1:1)}(e.slice(r+1,r+9),0),9);case 202:return n(p=e.readFloatBE(r+1),5);case 203:return n(p=e.readDoubleBE(r+1),9);case 217:return t(i=e.readUInt8(r+1),o,2)?n(p=e.toString("utf8",r+2,r+2+i),2+i):null;case 218:return t(i=e.readUInt16BE(r+1),o,3)?n(p=e.toString("utf8",r+3,r+3+i),3+i):null;case 219:return t(i=e.readUInt32BE(r+1),o,5)?n(p=e.toString("utf8",r+5,r+5+i),5+i):null;case 196:return t(i=e.readUInt8(r+1),o,2)?n(p=e.slice(r+2,r+2+i),2+i):null;case 197:return t(i=e.readUInt16BE(r+1),o,3)?n(p=e.slice(r+3,r+3+i),3+i):null;case 198:return t(i=e.readUInt32BE(r+1),o,5)?n(p=e.slice(r+5,r+5+i),5+i):null;case 220:return o<3?null:(i=e.readUInt16BE(r+1),a(e,r,i,3));case 221:return o<5?null:(i=e.readUInt32BE(r+1),a(e,r,i,5));case 222:return i=e.readUInt16BE(r+1),s(e,r,i,3);case 223:throw new Error("map too big to decode in JS");case 212:return c(e,r,1);case 213:return c(e,r,2);case 214:return c(e,r,4);case 215:return c(e,r,8);case 216:return c(e,r,16);case 199:return i=e.readUInt8(r+1),l=e.readUInt8(r+2),t(i,o,3)?u(e,r,l,i,3):null;case 200:return i=e.readUInt16BE(r+1),l=e.readUInt8(r+3),t(i,o,4)?u(e,r,l,i,4):null;case 201:return i=e.readUInt32BE(r+1),l=e.readUInt8(r+5),t(i,o,6)?u(e,r,l,i,6):null}if(144==(240&h))return a(e,r,i=15&h,1);if(128==(240&h))return s(e,r,i=15&h,1);if(160==(224&h))return t(i=31&h,o,1)?n(p=e.toString("utf8",r+1,r+i+1),i+1):null;if(h>=224)return n(p=h-256,1);if(h<128)return n(h,1);throw new Error("not implemented yet")}function a(e,t,r,o){var a,s=[],c=0;for(t+=o,a=0;ai)&&((n=r.allocUnsafe(9))[0]=203,n.writeDoubleBE(e,1)),n}e.exports=function(e,t,n,i){function s(c,u){var l,f,h;if(void 0===c)throw new Error("undefined is not encodable in msgpack!");if(null===c)(l=r.allocUnsafe(1))[0]=192;else if(!0===c)(l=r.allocUnsafe(1))[0]=195;else if(!1===c)(l=r.allocUnsafe(1))[0]=194;else if("string"==typeof c)(f=r.byteLength(c))<32?((l=r.allocUnsafe(1+f))[0]=160|f,f>0&&l.write(c,1)):f<=255&&!n?((l=r.allocUnsafe(2+f))[0]=217,l[1]=f,l.write(c,2)):f<=65535?((l=r.allocUnsafe(3+f))[0]=218,l.writeUInt16BE(f,1),l.write(c,3)):((l=r.allocUnsafe(5+f))[0]=219,l.writeUInt32BE(f,1),l.write(c,5));else if(c&&(c.readUInt32LE||c instanceof Uint8Array))c instanceof Uint8Array&&(c=r.from(c)),c.length<=255?((l=r.allocUnsafe(2))[0]=196,l[1]=c.length):c.length<=65535?((l=r.allocUnsafe(3))[0]=197,l.writeUInt16BE(c.length,1)):((l=r.allocUnsafe(5))[0]=198,l.writeUInt32BE(c.length,1)),l=o([l,c]);else if(Array.isArray(c))c.length<16?(l=r.allocUnsafe(1))[0]=144|c.length:c.length<65536?((l=r.allocUnsafe(3))[0]=220,l.writeUInt16BE(c.length,1)):((l=r.allocUnsafe(5))[0]=221,l.writeUInt32BE(c.length,1)),l=c.reduce(function(e,t){return e.append(s(t,!0)),e},o().append(l));else{if(!i&&"function"==typeof c.getDate)return function(e){var t,n=1*e,i=Math.floor(n/1e3),a=1e6*(n-1e3*i);if(a||i>4294967295){(t=new r(10))[0]=215,t[1]=-1;var s=4*a,c=i/Math.pow(2,32),u=s+c&4294967295,l=4294967295&i;t.writeInt32BE(u,2),t.writeInt32BE(l,6)}else(t=new r(6))[0]=214,t[1]=-1,t.writeUInt32BE(Math.floor(n/1e3),2);return o().append(t)}(c);if("object"==typeof c)l=function(t){var n,i,a=-1,s=[];for(n=0;n>8),s.push(255&a)):(s.push(201),s.push(a>>24),s.push(a>>16&255),s.push(a>>8&255),s.push(255&a));return o().append(r.from(s)).append(i)}(c)||function(e){var t,n,i=[],a=0;for(t in e)e.hasOwnProperty(t)&&void 0!==e[t]&&"function"!=typeof e[t]&&(++a,i.push(s(t,!0)),i.push(s(e[t],!0)));a<16?(n=r.allocUnsafe(1))[0]=128|a:((n=r.allocUnsafe(3))[0]=222,n.writeUInt16BE(a,1));return i.unshift(n),i.reduce(function(e,t){return e.append(t)},o())}(c);else if("number"==typeof c){if((h=c)!==Math.floor(h))return a(c,t);if(c>=0)if(c<128)(l=r.allocUnsafe(1))[0]=c;else if(c<256)(l=r.allocUnsafe(2))[0]=204,l[1]=c;else if(c<65536)(l=r.allocUnsafe(3))[0]=205,l.writeUInt16BE(c,1);else if(c<=4294967295)(l=r.allocUnsafe(5))[0]=206,l.writeUInt32BE(c,1);else{if(!(c<=9007199254740991))return a(c,!0);(l=r.allocUnsafe(9))[0]=207,function(e,t){for(var n=7;n>=0;n--)e[n+1]=255&t,t/=256}(l,c)}else if(c>=-32)(l=r.allocUnsafe(1))[0]=256+c;else if(c>=-128)(l=r.allocUnsafe(2))[0]=208,l.writeInt8(c,1);else if(c>=-32768)(l=r.allocUnsafe(3))[0]=209,l.writeInt16BE(c,1);else if(c>-214748365)(l=r.allocUnsafe(5))[0]=210,l.writeInt32BE(c,1);else{if(!(c>=-9007199254740991))return a(c,!0);(l=r.allocUnsafe(9))[0]=211,function(e,t,n){var r=n<0;r&&(n=Math.abs(n));var o=n%4294967296,i=n/4294967296;if(e.writeUInt32BE(Math.floor(i),t+0),e.writeUInt32BE(o,t+4),r)for(var a=1,s=t+7;s>=t;s--){var c=(255^e[s])+a;e[s]=255&c,a=c>>8}}(l,1,c)}}}if(!l)throw new Error("not implemented yet");return u?l:l.slice()}return s}},function(e,t,n){"use strict";var r=this&&this.__awaiter||function(e,t,n,r){return new(n||(n=Promise))(function(o,i){function a(e){try{c(r.next(e))}catch(e){i(e)}}function s(e){try{c(r.throw(e))}catch(e){i(e)}}function c(e){e.done?o(e.value):new n(function(t){t(e.value)}).then(a,s)}c((r=r.apply(e,t||[])).next())})},o=this&&this.__generator||function(e,t){var n,r,o,i,a={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]};return i={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(i[Symbol.iterator]=function(){return this}),i;function s(i){return function(s){return function(i){if(n)throw new TypeError("Generator is already executing.");for(;a;)try{if(n=1,r&&(o=2&i[0]?r.return:i[0]?r.throw||((o=r.return)&&o.call(r),0):r.next)&&!(o=o.call(r,i[1])).done)return o;switch(r=0,o&&(i=[2&i[0],o.value]),i[0]){case 0:case 1:o=i;break;case 4:return a.label++,{value:i[1],done:!1};case 5:a.label++,r=i[1],i=[0];continue;case 7:i=a.ops.pop(),a.trys.pop();continue;default:if(!(o=(o=a.trys).length>0&&o[o.length-1])&&(6===i[0]||2===i[0])){a=0;continue}if(3===i[0]&&(!o||i[1]>o[0]&&i[1]this.nextBatchId?this.fatalError?(this.logger.log(s.LogLevel.Debug,"Received a new batch "+e+" but errored out on a previous batch "+(this.nextBatchId-1)),[4,n.send("OnRenderCompleted",this.nextBatchId-1,this.fatalError.toString())]):[3,4]:[3,5];case 3:return o.sent(),[2];case 4:return this.logger.log(s.LogLevel.Debug,"Waiting for batch "+this.nextBatchId+". Batch "+e+" not processed."),[2];case 5:return o.trys.push([5,7,,8]),this.nextBatchId++,this.logger.log(s.LogLevel.Debug,"Applying batch "+e+"."),i.renderBatch(this.browserRendererId,new a.OutOfProcessRenderBatch(t)),[4,this.completeBatch(n,e)];case 6:return o.sent(),[3,8];case 7:throw r=o.sent(),this.fatalError=r.toString(),this.logger.log(s.LogLevel.Error,"There was an error applying batch "+e+"."),n.send("OnRenderCompleted",e,r.toString()),r;case 8:return[2]}})})},e.prototype.getLastBatchid=function(){return this.nextBatchId-1},e.prototype.completeBatch=function(e,t){return r(this,void 0,void 0,function(){return o(this,function(n){switch(n.label){case 0:return n.trys.push([0,2,,3]),[4,e.send("OnRenderCompleted",t,null)];case 1:return n.sent(),[3,3];case 2:return n.sent(),this.logger.log(s.LogLevel.Warning,"Failed to deliver completion notification for render '"+t+"'."),[3,3];case 3:return[2]}})})},e}();t.RenderQueue=c},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=n(72),o=Math.pow(2,32),i=Math.pow(2,21)-1,a=function(){function e(e){this.batchData=e;var t=new l(e);this.arrayRangeReader=new f(e),this.arrayBuilderSegmentReader=new h(e),this.diffReader=new s(e),this.editReader=new c(e,t),this.frameReader=new u(e,t)}return e.prototype.updatedComponents=function(){return p(this.batchData,this.batchData.length-20)},e.prototype.referenceFrames=function(){return p(this.batchData,this.batchData.length-16)},e.prototype.disposedComponentIds=function(){return p(this.batchData,this.batchData.length-12)},e.prototype.disposedEventHandlerIds=function(){return p(this.batchData,this.batchData.length-8)},e.prototype.updatedComponentsEntry=function(e,t){var n=e+4*t;return p(this.batchData,n)},e.prototype.referenceFramesEntry=function(e,t){return e+20*t},e.prototype.disposedComponentIdsEntry=function(e,t){var n=e+4*t;return p(this.batchData,n)},e.prototype.disposedEventHandlerIdsEntry=function(e,t){var n=e+8*t;return g(this.batchData,n)},e}();t.OutOfProcessRenderBatch=a;var s=function(){function e(e){this.batchDataUint8=e}return e.prototype.componentId=function(e){return p(this.batchDataUint8,e)},e.prototype.edits=function(e){return e+4},e.prototype.editsEntry=function(e,t){return e+16*t},e}(),c=function(){function e(e,t){this.batchDataUint8=e,this.stringReader=t}return e.prototype.editType=function(e){return p(this.batchDataUint8,e)},e.prototype.siblingIndex=function(e){return p(this.batchDataUint8,e+4)},e.prototype.newTreeIndex=function(e){return p(this.batchDataUint8,e+8)},e.prototype.moveToSiblingIndex=function(e){return p(this.batchDataUint8,e+8)},e.prototype.removedAttributeName=function(e){var t=p(this.batchDataUint8,e+12);return this.stringReader.readString(t)},e}(),u=function(){function e(e,t){this.batchDataUint8=e,this.stringReader=t}return e.prototype.frameType=function(e){return p(this.batchDataUint8,e)},e.prototype.subtreeLength=function(e){return p(this.batchDataUint8,e+4)},e.prototype.elementReferenceCaptureId=function(e){var t=p(this.batchDataUint8,e+4);return this.stringReader.readString(t)},e.prototype.componentId=function(e){return p(this.batchDataUint8,e+8)},e.prototype.elementName=function(e){var t=p(this.batchDataUint8,e+8);return this.stringReader.readString(t)},e.prototype.textContent=function(e){var t=p(this.batchDataUint8,e+4);return this.stringReader.readString(t)},e.prototype.markupContent=function(e){var t=p(this.batchDataUint8,e+4);return this.stringReader.readString(t)},e.prototype.attributeName=function(e){var t=p(this.batchDataUint8,e+4);return this.stringReader.readString(t)},e.prototype.attributeValue=function(e){var t=p(this.batchDataUint8,e+8);return this.stringReader.readString(t)},e.prototype.attributeEventHandlerId=function(e){return g(this.batchDataUint8,e+12)},e}(),l=function(){function e(e){this.batchDataUint8=e,this.stringTableStartIndex=p(e,e.length-4)}return e.prototype.readString=function(e){if(-1===e)return null;var t,n=p(this.batchDataUint8,this.stringTableStartIndex+4*e),o=function(e,t){for(var n=0,r=0,o=0;o<4;o++){var i=e[t+o];if(n|=(127&i)<>>0)}function g(e,t){var n=d(e,t+4);if(n>i)throw new Error("Cannot read uint64 with high order part "+n+", because the result would exceed Number.MAX_SAFE_INTEGER.");return n*o+d(e,t)}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r="function"==typeof TextDecoder?new TextDecoder("utf-8"):null;t.decodeUtf8=r?r.decode.bind(r):function(e){var t=0,n=e.length,r=[],o=[];for(;t65535&&(u-=65536,r.push(u>>>10&1023|55296),u=56320|1023&u),r.push(u)}r.length>1024&&(o.push(String.fromCharCode.apply(null,r)),r.length=0)}return o.push(String.fromCharCode.apply(null,r)),o.join("")}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=n(17),o=function(){function e(){}return e.prototype.log=function(e,t){},e.instance=new e,e}();t.NullLogger=o;var i=function(){function e(e){this.minimumLogLevel=e}return e.prototype.log=function(e,t){if(e>=this.minimumLogLevel)switch(e){case r.LogLevel.Critical:case r.LogLevel.Error:console.error("["+(new Date).toISOString()+"] "+r.LogLevel[e]+": "+t);break;case r.LogLevel.Warning:console.warn("["+(new Date).toISOString()+"] "+r.LogLevel[e]+": "+t);break;case r.LogLevel.Information:console.info("["+(new Date).toISOString()+"] "+r.LogLevel[e]+": "+t);break;default:console.log("["+(new Date).toISOString()+"] "+r.LogLevel[e]+": "+t)}},e}();t.ConsoleLogger=i},function(e,t,n){"use strict";var r=this&&this.__awaiter||function(e,t,n,r){return new(n||(n=Promise))(function(o,i){function a(e){try{c(r.next(e))}catch(e){i(e)}}function s(e){try{c(r.throw(e))}catch(e){i(e)}}function c(e){e.done?o(e.value):new n(function(t){t(e.value)}).then(a,s)}c((r=r.apply(e,t||[])).next())})},o=this&&this.__generator||function(e,t){var n,r,o,i,a={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]};return i={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(i[Symbol.iterator]=function(){return this}),i;function s(i){return function(s){return function(i){if(n)throw new TypeError("Generator is already executing.");for(;a;)try{if(n=1,r&&(o=2&i[0]?r.return:i[0]?r.throw||((o=r.return)&&o.call(r),0):r.next)&&!(o=o.call(r,i[1])).done)return o;switch(r=0,o&&(i=[2&i[0],o.value]),i[0]){case 0:case 1:o=i;break;case 4:return a.label++,{value:i[1],done:!1};case 5:a.label++,r=i[1],i=[0];continue;case 7:i=a.ops.pop(),a.trys.pop();continue;default:if(!(o=(o=a.trys).length>0&&o[o.length-1])&&(6===i[0]||2===i[0])){a=0;continue}if(3===i[0]&&(!o||i[1]>o[0]&&i[1]0&&o[o.length-1])&&(6===i[0]||2===i[0])){a=0;continue}if(3===i[0]&&(!o||i[1]>o[0]&&i[1]0&&o[o.length-1])&&(6===i[0]||2===i[0])){a=0;continue}if(3===i[0]&&(!o||i[1]>o[0]&&i[1]reloading the page if you're unable to reconnect.",this.message.querySelector("a").addEventListener("click",function(){return location.reload()})},e.prototype.rejected=function(){this.button.style.display="none",this.reloadParagraph.style.display="none",this.message.innerHTML="Could not reconnect to the server. Reload the page to restore functionality.",this.message.querySelector("a").addEventListener("click",function(){return location.reload()})},e}();t.DefaultReconnectDisplay=a},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=function(){function e(e){this.dialog=e}return e.prototype.show=function(){this.removeClasses(),this.dialog.classList.add(e.ShowClassName)},e.prototype.hide=function(){this.removeClasses(),this.dialog.classList.add(e.HideClassName)},e.prototype.failed=function(){this.removeClasses(),this.dialog.classList.add(e.FailedClassName)},e.prototype.rejected=function(){this.removeClasses(),this.dialog.classList.add(e.RejectedClassName)},e.prototype.removeClasses=function(){this.dialog.classList.remove(e.ShowClassName,e.HideClassName,e.FailedClassName,e.RejectedClassName)},e.ShowClassName="components-reconnect-show",e.HideClassName="components-reconnect-hide",e.FailedClassName="components-reconnect-failed",e.RejectedClassName="components-reconnect-rejected",e}();t.UserSpecifiedDisplay=r},function(e,t,n){"use strict";n.r(t);var r=n(6),o=n(11),i=n(2),a=function(){function e(){}return e.write=function(e){var t=e.byteLength||e.length,n=[];do{var r=127&t;(t>>=7)>0&&(r|=128),n.push(r)}while(t>0);t=e.byteLength||e.length;var o=new Uint8Array(n.length+t);return o.set(n,0),o.set(e,n.length),o.buffer},e.parse=function(e){for(var t=[],n=new Uint8Array(e),r=[0,7,14,21,28],o=0;o7)throw new Error("Messages bigger than 2GB are not supported.");if(!(n.byteLength>=o+i+a))throw new Error("Incomplete message.");t.push(n.slice?n.slice(o+i,o+i+a):n.subarray(o+i,o+i+a)),o=o+i+a}return t},e}();var s=new Uint8Array([145,i.MessageType.Ping]),c=function(){function e(){this.name="messagepack",this.version=1,this.transferFormat=i.TransferFormat.Binary,this.errorResult=1,this.voidResult=2,this.nonVoidResult=3}return e.prototype.parseMessages=function(e,t){if(!(e instanceof r.Buffer||(n=e,n&&"undefined"!=typeof ArrayBuffer&&(n instanceof ArrayBuffer||n.constructor&&"ArrayBuffer"===n.constructor.name))))throw new Error("Invalid input for MessagePack hub protocol. Expected an ArrayBuffer or Buffer.");var n;null===t&&(t=i.NullLogger.instance);for(var o=[],s=0,c=a.parse(e);s=3?e[2]:void 0,error:e[1],type:i.MessageType.Close}},e.prototype.createPingMessage=function(e){if(e.length<1)throw new Error("Invalid payload for Ping message.");return{type:i.MessageType.Ping}},e.prototype.createInvocationMessage=function(e,t){if(t.length<5)throw new Error("Invalid payload for Invocation message.");var n=t[2];return n?{arguments:t[4],headers:e,invocationId:n,streamIds:[],target:t[3],type:i.MessageType.Invocation}:{arguments:t[4],headers:e,streamIds:[],target:t[3],type:i.MessageType.Invocation}},e.prototype.createStreamItemMessage=function(e,t){if(t.length<4)throw new Error("Invalid payload for StreamItem message.");return{headers:e,invocationId:t[2],item:t[3],type:i.MessageType.StreamItem}},e.prototype.createCompletionMessage=function(e,t){if(t.length<4)throw new Error("Invalid payload for Completion message.");var n,r,o=t[3];if(o!==this.voidResult&&t.length<5)throw new Error("Invalid payload for Completion message.");switch(o){case this.errorResult:n=t[4];break;case this.nonVoidResult:r=t[4]}return{error:n,headers:e,invocationId:t[2],result:r,type:i.MessageType.Completion}},e.prototype.writeInvocation=function(e){var t=o().encode([i.MessageType.Invocation,e.headers||{},e.invocationId||null,e.target,e.arguments,e.streamIds]);return a.write(t.slice())},e.prototype.writeStreamInvocation=function(e){var t=o().encode([i.MessageType.StreamInvocation,e.headers||{},e.invocationId,e.target,e.arguments,e.streamIds]);return a.write(t.slice())},e.prototype.writeStreamItem=function(e){var t=o().encode([i.MessageType.StreamItem,e.headers||{},e.invocationId,e.item]);return a.write(t.slice())},e.prototype.writeCompletion=function(e){var t,n=o(),r=e.error?this.errorResult:e.result?this.nonVoidResult:this.voidResult;switch(r){case this.errorResult:t=n.encode([i.MessageType.Completion,e.headers||{},e.invocationId,r,e.error]);break;case this.voidResult:t=n.encode([i.MessageType.Completion,e.headers||{},e.invocationId,r]);break;case this.nonVoidResult:t=n.encode([i.MessageType.Completion,e.headers||{},e.invocationId,r,e.result])}return a.write(t.slice())},e.prototype.writeCancelInvocation=function(e){var t=o().encode([i.MessageType.CancelInvocation,e.headers||{},e.invocationId]);return a.write(t.slice())},e.prototype.readHeaders=function(e){var t=e[1];if("object"!=typeof t)throw new Error("Invalid headers.");return t},e}();n.d(t,"VERSION",function(){return u}),n.d(t,"MessagePackHubProtocol",function(){return c});var u="5.0.0-dev"}]); \ No newline at end of file diff --git a/src/Components/Web/ref/Microsoft.AspNetCore.Components.Web.csproj b/src/Components/Web/ref/Microsoft.AspNetCore.Components.Web.csproj index cba25041e303..bb7191613346 100644 --- a/src/Components/Web/ref/Microsoft.AspNetCore.Components.Web.csproj +++ b/src/Components/Web/ref/Microsoft.AspNetCore.Components.Web.csproj @@ -2,19 +2,22 @@ netstandard2.0;$(DefaultNetCoreTargetFramework) + $(DefaultNetCoreTargetFramework) - - - - + + + + + - - - - + + + + + diff --git a/src/Components/Web/src/Microsoft.AspNetCore.Components.Web.csproj b/src/Components/Web/src/Microsoft.AspNetCore.Components.Web.csproj index 02ae3157d22e..6b0c9812e7eb 100644 --- a/src/Components/Web/src/Microsoft.AspNetCore.Components.Web.csproj +++ b/src/Components/Web/src/Microsoft.AspNetCore.Components.Web.csproj @@ -6,7 +6,6 @@ true Support for rendering ASP.NET Core components for browsers. true - true Microsoft.AspNetCore.Components diff --git a/src/Components/test/E2ETest/Microsoft.AspNetCore.Components.E2ETests.csproj b/src/Components/test/E2ETest/Microsoft.AspNetCore.Components.E2ETests.csproj index 7c7cab78071a..0e4750037588 100644 --- a/src/Components/test/E2ETest/Microsoft.AspNetCore.Components.E2ETests.csproj +++ b/src/Components/test/E2ETest/Microsoft.AspNetCore.Components.E2ETests.csproj @@ -21,6 +21,8 @@ false + + false diff --git a/src/Components/test/testassets/ComponentsApp.App/ComponentsApp.App.csproj b/src/Components/test/testassets/ComponentsApp.App/ComponentsApp.App.csproj index 3b1d34bbdc6e..470c119f1314 100644 --- a/src/Components/test/testassets/ComponentsApp.App/ComponentsApp.App.csproj +++ b/src/Components/test/testassets/ComponentsApp.App/ComponentsApp.App.csproj @@ -7,8 +7,8 @@ - - + + diff --git a/src/Components/test/testassets/TestServer/Components.TestServer.csproj b/src/Components/test/testassets/TestServer/Components.TestServer.csproj index b2d0ce094d63..4eebc1f24b64 100644 --- a/src/Components/test/testassets/TestServer/Components.TestServer.csproj +++ b/src/Components/test/testassets/TestServer/Components.TestServer.csproj @@ -2,6 +2,7 @@ $(DefaultNetCoreTargetFramework) + false diff --git a/src/DataProtection/Abstractions/ref/Microsoft.AspNetCore.DataProtection.Abstractions.Manual.cs b/src/DataProtection/Abstractions/ref/Microsoft.AspNetCore.DataProtection.Abstractions.Manual.cs new file mode 100644 index 000000000000..1ee28e70bf0c --- /dev/null +++ b/src/DataProtection/Abstractions/ref/Microsoft.AspNetCore.DataProtection.Abstractions.Manual.cs @@ -0,0 +1,24 @@ +// Copyright (c) .NET Foundation. All rights reserved. +// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. + +namespace Microsoft.AspNetCore.DataProtection.Abstractions +{ + internal static partial class Resources + { + internal static string CryptCommon_GenericError { get { throw null; } } + internal static string CryptCommon_PayloadInvalid { get { throw null; } } + internal static System.Globalization.CultureInfo Culture + { + [System.Runtime.CompilerServices.CompilerGeneratedAttribute]get { throw null; } + [System.Runtime.CompilerServices.CompilerGeneratedAttribute]set { } + } + + internal static string DataProtectionExtensions_NoService { get { throw null; } } + internal static string DataProtectionExtensions_NullPurposesCollection { get { throw null; } } + internal static System.Resources.ResourceManager ResourceManager { get { throw null; } } + internal static string FormatDataProtectionExtensions_NoService(object p0) { throw null; } + + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + internal static string GetResourceString(string resourceKey, string defaultValue = null) { throw null; } + } +} diff --git a/src/DataProtection/Abstractions/ref/Microsoft.AspNetCore.DataProtection.Abstractions.csproj b/src/DataProtection/Abstractions/ref/Microsoft.AspNetCore.DataProtection.Abstractions.csproj index 62dd2d978a90..a317d80c11d2 100644 --- a/src/DataProtection/Abstractions/ref/Microsoft.AspNetCore.DataProtection.Abstractions.csproj +++ b/src/DataProtection/Abstractions/ref/Microsoft.AspNetCore.DataProtection.Abstractions.csproj @@ -1,10 +1,17 @@ - netstandard2.0 + netstandard2.0;$(DefaultNetCoreTargetFramework) + $(DefaultNetCoreTargetFramework) - + + + + + + + diff --git a/src/DataProtection/Abstractions/ref/Microsoft.AspNetCore.DataProtection.Abstractions.netcoreapp.cs b/src/DataProtection/Abstractions/ref/Microsoft.AspNetCore.DataProtection.Abstractions.netcoreapp.cs new file mode 100644 index 000000000000..fcd0fcb0b7d0 --- /dev/null +++ b/src/DataProtection/Abstractions/ref/Microsoft.AspNetCore.DataProtection.Abstractions.netcoreapp.cs @@ -0,0 +1,33 @@ +// Copyright (c) .NET Foundation. All rights reserved. +// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. + +namespace Microsoft.AspNetCore.DataProtection +{ + public static partial class DataProtectionCommonExtensions + { + public static Microsoft.AspNetCore.DataProtection.IDataProtector CreateProtector(this Microsoft.AspNetCore.DataProtection.IDataProtectionProvider provider, System.Collections.Generic.IEnumerable purposes) { throw null; } + public static Microsoft.AspNetCore.DataProtection.IDataProtector CreateProtector(this Microsoft.AspNetCore.DataProtection.IDataProtectionProvider provider, string purpose, params string[] subPurposes) { throw null; } + public static Microsoft.AspNetCore.DataProtection.IDataProtectionProvider GetDataProtectionProvider(this System.IServiceProvider services) { throw null; } + public static Microsoft.AspNetCore.DataProtection.IDataProtector GetDataProtector(this System.IServiceProvider services, System.Collections.Generic.IEnumerable purposes) { throw null; } + public static Microsoft.AspNetCore.DataProtection.IDataProtector GetDataProtector(this System.IServiceProvider services, string purpose, params string[] subPurposes) { throw null; } + public static string Protect(this Microsoft.AspNetCore.DataProtection.IDataProtector protector, string plaintext) { throw null; } + public static string Unprotect(this Microsoft.AspNetCore.DataProtection.IDataProtector protector, string protectedData) { throw null; } + } + public partial interface IDataProtectionProvider + { + Microsoft.AspNetCore.DataProtection.IDataProtector CreateProtector(string purpose); + } + public partial interface IDataProtector : Microsoft.AspNetCore.DataProtection.IDataProtectionProvider + { + byte[] Protect(byte[] plaintext); + byte[] Unprotect(byte[] protectedData); + } +} +namespace Microsoft.AspNetCore.DataProtection.Infrastructure +{ + [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Never)] + public partial interface IApplicationDiscriminator + { + string Discriminator { get; } + } +} diff --git a/src/DataProtection/Abstractions/src/Microsoft.AspNetCore.DataProtection.Abstractions.csproj b/src/DataProtection/Abstractions/src/Microsoft.AspNetCore.DataProtection.Abstractions.csproj index 8b7fb04cd759..dcbaf568ee47 100644 --- a/src/DataProtection/Abstractions/src/Microsoft.AspNetCore.DataProtection.Abstractions.csproj +++ b/src/DataProtection/Abstractions/src/Microsoft.AspNetCore.DataProtection.Abstractions.csproj @@ -5,9 +5,8 @@ Commonly used types: Microsoft.AspNetCore.DataProtection.IDataProtectionProvider Microsoft.AspNetCore.DataProtection.IDataProtector - netstandard2.0 + netstandard2.0;$(DefaultNetCoreTargetFramework) true - true true aspnetcore;dataprotection diff --git a/src/DataProtection/AzureKeyVault/ref/Microsoft.AspNetCore.DataProtection.AzureKeyVault.csproj b/src/DataProtection/AzureKeyVault/ref/Microsoft.AspNetCore.DataProtection.AzureKeyVault.csproj deleted file mode 100644 index 8ed2e9d229e7..000000000000 --- a/src/DataProtection/AzureKeyVault/ref/Microsoft.AspNetCore.DataProtection.AzureKeyVault.csproj +++ /dev/null @@ -1,12 +0,0 @@ - - - - netstandard2.0 - - - - - - - - diff --git a/src/DataProtection/AzureKeyVault/ref/Microsoft.AspNetCore.DataProtection.AzureKeyVault.netstandard2.0.cs b/src/DataProtection/AzureKeyVault/ref/Microsoft.AspNetCore.DataProtection.AzureKeyVault.netstandard2.0.cs deleted file mode 100644 index bdaa373e9f92..000000000000 --- a/src/DataProtection/AzureKeyVault/ref/Microsoft.AspNetCore.DataProtection.AzureKeyVault.netstandard2.0.cs +++ /dev/null @@ -1,12 +0,0 @@ -// Copyright (c) .NET Foundation. All rights reserved. -// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. - -namespace Microsoft.AspNetCore.DataProtection -{ - public static partial class AzureDataProtectionBuilderExtensions - { - public static Microsoft.AspNetCore.DataProtection.IDataProtectionBuilder ProtectKeysWithAzureKeyVault(this Microsoft.AspNetCore.DataProtection.IDataProtectionBuilder builder, Microsoft.Azure.KeyVault.KeyVaultClient client, string keyIdentifier) { throw null; } - public static Microsoft.AspNetCore.DataProtection.IDataProtectionBuilder ProtectKeysWithAzureKeyVault(this Microsoft.AspNetCore.DataProtection.IDataProtectionBuilder builder, string keyIdentifier, string clientId, System.Security.Cryptography.X509Certificates.X509Certificate2 certificate) { throw null; } - public static Microsoft.AspNetCore.DataProtection.IDataProtectionBuilder ProtectKeysWithAzureKeyVault(this Microsoft.AspNetCore.DataProtection.IDataProtectionBuilder builder, string keyIdentifier, string clientId, string clientSecret) { throw null; } - } -} diff --git a/src/DataProtection/AzureKeyVault/src/Microsoft.AspNetCore.DataProtection.AzureKeyVault.csproj b/src/DataProtection/AzureKeyVault/src/Microsoft.AspNetCore.DataProtection.AzureKeyVault.csproj index 2f1aa7c4c0e4..f395c323006b 100644 --- a/src/DataProtection/AzureKeyVault/src/Microsoft.AspNetCore.DataProtection.AzureKeyVault.csproj +++ b/src/DataProtection/AzureKeyVault/src/Microsoft.AspNetCore.DataProtection.AzureKeyVault.csproj @@ -5,7 +5,7 @@ netstandard2.0 true aspnetcore;dataprotection;azure;keyvault - true + true diff --git a/src/DataProtection/AzureKeyVault/test/Microsoft.AspNetCore.DataProtection.AzureKeyVault.Tests.csproj b/src/DataProtection/AzureKeyVault/test/Microsoft.AspNetCore.DataProtection.AzureKeyVault.Tests.csproj index b5864335b7c9..22a1aaa64a31 100644 --- a/src/DataProtection/AzureKeyVault/test/Microsoft.AspNetCore.DataProtection.AzureKeyVault.Tests.csproj +++ b/src/DataProtection/AzureKeyVault/test/Microsoft.AspNetCore.DataProtection.AzureKeyVault.Tests.csproj @@ -3,12 +3,16 @@ $(DefaultNetCoreTargetFramework) true + + false + + diff --git a/src/DataProtection/AzureStorage/ref/Microsoft.AspNetCore.DataProtection.AzureStorage.csproj b/src/DataProtection/AzureStorage/ref/Microsoft.AspNetCore.DataProtection.AzureStorage.csproj deleted file mode 100644 index 5da79e220f23..000000000000 --- a/src/DataProtection/AzureStorage/ref/Microsoft.AspNetCore.DataProtection.AzureStorage.csproj +++ /dev/null @@ -1,12 +0,0 @@ - - - - netstandard2.0 - - - - - - - - diff --git a/src/DataProtection/AzureStorage/ref/Microsoft.AspNetCore.DataProtection.AzureStorage.netstandard2.0.cs b/src/DataProtection/AzureStorage/ref/Microsoft.AspNetCore.DataProtection.AzureStorage.netstandard2.0.cs deleted file mode 100644 index 9d6c003d3eff..000000000000 --- a/src/DataProtection/AzureStorage/ref/Microsoft.AspNetCore.DataProtection.AzureStorage.netstandard2.0.cs +++ /dev/null @@ -1,22 +0,0 @@ -// Copyright (c) .NET Foundation. All rights reserved. -// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. - -namespace Microsoft.AspNetCore.DataProtection -{ - public static partial class AzureDataProtectionBuilderExtensions - { - public static Microsoft.AspNetCore.DataProtection.IDataProtectionBuilder PersistKeysToAzureBlobStorage(this Microsoft.AspNetCore.DataProtection.IDataProtectionBuilder builder, Microsoft.Azure.Storage.Blob.CloudBlobContainer container, string blobName) { throw null; } - public static Microsoft.AspNetCore.DataProtection.IDataProtectionBuilder PersistKeysToAzureBlobStorage(this Microsoft.AspNetCore.DataProtection.IDataProtectionBuilder builder, Microsoft.Azure.Storage.Blob.CloudBlockBlob blobReference) { throw null; } - public static Microsoft.AspNetCore.DataProtection.IDataProtectionBuilder PersistKeysToAzureBlobStorage(this Microsoft.AspNetCore.DataProtection.IDataProtectionBuilder builder, Microsoft.Azure.Storage.CloudStorageAccount storageAccount, string relativePath) { throw null; } - public static Microsoft.AspNetCore.DataProtection.IDataProtectionBuilder PersistKeysToAzureBlobStorage(this Microsoft.AspNetCore.DataProtection.IDataProtectionBuilder builder, System.Uri blobUri) { throw null; } - } -} -namespace Microsoft.AspNetCore.DataProtection.AzureStorage -{ - public sealed partial class AzureBlobXmlRepository : Microsoft.AspNetCore.DataProtection.Repositories.IXmlRepository - { - public AzureBlobXmlRepository(System.Func blobRefFactory) { } - public System.Collections.Generic.IReadOnlyCollection GetAllElements() { throw null; } - public void StoreElement(System.Xml.Linq.XElement element, string friendlyName) { } - } -} diff --git a/src/DataProtection/AzureStorage/src/Microsoft.AspNetCore.DataProtection.AzureStorage.csproj b/src/DataProtection/AzureStorage/src/Microsoft.AspNetCore.DataProtection.AzureStorage.csproj index 40698c9d3348..abf1a2d5de36 100644 --- a/src/DataProtection/AzureStorage/src/Microsoft.AspNetCore.DataProtection.AzureStorage.csproj +++ b/src/DataProtection/AzureStorage/src/Microsoft.AspNetCore.DataProtection.AzureStorage.csproj @@ -6,7 +6,7 @@ true true aspnetcore;dataprotection;azure;blob - true + true true diff --git a/src/DataProtection/AzureStorage/test/Microsoft.AspNetCore.DataProtection.AzureStorage.Tests.csproj b/src/DataProtection/AzureStorage/test/Microsoft.AspNetCore.DataProtection.AzureStorage.Tests.csproj index 79bd138df7a4..54bfce3543a6 100644 --- a/src/DataProtection/AzureStorage/test/Microsoft.AspNetCore.DataProtection.AzureStorage.Tests.csproj +++ b/src/DataProtection/AzureStorage/test/Microsoft.AspNetCore.DataProtection.AzureStorage.Tests.csproj @@ -4,6 +4,8 @@ $(DefaultNetCoreTargetFramework) true true + + false @@ -12,6 +14,8 @@ + + diff --git a/src/DataProtection/Cryptography.Internal/ref/Microsoft.AspNetCore.Cryptography.Internal.Manual.cs b/src/DataProtection/Cryptography.Internal/ref/Microsoft.AspNetCore.Cryptography.Internal.Manual.cs new file mode 100644 index 000000000000..df4d98a55ed2 --- /dev/null +++ b/src/DataProtection/Cryptography.Internal/ref/Microsoft.AspNetCore.Cryptography.Internal.Manual.cs @@ -0,0 +1,341 @@ +// Copyright (c) .NET Foundation. All rights reserved. +// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. + +namespace Microsoft.AspNetCore.Cryptography +{ + internal static partial class Constants + { + internal const string BCRYPT_3DES_112_ALGORITHM = "3DES_112"; + internal const string BCRYPT_3DES_ALGORITHM = "3DES"; + internal const string BCRYPT_AES_ALGORITHM = "AES"; + internal const string BCRYPT_AES_CMAC_ALGORITHM = "AES-CMAC"; + internal const string BCRYPT_AES_GMAC_ALGORITHM = "AES-GMAC"; + internal const string BCRYPT_AES_WRAP_KEY_BLOB = "Rfc3565KeyWrapBlob"; + internal const string BCRYPT_ALGORITHM_NAME = "AlgorithmName"; + internal const string BCRYPT_AUTH_TAG_LENGTH = "AuthTagLength"; + internal const string BCRYPT_BLOCK_LENGTH = "BlockLength"; + internal const string BCRYPT_BLOCK_SIZE_LIST = "BlockSizeList"; + internal const string BCRYPT_CAPI_KDF_ALGORITHM = "CAPI_KDF"; + internal const string BCRYPT_CHAINING_MODE = "ChainingMode"; + internal const string BCRYPT_CHAIN_MODE_CBC = "ChainingModeCBC"; + internal const string BCRYPT_CHAIN_MODE_CCM = "ChainingModeCCM"; + internal const string BCRYPT_CHAIN_MODE_CFB = "ChainingModeCFB"; + internal const string BCRYPT_CHAIN_MODE_ECB = "ChainingModeECB"; + internal const string BCRYPT_CHAIN_MODE_GCM = "ChainingModeGCM"; + internal const string BCRYPT_CHAIN_MODE_NA = "ChainingModeN/A"; + internal const string BCRYPT_DESX_ALGORITHM = "DESX"; + internal const string BCRYPT_DES_ALGORITHM = "DES"; + internal const string BCRYPT_DH_ALGORITHM = "DH"; + internal const string BCRYPT_DSA_ALGORITHM = "DSA"; + internal const string BCRYPT_ECDH_P256_ALGORITHM = "ECDH_P256"; + internal const string BCRYPT_ECDH_P384_ALGORITHM = "ECDH_P384"; + internal const string BCRYPT_ECDH_P521_ALGORITHM = "ECDH_P521"; + internal const string BCRYPT_ECDSA_P256_ALGORITHM = "ECDSA_P256"; + internal const string BCRYPT_ECDSA_P384_ALGORITHM = "ECDSA_P384"; + internal const string BCRYPT_ECDSA_P521_ALGORITHM = "ECDSA_P521"; + internal const string BCRYPT_EFFECTIVE_KEY_LENGTH = "EffectiveKeyLength"; + internal const string BCRYPT_HASH_BLOCK_LENGTH = "HashBlockLength"; + internal const string BCRYPT_HASH_LENGTH = "HashDigestLength"; + internal const string BCRYPT_HASH_OID_LIST = "HashOIDList"; + internal const string BCRYPT_IS_KEYED_HASH = "IsKeyedHash"; + internal const string BCRYPT_IS_REUSABLE_HASH = "IsReusableHash"; + internal const string BCRYPT_KEY_DATA_BLOB = "KeyDataBlob"; + internal const string BCRYPT_KEY_LENGTH = "KeyLength"; + internal const string BCRYPT_KEY_LENGTHS = "KeyLengths"; + internal const string BCRYPT_KEY_OBJECT_LENGTH = "KeyObjectLength"; + internal const string BCRYPT_KEY_STRENGTH = "KeyStrength"; + internal const string BCRYPT_MD2_ALGORITHM = "MD2"; + internal const string BCRYPT_MD4_ALGORITHM = "MD4"; + internal const string BCRYPT_MD5_ALGORITHM = "MD5"; + internal const string BCRYPT_MESSAGE_BLOCK_LENGTH = "MessageBlockLength"; + internal const string BCRYPT_OBJECT_LENGTH = "ObjectLength"; + internal const string BCRYPT_OPAQUE_KEY_BLOB = "OpaqueKeyBlob"; + internal const string BCRYPT_PADDING_SCHEMES = "PaddingSchemes"; + internal const string BCRYPT_PBKDF2_ALGORITHM = "PBKDF2"; + internal const string BCRYPT_PRIMITIVE_TYPE = "PrimitiveType"; + internal const string BCRYPT_PROVIDER_HANDLE = "ProviderHandle"; + internal const string BCRYPT_RC2_ALGORITHM = "RC2"; + internal const string BCRYPT_RC4_ALGORITHM = "RC4"; + internal const string BCRYPT_RNG_ALGORITHM = "RNG"; + internal const string BCRYPT_RNG_DUAL_EC_ALGORITHM = "DUALECRNG"; + internal const string BCRYPT_RNG_FIPS186_DSA_ALGORITHM = "FIPS186DSARNG"; + internal const string BCRYPT_RSA_ALGORITHM = "RSA"; + internal const string BCRYPT_RSA_SIGN_ALGORITHM = "RSA_SIGN"; + internal const string BCRYPT_SHA1_ALGORITHM = "SHA1"; + internal const string BCRYPT_SHA256_ALGORITHM = "SHA256"; + internal const string BCRYPT_SHA384_ALGORITHM = "SHA384"; + internal const string BCRYPT_SHA512_ALGORITHM = "SHA512"; + internal const string BCRYPT_SIGNATURE_LENGTH = "SignatureLength"; + internal const string BCRYPT_SP800108_CTR_HMAC_ALGORITHM = "SP800_108_CTR_HMAC"; + internal const string BCRYPT_SP80056A_CONCAT_ALGORITHM = "SP800_56A_CONCAT"; + internal const int MAX_STACKALLOC_BYTES = 256; + internal const string MS_PLATFORM_CRYPTO_PROVIDER = "Microsoft Platform Crypto Provider"; + internal const string MS_PRIMITIVE_PROVIDER = "Microsoft Primitive Provider"; + } + internal static partial class CryptoUtil + { + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)]public static void Assert(bool condition, string message) { } + public static void AssertPlatformIsWindows() { } + public static void AssertPlatformIsWindows8OrLater() { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)]public static void AssertSafeHandleIsValid(System.Runtime.InteropServices.SafeHandle safeHandle) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.NoInlining)]public static System.Exception Fail(string message) { throw null; } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.NoInlining)]public static T Fail(string message) where T : class { throw null; } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.NoInlining | System.Runtime.CompilerServices.MethodImplOptions.NoOptimization)][System.Runtime.ConstrainedExecution.ReliabilityContractAttribute(System.Runtime.ConstrainedExecution.Consistency.WillNotCorruptState, System.Runtime.ConstrainedExecution.Cer.Success)] + public unsafe static bool TimeConstantBuffersAreEqual(byte* bufA, byte* bufB, uint count) { throw null; } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.NoInlining | System.Runtime.CompilerServices.MethodImplOptions.NoOptimization)]public static bool TimeConstantBuffersAreEqual(byte[] bufA, int offsetA, int countA, byte[] bufB, int offsetB, int countB) { throw null; } + } + [System.Runtime.InteropServices.StructLayoutAttribute(System.Runtime.InteropServices.LayoutKind.Sequential)] + internal unsafe partial struct DATA_BLOB + { + public uint cbData; + public byte* pbData; + } + internal static partial class UnsafeBufferUtil + { + [System.Runtime.ConstrainedExecution.ReliabilityContractAttribute(System.Runtime.ConstrainedExecution.Consistency.WillNotCorruptState, System.Runtime.ConstrainedExecution.Cer.MayFail)] + public static void BlockCopy(Microsoft.AspNetCore.Cryptography.SafeHandles.LocalAllocHandle from, Microsoft.AspNetCore.Cryptography.SafeHandles.LocalAllocHandle to, System.IntPtr length) { } + [System.Runtime.ConstrainedExecution.ReliabilityContractAttribute(System.Runtime.ConstrainedExecution.Consistency.WillNotCorruptState, System.Runtime.ConstrainedExecution.Cer.MayFail)] + public unsafe static void BlockCopy(Microsoft.AspNetCore.Cryptography.SafeHandles.LocalAllocHandle from, void* to, uint byteCount) { } + [System.Runtime.ConstrainedExecution.ReliabilityContractAttribute(System.Runtime.ConstrainedExecution.Consistency.WillNotCorruptState, System.Runtime.ConstrainedExecution.Cer.MayFail)] + public unsafe static void BlockCopy(void* from, Microsoft.AspNetCore.Cryptography.SafeHandles.LocalAllocHandle to, uint byteCount) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)][System.Runtime.ConstrainedExecution.ReliabilityContractAttribute(System.Runtime.ConstrainedExecution.Consistency.WillNotCorruptState, System.Runtime.ConstrainedExecution.Cer.Success)] + public unsafe static void BlockCopy(void* from, void* to, int byteCount) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)][System.Runtime.ConstrainedExecution.ReliabilityContractAttribute(System.Runtime.ConstrainedExecution.Consistency.WillNotCorruptState, System.Runtime.ConstrainedExecution.Cer.Success)] + public unsafe static void BlockCopy(void* from, void* to, uint byteCount) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)][System.Runtime.ConstrainedExecution.ReliabilityContractAttribute(System.Runtime.ConstrainedExecution.Consistency.WillNotCorruptState, System.Runtime.ConstrainedExecution.Cer.Success)] + public unsafe static void SecureZeroMemory(byte* buffer, int byteCount) { } + [System.Runtime.ConstrainedExecution.ReliabilityContractAttribute(System.Runtime.ConstrainedExecution.Consistency.WillNotCorruptState, System.Runtime.ConstrainedExecution.Cer.Success)] + public unsafe static void SecureZeroMemory(byte* buffer, System.IntPtr length) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)][System.Runtime.ConstrainedExecution.ReliabilityContractAttribute(System.Runtime.ConstrainedExecution.Consistency.WillNotCorruptState, System.Runtime.ConstrainedExecution.Cer.Success)] + public unsafe static void SecureZeroMemory(byte* buffer, uint byteCount) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)][System.Runtime.ConstrainedExecution.ReliabilityContractAttribute(System.Runtime.ConstrainedExecution.Consistency.WillNotCorruptState, System.Runtime.ConstrainedExecution.Cer.Success)] + public unsafe static void SecureZeroMemory(byte* buffer, ulong byteCount) { } + } + [System.Security.SuppressUnmanagedCodeSecurityAttribute] + internal static partial class UnsafeNativeMethods + { + [System.Runtime.InteropServices.DllImport("bcrypt.dll")][System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.PreserveSig)]internal static extern int BCryptCloseAlgorithmProvider(System.IntPtr hAlgorithm, uint dwFlags); + [System.Runtime.InteropServices.DllImport("bcrypt.dll")][System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.PreserveSig)]internal unsafe static extern int BCryptCreateHash(Microsoft.AspNetCore.Cryptography.SafeHandles.BCryptAlgorithmHandle hAlgorithm, out Microsoft.AspNetCore.Cryptography.SafeHandles.BCryptHashHandle phHash, System.IntPtr pbHashObject, uint cbHashObject, byte* pbSecret, uint cbSecret, uint dwFlags); + [System.Runtime.InteropServices.DllImport("bcrypt.dll")][System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.PreserveSig)]internal unsafe static extern int BCryptDecrypt(Microsoft.AspNetCore.Cryptography.SafeHandles.BCryptKeyHandle hKey, byte* pbInput, uint cbInput, void* pPaddingInfo, byte* pbIV, uint cbIV, byte* pbOutput, uint cbOutput, out uint pcbResult, Microsoft.AspNetCore.Cryptography.Cng.BCryptEncryptFlags dwFlags); + [System.Runtime.InteropServices.DllImport("bcrypt.dll")][System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.PreserveSig)]internal unsafe static extern int BCryptDeriveKeyPBKDF2(Microsoft.AspNetCore.Cryptography.SafeHandles.BCryptAlgorithmHandle hPrf, byte* pbPassword, uint cbPassword, byte* pbSalt, uint cbSalt, ulong cIterations, byte* pbDerivedKey, uint cbDerivedKey, uint dwFlags); + [System.Runtime.InteropServices.DllImport("bcrypt.dll")][System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.PreserveSig)][System.Runtime.ConstrainedExecution.ReliabilityContractAttribute(System.Runtime.ConstrainedExecution.Consistency.WillNotCorruptState, System.Runtime.ConstrainedExecution.Cer.Success)] + internal static extern int BCryptDestroyHash(System.IntPtr hHash); + [System.Runtime.InteropServices.DllImport("bcrypt.dll")][System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.PreserveSig)][System.Runtime.ConstrainedExecution.ReliabilityContractAttribute(System.Runtime.ConstrainedExecution.Consistency.WillNotCorruptState, System.Runtime.ConstrainedExecution.Cer.Success)] + internal static extern int BCryptDestroyKey(System.IntPtr hKey); + [System.Runtime.InteropServices.DllImport("bcrypt.dll")][System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.PreserveSig)]internal static extern int BCryptDuplicateHash(Microsoft.AspNetCore.Cryptography.SafeHandles.BCryptHashHandle hHash, out Microsoft.AspNetCore.Cryptography.SafeHandles.BCryptHashHandle phNewHash, System.IntPtr pbHashObject, uint cbHashObject, uint dwFlags); + [System.Runtime.InteropServices.DllImport("bcrypt.dll")][System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.PreserveSig)]internal unsafe static extern int BCryptEncrypt(Microsoft.AspNetCore.Cryptography.SafeHandles.BCryptKeyHandle hKey, byte* pbInput, uint cbInput, void* pPaddingInfo, byte* pbIV, uint cbIV, byte* pbOutput, uint cbOutput, out uint pcbResult, Microsoft.AspNetCore.Cryptography.Cng.BCryptEncryptFlags dwFlags); + [System.Runtime.InteropServices.DllImport("bcrypt.dll")][System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.PreserveSig)]internal unsafe static extern int BCryptFinishHash(Microsoft.AspNetCore.Cryptography.SafeHandles.BCryptHashHandle hHash, byte* pbOutput, uint cbOutput, uint dwFlags); + [System.Runtime.InteropServices.DllImport("bcrypt.dll")][System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.PreserveSig)]internal unsafe static extern int BCryptGenerateSymmetricKey(Microsoft.AspNetCore.Cryptography.SafeHandles.BCryptAlgorithmHandle hAlgorithm, out Microsoft.AspNetCore.Cryptography.SafeHandles.BCryptKeyHandle phKey, System.IntPtr pbKeyObject, uint cbKeyObject, byte* pbSecret, uint cbSecret, uint dwFlags); + [System.Runtime.InteropServices.DllImport("bcrypt.dll")][System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.PreserveSig)]internal unsafe static extern int BCryptGenRandom(System.IntPtr hAlgorithm, byte* pbBuffer, uint cbBuffer, Microsoft.AspNetCore.Cryptography.Cng.BCryptGenRandomFlags dwFlags); + [System.Runtime.InteropServices.DllImport("bcrypt.dll")][System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.PreserveSig)]internal unsafe static extern int BCryptGetProperty(Microsoft.AspNetCore.Cryptography.SafeHandles.BCryptHandle hObject, string pszProperty, void* pbOutput, uint cbOutput, out uint pcbResult, uint dwFlags); + [System.Runtime.InteropServices.DllImport("bcrypt.dll")][System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.PreserveSig)]internal unsafe static extern int BCryptHashData(Microsoft.AspNetCore.Cryptography.SafeHandles.BCryptHashHandle hHash, byte* pbInput, uint cbInput, uint dwFlags); + [System.Runtime.InteropServices.DllImport("bcrypt.dll")][System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.PreserveSig)]internal unsafe static extern int BCryptKeyDerivation(Microsoft.AspNetCore.Cryptography.SafeHandles.BCryptKeyHandle hKey, Microsoft.AspNetCore.Cryptography.Cng.BCryptBufferDesc* pParameterList, byte* pbDerivedKey, uint cbDerivedKey, out uint pcbResult, uint dwFlags); + [System.Runtime.InteropServices.DllImport("bcrypt.dll")][System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.PreserveSig)]internal static extern int BCryptOpenAlgorithmProvider(out Microsoft.AspNetCore.Cryptography.SafeHandles.BCryptAlgorithmHandle phAlgorithm, string pszAlgId, string pszImplementation, uint dwFlags); + [System.Runtime.InteropServices.DllImport("bcrypt.dll")][System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.PreserveSig)]internal unsafe static extern int BCryptSetProperty(Microsoft.AspNetCore.Cryptography.SafeHandles.BCryptHandle hObject, string pszProperty, void* pbInput, uint cbInput, uint dwFlags); + [System.Runtime.InteropServices.DllImport("crypt32.dll")][System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.PreserveSig)]internal unsafe static extern bool CryptProtectData(Microsoft.AspNetCore.Cryptography.DATA_BLOB* pDataIn, System.IntPtr szDataDescr, Microsoft.AspNetCore.Cryptography.DATA_BLOB* pOptionalEntropy, System.IntPtr pvReserved, System.IntPtr pPromptStruct, uint dwFlags, out Microsoft.AspNetCore.Cryptography.DATA_BLOB pDataOut); + [System.Runtime.InteropServices.DllImport("crypt32.dll")][System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.PreserveSig)]public static extern bool CryptProtectMemory(System.Runtime.InteropServices.SafeHandle pData, uint cbData, uint dwFlags); + [System.Runtime.InteropServices.DllImport("crypt32.dll")][System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.PreserveSig)]internal unsafe static extern bool CryptUnprotectData(Microsoft.AspNetCore.Cryptography.DATA_BLOB* pDataIn, System.IntPtr ppszDataDescr, Microsoft.AspNetCore.Cryptography.DATA_BLOB* pOptionalEntropy, System.IntPtr pvReserved, System.IntPtr pPromptStruct, uint dwFlags, out Microsoft.AspNetCore.Cryptography.DATA_BLOB pDataOut); + [System.Runtime.InteropServices.DllImport("crypt32.dll")][System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.PreserveSig)]public unsafe static extern bool CryptUnprotectMemory(byte* pData, uint cbData, uint dwFlags); + [System.Runtime.InteropServices.DllImport("crypt32.dll")][System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.PreserveSig)]public static extern bool CryptUnprotectMemory(System.Runtime.InteropServices.SafeHandle pData, uint cbData, uint dwFlags); + [System.Runtime.InteropServices.DllImport("ncrypt.dll")][System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.PreserveSig)][System.Runtime.ConstrainedExecution.ReliabilityContractAttribute(System.Runtime.ConstrainedExecution.Consistency.WillNotCorruptState, System.Runtime.ConstrainedExecution.Cer.Success)] + internal static extern int NCryptCloseProtectionDescriptor(System.IntPtr hDescriptor); + [System.Runtime.InteropServices.DllImport("ncrypt.dll")][System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.PreserveSig)]internal static extern int NCryptCreateProtectionDescriptor(string pwszDescriptorString, uint dwFlags, out Microsoft.AspNetCore.Cryptography.SafeHandles.NCryptDescriptorHandle phDescriptor); + [System.Runtime.InteropServices.DllImport("ncrypt.dll")][System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.PreserveSig)]internal static extern int NCryptGetProtectionDescriptorInfo(Microsoft.AspNetCore.Cryptography.SafeHandles.NCryptDescriptorHandle hDescriptor, System.IntPtr pMemPara, uint dwInfoType, out Microsoft.AspNetCore.Cryptography.SafeHandles.LocalAllocHandle ppvInfo); + [System.Runtime.InteropServices.DllImport("ncrypt.dll")][System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.PreserveSig)]internal unsafe static extern int NCryptProtectSecret(Microsoft.AspNetCore.Cryptography.SafeHandles.NCryptDescriptorHandle hDescriptor, uint dwFlags, byte* pbData, uint cbData, System.IntPtr pMemPara, System.IntPtr hWnd, out Microsoft.AspNetCore.Cryptography.SafeHandles.LocalAllocHandle ppbProtectedBlob, out uint pcbProtectedBlob); + [System.Runtime.InteropServices.DllImport("ncrypt.dll")][System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.PreserveSig)]internal unsafe static extern int NCryptUnprotectSecret(out Microsoft.AspNetCore.Cryptography.SafeHandles.NCryptDescriptorHandle phDescriptor, uint dwFlags, byte* pbProtectedBlob, uint cbProtectedBlob, System.IntPtr pMemPara, System.IntPtr hWnd, out Microsoft.AspNetCore.Cryptography.SafeHandles.LocalAllocHandle ppbData, out uint pcbData); + [System.Runtime.InteropServices.DllImport("ncrypt.dll")][System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.PreserveSig)]internal unsafe static extern int NCryptUnprotectSecret(System.IntPtr phDescriptor, uint dwFlags, byte* pbProtectedBlob, uint cbProtectedBlob, System.IntPtr pMemPara, System.IntPtr hWnd, out Microsoft.AspNetCore.Cryptography.SafeHandles.LocalAllocHandle ppbData, out uint pcbData); + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)]internal static void ThrowExceptionForBCryptStatus(int ntstatus) { } + public static void ThrowExceptionForLastCrypt32Error() { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)]internal static void ThrowExceptionForNCryptStatus(int ntstatus) { } + } + internal static partial class WeakReferenceHelpers + { + public static T GetSharedInstance(ref System.WeakReference weakReference, System.Func factory) where T : class, System.IDisposable { throw null; } + } +} +namespace Microsoft.AspNetCore.Cryptography.Cng +{ + [System.Runtime.InteropServices.StructLayoutAttribute(System.Runtime.InteropServices.LayoutKind.Sequential)] + internal partial struct BCryptBuffer + { + public uint cbBuffer; // Length of buffer, in bytes + public BCryptKeyDerivationBufferType BufferType; // Buffer type + public System.IntPtr pvBuffer; // Pointer to buffer + } + [System.Runtime.InteropServices.StructLayoutAttribute(System.Runtime.InteropServices.LayoutKind.Sequential)] + internal unsafe partial struct BCryptBufferDesc + { + public uint ulVersion; // Version number + public uint cBuffers; // Number of buffers + public BCryptBuffer* pBuffers; // Pointer to array of buffers + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)]public static void Initialize(ref Microsoft.AspNetCore.Cryptography.Cng.BCryptBufferDesc bufferDesc) { } + } + [System.FlagsAttribute] + internal enum BCryptEncryptFlags + { + BCRYPT_BLOCK_PADDING = 1, + } + [System.FlagsAttribute] + internal enum BCryptGenRandomFlags + { + BCRYPT_RNG_USE_ENTROPY_IN_BUFFER = 1, + BCRYPT_USE_SYSTEM_PREFERRED_RNG = 2, + } + internal enum BCryptKeyDerivationBufferType + { + KDF_HASH_ALGORITHM = 0, + KDF_SECRET_PREPEND = 1, + KDF_SECRET_APPEND = 2, + KDF_HMAC_KEY = 3, + KDF_TLS_PRF_LABEL = 4, + KDF_TLS_PRF_SEED = 5, + KDF_SECRET_HANDLE = 6, + KDF_TLS_PRF_PROTOCOL = 7, + KDF_ALGORITHMID = 8, + KDF_PARTYUINFO = 9, + KDF_PARTYVINFO = 10, + KDF_SUPPPUBINFO = 11, + KDF_SUPPPRIVINFO = 12, + KDF_LABEL = 13, + KDF_CONTEXT = 14, + KDF_SALT = 15, + KDF_ITERATION_COUNT = 16, + } + internal static partial class BCryptUtil + { + public unsafe static void GenRandom(byte* pbBuffer, uint cbBuffer) { } + } + [System.Runtime.InteropServices.StructLayoutAttribute(System.Runtime.InteropServices.LayoutKind.Sequential)] + internal unsafe partial struct BCRYPT_AUTHENTICATED_CIPHER_MODE_INFO + { + public uint cbSize; + public uint dwInfoVersion; + public byte* pbNonce; + public uint cbNonce; + public byte* pbAuthData; + public uint cbAuthData; + public byte* pbTag; + public uint cbTag; + public byte* pbMacContext; + public uint cbMacContext; + public uint cbAAD; + public ulong cbData; + public uint dwFlags; + public static void Init(out Microsoft.AspNetCore.Cryptography.Cng.BCRYPT_AUTHENTICATED_CIPHER_MODE_INFO info) { throw null; } + } + [System.Runtime.InteropServices.StructLayoutAttribute(System.Runtime.InteropServices.LayoutKind.Sequential)] + internal partial struct BCRYPT_KEY_LENGTHS_STRUCT + { + // MSDN says these fields represent the key length in bytes. + // It's wrong: these key lengths are all actually in bits. + internal uint dwMinLength; + internal uint dwMaxLength; + internal uint dwIncrement; + public void EnsureValidKeyLength(uint keyLengthInBits) { } + } + internal static partial class CachedAlgorithmHandles + { + public static Microsoft.AspNetCore.Cryptography.SafeHandles.BCryptAlgorithmHandle AES_CBC { get { throw null; } } + public static Microsoft.AspNetCore.Cryptography.SafeHandles.BCryptAlgorithmHandle AES_GCM { get { throw null; } } + public static Microsoft.AspNetCore.Cryptography.SafeHandles.BCryptAlgorithmHandle HMAC_SHA1 { get { throw null; } } + public static Microsoft.AspNetCore.Cryptography.SafeHandles.BCryptAlgorithmHandle HMAC_SHA256 { get { throw null; } } + public static Microsoft.AspNetCore.Cryptography.SafeHandles.BCryptAlgorithmHandle HMAC_SHA512 { get { throw null; } } + public static Microsoft.AspNetCore.Cryptography.SafeHandles.BCryptAlgorithmHandle PBKDF2 { get { throw null; } } + public static Microsoft.AspNetCore.Cryptography.SafeHandles.BCryptAlgorithmHandle SHA1 { get { throw null; } } + public static Microsoft.AspNetCore.Cryptography.SafeHandles.BCryptAlgorithmHandle SHA256 { get { throw null; } } + public static Microsoft.AspNetCore.Cryptography.SafeHandles.BCryptAlgorithmHandle SHA512 { get { throw null; } } + public static Microsoft.AspNetCore.Cryptography.SafeHandles.BCryptAlgorithmHandle SP800_108_CTR_HMAC { get { throw null; } } + } + [System.FlagsAttribute] + internal enum NCryptEncryptFlags + { + NCRYPT_NO_PADDING_FLAG = 1, + NCRYPT_PAD_PKCS1_FLAG = 2, + NCRYPT_PAD_OAEP_FLAG = 4, + NCRYPT_PAD_PSS_FLAG = 8, + NCRYPT_SILENT_FLAG = 64, + } + internal static partial class OSVersionUtil + { + public static bool IsWindows() { throw null; } + public static bool IsWindows8OrLater() { throw null; } + } +} +namespace Microsoft.AspNetCore.Cryptography.Internal +{ + internal static partial class Resources + { + internal static string BCryptAlgorithmHandle_ProviderNotFound { get { throw null; } } + internal static string BCRYPT_KEY_LENGTHS_STRUCT_InvalidKeyLength { get { throw null; } } + internal static System.Globalization.CultureInfo Culture { [System.Runtime.CompilerServices.CompilerGeneratedAttribute]get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute]set { } } + internal static string Platform_Windows7Required { get { throw null; } } + internal static string Platform_Windows8Required { get { throw null; } } + internal static System.Resources.ResourceManager ResourceManager { get { throw null; } } + internal static string FormatBCryptAlgorithmHandle_ProviderNotFound(object p0) { throw null; } + internal static string FormatBCRYPT_KEY_LENGTHS_STRUCT_InvalidKeyLength(object p0, object p1, object p2, object p3) { throw null; } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)]internal static string GetResourceString(string resourceKey, string defaultValue = null) { throw null; } + } +} +namespace Microsoft.AspNetCore.Cryptography.SafeHandles +{ + internal sealed partial class BCryptAlgorithmHandle : Microsoft.AspNetCore.Cryptography.SafeHandles.BCryptHandle + { + public Microsoft.AspNetCore.Cryptography.SafeHandles.BCryptHashHandle CreateHash() { throw null; } + public unsafe Microsoft.AspNetCore.Cryptography.SafeHandles.BCryptHashHandle CreateHmac(byte* pbKey, uint cbKey) { throw null; } + public unsafe Microsoft.AspNetCore.Cryptography.SafeHandles.BCryptKeyHandle GenerateSymmetricKey(byte* pbSecret, uint cbSecret) { throw null; } + public string GetAlgorithmName() { throw null; } + public uint GetCipherBlockLength() { throw null; } + public uint GetHashBlockLength() { throw null; } + public uint GetHashDigestLength() { throw null; } + public Microsoft.AspNetCore.Cryptography.Cng.BCRYPT_KEY_LENGTHS_STRUCT GetSupportedKeyLengths() { throw null; } + public static Microsoft.AspNetCore.Cryptography.SafeHandles.BCryptAlgorithmHandle OpenAlgorithmHandle(string algorithmId, string implementation = null, bool hmac = false) { throw null; } + protected override bool ReleaseHandle() { throw null; } + public void SetChainingMode(string chainingMode) { } + } + internal abstract partial class BCryptHandle : Microsoft.Win32.SafeHandles.SafeHandleZeroOrMinusOneIsInvalid + { + protected BCryptHandle() : base (default(bool)) { } + protected unsafe uint GetProperty(string pszProperty, void* pbOutput, uint cbOutput) { throw null; } + protected unsafe void SetProperty(string pszProperty, void* pbInput, uint cbInput) { } + } + internal sealed partial class BCryptHashHandle : Microsoft.AspNetCore.Cryptography.SafeHandles.BCryptHandle + { + public Microsoft.AspNetCore.Cryptography.SafeHandles.BCryptHashHandle DuplicateHash() { throw null; } + public unsafe void HashData(byte* pbInput, uint cbInput, byte* pbHashDigest, uint cbHashDigest) { } + protected override bool ReleaseHandle() { throw null; } + internal void SetAlgorithmProviderHandle(Microsoft.AspNetCore.Cryptography.SafeHandles.BCryptAlgorithmHandle algProviderHandle) { } + } + internal sealed partial class BCryptKeyHandle : Microsoft.AspNetCore.Cryptography.SafeHandles.BCryptHandle + { + protected override bool ReleaseHandle() { throw null; } + internal void SetAlgorithmProviderHandle(Microsoft.AspNetCore.Cryptography.SafeHandles.BCryptAlgorithmHandle algProviderHandle) { } + } + internal partial class LocalAllocHandle : Microsoft.Win32.SafeHandles.SafeHandleZeroOrMinusOneIsInvalid + { + protected LocalAllocHandle() : base (default(bool)) { } + protected override bool ReleaseHandle() { throw null; } + } + internal sealed partial class NCryptDescriptorHandle : Microsoft.Win32.SafeHandles.SafeHandleZeroOrMinusOneIsInvalid + { + private NCryptDescriptorHandle() : base (default(bool)) { } + public string GetProtectionDescriptorRuleString() { throw null; } + protected override bool ReleaseHandle() { throw null; } + } + internal sealed partial class SafeLibraryHandle : Microsoft.Win32.SafeHandles.SafeHandleZeroOrMinusOneIsInvalid + { + private SafeLibraryHandle() : base (default(bool)) { } + public bool DoesProcExist(string lpProcName) { throw null; } + public void ForbidUnload() { } + public string FormatMessage(int messageId) { throw null; } + public TDelegate GetProcAddress(string lpProcName, bool throwIfNotFound = true) where TDelegate : class { throw null; } + public static Microsoft.AspNetCore.Cryptography.SafeHandles.SafeLibraryHandle Open(string filename) { throw null; } + protected override bool ReleaseHandle() { throw null; } + } + internal sealed partial class SecureLocalAllocHandle : Microsoft.AspNetCore.Cryptography.SafeHandles.LocalAllocHandle + { + public System.IntPtr Length { get { throw null; } } + public static Microsoft.AspNetCore.Cryptography.SafeHandles.SecureLocalAllocHandle Allocate(System.IntPtr cb) { throw null; } + public Microsoft.AspNetCore.Cryptography.SafeHandles.SecureLocalAllocHandle Duplicate() { throw null; } + protected override bool ReleaseHandle() { throw null; } + } +} diff --git a/src/DataProtection/Cryptography.Internal/ref/Microsoft.AspNetCore.Cryptography.Internal.csproj b/src/DataProtection/Cryptography.Internal/ref/Microsoft.AspNetCore.Cryptography.Internal.csproj index ec4ae22e0e8f..5ea2ac05b71d 100644 --- a/src/DataProtection/Cryptography.Internal/ref/Microsoft.AspNetCore.Cryptography.Internal.csproj +++ b/src/DataProtection/Cryptography.Internal/ref/Microsoft.AspNetCore.Cryptography.Internal.csproj @@ -1,10 +1,17 @@ - netstandard2.0 + netstandard2.0;$(DefaultNetCoreTargetFramework) + $(DefaultNetCoreTargetFramework) - + + + + + + + diff --git a/src/Mvc/Mvc.Formatters.Json/ref/Microsoft.AspNetCore.Mvc.Formatters.Json.Manual.cs b/src/DataProtection/Cryptography.Internal/ref/Microsoft.AspNetCore.Cryptography.Internal.netcoreapp.cs similarity index 58% rename from src/Mvc/Mvc.Formatters.Json/ref/Microsoft.AspNetCore.Mvc.Formatters.Json.Manual.cs rename to src/DataProtection/Cryptography.Internal/ref/Microsoft.AspNetCore.Cryptography.Internal.netcoreapp.cs index 039f419cd47a..618082bc4a8a 100644 --- a/src/Mvc/Mvc.Formatters.Json/ref/Microsoft.AspNetCore.Mvc.Formatters.Json.Manual.cs +++ b/src/DataProtection/Cryptography.Internal/ref/Microsoft.AspNetCore.Cryptography.Internal.netcoreapp.cs @@ -1,7 +1,3 @@ // Copyright (c) .NET Foundation. All rights reserved. // Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. -using System.Runtime.CompilerServices; -using Microsoft.AspNetCore.Mvc; - -[assembly: TypeForwardedTo(typeof(JsonResult))] diff --git a/src/DataProtection/Cryptography.Internal/src/Microsoft.AspNetCore.Cryptography.Internal.csproj b/src/DataProtection/Cryptography.Internal/src/Microsoft.AspNetCore.Cryptography.Internal.csproj index 9fbec5f398e2..88ab0de27e94 100644 --- a/src/DataProtection/Cryptography.Internal/src/Microsoft.AspNetCore.Cryptography.Internal.csproj +++ b/src/DataProtection/Cryptography.Internal/src/Microsoft.AspNetCore.Cryptography.Internal.csproj @@ -2,9 +2,8 @@ Infrastructure for ASP.NET Core cryptographic packages. Applications and libraries should not reference this package directly. - netstandard2.0 + netstandard2.0;$(DefaultNetCoreTargetFramework) true - true $(NoWarn);CS1591 true true diff --git a/src/DataProtection/Cryptography.KeyDerivation/ref/Microsoft.AspNetCore.Cryptography.KeyDerivation.Manual.cs b/src/DataProtection/Cryptography.KeyDerivation/ref/Microsoft.AspNetCore.Cryptography.KeyDerivation.Manual.cs new file mode 100644 index 000000000000..b7d5d3ec200f --- /dev/null +++ b/src/DataProtection/Cryptography.KeyDerivation/ref/Microsoft.AspNetCore.Cryptography.KeyDerivation.Manual.cs @@ -0,0 +1,28 @@ +// Copyright (c) .NET Foundation. All rights reserved. +// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. + +namespace Microsoft.AspNetCore.Cryptography.KeyDerivation.PBKDF2 +{ + internal partial interface IPbkdf2Provider + { + byte[] DeriveKey(string password, byte[] salt, Microsoft.AspNetCore.Cryptography.KeyDerivation.KeyDerivationPrf prf, int iterationCount, int numBytesRequested); + } + + internal sealed partial class ManagedPbkdf2Provider : Microsoft.AspNetCore.Cryptography.KeyDerivation.PBKDF2.IPbkdf2Provider + { + public ManagedPbkdf2Provider() { } + public byte[] DeriveKey(string password, byte[] salt, Microsoft.AspNetCore.Cryptography.KeyDerivation.KeyDerivationPrf prf, int iterationCount, int numBytesRequested) { throw null; } + } + + internal sealed partial class Win7Pbkdf2Provider : Microsoft.AspNetCore.Cryptography.KeyDerivation.PBKDF2.IPbkdf2Provider + { + public Win7Pbkdf2Provider() { } + public byte[] DeriveKey(string password, byte[] salt, Microsoft.AspNetCore.Cryptography.KeyDerivation.KeyDerivationPrf prf, int iterationCount, int numBytesRequested) { throw null; } + } + + internal sealed partial class Win8Pbkdf2Provider : Microsoft.AspNetCore.Cryptography.KeyDerivation.PBKDF2.IPbkdf2Provider + { + public Win8Pbkdf2Provider() { } + public byte[] DeriveKey(string password, byte[] salt, Microsoft.AspNetCore.Cryptography.KeyDerivation.KeyDerivationPrf prf, int iterationCount, int numBytesRequested) { throw null; } + } +} diff --git a/src/DataProtection/Cryptography.KeyDerivation/ref/Microsoft.AspNetCore.Cryptography.KeyDerivation.csproj b/src/DataProtection/Cryptography.KeyDerivation/ref/Microsoft.AspNetCore.Cryptography.KeyDerivation.csproj index aeb1c374018b..93587ee4e041 100644 --- a/src/DataProtection/Cryptography.KeyDerivation/ref/Microsoft.AspNetCore.Cryptography.KeyDerivation.csproj +++ b/src/DataProtection/Cryptography.KeyDerivation/ref/Microsoft.AspNetCore.Cryptography.KeyDerivation.csproj @@ -2,13 +2,19 @@ netstandard2.0;$(DefaultNetCoreTargetFramework) + $(DefaultNetCoreTargetFramework) - + + + - + + + + diff --git a/src/DataProtection/Cryptography.KeyDerivation/ref/Microsoft.AspNetCore.Cryptography.KeyDerivation.netcoreapp.Manual.cs b/src/DataProtection/Cryptography.KeyDerivation/ref/Microsoft.AspNetCore.Cryptography.KeyDerivation.netcoreapp.Manual.cs new file mode 100644 index 000000000000..ea38de53c717 --- /dev/null +++ b/src/DataProtection/Cryptography.KeyDerivation/ref/Microsoft.AspNetCore.Cryptography.KeyDerivation.netcoreapp.Manual.cs @@ -0,0 +1,11 @@ +// Copyright (c) .NET Foundation. All rights reserved. +// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. + +namespace Microsoft.AspNetCore.Cryptography.KeyDerivation.PBKDF2 +{ + internal sealed partial class NetCorePbkdf2Provider : Microsoft.AspNetCore.Cryptography.KeyDerivation.PBKDF2.IPbkdf2Provider + { + public NetCorePbkdf2Provider() { } + public byte[] DeriveKey(string password, byte[] salt, Microsoft.AspNetCore.Cryptography.KeyDerivation.KeyDerivationPrf prf, int iterationCount, int numBytesRequested) { throw null; } + } +} diff --git a/src/DataProtection/Cryptography.KeyDerivation/src/Microsoft.AspNetCore.Cryptography.KeyDerivation.csproj b/src/DataProtection/Cryptography.KeyDerivation/src/Microsoft.AspNetCore.Cryptography.KeyDerivation.csproj index 81fff6400b3c..4ca096eb0031 100644 --- a/src/DataProtection/Cryptography.KeyDerivation/src/Microsoft.AspNetCore.Cryptography.KeyDerivation.csproj +++ b/src/DataProtection/Cryptography.KeyDerivation/src/Microsoft.AspNetCore.Cryptography.KeyDerivation.csproj @@ -4,7 +4,6 @@ ASP.NET Core utilities for key derivation. netstandard2.0;$(DefaultNetCoreTargetFramework) true - true true true aspnetcore;dataprotection diff --git a/src/DataProtection/DataProtection/ref/Microsoft.AspNetCore.DataProtection.Manual.cs b/src/DataProtection/DataProtection/ref/Microsoft.AspNetCore.DataProtection.Manual.cs new file mode 100644 index 000000000000..77b0d75fa153 --- /dev/null +++ b/src/DataProtection/DataProtection/ref/Microsoft.AspNetCore.DataProtection.Manual.cs @@ -0,0 +1,385 @@ +// Copyright (c) .NET Foundation. All rights reserved. +// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. + + +namespace Microsoft.AspNetCore.DataProtection +{ + internal static partial class ActivatorExtensions + { + public static T CreateInstance(this Microsoft.AspNetCore.DataProtection.Internal.IActivator activator, string implementationTypeName) where T : class { throw null; } + public static Microsoft.AspNetCore.DataProtection.Internal.IActivator GetActivator(this System.IServiceProvider serviceProvider) { throw null; } + } + internal static partial class ArraySegmentExtensions + { + public static byte[] AsStandaloneArray(this System.ArraySegment arraySegment) { throw null; } + public static void Validate(this System.ArraySegment arraySegment) { } + } + internal partial interface IRegistryPolicyResolver + { + Microsoft.AspNetCore.DataProtection.RegistryPolicy ResolvePolicy(); + } + internal sealed partial class RegistryPolicyResolver : Microsoft.AspNetCore.DataProtection.IRegistryPolicyResolver + { + public RegistryPolicyResolver(Microsoft.AspNetCore.DataProtection.Internal.IActivator activator) { } + internal RegistryPolicyResolver(Microsoft.Win32.RegistryKey policyRegKey, Microsoft.AspNetCore.DataProtection.Internal.IActivator activator) { } + public Microsoft.AspNetCore.DataProtection.RegistryPolicy ResolvePolicy() { throw null; } + } + internal static partial class Error + { + public static System.InvalidOperationException CertificateXmlEncryptor_CertificateNotFound(string thumbprint) { throw null; } + public static System.ArgumentException Common_ArgumentCannotBeNullOrEmpty(string parameterName) { throw null; } + public static System.ArgumentException Common_BufferIncorrectlySized(string parameterName, int actualSize, int expectedSize) { throw null; } + public static System.Security.Cryptography.CryptographicException Common_EncryptionFailed(System.Exception inner = null) { throw null; } + public static System.Security.Cryptography.CryptographicException Common_KeyNotFound(System.Guid id) { throw null; } + public static System.Security.Cryptography.CryptographicException Common_KeyRevoked(System.Guid id) { throw null; } + public static System.InvalidOperationException Common_PropertyCannotBeNullOrEmpty(string propertyName) { throw null; } + public static System.InvalidOperationException Common_PropertyMustBeNonNegative(string propertyName) { throw null; } + public static System.ArgumentOutOfRangeException Common_ValueMustBeNonNegative(string paramName) { throw null; } + public static System.Security.Cryptography.CryptographicException CryptCommon_GenericError(System.Exception inner = null) { throw null; } + public static System.Security.Cryptography.CryptographicException CryptCommon_PayloadInvalid() { throw null; } + public static System.Security.Cryptography.CryptographicException DecryptionFailed(System.Exception inner) { throw null; } + public static System.Security.Cryptography.CryptographicException ProtectionProvider_BadMagicHeader() { throw null; } + public static System.Security.Cryptography.CryptographicException ProtectionProvider_BadVersion() { throw null; } + public static System.InvalidOperationException XmlKeyManager_DuplicateKey(System.Guid keyId) { throw null; } + } + internal static partial class Resources + { + internal static string AlgorithmAssert_BadBlockSize { get { throw null; } } + internal static string AlgorithmAssert_BadDigestSize { get { throw null; } } + internal static string AlgorithmAssert_BadKeySize { get { throw null; } } + internal static string CertificateXmlEncryptor_CertificateNotFound { get { throw null; } } + internal static string Common_ArgumentCannotBeNullOrEmpty { get { throw null; } } + internal static string Common_BufferIncorrectlySized { get { throw null; } } + internal static string Common_DecryptionFailed { get { throw null; } } + internal static string Common_EncryptionFailed { get { throw null; } } + internal static string Common_KeyNotFound { get { throw null; } } + internal static string Common_KeyRevoked { get { throw null; } } + internal static string Common_PropertyCannotBeNullOrEmpty { get { throw null; } } + internal static string Common_PropertyMustBeNonNegative { get { throw null; } } + internal static string Common_ValueMustBeNonNegative { get { throw null; } } + internal static string CryptCommon_GenericError { get { throw null; } } + internal static string CryptCommon_PayloadInvalid { get { throw null; } } + internal static System.Globalization.CultureInfo Culture { [System.Runtime.CompilerServices.CompilerGeneratedAttribute]get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute]set { } } + internal static string EncryptedXmlDecryptor_DoesNotWorkOnCoreClr { get { throw null; } } + internal static string FileSystem_EphemeralKeysLocationInContainer { get { throw null; } } + internal static string KeyManagementOptions_MinNewKeyLifetimeViolated { get { throw null; } } + internal static string KeyRingProvider_NoDefaultKey_AutoGenerateDisabled { get { throw null; } } + internal static string LifetimeMustNotBeNegative { get { throw null; } } + internal static string Platform_WindowsRequiredForGcm { get { throw null; } } + internal static string ProtectionProvider_BadMagicHeader { get { throw null; } } + internal static string ProtectionProvider_BadVersion { get { throw null; } } + internal static System.Resources.ResourceManager ResourceManager { get { throw null; } } + internal static string TypeExtensions_BadCast { get { throw null; } } + internal static string XmlKeyManager_DuplicateKey { get { throw null; } } + internal static string XmlKeyManager_IXmlRepositoryNotFound { get { throw null; } } + internal static string FormatAlgorithmAssert_BadBlockSize(object p0) { throw null; } + internal static string FormatAlgorithmAssert_BadDigestSize(object p0) { throw null; } + internal static string FormatAlgorithmAssert_BadKeySize(object p0) { throw null; } + internal static string FormatCertificateXmlEncryptor_CertificateNotFound(object p0) { throw null; } + internal static string FormatCommon_BufferIncorrectlySized(object p0, object p1) { throw null; } + internal static string FormatCommon_PropertyCannotBeNullOrEmpty(object p0) { throw null; } + internal static string FormatCommon_PropertyMustBeNonNegative(object p0) { throw null; } + internal static string FormatFileSystem_EphemeralKeysLocationInContainer(object path) { throw null; } + internal static string FormatLifetimeMustNotBeNegative(object p0) { throw null; } + internal static string FormatTypeExtensions_BadCast(object p0, object p1) { throw null; } + internal static string FormatXmlKeyManager_IXmlRepositoryNotFound(object p0, object p1) { throw null; } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)]internal static string GetResourceString(string resourceKey, string defaultValue = null) { throw null; } + } + internal partial class RegistryPolicy + { + public RegistryPolicy(Microsoft.AspNetCore.DataProtection.AuthenticatedEncryption.ConfigurationModel.AlgorithmConfiguration configuration, System.Collections.Generic.IEnumerable keyEscrowSinks, int? defaultKeyLifetime) { } + public int? DefaultKeyLifetime { [System.Runtime.CompilerServices.CompilerGeneratedAttribute]get { throw null; } } + public Microsoft.AspNetCore.DataProtection.AuthenticatedEncryption.ConfigurationModel.AlgorithmConfiguration EncryptorConfiguration { [System.Runtime.CompilerServices.CompilerGeneratedAttribute]get { throw null; } } + public System.Collections.Generic.IEnumerable KeyEscrowSinks { [System.Runtime.CompilerServices.CompilerGeneratedAttribute]get { throw null; } } + } + internal partial class SimpleActivator : Microsoft.AspNetCore.DataProtection.Internal.IActivator + { + internal static readonly Microsoft.AspNetCore.DataProtection.SimpleActivator DefaultWithoutServices; + public SimpleActivator(System.IServiceProvider services) { } + public virtual object CreateInstance(System.Type expectedBaseType, string implementationTypeName) { throw null; } + } + internal partial class TypeForwardingActivator : Microsoft.AspNetCore.DataProtection.SimpleActivator + { + public TypeForwardingActivator(System.IServiceProvider services) : base (default(System.IServiceProvider)) { } + public TypeForwardingActivator(System.IServiceProvider services, Microsoft.Extensions.Logging.ILoggerFactory loggerFactory) : base (default(System.IServiceProvider)) { } + public override object CreateInstance(System.Type expectedBaseType, string originalTypeName) { throw null; } + internal object CreateInstance(System.Type expectedBaseType, string originalTypeName, out bool forwarded) { throw null; } + protected string RemoveVersionFromAssemblyName(string forwardedTypeName) { throw null; } + } + internal static partial class XmlConstants + { + internal static readonly System.Xml.Linq.XName DecryptorTypeAttributeName; + internal static readonly System.Xml.Linq.XName DeserializerTypeAttributeName; + internal static readonly System.Xml.Linq.XName EncryptedSecretElementName; + internal static readonly System.Xml.Linq.XName RequiresEncryptionAttributeName; + } + internal static partial class XmlExtensions + { + public static System.Xml.Linq.XElement WithoutChildNodes(this System.Xml.Linq.XElement element) { throw null; } + } +} +namespace Microsoft.AspNetCore.DataProtection.Internal +{ + internal partial class KeyManagementOptionsSetup : Microsoft.Extensions.Options.IConfigureOptions + { + public KeyManagementOptionsSetup() { } + public KeyManagementOptionsSetup(Microsoft.AspNetCore.DataProtection.IRegistryPolicyResolver registryPolicyResolver) { } + public KeyManagementOptionsSetup(Microsoft.Extensions.Logging.ILoggerFactory loggerFactory) { } + public KeyManagementOptionsSetup(Microsoft.Extensions.Logging.ILoggerFactory loggerFactory, Microsoft.AspNetCore.DataProtection.IRegistryPolicyResolver registryPolicyResolver) { } + public void Configure(Microsoft.AspNetCore.DataProtection.KeyManagement.KeyManagementOptions options) { } + } + internal static partial class ContainerUtils + { + public static bool IsContainer { get { throw null; } } + internal static bool IsDirectoryMounted(System.IO.DirectoryInfo directory, System.Collections.Generic.IEnumerable fstab) { throw null; } + public static bool IsVolumeMountedFolder(System.IO.DirectoryInfo directory) { throw null; } + } +} +namespace Microsoft.AspNetCore.DataProtection.AuthenticatedEncryption +{ + internal partial interface IOptimizedAuthenticatedEncryptor : Microsoft.AspNetCore.DataProtection.AuthenticatedEncryption.IAuthenticatedEncryptor + { + byte[] Encrypt(System.ArraySegment plaintext, System.ArraySegment additionalAuthenticatedData, uint preBufferSize, uint postBufferSize); + } +} +namespace Microsoft.AspNetCore.DataProtection.AuthenticatedEncryption.ConfigurationModel +{ + public sealed partial class ManagedAuthenticatedEncryptorDescriptor : Microsoft.AspNetCore.DataProtection.AuthenticatedEncryption.ConfigurationModel.IAuthenticatedEncryptorDescriptor + { + internal Microsoft.AspNetCore.DataProtection.AuthenticatedEncryption.ConfigurationModel.ManagedAuthenticatedEncryptorConfiguration Configuration { [System.Runtime.CompilerServices.CompilerGeneratedAttribute]get { throw null; } } + internal Microsoft.AspNetCore.DataProtection.ISecret MasterKey { [System.Runtime.CompilerServices.CompilerGeneratedAttribute]get { throw null; } } + } + public sealed partial class CngCbcAuthenticatedEncryptorDescriptor : Microsoft.AspNetCore.DataProtection.AuthenticatedEncryption.ConfigurationModel.IAuthenticatedEncryptorDescriptor + { + internal Microsoft.AspNetCore.DataProtection.AuthenticatedEncryption.ConfigurationModel.CngCbcAuthenticatedEncryptorConfiguration Configuration { [System.Runtime.CompilerServices.CompilerGeneratedAttribute]get { throw null; } } + internal Microsoft.AspNetCore.DataProtection.ISecret MasterKey { [System.Runtime.CompilerServices.CompilerGeneratedAttribute]get { throw null; } } + } + public sealed partial class CngGcmAuthenticatedEncryptorDescriptor : Microsoft.AspNetCore.DataProtection.AuthenticatedEncryption.ConfigurationModel.IAuthenticatedEncryptorDescriptor + { + internal Microsoft.AspNetCore.DataProtection.AuthenticatedEncryption.ConfigurationModel.CngGcmAuthenticatedEncryptorConfiguration Configuration { [System.Runtime.CompilerServices.CompilerGeneratedAttribute]get { throw null; } } + internal Microsoft.AspNetCore.DataProtection.ISecret MasterKey { [System.Runtime.CompilerServices.CompilerGeneratedAttribute]get { throw null; } } + } + internal static partial class SecretExtensions + { + public static System.Xml.Linq.XElement ToMasterKeyElement(this Microsoft.AspNetCore.DataProtection.ISecret secret) { throw null; } + public static Microsoft.AspNetCore.DataProtection.Secret ToSecret(this string base64String) { throw null; } + } +} +namespace Microsoft.AspNetCore.DataProtection.Cng +{ + internal sealed partial class GcmAuthenticatedEncryptor : Microsoft.AspNetCore.DataProtection.Cng.Internal.CngAuthenticatedEncryptorBase + { + public GcmAuthenticatedEncryptor(Microsoft.AspNetCore.DataProtection.Secret keyDerivationKey, Microsoft.AspNetCore.Cryptography.SafeHandles.BCryptAlgorithmHandle symmetricAlgorithmHandle, uint symmetricAlgorithmKeySizeInBytes, Microsoft.AspNetCore.DataProtection.Cng.IBCryptGenRandom genRandom = null) { } + protected unsafe override byte[] DecryptImpl(byte* pbCiphertext, uint cbCiphertext, byte* pbAdditionalAuthenticatedData, uint cbAdditionalAuthenticatedData) { throw null; } + public override void Dispose() { } + protected unsafe override byte[] EncryptImpl(byte* pbPlaintext, uint cbPlaintext, byte* pbAdditionalAuthenticatedData, uint cbAdditionalAuthenticatedData, uint cbPreBuffer, uint cbPostBuffer) { throw null; } + } + internal sealed partial class CbcAuthenticatedEncryptor : Microsoft.AspNetCore.DataProtection.Cng.Internal.CngAuthenticatedEncryptorBase + { + public CbcAuthenticatedEncryptor(Microsoft.AspNetCore.DataProtection.Secret keyDerivationKey, Microsoft.AspNetCore.Cryptography.SafeHandles.BCryptAlgorithmHandle symmetricAlgorithmHandle, uint symmetricAlgorithmKeySizeInBytes, Microsoft.AspNetCore.Cryptography.SafeHandles.BCryptAlgorithmHandle hmacAlgorithmHandle, Microsoft.AspNetCore.DataProtection.Cng.IBCryptGenRandom genRandom = null) { } + protected unsafe override byte[] DecryptImpl(byte* pbCiphertext, uint cbCiphertext, byte* pbAdditionalAuthenticatedData, uint cbAdditionalAuthenticatedData) { throw null; } + public override void Dispose() { } + protected unsafe override byte[] EncryptImpl(byte* pbPlaintext, uint cbPlaintext, byte* pbAdditionalAuthenticatedData, uint cbAdditionalAuthenticatedData, uint cbPreBuffer, uint cbPostBuffer) { throw null; } + } + internal unsafe partial interface IBCryptGenRandom + { + void GenRandom(byte* pbBuffer, uint cbBuffer); + } +} +namespace Microsoft.AspNetCore.DataProtection.Cng.Internal +{ + internal unsafe abstract partial class CngAuthenticatedEncryptorBase : Microsoft.AspNetCore.DataProtection.AuthenticatedEncryption.IAuthenticatedEncryptor, Microsoft.AspNetCore.DataProtection.AuthenticatedEncryption.IOptimizedAuthenticatedEncryptor, System.IDisposable + { + protected CngAuthenticatedEncryptorBase() { } + public byte[] Decrypt(System.ArraySegment ciphertext, System.ArraySegment additionalAuthenticatedData) { throw null; } + protected unsafe abstract byte[] DecryptImpl(byte* pbCiphertext, uint cbCiphertext, byte* pbAdditionalAuthenticatedData, uint cbAdditionalAuthenticatedData); + public abstract void Dispose(); + public byte[] Encrypt(System.ArraySegment plaintext, System.ArraySegment additionalAuthenticatedData) { throw null; } + public byte[] Encrypt(System.ArraySegment plaintext, System.ArraySegment additionalAuthenticatedData, uint preBufferSize, uint postBufferSize) { throw null; } + protected unsafe abstract byte[] EncryptImpl(byte* pbPlaintext, uint cbPlaintext, byte* pbAdditionalAuthenticatedData, uint cbAdditionalAuthenticatedData, uint cbPreBuffer, uint cbPostBuffer); + } +} +namespace Microsoft.AspNetCore.DataProtection.KeyManagement +{ + internal static partial class KeyEscrowServiceProviderExtensions + { + public static Microsoft.AspNetCore.DataProtection.KeyManagement.IKeyEscrowSink GetKeyEscrowSink(this System.IServiceProvider services) { throw null; } + } + internal sealed partial class DefaultKeyResolver : Microsoft.AspNetCore.DataProtection.KeyManagement.Internal.IDefaultKeyResolver + { + public DefaultKeyResolver(Microsoft.Extensions.Options.IOptions keyManagementOptions) { } + public DefaultKeyResolver(Microsoft.Extensions.Options.IOptions keyManagementOptions, Microsoft.Extensions.Logging.ILoggerFactory loggerFactory) { } + public Microsoft.AspNetCore.DataProtection.KeyManagement.Internal.DefaultKeyResolution ResolveDefaultKeyPolicy(System.DateTimeOffset now, System.Collections.Generic.IEnumerable allKeys) { throw null; } + } + internal sealed partial class DeferredKey : Microsoft.AspNetCore.DataProtection.KeyManagement.KeyBase + { + public DeferredKey(System.Guid keyId, System.DateTimeOffset creationDate, System.DateTimeOffset activationDate, System.DateTimeOffset expirationDate, Microsoft.AspNetCore.DataProtection.KeyManagement.Internal.IInternalXmlKeyManager keyManager, System.Xml.Linq.XElement keyElement, System.Collections.Generic.IEnumerable encryptorFactories) : base (default(System.Guid), default(System.DateTimeOffset), default(System.DateTimeOffset), default(System.DateTimeOffset), default(System.Lazy), default(System.Collections.Generic.IEnumerable)) { } + } + internal sealed partial class Key : Microsoft.AspNetCore.DataProtection.KeyManagement.KeyBase + { + public Key(System.Guid keyId, System.DateTimeOffset creationDate, System.DateTimeOffset activationDate, System.DateTimeOffset expirationDate, Microsoft.AspNetCore.DataProtection.AuthenticatedEncryption.ConfigurationModel.IAuthenticatedEncryptorDescriptor descriptor, System.Collections.Generic.IEnumerable encryptorFactories) : base (default(System.Guid), default(System.DateTimeOffset), default(System.DateTimeOffset), default(System.DateTimeOffset), default(System.Lazy), default(System.Collections.Generic.IEnumerable)) { } + } + internal abstract partial class KeyBase : Microsoft.AspNetCore.DataProtection.KeyManagement.IKey + { + public KeyBase(System.Guid keyId, System.DateTimeOffset creationDate, System.DateTimeOffset activationDate, System.DateTimeOffset expirationDate, System.Lazy lazyDescriptor, System.Collections.Generic.IEnumerable encryptorFactories) { } + public System.DateTimeOffset ActivationDate { [System.Runtime.CompilerServices.CompilerGeneratedAttribute]get { throw null; } } + public System.DateTimeOffset CreationDate { [System.Runtime.CompilerServices.CompilerGeneratedAttribute]get { throw null; } } + public Microsoft.AspNetCore.DataProtection.AuthenticatedEncryption.ConfigurationModel.IAuthenticatedEncryptorDescriptor Descriptor { get { throw null; } } + public System.DateTimeOffset ExpirationDate { [System.Runtime.CompilerServices.CompilerGeneratedAttribute]get { throw null; } } + public bool IsRevoked { [System.Runtime.CompilerServices.CompilerGeneratedAttribute]get { throw null; } } + public System.Guid KeyId { [System.Runtime.CompilerServices.CompilerGeneratedAttribute]get { throw null; } } + public Microsoft.AspNetCore.DataProtection.AuthenticatedEncryption.IAuthenticatedEncryptor CreateEncryptor() { throw null; } + internal void SetRevoked() { } + } + internal sealed partial class KeyRing : Microsoft.AspNetCore.DataProtection.KeyManagement.Internal.IKeyRing + { + public KeyRing(Microsoft.AspNetCore.DataProtection.KeyManagement.IKey defaultKey, System.Collections.Generic.IEnumerable allKeys) { } + public Microsoft.AspNetCore.DataProtection.AuthenticatedEncryption.IAuthenticatedEncryptor DefaultAuthenticatedEncryptor { get { throw null; } } + public System.Guid DefaultKeyId { [System.Runtime.CompilerServices.CompilerGeneratedAttribute]get { throw null; } } + public Microsoft.AspNetCore.DataProtection.AuthenticatedEncryption.IAuthenticatedEncryptor GetAuthenticatedEncryptorByKeyId(System.Guid keyId, out bool isRevoked) { throw null; } + } + internal sealed partial class KeyRingProvider : Microsoft.AspNetCore.DataProtection.KeyManagement.Internal.ICacheableKeyRingProvider, Microsoft.AspNetCore.DataProtection.KeyManagement.Internal.IKeyRingProvider + { + public KeyRingProvider(Microsoft.AspNetCore.DataProtection.KeyManagement.IKeyManager keyManager, Microsoft.Extensions.Options.IOptions keyManagementOptions, Microsoft.AspNetCore.DataProtection.KeyManagement.Internal.IDefaultKeyResolver defaultKeyResolver) { } + public KeyRingProvider(Microsoft.AspNetCore.DataProtection.KeyManagement.IKeyManager keyManager, Microsoft.Extensions.Options.IOptions keyManagementOptions, Microsoft.AspNetCore.DataProtection.KeyManagement.Internal.IDefaultKeyResolver defaultKeyResolver, Microsoft.Extensions.Logging.ILoggerFactory loggerFactory) { } + internal System.DateTime AutoRefreshWindowEnd { [System.Runtime.CompilerServices.CompilerGeneratedAttribute]get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute]set { } } + internal Microsoft.AspNetCore.DataProtection.KeyManagement.Internal.ICacheableKeyRingProvider CacheableKeyRingProvider { [System.Runtime.CompilerServices.CompilerGeneratedAttribute]get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute]set { } } + public Microsoft.AspNetCore.DataProtection.KeyManagement.Internal.IKeyRing GetCurrentKeyRing() { throw null; } + internal Microsoft.AspNetCore.DataProtection.KeyManagement.Internal.IKeyRing GetCurrentKeyRingCore(System.DateTime utcNow, bool forceRefresh = false) { throw null; } + internal bool InAutoRefreshWindow() { throw null; } + Microsoft.AspNetCore.DataProtection.KeyManagement.Internal.CacheableKeyRing Microsoft.AspNetCore.DataProtection.KeyManagement.Internal.ICacheableKeyRingProvider.GetCacheableKeyRing(System.DateTimeOffset now) { throw null; } + internal Microsoft.AspNetCore.DataProtection.KeyManagement.Internal.IKeyRing RefreshCurrentKeyRing() { throw null; } + } + internal sealed partial class KeyRingBasedDataProtector : Microsoft.AspNetCore.DataProtection.IDataProtectionProvider, Microsoft.AspNetCore.DataProtection.IDataProtector, Microsoft.AspNetCore.DataProtection.IPersistedDataProtector + { + public KeyRingBasedDataProtector(Microsoft.AspNetCore.DataProtection.KeyManagement.Internal.IKeyRingProvider keyRingProvider, Microsoft.Extensions.Logging.ILogger logger, string[] originalPurposes, string newPurpose) { } + internal string[] Purposes { [System.Runtime.CompilerServices.CompilerGeneratedAttribute]get { throw null; } } + public Microsoft.AspNetCore.DataProtection.IDataProtector CreateProtector(string purpose) { throw null; } + public byte[] DangerousUnprotect(byte[] protectedData, bool ignoreRevocationErrors, out bool requiresMigration, out bool wasRevoked) { throw null; } + public byte[] Protect(byte[] plaintext) { throw null; } + public byte[] Unprotect(byte[] protectedData) { throw null; } + } + public sealed partial class XmlKeyManager : Microsoft.AspNetCore.DataProtection.KeyManagement.IKeyManager, Microsoft.AspNetCore.DataProtection.KeyManagement.Internal.IInternalXmlKeyManager + { + internal static readonly System.Xml.Linq.XName ActivationDateElementName; + internal static readonly System.Xml.Linq.XName CreationDateElementName; + internal static readonly System.Xml.Linq.XName DescriptorElementName; + internal static readonly System.Xml.Linq.XName DeserializerTypeAttributeName; + internal static readonly System.Xml.Linq.XName ExpirationDateElementName; + internal static readonly System.Xml.Linq.XName IdAttributeName; + internal static readonly System.Xml.Linq.XName KeyElementName; + internal static readonly System.Xml.Linq.XName ReasonElementName; + internal static readonly System.Xml.Linq.XName RevocationDateElementName; + internal static readonly System.Xml.Linq.XName RevocationElementName; + internal static readonly System.Xml.Linq.XName VersionAttributeName; + internal XmlKeyManager(Microsoft.Extensions.Options.IOptions keyManagementOptions, Microsoft.AspNetCore.DataProtection.Internal.IActivator activator, Microsoft.Extensions.Logging.ILoggerFactory loggerFactory, Microsoft.AspNetCore.DataProtection.KeyManagement.Internal.IInternalXmlKeyManager internalXmlKeyManager) { } + internal XmlKeyManager(Microsoft.Extensions.Options.IOptions keyManagementOptions, Microsoft.AspNetCore.DataProtection.Internal.IActivator activator, Microsoft.Extensions.Logging.ILoggerFactory loggerFactory, Microsoft.AspNetCore.DataProtection.Repositories.IDefaultKeyStorageDirectories keyStorageDirectories) { } + internal Microsoft.AspNetCore.DataProtection.XmlEncryption.IXmlEncryptor KeyEncryptor { [System.Runtime.CompilerServices.CompilerGeneratedAttribute]get { throw null; } } + internal Microsoft.AspNetCore.DataProtection.Repositories.IXmlRepository KeyRepository { [System.Runtime.CompilerServices.CompilerGeneratedAttribute]get { throw null; } } + internal System.Collections.Generic.KeyValuePair GetFallbackKeyRepositoryEncryptorPair() { throw null; } + } +} +namespace Microsoft.AspNetCore.DataProtection.KeyManagement.Internal +{ + public sealed partial class CacheableKeyRing + { + internal CacheableKeyRing(System.Threading.CancellationToken expirationToken, System.DateTimeOffset expirationTime, Microsoft.AspNetCore.DataProtection.KeyManagement.IKey defaultKey, System.Collections.Generic.IEnumerable allKeys) { } + internal CacheableKeyRing(System.Threading.CancellationToken expirationToken, System.DateTimeOffset expirationTime, Microsoft.AspNetCore.DataProtection.KeyManagement.Internal.IKeyRing keyRing) { } + internal System.DateTime ExpirationTimeUtc { [System.Runtime.CompilerServices.CompilerGeneratedAttribute]get { throw null; } } + internal Microsoft.AspNetCore.DataProtection.KeyManagement.Internal.IKeyRing KeyRing { [System.Runtime.CompilerServices.CompilerGeneratedAttribute]get { throw null; } } + internal static bool IsValid(Microsoft.AspNetCore.DataProtection.KeyManagement.Internal.CacheableKeyRing keyRing, System.DateTime utcNow) { throw null; } + internal Microsoft.AspNetCore.DataProtection.KeyManagement.Internal.CacheableKeyRing WithTemporaryExtendedLifetime(System.DateTimeOffset now) { throw null; } + } +} +namespace Microsoft.AspNetCore.DataProtection.Managed +{ + internal sealed partial class ManagedAuthenticatedEncryptor : Microsoft.AspNetCore.DataProtection.AuthenticatedEncryption.IAuthenticatedEncryptor, System.IDisposable + { + public ManagedAuthenticatedEncryptor(Microsoft.AspNetCore.DataProtection.Secret keyDerivationKey, System.Func symmetricAlgorithmFactory, int symmetricAlgorithmKeySizeInBytes, System.Func validationAlgorithmFactory, Microsoft.AspNetCore.DataProtection.Managed.IManagedGenRandom genRandom = null) { } + public byte[] Decrypt(System.ArraySegment protectedPayload, System.ArraySegment additionalAuthenticatedData) { throw null; } + public void Dispose() { } + public byte[] Encrypt(System.ArraySegment plaintext, System.ArraySegment additionalAuthenticatedData) { throw null; } + } + internal partial interface IManagedGenRandom + { + byte[] GenRandom(int numBytes); + } +} +namespace Microsoft.AspNetCore.DataProtection.Repositories +{ + internal partial class EphemeralXmlRepository : Microsoft.AspNetCore.DataProtection.Repositories.IXmlRepository + { + public EphemeralXmlRepository(Microsoft.Extensions.Logging.ILoggerFactory loggerFactory) { } + public virtual System.Collections.Generic.IReadOnlyCollection GetAllElements() { throw null; } + public virtual void StoreElement(System.Xml.Linq.XElement element, string friendlyName) { } + } + internal partial interface IDefaultKeyStorageDirectories + { + System.IO.DirectoryInfo GetKeyStorageDirectory(); + System.IO.DirectoryInfo GetKeyStorageDirectoryForAzureWebSites(); + } +} +namespace Microsoft.AspNetCore.DataProtection.SP800_108 +{ + internal unsafe partial interface ISP800_108_CTR_HMACSHA512Provider : System.IDisposable + { + void DeriveKey(byte* pbLabel, uint cbLabel, byte* pbContext, uint cbContext, byte* pbDerivedKey, uint cbDerivedKey); + } + internal static partial class ManagedSP800_108_CTR_HMACSHA512 + { + public static void DeriveKeys(byte[] kdk, System.ArraySegment label, System.ArraySegment context, System.Func prfFactory, System.ArraySegment output) { } + public static void DeriveKeysWithContextHeader(byte[] kdk, System.ArraySegment label, byte[] contextHeader, System.ArraySegment context, System.Func prfFactory, System.ArraySegment output) { } + } + internal static partial class SP800_108_CTR_HMACSHA512Extensions + { + public unsafe static void DeriveKeyWithContextHeader(this Microsoft.AspNetCore.DataProtection.SP800_108.ISP800_108_CTR_HMACSHA512Provider provider, byte* pbLabel, uint cbLabel, byte[] contextHeader, byte* pbContext, uint cbContext, byte* pbDerivedKey, uint cbDerivedKey) { } + } + internal static partial class SP800_108_CTR_HMACSHA512Util + { + public static Microsoft.AspNetCore.DataProtection.SP800_108.ISP800_108_CTR_HMACSHA512Provider CreateEmptyProvider() { throw null; } + public static Microsoft.AspNetCore.DataProtection.SP800_108.ISP800_108_CTR_HMACSHA512Provider CreateProvider(Microsoft.AspNetCore.DataProtection.Secret kdk) { throw null; } + public unsafe static Microsoft.AspNetCore.DataProtection.SP800_108.ISP800_108_CTR_HMACSHA512Provider CreateProvider(byte* pbKdk, uint cbKdk) { throw null; } + } + internal sealed partial class Win7SP800_108_CTR_HMACSHA512Provider : Microsoft.AspNetCore.DataProtection.SP800_108.ISP800_108_CTR_HMACSHA512Provider, System.IDisposable + { + public unsafe Win7SP800_108_CTR_HMACSHA512Provider(byte* pbKdk, uint cbKdk) { } + public unsafe void DeriveKey(byte* pbLabel, uint cbLabel, byte* pbContext, uint cbContext, byte* pbDerivedKey, uint cbDerivedKey) { } + public void Dispose() { } + } + internal sealed partial class Win8SP800_108_CTR_HMACSHA512Provider : Microsoft.AspNetCore.DataProtection.SP800_108.ISP800_108_CTR_HMACSHA512Provider, System.IDisposable + { + public unsafe Win8SP800_108_CTR_HMACSHA512Provider(byte* pbKdk, uint cbKdk) { } + public unsafe void DeriveKey(byte* pbLabel, uint cbLabel, byte* pbContext, uint cbContext, byte* pbDerivedKey, uint cbDerivedKey) { } + public void Dispose() { } + } +} +namespace Microsoft.AspNetCore.DataProtection.XmlEncryption +{ + public sealed partial class CertificateXmlEncryptor : Microsoft.AspNetCore.DataProtection.XmlEncryption.IInternalCertificateXmlEncryptor, Microsoft.AspNetCore.DataProtection.XmlEncryption.IXmlEncryptor + { + System.Security.Cryptography.Xml.EncryptedData Microsoft.AspNetCore.DataProtection.XmlEncryption.IInternalCertificateXmlEncryptor.PerformEncryption(System.Security.Cryptography.Xml.EncryptedXml encryptedXml, System.Xml.XmlElement elementToEncrypt) { throw null; } + internal CertificateXmlEncryptor(Microsoft.Extensions.Logging.ILoggerFactory loggerFactory, Microsoft.AspNetCore.DataProtection.XmlEncryption.IInternalCertificateXmlEncryptor encryptor) { } + } + internal partial interface IInternalCertificateXmlEncryptor + { + System.Security.Cryptography.Xml.EncryptedData PerformEncryption(System.Security.Cryptography.Xml.EncryptedXml encryptedXml, System.Xml.XmlElement elementToEncrypt); + } + internal partial interface IInternalEncryptedXmlDecryptor + { + void PerformPreDecryptionSetup(System.Security.Cryptography.Xml.EncryptedXml encryptedXml); + } + internal static partial class XmlEncryptionExtensions + { + public static System.Xml.Linq.XElement DecryptElement(this System.Xml.Linq.XElement element, Microsoft.AspNetCore.DataProtection.Internal.IActivator activator) { throw null; } + public static System.Xml.Linq.XElement EncryptIfNecessary(this Microsoft.AspNetCore.DataProtection.XmlEncryption.IXmlEncryptor encryptor, System.Xml.Linq.XElement element) { throw null; } + public static Microsoft.AspNetCore.DataProtection.Secret ToSecret(this System.Xml.Linq.XElement element) { throw null; } + public static System.Xml.Linq.XElement ToXElement(this Microsoft.AspNetCore.DataProtection.Secret secret) { throw null; } + } + internal partial class XmlKeyDecryptionOptions + { + public XmlKeyDecryptionOptions() { } + public int KeyDecryptionCertificateCount { get { throw null; } } + public void AddKeyDecryptionCertificate(System.Security.Cryptography.X509Certificates.X509Certificate2 certificate) { } + public bool TryGetKeyDecryptionCertificates(System.Security.Cryptography.X509Certificates.X509Certificate2 certInfo, out System.Collections.Generic.IReadOnlyList keyDecryptionCerts) { throw null; } + } +} \ No newline at end of file diff --git a/src/DataProtection/DataProtection/ref/Microsoft.AspNetCore.DataProtection.csproj b/src/DataProtection/DataProtection/ref/Microsoft.AspNetCore.DataProtection.csproj index 9408c35dad37..c3d2e237c796 100644 --- a/src/DataProtection/DataProtection/ref/Microsoft.AspNetCore.DataProtection.csproj +++ b/src/DataProtection/DataProtection/ref/Microsoft.AspNetCore.DataProtection.csproj @@ -2,28 +2,33 @@ netstandard2.0;$(DefaultNetCoreTargetFramework) + $(DefaultNetCoreTargetFramework) - - - - - - - - - + + + + + + + + + + + - - - - - - - - + + + + + + + + + + diff --git a/src/DataProtection/DataProtection/src/Microsoft.AspNetCore.DataProtection.csproj b/src/DataProtection/DataProtection/src/Microsoft.AspNetCore.DataProtection.csproj index 4ce14755dffa..a675b5aa74e0 100644 --- a/src/DataProtection/DataProtection/src/Microsoft.AspNetCore.DataProtection.csproj +++ b/src/DataProtection/DataProtection/src/Microsoft.AspNetCore.DataProtection.csproj @@ -5,7 +5,6 @@ netstandard2.0;$(DefaultNetCoreTargetFramework) $(DefaultNetCoreTargetFramework) true - true $(NoWarn);CS1591 true true diff --git a/src/DataProtection/EntityFrameworkCore/ref/Microsoft.AspNetCore.DataProtection.EntityFrameworkCore.csproj b/src/DataProtection/EntityFrameworkCore/ref/Microsoft.AspNetCore.DataProtection.EntityFrameworkCore.csproj deleted file mode 100644 index dd34dcfdfd50..000000000000 --- a/src/DataProtection/EntityFrameworkCore/ref/Microsoft.AspNetCore.DataProtection.EntityFrameworkCore.csproj +++ /dev/null @@ -1,11 +0,0 @@ - - - - netstandard2.1 - - - - - - - diff --git a/src/DataProtection/EntityFrameworkCore/ref/Microsoft.AspNetCore.DataProtection.EntityFrameworkCore.netstandard2.1.cs b/src/DataProtection/EntityFrameworkCore/ref/Microsoft.AspNetCore.DataProtection.EntityFrameworkCore.netstandard2.1.cs deleted file mode 100644 index 67ab1ae85934..000000000000 --- a/src/DataProtection/EntityFrameworkCore/ref/Microsoft.AspNetCore.DataProtection.EntityFrameworkCore.netstandard2.1.cs +++ /dev/null @@ -1,30 +0,0 @@ -// Copyright (c) .NET Foundation. All rights reserved. -// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. - -namespace Microsoft.AspNetCore.DataProtection -{ - public static partial class EntityFrameworkCoreDataProtectionExtensions - { - public static Microsoft.AspNetCore.DataProtection.IDataProtectionBuilder PersistKeysToDbContext(this Microsoft.AspNetCore.DataProtection.IDataProtectionBuilder builder) where TContext : Microsoft.EntityFrameworkCore.DbContext, Microsoft.AspNetCore.DataProtection.EntityFrameworkCore.IDataProtectionKeyContext { throw null; } - } -} -namespace Microsoft.AspNetCore.DataProtection.EntityFrameworkCore -{ - public partial class DataProtectionKey - { - public DataProtectionKey() { } - public string FriendlyName { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute] set { } } - public int Id { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute] set { } } - public string Xml { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute] set { } } - } - public partial class EntityFrameworkCoreXmlRepository : Microsoft.AspNetCore.DataProtection.Repositories.IXmlRepository where TContext : Microsoft.EntityFrameworkCore.DbContext, Microsoft.AspNetCore.DataProtection.EntityFrameworkCore.IDataProtectionKeyContext - { - public EntityFrameworkCoreXmlRepository(System.IServiceProvider services, Microsoft.Extensions.Logging.ILoggerFactory loggerFactory) { } - public virtual System.Collections.Generic.IReadOnlyCollection GetAllElements() { throw null; } - public void StoreElement(System.Xml.Linq.XElement element, string friendlyName) { } - } - public partial interface IDataProtectionKeyContext - { - Microsoft.EntityFrameworkCore.DbSet DataProtectionKeys { get; } - } -} diff --git a/src/DataProtection/EntityFrameworkCore/src/Microsoft.AspNetCore.DataProtection.EntityFrameworkCore.csproj b/src/DataProtection/EntityFrameworkCore/src/Microsoft.AspNetCore.DataProtection.EntityFrameworkCore.csproj index 58efeab48067..f76d1568c391 100644 --- a/src/DataProtection/EntityFrameworkCore/src/Microsoft.AspNetCore.DataProtection.EntityFrameworkCore.csproj +++ b/src/DataProtection/EntityFrameworkCore/src/Microsoft.AspNetCore.DataProtection.EntityFrameworkCore.csproj @@ -6,7 +6,7 @@ true true aspnetcore;dataprotection;entityframeworkcore - true + true diff --git a/src/DataProtection/EntityFrameworkCore/test/Microsoft.AspNetCore.DataProtection.EntityFrameworkCore.Test.csproj b/src/DataProtection/EntityFrameworkCore/test/Microsoft.AspNetCore.DataProtection.EntityFrameworkCore.Test.csproj index b2dbf36a087b..dab3dbb68a2c 100644 --- a/src/DataProtection/EntityFrameworkCore/test/Microsoft.AspNetCore.DataProtection.EntityFrameworkCore.Test.csproj +++ b/src/DataProtection/EntityFrameworkCore/test/Microsoft.AspNetCore.DataProtection.EntityFrameworkCore.Test.csproj @@ -2,11 +2,15 @@ $(DefaultNetCoreTargetFramework) + + false + + diff --git a/src/DataProtection/Extensions/ref/Microsoft.AspNetCore.DataProtection.Extensions.Manual.cs b/src/DataProtection/Extensions/ref/Microsoft.AspNetCore.DataProtection.Extensions.Manual.cs new file mode 100644 index 000000000000..f1c965458a6c --- /dev/null +++ b/src/DataProtection/Extensions/ref/Microsoft.AspNetCore.DataProtection.Extensions.Manual.cs @@ -0,0 +1,34 @@ +// Copyright (c) .NET Foundation. All rights reserved. +// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. + +namespace Microsoft.AspNetCore.DataProtection +{ + public static partial class DataProtectionProvider + { + internal static Microsoft.AspNetCore.DataProtection.IDataProtectionProvider CreateProvider(System.IO.DirectoryInfo keyDirectory, System.Action setupAction, System.Security.Cryptography.X509Certificates.X509Certificate2 certificate) { throw null; } + } + internal sealed partial class TimeLimitedDataProtector : Microsoft.AspNetCore.DataProtection.IDataProtectionProvider, Microsoft.AspNetCore.DataProtection.IDataProtector, Microsoft.AspNetCore.DataProtection.ITimeLimitedDataProtector + { + public TimeLimitedDataProtector(Microsoft.AspNetCore.DataProtection.IDataProtector innerProtector) { } + public Microsoft.AspNetCore.DataProtection.ITimeLimitedDataProtector CreateProtector(string purpose) { throw null; } + Microsoft.AspNetCore.DataProtection.IDataProtector Microsoft.AspNetCore.DataProtection.IDataProtectionProvider.CreateProtector(string purpose) { throw null; } + byte[] Microsoft.AspNetCore.DataProtection.IDataProtector.Protect(byte[] plaintext) { throw null; } + byte[] Microsoft.AspNetCore.DataProtection.IDataProtector.Unprotect(byte[] protectedData) { throw null; } + public byte[] Protect(byte[] plaintext, System.DateTimeOffset expiration) { throw null; } + public byte[] Unprotect(byte[] protectedData, out System.DateTimeOffset expiration) { throw null; } + internal byte[] UnprotectCore(byte[] protectedData, System.DateTimeOffset now, out System.DateTimeOffset expiration) { throw null; } + } +} +namespace Microsoft.AspNetCore.DataProtection.Extensions +{ + internal static partial class Resources + { + internal static string CryptCommon_GenericError { get { throw null; } } + internal static System.Globalization.CultureInfo Culture { [System.Runtime.CompilerServices.CompilerGeneratedAttribute]get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute]set { } } + internal static System.Resources.ResourceManager ResourceManager { get { throw null; } } + internal static string TimeLimitedDataProtector_PayloadExpired { get { throw null; } } + internal static string TimeLimitedDataProtector_PayloadInvalid { get { throw null; } } + internal static string FormatTimeLimitedDataProtector_PayloadExpired(object p0) { throw null; } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)]internal static string GetResourceString(string resourceKey, string defaultValue = null) { throw null; } + } +} \ No newline at end of file diff --git a/src/DataProtection/Extensions/ref/Microsoft.AspNetCore.DataProtection.Extensions.csproj b/src/DataProtection/Extensions/ref/Microsoft.AspNetCore.DataProtection.Extensions.csproj index 8edb1af38ebf..df813aaf5fb3 100644 --- a/src/DataProtection/Extensions/ref/Microsoft.AspNetCore.DataProtection.Extensions.csproj +++ b/src/DataProtection/Extensions/ref/Microsoft.AspNetCore.DataProtection.Extensions.csproj @@ -2,15 +2,20 @@ netstandard2.0;$(DefaultNetCoreTargetFramework) + $(DefaultNetCoreTargetFramework) - - + + + + - - + + + + diff --git a/src/DataProtection/Extensions/src/Microsoft.AspNetCore.DataProtection.Extensions.csproj b/src/DataProtection/Extensions/src/Microsoft.AspNetCore.DataProtection.Extensions.csproj index 21c2eae6b7e1..fe1e5448dac0 100644 --- a/src/DataProtection/Extensions/src/Microsoft.AspNetCore.DataProtection.Extensions.csproj +++ b/src/DataProtection/Extensions/src/Microsoft.AspNetCore.DataProtection.Extensions.csproj @@ -5,7 +5,6 @@ netstandard2.0;$(DefaultNetCoreTargetFramework) $(DefaultNetCoreTargetFramework) true - true true aspnetcore;dataprotection diff --git a/src/DataProtection/StackExchangeRedis/ref/Microsoft.AspNetCore.DataProtection.StackExchangeRedis.csproj b/src/DataProtection/StackExchangeRedis/ref/Microsoft.AspNetCore.DataProtection.StackExchangeRedis.csproj deleted file mode 100644 index 013fffddf8c7..000000000000 --- a/src/DataProtection/StackExchangeRedis/ref/Microsoft.AspNetCore.DataProtection.StackExchangeRedis.csproj +++ /dev/null @@ -1,11 +0,0 @@ - - - - netstandard2.0 - - - - - - - diff --git a/src/DataProtection/StackExchangeRedis/ref/Microsoft.AspNetCore.DataProtection.StackExchangeRedis.netstandard2.0.cs b/src/DataProtection/StackExchangeRedis/ref/Microsoft.AspNetCore.DataProtection.StackExchangeRedis.netstandard2.0.cs deleted file mode 100644 index 3208711453a5..000000000000 --- a/src/DataProtection/StackExchangeRedis/ref/Microsoft.AspNetCore.DataProtection.StackExchangeRedis.netstandard2.0.cs +++ /dev/null @@ -1,21 +0,0 @@ -// Copyright (c) .NET Foundation. All rights reserved. -// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. - -namespace Microsoft.AspNetCore.DataProtection -{ - public static partial class StackExchangeRedisDataProtectionBuilderExtensions - { - public static Microsoft.AspNetCore.DataProtection.IDataProtectionBuilder PersistKeysToStackExchangeRedis(this Microsoft.AspNetCore.DataProtection.IDataProtectionBuilder builder, StackExchange.Redis.IConnectionMultiplexer connectionMultiplexer) { throw null; } - public static Microsoft.AspNetCore.DataProtection.IDataProtectionBuilder PersistKeysToStackExchangeRedis(this Microsoft.AspNetCore.DataProtection.IDataProtectionBuilder builder, StackExchange.Redis.IConnectionMultiplexer connectionMultiplexer, StackExchange.Redis.RedisKey key) { throw null; } - public static Microsoft.AspNetCore.DataProtection.IDataProtectionBuilder PersistKeysToStackExchangeRedis(this Microsoft.AspNetCore.DataProtection.IDataProtectionBuilder builder, System.Func databaseFactory, StackExchange.Redis.RedisKey key) { throw null; } - } -} -namespace Microsoft.AspNetCore.DataProtection.StackExchangeRedis -{ - public partial class RedisXmlRepository : Microsoft.AspNetCore.DataProtection.Repositories.IXmlRepository - { - public RedisXmlRepository(System.Func databaseFactory, StackExchange.Redis.RedisKey key) { } - public System.Collections.Generic.IReadOnlyCollection GetAllElements() { throw null; } - public void StoreElement(System.Xml.Linq.XElement element, string friendlyName) { } - } -} diff --git a/src/DataProtection/StackExchangeRedis/src/Microsoft.AspNetCore.DataProtection.StackExchangeRedis.csproj b/src/DataProtection/StackExchangeRedis/src/Microsoft.AspNetCore.DataProtection.StackExchangeRedis.csproj index ed592f5831d2..b32253856f56 100644 --- a/src/DataProtection/StackExchangeRedis/src/Microsoft.AspNetCore.DataProtection.StackExchangeRedis.csproj +++ b/src/DataProtection/StackExchangeRedis/src/Microsoft.AspNetCore.DataProtection.StackExchangeRedis.csproj @@ -6,7 +6,7 @@ true true aspnetcore;dataprotection;redis - true + true diff --git a/src/DataProtection/StackExchangeRedis/test/Microsoft.AspNetCore.DataProtection.StackExchangeRedis.Tests.csproj b/src/DataProtection/StackExchangeRedis/test/Microsoft.AspNetCore.DataProtection.StackExchangeRedis.Tests.csproj index 51ab16d490da..3bfb97422c29 100644 --- a/src/DataProtection/StackExchangeRedis/test/Microsoft.AspNetCore.DataProtection.StackExchangeRedis.Tests.csproj +++ b/src/DataProtection/StackExchangeRedis/test/Microsoft.AspNetCore.DataProtection.StackExchangeRedis.Tests.csproj @@ -2,6 +2,8 @@ $(DefaultNetCoreTargetFramework) + + false @@ -16,6 +18,8 @@ + + diff --git a/src/DataProtection/samples/AzureBlob/AzureBlob.csproj b/src/DataProtection/samples/AzureBlob/AzureBlob.csproj index da0aaac7797c..14daf0f2dbe4 100644 --- a/src/DataProtection/samples/AzureBlob/AzureBlob.csproj +++ b/src/DataProtection/samples/AzureBlob/AzureBlob.csproj @@ -3,6 +3,8 @@ $(DefaultNetCoreTargetFramework) exe + + false @@ -11,6 +13,8 @@ + + diff --git a/src/DataProtection/samples/AzureKeyVault/AzureKeyVault.csproj b/src/DataProtection/samples/AzureKeyVault/AzureKeyVault.csproj index 81e12db14e26..a8b80ac42abe 100644 --- a/src/DataProtection/samples/AzureKeyVault/AzureKeyVault.csproj +++ b/src/DataProtection/samples/AzureKeyVault/AzureKeyVault.csproj @@ -3,6 +3,8 @@ $(DefaultNetCoreTargetFramework) exe + + false @@ -12,6 +14,8 @@ + + diff --git a/src/DataProtection/samples/EntityFrameworkCoreSample/EntityFrameworkCoreSample.csproj b/src/DataProtection/samples/EntityFrameworkCoreSample/EntityFrameworkCoreSample.csproj index 6c161137a507..24b0634e1c48 100644 --- a/src/DataProtection/samples/EntityFrameworkCoreSample/EntityFrameworkCoreSample.csproj +++ b/src/DataProtection/samples/EntityFrameworkCoreSample/EntityFrameworkCoreSample.csproj @@ -3,6 +3,8 @@ exe $(DefaultNetCoreTargetFramework) + + false @@ -11,6 +13,8 @@ + + diff --git a/src/DataProtection/samples/Redis/Redis.csproj b/src/DataProtection/samples/Redis/Redis.csproj index 5a6bc7cf173a..4ba6eaccc7f8 100644 --- a/src/DataProtection/samples/Redis/Redis.csproj +++ b/src/DataProtection/samples/Redis/Redis.csproj @@ -3,6 +3,8 @@ $(DefaultNetCoreTargetFramework) exe + + false @@ -10,6 +12,8 @@ + + diff --git a/src/DefaultBuilder/ref/Microsoft.AspNetCore.csproj b/src/DefaultBuilder/ref/Microsoft.AspNetCore.csproj index 21597d756b36..7f8a9bee97d0 100644 --- a/src/DefaultBuilder/ref/Microsoft.AspNetCore.csproj +++ b/src/DefaultBuilder/ref/Microsoft.AspNetCore.csproj @@ -5,23 +5,23 @@ - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + diff --git a/src/DefaultBuilder/src/Microsoft.AspNetCore.csproj b/src/DefaultBuilder/src/Microsoft.AspNetCore.csproj index 54fc28cbea3c..89f0b0ff8b17 100644 --- a/src/DefaultBuilder/src/Microsoft.AspNetCore.csproj +++ b/src/DefaultBuilder/src/Microsoft.AspNetCore.csproj @@ -6,7 +6,7 @@ aspnetcore Microsoft.AspNetCore true - false + false diff --git a/src/Features/JsonPatch/ref/Microsoft.AspNetCore.JsonPatch.csproj b/src/Features/JsonPatch/ref/Microsoft.AspNetCore.JsonPatch.csproj deleted file mode 100644 index c2eba6030ae0..000000000000 --- a/src/Features/JsonPatch/ref/Microsoft.AspNetCore.JsonPatch.csproj +++ /dev/null @@ -1,11 +0,0 @@ - - - - netstandard2.0 - - - - - - - diff --git a/src/Features/JsonPatch/ref/Microsoft.AspNetCore.JsonPatch.netstandard2.0.cs b/src/Features/JsonPatch/ref/Microsoft.AspNetCore.JsonPatch.netstandard2.0.cs deleted file mode 100644 index 61ba9315d983..000000000000 --- a/src/Features/JsonPatch/ref/Microsoft.AspNetCore.JsonPatch.netstandard2.0.cs +++ /dev/null @@ -1,320 +0,0 @@ -// Copyright (c) .NET Foundation. All rights reserved. -// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. - -namespace Microsoft.AspNetCore.JsonPatch -{ - public partial interface IJsonPatchDocument - { - Newtonsoft.Json.Serialization.IContractResolver ContractResolver { get; set; } - System.Collections.Generic.IList GetOperations(); - } - [Newtonsoft.Json.JsonConverterAttribute(typeof(Microsoft.AspNetCore.JsonPatch.Converters.JsonPatchDocumentConverter))] - public partial class JsonPatchDocument : Microsoft.AspNetCore.JsonPatch.IJsonPatchDocument - { - public JsonPatchDocument() { } - public JsonPatchDocument(System.Collections.Generic.List operations, Newtonsoft.Json.Serialization.IContractResolver contractResolver) { } - [Newtonsoft.Json.JsonIgnoreAttribute] - public Newtonsoft.Json.Serialization.IContractResolver ContractResolver { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute] set { } } - public System.Collections.Generic.List Operations { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } } - public Microsoft.AspNetCore.JsonPatch.JsonPatchDocument Add(string path, object value) { throw null; } - public void ApplyTo(object objectToApplyTo) { } - public void ApplyTo(object objectToApplyTo, Microsoft.AspNetCore.JsonPatch.Adapters.IObjectAdapter adapter) { } - public void ApplyTo(object objectToApplyTo, Microsoft.AspNetCore.JsonPatch.Adapters.IObjectAdapter adapter, System.Action logErrorAction) { } - public void ApplyTo(object objectToApplyTo, System.Action logErrorAction) { } - public Microsoft.AspNetCore.JsonPatch.JsonPatchDocument Copy(string from, string path) { throw null; } - System.Collections.Generic.IList Microsoft.AspNetCore.JsonPatch.IJsonPatchDocument.GetOperations() { throw null; } - public Microsoft.AspNetCore.JsonPatch.JsonPatchDocument Move(string from, string path) { throw null; } - public Microsoft.AspNetCore.JsonPatch.JsonPatchDocument Remove(string path) { throw null; } - public Microsoft.AspNetCore.JsonPatch.JsonPatchDocument Replace(string path, object value) { throw null; } - public Microsoft.AspNetCore.JsonPatch.JsonPatchDocument Test(string path, object value) { throw null; } - } - [Newtonsoft.Json.JsonConverterAttribute(typeof(Microsoft.AspNetCore.JsonPatch.Converters.TypedJsonPatchDocumentConverter))] - public partial class JsonPatchDocument : Microsoft.AspNetCore.JsonPatch.IJsonPatchDocument where TModel : class - { - public JsonPatchDocument() { } - public JsonPatchDocument(System.Collections.Generic.List> operations, Newtonsoft.Json.Serialization.IContractResolver contractResolver) { } - [Newtonsoft.Json.JsonIgnoreAttribute] - public Newtonsoft.Json.Serialization.IContractResolver ContractResolver { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute] set { } } - public System.Collections.Generic.List> Operations { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } } - public Microsoft.AspNetCore.JsonPatch.JsonPatchDocument Add(System.Linq.Expressions.Expression>> path, TProp value) { throw null; } - public Microsoft.AspNetCore.JsonPatch.JsonPatchDocument Add(System.Linq.Expressions.Expression>> path, TProp value, int position) { throw null; } - public Microsoft.AspNetCore.JsonPatch.JsonPatchDocument Add(System.Linq.Expressions.Expression> path, TProp value) { throw null; } - public void ApplyTo(TModel objectToApplyTo) { } - public void ApplyTo(TModel objectToApplyTo, Microsoft.AspNetCore.JsonPatch.Adapters.IObjectAdapter adapter) { } - public void ApplyTo(TModel objectToApplyTo, Microsoft.AspNetCore.JsonPatch.Adapters.IObjectAdapter adapter, System.Action logErrorAction) { } - public void ApplyTo(TModel objectToApplyTo, System.Action logErrorAction) { } - public Microsoft.AspNetCore.JsonPatch.JsonPatchDocument Copy(System.Linq.Expressions.Expression>> from, int positionFrom, System.Linq.Expressions.Expression>> path) { throw null; } - public Microsoft.AspNetCore.JsonPatch.JsonPatchDocument Copy(System.Linq.Expressions.Expression>> from, int positionFrom, System.Linq.Expressions.Expression>> path, int positionTo) { throw null; } - public Microsoft.AspNetCore.JsonPatch.JsonPatchDocument Copy(System.Linq.Expressions.Expression>> from, int positionFrom, System.Linq.Expressions.Expression> path) { throw null; } - public Microsoft.AspNetCore.JsonPatch.JsonPatchDocument Copy(System.Linq.Expressions.Expression> from, System.Linq.Expressions.Expression>> path) { throw null; } - public Microsoft.AspNetCore.JsonPatch.JsonPatchDocument Copy(System.Linq.Expressions.Expression> from, System.Linq.Expressions.Expression>> path, int positionTo) { throw null; } - public Microsoft.AspNetCore.JsonPatch.JsonPatchDocument Copy(System.Linq.Expressions.Expression> from, System.Linq.Expressions.Expression> path) { throw null; } - System.Collections.Generic.IList Microsoft.AspNetCore.JsonPatch.IJsonPatchDocument.GetOperations() { throw null; } - public Microsoft.AspNetCore.JsonPatch.JsonPatchDocument Move(System.Linq.Expressions.Expression>> from, int positionFrom, System.Linq.Expressions.Expression>> path) { throw null; } - public Microsoft.AspNetCore.JsonPatch.JsonPatchDocument Move(System.Linq.Expressions.Expression>> from, int positionFrom, System.Linq.Expressions.Expression>> path, int positionTo) { throw null; } - public Microsoft.AspNetCore.JsonPatch.JsonPatchDocument Move(System.Linq.Expressions.Expression>> from, int positionFrom, System.Linq.Expressions.Expression> path) { throw null; } - public Microsoft.AspNetCore.JsonPatch.JsonPatchDocument Move(System.Linq.Expressions.Expression> from, System.Linq.Expressions.Expression>> path) { throw null; } - public Microsoft.AspNetCore.JsonPatch.JsonPatchDocument Move(System.Linq.Expressions.Expression> from, System.Linq.Expressions.Expression>> path, int positionTo) { throw null; } - public Microsoft.AspNetCore.JsonPatch.JsonPatchDocument Move(System.Linq.Expressions.Expression> from, System.Linq.Expressions.Expression> path) { throw null; } - public Microsoft.AspNetCore.JsonPatch.JsonPatchDocument Remove(System.Linq.Expressions.Expression>> path) { throw null; } - public Microsoft.AspNetCore.JsonPatch.JsonPatchDocument Remove(System.Linq.Expressions.Expression>> path, int position) { throw null; } - public Microsoft.AspNetCore.JsonPatch.JsonPatchDocument Remove(System.Linq.Expressions.Expression> path) { throw null; } - public Microsoft.AspNetCore.JsonPatch.JsonPatchDocument Replace(System.Linq.Expressions.Expression>> path, TProp value) { throw null; } - public Microsoft.AspNetCore.JsonPatch.JsonPatchDocument Replace(System.Linq.Expressions.Expression>> path, TProp value, int position) { throw null; } - public Microsoft.AspNetCore.JsonPatch.JsonPatchDocument Replace(System.Linq.Expressions.Expression> path, TProp value) { throw null; } - public Microsoft.AspNetCore.JsonPatch.JsonPatchDocument Test(System.Linq.Expressions.Expression>> path, TProp value) { throw null; } - public Microsoft.AspNetCore.JsonPatch.JsonPatchDocument Test(System.Linq.Expressions.Expression>> path, TProp value, int position) { throw null; } - public Microsoft.AspNetCore.JsonPatch.JsonPatchDocument Test(System.Linq.Expressions.Expression> path, TProp value) { throw null; } - } - public partial class JsonPatchError - { - public JsonPatchError(object affectedObject, Microsoft.AspNetCore.JsonPatch.Operations.Operation operation, string errorMessage) { } - public object AffectedObject { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } } - public string ErrorMessage { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } } - public Microsoft.AspNetCore.JsonPatch.Operations.Operation Operation { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } } - } - public partial class JsonPatchProperty - { - public JsonPatchProperty(Newtonsoft.Json.Serialization.JsonProperty property, object parent) { } - public object Parent { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute] set { } } - public Newtonsoft.Json.Serialization.JsonProperty Property { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute] set { } } - } -} -namespace Microsoft.AspNetCore.JsonPatch.Adapters -{ - public partial class AdapterFactory : Microsoft.AspNetCore.JsonPatch.Adapters.IAdapterFactory - { - public AdapterFactory() { } - public virtual Microsoft.AspNetCore.JsonPatch.Internal.IAdapter Create(object target, Newtonsoft.Json.Serialization.IContractResolver contractResolver) { throw null; } - } - public partial interface IAdapterFactory - { - Microsoft.AspNetCore.JsonPatch.Internal.IAdapter Create(object target, Newtonsoft.Json.Serialization.IContractResolver contractResolver); - } - public partial interface IObjectAdapter - { - void Add(Microsoft.AspNetCore.JsonPatch.Operations.Operation operation, object objectToApplyTo); - void Copy(Microsoft.AspNetCore.JsonPatch.Operations.Operation operation, object objectToApplyTo); - void Move(Microsoft.AspNetCore.JsonPatch.Operations.Operation operation, object objectToApplyTo); - void Remove(Microsoft.AspNetCore.JsonPatch.Operations.Operation operation, object objectToApplyTo); - void Replace(Microsoft.AspNetCore.JsonPatch.Operations.Operation operation, object objectToApplyTo); - } - public partial interface IObjectAdapterWithTest : Microsoft.AspNetCore.JsonPatch.Adapters.IObjectAdapter - { - void Test(Microsoft.AspNetCore.JsonPatch.Operations.Operation operation, object objectToApplyTo); - } - public partial class ObjectAdapter : Microsoft.AspNetCore.JsonPatch.Adapters.IObjectAdapter, Microsoft.AspNetCore.JsonPatch.Adapters.IObjectAdapterWithTest - { - public ObjectAdapter(Newtonsoft.Json.Serialization.IContractResolver contractResolver, System.Action logErrorAction) { } - public ObjectAdapter(Newtonsoft.Json.Serialization.IContractResolver contractResolver, System.Action logErrorAction, Microsoft.AspNetCore.JsonPatch.Adapters.IAdapterFactory adapterFactory) { } - public Microsoft.AspNetCore.JsonPatch.Adapters.IAdapterFactory AdapterFactory { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } } - public Newtonsoft.Json.Serialization.IContractResolver ContractResolver { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } } - public System.Action LogErrorAction { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } } - public void Add(Microsoft.AspNetCore.JsonPatch.Operations.Operation operation, object objectToApplyTo) { } - public void Copy(Microsoft.AspNetCore.JsonPatch.Operations.Operation operation, object objectToApplyTo) { } - public void Move(Microsoft.AspNetCore.JsonPatch.Operations.Operation operation, object objectToApplyTo) { } - public void Remove(Microsoft.AspNetCore.JsonPatch.Operations.Operation operation, object objectToApplyTo) { } - public void Replace(Microsoft.AspNetCore.JsonPatch.Operations.Operation operation, object objectToApplyTo) { } - public void Test(Microsoft.AspNetCore.JsonPatch.Operations.Operation operation, object objectToApplyTo) { } - } -} -namespace Microsoft.AspNetCore.JsonPatch.Converters -{ - public partial class JsonPatchDocumentConverter : Newtonsoft.Json.JsonConverter - { - public JsonPatchDocumentConverter() { } - public override bool CanConvert(System.Type objectType) { throw null; } - public override object ReadJson(Newtonsoft.Json.JsonReader reader, System.Type objectType, object existingValue, Newtonsoft.Json.JsonSerializer serializer) { throw null; } - public override void WriteJson(Newtonsoft.Json.JsonWriter writer, object value, Newtonsoft.Json.JsonSerializer serializer) { } - } - public partial class TypedJsonPatchDocumentConverter : Microsoft.AspNetCore.JsonPatch.Converters.JsonPatchDocumentConverter - { - public TypedJsonPatchDocumentConverter() { } - public override object ReadJson(Newtonsoft.Json.JsonReader reader, System.Type objectType, object existingValue, Newtonsoft.Json.JsonSerializer serializer) { throw null; } - } -} -namespace Microsoft.AspNetCore.JsonPatch.Exceptions -{ - public partial class JsonPatchException : System.Exception - { - public JsonPatchException() { } - public JsonPatchException(Microsoft.AspNetCore.JsonPatch.JsonPatchError jsonPatchError) { } - public JsonPatchException(Microsoft.AspNetCore.JsonPatch.JsonPatchError jsonPatchError, System.Exception innerException) { } - public JsonPatchException(string message, System.Exception innerException) { } - public object AffectedObject { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } } - public Microsoft.AspNetCore.JsonPatch.Operations.Operation FailedOperation { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } } - } -} -namespace Microsoft.AspNetCore.JsonPatch.Helpers -{ - public partial class GetValueResult - { - public GetValueResult(object propertyValue, bool hasError) { } - public bool HasError { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } } - public object PropertyValue { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } } - } -} -namespace Microsoft.AspNetCore.JsonPatch.Internal -{ - public partial class ConversionResult - { - public ConversionResult(bool canBeConverted, object convertedInstance) { } - public bool CanBeConverted { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } } - public object ConvertedInstance { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } } - } - public static partial class ConversionResultProvider - { - public static Microsoft.AspNetCore.JsonPatch.Internal.ConversionResult ConvertTo(object value, System.Type typeToConvertTo) { throw null; } - public static Microsoft.AspNetCore.JsonPatch.Internal.ConversionResult CopyTo(object value, System.Type typeToConvertTo) { throw null; } - } - public partial class DictionaryAdapter : Microsoft.AspNetCore.JsonPatch.Internal.IAdapter - { - public DictionaryAdapter() { } - public virtual bool TryAdd(object target, string segment, Newtonsoft.Json.Serialization.IContractResolver contractResolver, object value, out string errorMessage) { throw null; } - protected virtual bool TryConvertKey(string key, out TKey convertedKey, out string errorMessage) { throw null; } - protected virtual bool TryConvertValue(object value, out TValue convertedValue, out string errorMessage) { throw null; } - public virtual bool TryGet(object target, string segment, Newtonsoft.Json.Serialization.IContractResolver contractResolver, out object value, out string errorMessage) { throw null; } - public virtual bool TryRemove(object target, string segment, Newtonsoft.Json.Serialization.IContractResolver contractResolver, out string errorMessage) { throw null; } - public virtual bool TryReplace(object target, string segment, Newtonsoft.Json.Serialization.IContractResolver contractResolver, object value, out string errorMessage) { throw null; } - public virtual bool TryTest(object target, string segment, Newtonsoft.Json.Serialization.IContractResolver contractResolver, object value, out string errorMessage) { throw null; } - public virtual bool TryTraverse(object target, string segment, Newtonsoft.Json.Serialization.IContractResolver contractResolver, out object nextTarget, out string errorMessage) { throw null; } - } - public partial class DynamicObjectAdapter : Microsoft.AspNetCore.JsonPatch.Internal.IAdapter - { - public DynamicObjectAdapter() { } - public virtual bool TryAdd(object target, string segment, Newtonsoft.Json.Serialization.IContractResolver contractResolver, object value, out string errorMessage) { throw null; } - protected virtual bool TryConvertValue(object value, System.Type propertyType, out object convertedValue) { throw null; } - public virtual bool TryGet(object target, string segment, Newtonsoft.Json.Serialization.IContractResolver contractResolver, out object value, out string errorMessage) { throw null; } - protected virtual bool TryGetDynamicObjectProperty(object target, Newtonsoft.Json.Serialization.IContractResolver contractResolver, string segment, out object value, out string errorMessage) { throw null; } - public virtual bool TryRemove(object target, string segment, Newtonsoft.Json.Serialization.IContractResolver contractResolver, out string errorMessage) { throw null; } - public virtual bool TryReplace(object target, string segment, Newtonsoft.Json.Serialization.IContractResolver contractResolver, object value, out string errorMessage) { throw null; } - protected virtual bool TrySetDynamicObjectProperty(object target, Newtonsoft.Json.Serialization.IContractResolver contractResolver, string segment, object value, out string errorMessage) { throw null; } - public virtual bool TryTest(object target, string segment, Newtonsoft.Json.Serialization.IContractResolver contractResolver, object value, out string errorMessage) { throw null; } - public virtual bool TryTraverse(object target, string segment, Newtonsoft.Json.Serialization.IContractResolver contractResolver, out object nextTarget, out string errorMessage) { throw null; } - } - public partial interface IAdapter - { - bool TryAdd(object target, string segment, Newtonsoft.Json.Serialization.IContractResolver contractResolver, object value, out string errorMessage); - bool TryGet(object target, string segment, Newtonsoft.Json.Serialization.IContractResolver contractResolver, out object value, out string errorMessage); - bool TryRemove(object target, string segment, Newtonsoft.Json.Serialization.IContractResolver contractResolver, out string errorMessage); - bool TryReplace(object target, string segment, Newtonsoft.Json.Serialization.IContractResolver contractResolver, object value, out string errorMessage); - bool TryTest(object target, string segment, Newtonsoft.Json.Serialization.IContractResolver contractResolver, object value, out string errorMessage); - bool TryTraverse(object target, string segment, Newtonsoft.Json.Serialization.IContractResolver contractResolver, out object nextTarget, out string errorMessage); - } - public partial class JObjectAdapter : Microsoft.AspNetCore.JsonPatch.Internal.IAdapter - { - public JObjectAdapter() { } - public virtual bool TryAdd(object target, string segment, Newtonsoft.Json.Serialization.IContractResolver contractResolver, object value, out string errorMessage) { throw null; } - public virtual bool TryGet(object target, string segment, Newtonsoft.Json.Serialization.IContractResolver contractResolver, out object value, out string errorMessage) { throw null; } - public virtual bool TryRemove(object target, string segment, Newtonsoft.Json.Serialization.IContractResolver contractResolver, out string errorMessage) { throw null; } - public virtual bool TryReplace(object target, string segment, Newtonsoft.Json.Serialization.IContractResolver contractResolver, object value, out string errorMessage) { throw null; } - public virtual bool TryTest(object target, string segment, Newtonsoft.Json.Serialization.IContractResolver contractResolver, object value, out string errorMessage) { throw null; } - public virtual bool TryTraverse(object target, string segment, Newtonsoft.Json.Serialization.IContractResolver contractResolver, out object nextTarget, out string errorMessage) { throw null; } - } - public partial class ListAdapter : Microsoft.AspNetCore.JsonPatch.Internal.IAdapter - { - public ListAdapter() { } - public virtual bool TryAdd(object target, string segment, Newtonsoft.Json.Serialization.IContractResolver contractResolver, object value, out string errorMessage) { throw null; } - protected virtual bool TryConvertValue(object originalValue, System.Type listTypeArgument, string segment, out object convertedValue, out string errorMessage) { throw null; } - public virtual bool TryGet(object target, string segment, Newtonsoft.Json.Serialization.IContractResolver contractResolver, out object value, out string errorMessage) { throw null; } - protected virtual bool TryGetListTypeArgument(System.Collections.IList list, out System.Type listTypeArgument, out string errorMessage) { throw null; } - protected virtual bool TryGetPositionInfo(System.Collections.IList list, string segment, Microsoft.AspNetCore.JsonPatch.Internal.ListAdapter.OperationType operationType, out Microsoft.AspNetCore.JsonPatch.Internal.ListAdapter.PositionInfo positionInfo, out string errorMessage) { throw null; } - public virtual bool TryRemove(object target, string segment, Newtonsoft.Json.Serialization.IContractResolver contractResolver, out string errorMessage) { throw null; } - public virtual bool TryReplace(object target, string segment, Newtonsoft.Json.Serialization.IContractResolver contractResolver, object value, out string errorMessage) { throw null; } - public virtual bool TryTest(object target, string segment, Newtonsoft.Json.Serialization.IContractResolver contractResolver, object value, out string errorMessage) { throw null; } - public virtual bool TryTraverse(object target, string segment, Newtonsoft.Json.Serialization.IContractResolver contractResolver, out object value, out string errorMessage) { throw null; } - protected enum OperationType - { - Add = 0, - Remove = 1, - Get = 2, - Replace = 3, - } - [System.Runtime.InteropServices.StructLayoutAttribute(System.Runtime.InteropServices.LayoutKind.Sequential)] - protected readonly partial struct PositionInfo - { - private readonly int _dummyPrimitive; - public PositionInfo(Microsoft.AspNetCore.JsonPatch.Internal.ListAdapter.PositionType type, int index) { throw null; } - public int Index { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } } - public Microsoft.AspNetCore.JsonPatch.Internal.ListAdapter.PositionType Type { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } } - } - protected enum PositionType - { - Index = 0, - EndOfList = 1, - Invalid = 2, - OutOfBounds = 3, - } - } - public partial class ObjectVisitor - { - public ObjectVisitor(Microsoft.AspNetCore.JsonPatch.Internal.ParsedPath path, Newtonsoft.Json.Serialization.IContractResolver contractResolver) { } - public ObjectVisitor(Microsoft.AspNetCore.JsonPatch.Internal.ParsedPath path, Newtonsoft.Json.Serialization.IContractResolver contractResolver, Microsoft.AspNetCore.JsonPatch.Adapters.IAdapterFactory adapterFactory) { } - public bool TryVisit(ref object target, out Microsoft.AspNetCore.JsonPatch.Internal.IAdapter adapter, out string errorMessage) { throw null; } - } - [System.Runtime.InteropServices.StructLayoutAttribute(System.Runtime.InteropServices.LayoutKind.Sequential)] - public readonly partial struct ParsedPath - { - private readonly object _dummy; - private readonly int _dummyPrimitive; - public ParsedPath(string path) { throw null; } - public string LastSegment { get { throw null; } } - public System.Collections.Generic.IReadOnlyList Segments { get { throw null; } } - } - public partial class PocoAdapter : Microsoft.AspNetCore.JsonPatch.Internal.IAdapter - { - public PocoAdapter() { } - public virtual bool TryAdd(object target, string segment, Newtonsoft.Json.Serialization.IContractResolver contractResolver, object value, out string errorMessage) { throw null; } - protected virtual bool TryConvertValue(object value, System.Type propertyType, out object convertedValue) { throw null; } - public virtual bool TryGet(object target, string segment, Newtonsoft.Json.Serialization.IContractResolver contractResolver, out object value, out string errorMessage) { throw null; } - protected virtual bool TryGetJsonProperty(object target, Newtonsoft.Json.Serialization.IContractResolver contractResolver, string segment, out Newtonsoft.Json.Serialization.JsonProperty jsonProperty) { throw null; } - public virtual bool TryRemove(object target, string segment, Newtonsoft.Json.Serialization.IContractResolver contractResolver, out string errorMessage) { throw null; } - public virtual bool TryReplace(object target, string segment, Newtonsoft.Json.Serialization.IContractResolver contractResolver, object value, out string errorMessage) { throw null; } - public virtual bool TryTest(object target, string segment, Newtonsoft.Json.Serialization.IContractResolver contractResolver, object value, out string errorMessage) { throw null; } - public virtual bool TryTraverse(object target, string segment, Newtonsoft.Json.Serialization.IContractResolver contractResolver, out object value, out string errorMessage) { throw null; } - } -} -namespace Microsoft.AspNetCore.JsonPatch.Operations -{ - public partial class Operation : Microsoft.AspNetCore.JsonPatch.Operations.OperationBase - { - public Operation() { } - public Operation(string op, string path, string from) { } - public Operation(string op, string path, string from, object value) { } - [Newtonsoft.Json.JsonPropertyAttribute("value")] - public object value { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute] set { } } - public void Apply(object objectToApplyTo, Microsoft.AspNetCore.JsonPatch.Adapters.IObjectAdapter adapter) { } - public bool ShouldSerializevalue() { throw null; } - } - public partial class OperationBase - { - public OperationBase() { } - public OperationBase(string op, string path, string from) { } - [Newtonsoft.Json.JsonPropertyAttribute("from")] - public string from { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute] set { } } - [Newtonsoft.Json.JsonPropertyAttribute("op")] - public string op { get { throw null; } set { } } - [Newtonsoft.Json.JsonIgnoreAttribute] - public Microsoft.AspNetCore.JsonPatch.Operations.OperationType OperationType { get { throw null; } } - [Newtonsoft.Json.JsonPropertyAttribute("path")] - public string path { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute] set { } } - public bool ShouldSerializefrom() { throw null; } - } - public enum OperationType - { - Add = 0, - Remove = 1, - Replace = 2, - Move = 3, - Copy = 4, - Test = 5, - Invalid = 6, - } - public partial class Operation : Microsoft.AspNetCore.JsonPatch.Operations.Operation where TModel : class - { - public Operation() { } - public Operation(string op, string path, string from) { } - public Operation(string op, string path, string from, object value) { } - public void Apply(TModel objectToApplyTo, Microsoft.AspNetCore.JsonPatch.Adapters.IObjectAdapter adapter) { } - } -} diff --git a/src/Features/JsonPatch/src/Microsoft.AspNetCore.JsonPatch.csproj b/src/Features/JsonPatch/src/Microsoft.AspNetCore.JsonPatch.csproj index 5865069fdd91..73e2f0025b6d 100644 --- a/src/Features/JsonPatch/src/Microsoft.AspNetCore.JsonPatch.csproj +++ b/src/Features/JsonPatch/src/Microsoft.AspNetCore.JsonPatch.csproj @@ -6,7 +6,7 @@ $(NoWarn);CS1591 true aspnetcore;json;jsonpatch - true + true diff --git a/src/Framework/ref/Microsoft.AspNetCore.App.Ref.csproj b/src/Framework/ref/Microsoft.AspNetCore.App.Ref.csproj index b96242763481..ffd0f18293fa 100644 --- a/src/Framework/ref/Microsoft.AspNetCore.App.Ref.csproj +++ b/src/Framework/ref/Microsoft.AspNetCore.App.Ref.csproj @@ -3,7 +3,6 @@ $(DefaultNetCoreTargetFramework) - true true false $(TargetingPackName) @@ -31,15 +30,20 @@ This package is an internal implementation of the .NET Core SDK and is not meant false false - + false PackageOverrides.txt true - - MSB3243 + + MSB3243 + + $(NoWarn);NU5131;NU5128 FrameworkList.xml @@ -48,13 +52,13 @@ This package is an internal implementation of the .NET Core SDK and is not meant $(AspNetCoreMajorVersion).$(AspNetCoreMinorVersion).0 $(ReferencePackSharedFxVersion)-$(VersionSuffix) - $(ArtifactsObjDir)ref\PlatformManifest.txt + $(PlatformManifestOutputPath) + $(RepoRoot)eng\PlatformManifest.txt - false @@ -78,8 +82,8 @@ This package is an internal implementation of the .NET Core SDK and is not meant $(BuildDependsOn); - GeneratePackageConflictManifest; _ResolveTargetingPackContent; + GeneratePackageConflictManifest; IncludeFrameworkListFile; _BatchCopyToLayoutTargetDir; _InstallTargetingPackIntoLocalDotNet; @@ -110,16 +114,28 @@ This package is an internal implementation of the .NET Core SDK and is not meant + + + + + + + + + - - - - - + - - <_AspNetCoreAppPackageOverrides Include="@(ReferencePath->'%(NuGetPackageId)|%(NuGetPackageVersion)')" Condition=" '%(ReferencePath.NuGetPackageId)' != 'Microsoft.NETCore.App' AND '%(ReferencePath.NuGetSourceType)' == 'Package' " /> - <_AspNetCoreAppPackageOverrides Include="@(ReferencePath->'%(FileName)|$(ReferencePackSharedFxVersion)')" Condition=" '%(ReferencePath.ReferenceSourceTarget)' == 'ProjectReference' AND '%(ReferencePath.IsReferenceAssembly)' == 'true' " /> + + <_AspNetCoreAppPackageOverrides Include="@(AspNetCoreReferenceAssemblyPath->'%(NuGetPackageId)|%(NuGetPackageVersion)')" Condition="!Exists('$(MicrosoftInternalExtensionsRefsPath)%(AspNetCoreReferenceAssemblyPath.NuGetPackageId).dll') AND '%(AspNetCoreReferenceAssemblyPath.NuGetPackageId)' != 'Microsoft.NETCore.App' AND '%(AspNetCoreReferenceAssemblyPath.NuGetPackageId)' != 'Microsoft.Internal.Extensions.Refs' AND '%(AspNetCoreReferenceAssemblyPath.NuGetSourceType)' == 'Package' " /> + + + <_AspNetCoreAppPackageOverrides Include="@(_SelectedExtensionsRefAssemblies->'%(FileName)|$(MicrosoftInternalExtensionsRefsPackageOverrideVersion)')" /> + + <_AspNetCoreAppPackageOverrides Include="@(AspNetCoreReferenceAssemblyPath->'%(FileName)|$(ReferencePackSharedFxVersion)')" Condition=" '%(AspNetCoreReferenceAssemblyPath.ReferenceSourceTarget)' == 'ProjectReference' AND '%(AspNetCoreReferenceAssemblyPath.IsReferenceAssembly)' == 'true' " /> + Condition=" '$(IsPackable)' == 'true' "> <_TarCommand>tar <_TarCommand Condition="Exists('$(RepoRoot).tools\tar.exe')">"$(RepoRoot).tools\tar.exe" diff --git a/src/Framework/src/Microsoft.AspNetCore.App.Runtime.csproj b/src/Framework/src/Microsoft.AspNetCore.App.Runtime.csproj index f843ded12417..dfc22b718a8d 100644 --- a/src/Framework/src/Microsoft.AspNetCore.App.Runtime.csproj +++ b/src/Framework/src/Microsoft.AspNetCore.App.Runtime.csproj @@ -7,7 +7,7 @@ false $(MSBuildProjectName).$(RuntimeIdentifier) - true + true false false @@ -21,6 +21,10 @@ This package is an internal implementation of the .NET Core SDK and is not meant true DotnetPlatform + + false + true + aspnetcore_base_runtime.version $(InstallersOutputPath)$(BaseRuntimeVersionFileName) @@ -33,7 +37,8 @@ This package is an internal implementation of the .NET Core SDK and is not meant runtimes/$(RuntimeIdentifier)/native/ dotnet-runtime-$(MicrosoftNETCoreAppRuntimeVersion)-$(TargetRuntimeIdentifier)$(ArchiveExtension) - $(DotNetAssetRootUrl)Runtime/$(MicrosoftNETCoreAppRuntimeVersion)/$(DotNetRuntimeArchiveFileName) + $(DotNetAssetRootUrl)Runtime/$(MicrosoftNETCoreAppInternalPackageVersion)/$(DotNetRuntimeArchiveFileName) + $(DotNetPrivateAssetRootUrl)Runtime/$(MicrosoftNETCoreAppInternalPackageVersion)/$(DotNetRuntimeArchiveFileName) $(BaseIntermediateOutputPath)$(DotNetRuntimeArchiveFileName) @@ -52,6 +57,8 @@ This package is an internal implementation of the .NET Core SDK and is not meant true $(SharedFxName).runtimeconfig.json + + true false @@ -295,6 +302,7 @@ This package is an internal implementation of the .NET Core SDK and is not meant --> $(IntermediateOutputPath)crossgen\ + $(IntermediateOutputPath)platformAssemblies\ $(RuntimePackageRoot)runtimes\$(RuntimeIdentifier)\native\$(LibPrefix)clrjit$(LibExtension) $(RuntimepackageRoot)runtimes\$(CrossCompileDirectory)\native\$(LibPrefix)clrjit$(LibExtension) @@ -302,6 +310,7 @@ This package is an internal implementation of the .NET Core SDK and is not meant + @@ -310,13 +319,19 @@ This package is an internal implementation of the .NET Core SDK and is not meant + + + <_PlatformAssemblyPaths Include="$(CrossgenToolDir)" /> - <_PlatformAssemblyPaths Include="@(ReferenceCopyLocalPaths->'%(RootDir)%(Directory)')" /> + + <_PlatformAssemblyPaths Include="@(ReferenceCopyLocalPaths->'%(RootDir)%(Directory)')" Condition="'%(ReferenceCopyLocalPaths.ProjectPath)' == ''"/> + + <_PlatformAssemblyPaths Include="$(CrossgenPlatformAssembliesDir)"/> @@ -369,9 +384,10 @@ This package is an internal implementation of the .NET Core SDK and is not meant --> + Uri="$(DotNetRuntimeDownloadUrl)" + PrivateUri="$(DotNetRuntimePrivateDownloadUrl)" + PrivateUriSuffix="$(DotNetAssetRootAccessTokenSuffix)" + DestinationPath="$(DotNetRuntimeArchive)" /> { diff --git a/src/Hosting/Abstractions/ref/Microsoft.AspNetCore.Hosting.Abstractions.csproj b/src/Hosting/Abstractions/ref/Microsoft.AspNetCore.Hosting.Abstractions.csproj index 61fcaa92d316..5191bb9a5da4 100644 --- a/src/Hosting/Abstractions/ref/Microsoft.AspNetCore.Hosting.Abstractions.csproj +++ b/src/Hosting/Abstractions/ref/Microsoft.AspNetCore.Hosting.Abstractions.csproj @@ -5,8 +5,8 @@ - - - + + + diff --git a/src/Hosting/Abstractions/src/Microsoft.AspNetCore.Hosting.Abstractions.csproj b/src/Hosting/Abstractions/src/Microsoft.AspNetCore.Hosting.Abstractions.csproj index 4ab4e68f4dfa..4def523880c5 100644 --- a/src/Hosting/Abstractions/src/Microsoft.AspNetCore.Hosting.Abstractions.csproj +++ b/src/Hosting/Abstractions/src/Microsoft.AspNetCore.Hosting.Abstractions.csproj @@ -7,7 +7,7 @@ $(NoWarn);CS1591 true aspnetcore;hosting - false + false diff --git a/src/Hosting/Hosting/ref/Microsoft.AspNetCore.Hosting.Manual.cs b/src/Hosting/Hosting/ref/Microsoft.AspNetCore.Hosting.Manual.cs new file mode 100644 index 000000000000..12132b383807 --- /dev/null +++ b/src/Hosting/Hosting/ref/Microsoft.AspNetCore.Hosting.Manual.cs @@ -0,0 +1,218 @@ +// Copyright (c) .NET Foundation. All rights reserved. +// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. + +namespace Microsoft.AspNetCore.Hosting +{ + internal partial class ConfigureBuilder + { + public ConfigureBuilder(System.Reflection.MethodInfo configure) { } + public System.Reflection.MethodInfo MethodInfo { [System.Runtime.CompilerServices.CompilerGeneratedAttribute]get { throw null; } } + public System.Action Build(object instance) { throw null; } + } + internal partial class ConfigureContainerBuilder + { + public ConfigureContainerBuilder(System.Reflection.MethodInfo configureContainerMethod) { } + public System.Func, System.Action> ConfigureContainerFilters { [System.Runtime.CompilerServices.CompilerGeneratedAttribute]get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute]set { } } + public System.Reflection.MethodInfo MethodInfo { [System.Runtime.CompilerServices.CompilerGeneratedAttribute]get { throw null; } } + public System.Action Build(object instance) { throw null; } + public System.Type GetContainerType() { throw null; } + } + internal partial class ConfigureServicesBuilder + { + public ConfigureServicesBuilder(System.Reflection.MethodInfo configureServices) { } + public System.Reflection.MethodInfo MethodInfo { [System.Runtime.CompilerServices.CompilerGeneratedAttribute]get { throw null; } } + public System.Func, System.Func> StartupServiceFilters { [System.Runtime.CompilerServices.CompilerGeneratedAttribute]get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute]set { } } + public System.Func Build(object instance) { throw null; } + } + internal partial class GenericWebHostBuilder : Microsoft.AspNetCore.Hosting.ISupportsStartup, Microsoft.AspNetCore.Hosting.ISupportsUseDefaultServiceProvider, Microsoft.AspNetCore.Hosting.IWebHostBuilder + { + public GenericWebHostBuilder(Microsoft.Extensions.Hosting.IHostBuilder builder) { } + public Microsoft.AspNetCore.Hosting.IWebHost Build() { throw null; } + public Microsoft.AspNetCore.Hosting.IWebHostBuilder Configure(System.Action configure) { throw null; } + public Microsoft.AspNetCore.Hosting.IWebHostBuilder ConfigureAppConfiguration(System.Action configureDelegate) { throw null; } + public Microsoft.AspNetCore.Hosting.IWebHostBuilder ConfigureServices(System.Action configureServices) { throw null; } + public Microsoft.AspNetCore.Hosting.IWebHostBuilder ConfigureServices(System.Action configureServices) { throw null; } + public string GetSetting(string key) { throw null; } + public Microsoft.AspNetCore.Hosting.IWebHostBuilder UseDefaultServiceProvider(System.Action configure) { throw null; } + public Microsoft.AspNetCore.Hosting.IWebHostBuilder UseSetting(string key, string value) { throw null; } + public Microsoft.AspNetCore.Hosting.IWebHostBuilder UseStartup(System.Type startupType) { throw null; } + } + internal partial class GenericWebHostService : Microsoft.Extensions.Hosting.IHostedService + { + public GenericWebHostService(Microsoft.Extensions.Options.IOptions options, Microsoft.AspNetCore.Hosting.Server.IServer server, Microsoft.Extensions.Logging.ILoggerFactory loggerFactory, System.Diagnostics.DiagnosticListener diagnosticListener, Microsoft.AspNetCore.Http.IHttpContextFactory httpContextFactory, Microsoft.AspNetCore.Hosting.Builder.IApplicationBuilderFactory applicationBuilderFactory, System.Collections.Generic.IEnumerable startupFilters, Microsoft.Extensions.Configuration.IConfiguration configuration, Microsoft.AspNetCore.Hosting.IWebHostEnvironment hostingEnvironment) { } + public Microsoft.AspNetCore.Hosting.Builder.IApplicationBuilderFactory ApplicationBuilderFactory { [System.Runtime.CompilerServices.CompilerGeneratedAttribute]get { throw null; } } + public Microsoft.Extensions.Configuration.IConfiguration Configuration { [System.Runtime.CompilerServices.CompilerGeneratedAttribute]get { throw null; } } + public System.Diagnostics.DiagnosticListener DiagnosticListener { [System.Runtime.CompilerServices.CompilerGeneratedAttribute]get { throw null; } } + public Microsoft.AspNetCore.Hosting.IWebHostEnvironment HostingEnvironment { [System.Runtime.CompilerServices.CompilerGeneratedAttribute]get { throw null; } } + public Microsoft.AspNetCore.Http.IHttpContextFactory HttpContextFactory { [System.Runtime.CompilerServices.CompilerGeneratedAttribute]get { throw null; } } + public Microsoft.Extensions.Logging.ILogger LifetimeLogger { [System.Runtime.CompilerServices.CompilerGeneratedAttribute]get { throw null; } } + public Microsoft.Extensions.Logging.ILogger Logger { [System.Runtime.CompilerServices.CompilerGeneratedAttribute]get { throw null; } } + public Microsoft.AspNetCore.Hosting.GenericWebHostServiceOptions Options { [System.Runtime.CompilerServices.CompilerGeneratedAttribute]get { throw null; } } + public Microsoft.AspNetCore.Hosting.Server.IServer Server { [System.Runtime.CompilerServices.CompilerGeneratedAttribute]get { throw null; } } + public System.Collections.Generic.IEnumerable StartupFilters { [System.Runtime.CompilerServices.CompilerGeneratedAttribute]get { throw null; } } + [System.Diagnostics.DebuggerStepThroughAttribute] + public System.Threading.Tasks.Task StartAsync(System.Threading.CancellationToken cancellationToken) { throw null; } + [System.Diagnostics.DebuggerStepThroughAttribute] + public System.Threading.Tasks.Task StopAsync(System.Threading.CancellationToken cancellationToken) { throw null; } + } + internal partial class GenericWebHostServiceOptions + { + public GenericWebHostServiceOptions() { } + public System.Action ConfigureApplication { [System.Runtime.CompilerServices.CompilerGeneratedAttribute]get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute]set { } } + public System.AggregateException HostingStartupExceptions { [System.Runtime.CompilerServices.CompilerGeneratedAttribute]get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute]set { } } + public Microsoft.AspNetCore.Hosting.WebHostOptions WebHostOptions { [System.Runtime.CompilerServices.CompilerGeneratedAttribute]get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute]set { } } + } + internal partial class HostingApplication : Microsoft.AspNetCore.Hosting.Server.IHttpApplication + { + public HostingApplication(Microsoft.AspNetCore.Http.RequestDelegate application, Microsoft.Extensions.Logging.ILogger logger, System.Diagnostics.DiagnosticListener diagnosticSource, Microsoft.AspNetCore.Http.IHttpContextFactory httpContextFactory) { } + public Microsoft.AspNetCore.Hosting.HostingApplication.Context CreateContext(Microsoft.AspNetCore.Http.Features.IFeatureCollection contextFeatures) { throw null; } + public void DisposeContext(Microsoft.AspNetCore.Hosting.HostingApplication.Context context, System.Exception exception) { } + public System.Threading.Tasks.Task ProcessRequestAsync(Microsoft.AspNetCore.Hosting.HostingApplication.Context context) { throw null; } + internal partial class Context + { + public Context() { } + public System.Diagnostics.Activity Activity { [System.Runtime.CompilerServices.CompilerGeneratedAttribute]get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute]set { } } + public bool EventLogEnabled { [System.Runtime.CompilerServices.CompilerGeneratedAttribute]get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute]set { } } + internal bool HasDiagnosticListener { [System.Runtime.CompilerServices.CompilerGeneratedAttribute]get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute]set { } } + public Microsoft.AspNetCore.Http.HttpContext HttpContext { [System.Runtime.CompilerServices.CompilerGeneratedAttribute]get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute]set { } } + public System.IDisposable Scope { [System.Runtime.CompilerServices.CompilerGeneratedAttribute]get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute]set { } } + public long StartTimestamp { [System.Runtime.CompilerServices.CompilerGeneratedAttribute]get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute]set { } } + public void Reset() { } + } + } + internal partial class HostingEnvironment : Microsoft.AspNetCore.Hosting.IHostingEnvironment, Microsoft.AspNetCore.Hosting.IWebHostEnvironment, Microsoft.Extensions.Hosting.IHostEnvironment, Microsoft.Extensions.Hosting.IHostingEnvironment + { + public HostingEnvironment() { } + public string ApplicationName { [System.Runtime.CompilerServices.CompilerGeneratedAttribute]get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute]set { } } + public Microsoft.Extensions.FileProviders.IFileProvider ContentRootFileProvider { [System.Runtime.CompilerServices.CompilerGeneratedAttribute]get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute]set { } } + public string ContentRootPath { [System.Runtime.CompilerServices.CompilerGeneratedAttribute]get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute]set { } } + public string EnvironmentName { [System.Runtime.CompilerServices.CompilerGeneratedAttribute]get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute]set { } } + public Microsoft.Extensions.FileProviders.IFileProvider WebRootFileProvider { [System.Runtime.CompilerServices.CompilerGeneratedAttribute]get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute]set { } } + public string WebRootPath { [System.Runtime.CompilerServices.CompilerGeneratedAttribute]get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute]set { } } + } + internal static partial class HostingEnvironmentExtensions + { + internal static void Initialize(this Microsoft.AspNetCore.Hosting.IHostingEnvironment hostingEnvironment, string contentRootPath, Microsoft.AspNetCore.Hosting.WebHostOptions options) { } + internal static void Initialize(this Microsoft.AspNetCore.Hosting.IWebHostEnvironment hostingEnvironment, string contentRootPath, Microsoft.AspNetCore.Hosting.WebHostOptions options) { } + } + internal sealed partial class HostingEventSource : System.Diagnostics.Tracing.EventSource + { + public static readonly Microsoft.AspNetCore.Hosting.HostingEventSource Log; + internal HostingEventSource() { } + internal HostingEventSource(string eventSourceName) { } + [System.Diagnostics.Tracing.EventAttribute(1, Level=System.Diagnostics.Tracing.EventLevel.Informational)] + public void HostStart() { } + [System.Diagnostics.Tracing.EventAttribute(2, Level=System.Diagnostics.Tracing.EventLevel.Informational)] + public void HostStop() { } + protected override void OnEventCommand(System.Diagnostics.Tracing.EventCommandEventArgs command) { } + internal void RequestFailed() { } + [System.Diagnostics.Tracing.EventAttribute(3, Level=System.Diagnostics.Tracing.EventLevel.Informational)] + public void RequestStart(string method, string path) { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.NoInlining)][System.Diagnostics.Tracing.EventAttribute(4, Level=System.Diagnostics.Tracing.EventLevel.Informational)] + public void RequestStop() { } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.NoInlining)][System.Diagnostics.Tracing.EventAttribute(5, Level=System.Diagnostics.Tracing.EventLevel.Error)] + public void UnhandledException() { } + } + internal partial class HostingRequestStartingLog : System.Collections.Generic.IEnumerable>, System.Collections.Generic.IReadOnlyCollection>, System.Collections.Generic.IReadOnlyList>, System.Collections.IEnumerable + { + internal static readonly System.Func Callback; + public HostingRequestStartingLog(Microsoft.AspNetCore.Http.HttpContext httpContext) { } + public int Count { get { throw null; } } + public System.Collections.Generic.KeyValuePair this[int index] { get { throw null; } } + public System.Collections.Generic.IEnumerator> GetEnumerator() { throw null; } + System.Collections.IEnumerator System.Collections.IEnumerable.GetEnumerator() { throw null; } + public override string ToString() { throw null; } + } + internal partial interface ISupportsStartup + { + Microsoft.AspNetCore.Hosting.IWebHostBuilder Configure(System.Action configure); + Microsoft.AspNetCore.Hosting.IWebHostBuilder UseStartup(System.Type startupType); + } + internal partial interface ISupportsUseDefaultServiceProvider + { + Microsoft.AspNetCore.Hosting.IWebHostBuilder UseDefaultServiceProvider(System.Action configure); + } + internal static partial class LoggerEventIds + { + public const int ApplicationStartupException = 6; + public const int ApplicationStoppedException = 8; + public const int ApplicationStoppingException = 7; + public const int HostedServiceStartException = 9; + public const int HostedServiceStopException = 10; + public const int HostingStartupAssemblyException = 11; + public const int RequestFinished = 2; + public const int RequestStarting = 1; + public const int ServerShutdownException = 12; + public const int Shutdown = 5; + public const int Started = 4; + public const int Starting = 3; + } + internal partial class StartupLoader + { + public StartupLoader() { } + internal static Microsoft.AspNetCore.Hosting.ConfigureContainerBuilder FindConfigureContainerDelegate(System.Type startupType, string environmentName) { throw null; } + internal static Microsoft.AspNetCore.Hosting.ConfigureBuilder FindConfigureDelegate(System.Type startupType, string environmentName) { throw null; } + internal static Microsoft.AspNetCore.Hosting.ConfigureServicesBuilder FindConfigureServicesDelegate(System.Type startupType, string environmentName) { throw null; } + public static System.Type FindStartupType(string startupAssemblyName, string environmentName) { throw null; } + internal static bool HasConfigureServicesIServiceProviderDelegate(System.Type startupType, string environmentName) { throw null; } + public static Microsoft.AspNetCore.Hosting.StartupMethods LoadMethods(System.IServiceProvider hostingServiceProvider, System.Type startupType, string environmentName) { throw null; } + } + internal partial class StartupMethods + { + public StartupMethods(object instance, System.Action configure, System.Func configureServices) { } + public System.Action ConfigureDelegate { [System.Runtime.CompilerServices.CompilerGeneratedAttribute]get { throw null; } } + public System.Func ConfigureServicesDelegate { [System.Runtime.CompilerServices.CompilerGeneratedAttribute]get { throw null; } } + public object StartupInstance { [System.Runtime.CompilerServices.CompilerGeneratedAttribute]get { throw null; } } + } + internal partial class WebHostOptions + { + public WebHostOptions() { } + public WebHostOptions(Microsoft.Extensions.Configuration.IConfiguration configuration) { } + public WebHostOptions(Microsoft.Extensions.Configuration.IConfiguration configuration, string applicationNameFallback) { } + public string ApplicationName { [System.Runtime.CompilerServices.CompilerGeneratedAttribute]get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute]set { } } + public bool CaptureStartupErrors { [System.Runtime.CompilerServices.CompilerGeneratedAttribute]get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute]set { } } + public string ContentRootPath { [System.Runtime.CompilerServices.CompilerGeneratedAttribute]get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute]set { } } + public bool DetailedErrors { [System.Runtime.CompilerServices.CompilerGeneratedAttribute]get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute]set { } } + public string Environment { [System.Runtime.CompilerServices.CompilerGeneratedAttribute]get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute]set { } } + public System.Collections.Generic.IReadOnlyList HostingStartupAssemblies { [System.Runtime.CompilerServices.CompilerGeneratedAttribute]get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute]set { } } + public System.Collections.Generic.IReadOnlyList HostingStartupExcludeAssemblies { [System.Runtime.CompilerServices.CompilerGeneratedAttribute]get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute]set { } } + public bool PreventHostingStartup { [System.Runtime.CompilerServices.CompilerGeneratedAttribute]get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute]set { } } + public System.TimeSpan ShutdownTimeout { [System.Runtime.CompilerServices.CompilerGeneratedAttribute]get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute]set { } } + public string StartupAssembly { [System.Runtime.CompilerServices.CompilerGeneratedAttribute]get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute]set { } } + public bool SuppressStatusMessages { [System.Runtime.CompilerServices.CompilerGeneratedAttribute]get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute]set { } } + public string WebRoot { [System.Runtime.CompilerServices.CompilerGeneratedAttribute]get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute]set { } } + public System.Collections.Generic.IEnumerable GetFinalHostingStartupAssemblies() { throw null; } + } +} + +namespace Microsoft.AspNetCore.Hosting.StaticWebAssets +{ + internal partial class StaticWebAssetsFileProvider : Microsoft.Extensions.FileProviders.IFileProvider + { + public StaticWebAssetsFileProvider(string pathPrefix, string contentRoot) { } + public Microsoft.AspNetCore.Http.PathString BasePath { [System.Runtime.CompilerServices.CompilerGeneratedAttribute]get { throw null; } } + public Microsoft.Extensions.FileProviders.PhysicalFileProvider InnerProvider { [System.Runtime.CompilerServices.CompilerGeneratedAttribute]get { throw null; } } + public Microsoft.Extensions.FileProviders.IDirectoryContents GetDirectoryContents(string subpath) { throw null; } + public Microsoft.Extensions.FileProviders.IFileInfo GetFileInfo(string subpath) { throw null; } + public Microsoft.Extensions.Primitives.IChangeToken Watch(string filter) { throw null; } + } + public partial class StaticWebAssetsLoader + { + internal const string StaticWebAssetsManifestName = "Microsoft.AspNetCore.StaticWebAssets.xml"; + internal static string GetAssemblyLocation(System.Reflection.Assembly assembly) { throw null; } + internal static System.IO.Stream ResolveManifest(Microsoft.AspNetCore.Hosting.IWebHostEnvironment environment, Microsoft.Extensions.Configuration.IConfiguration configuration) { throw null; } + internal static void UseStaticWebAssetsCore(Microsoft.AspNetCore.Hosting.IWebHostEnvironment environment, System.IO.Stream manifest) { } + } + internal static partial class StaticWebAssetsReader + { + internal static System.Collections.Generic.IEnumerable Parse(System.IO.Stream manifest) { throw null; } + [System.Runtime.InteropServices.StructLayoutAttribute(System.Runtime.InteropServices.LayoutKind.Sequential)] + internal readonly partial struct ContentRootMapping + { + private readonly object _dummy; + public ContentRootMapping(string basePath, string path) { throw null; } + public string BasePath { [System.Runtime.CompilerServices.CompilerGeneratedAttribute]get { throw null; } } + public string Path { [System.Runtime.CompilerServices.CompilerGeneratedAttribute]get { throw null; } } + } + } +} diff --git a/src/Hosting/Hosting/ref/Microsoft.AspNetCore.Hosting.csproj b/src/Hosting/Hosting/ref/Microsoft.AspNetCore.Hosting.csproj index 4c4261611855..9e414384e3b2 100644 --- a/src/Hosting/Hosting/ref/Microsoft.AspNetCore.Hosting.csproj +++ b/src/Hosting/Hosting/ref/Microsoft.AspNetCore.Hosting.csproj @@ -5,18 +5,20 @@ - - - - - - - - - - - - - + + + + + + + + + + + + + + + diff --git a/src/Hosting/Hosting/src/Microsoft.AspNetCore.Hosting.csproj b/src/Hosting/Hosting/src/Microsoft.AspNetCore.Hosting.csproj index 0e71bb69c995..38ec417cb468 100644 --- a/src/Hosting/Hosting/src/Microsoft.AspNetCore.Hosting.csproj +++ b/src/Hosting/Hosting/src/Microsoft.AspNetCore.Hosting.csproj @@ -7,7 +7,7 @@ $(NoWarn);CS1591 true aspnetcore;hosting - false + false diff --git a/src/Hosting/Hosting/src/StaticWebAssets/StaticWebAssetsFileProvider.cs b/src/Hosting/Hosting/src/StaticWebAssets/StaticWebAssetsFileProvider.cs index e63fa411fc4f..5a9b578e988b 100644 --- a/src/Hosting/Hosting/src/StaticWebAssets/StaticWebAssetsFileProvider.cs +++ b/src/Hosting/Hosting/src/StaticWebAssets/StaticWebAssetsFileProvider.cs @@ -46,6 +46,11 @@ public IDirectoryContents GetDirectoryContents(string subpath) { var modifiedSub = NormalizePath(subpath); + if (BasePath == "/") + { + return InnerProvider.GetDirectoryContents(modifiedSub); + } + if (StartsWithBasePath(modifiedSub, out var physicalPath)) { return InnerProvider.GetDirectoryContents(physicalPath.Value); @@ -67,6 +72,11 @@ public IFileInfo GetFileInfo(string subpath) { var modifiedSub = NormalizePath(subpath); + if (BasePath == "/") + { + return InnerProvider.GetFileInfo(subpath); + } + if (!StartsWithBasePath(modifiedSub, out var physicalPath)) { return new NotFoundFileInfo(subpath); diff --git a/src/Hosting/Hosting/test/StaticWebAssets/StaticWebAssetsFileProviderTests.cs b/src/Hosting/Hosting/test/StaticWebAssets/StaticWebAssetsFileProviderTests.cs index 5fc2800e0f0d..a51a85fc0af7 100644 --- a/src/Hosting/Hosting/test/StaticWebAssets/StaticWebAssetsFileProviderTests.cs +++ b/src/Hosting/Hosting/test/StaticWebAssets/StaticWebAssetsFileProviderTests.cs @@ -117,6 +117,35 @@ public void StaticWebAssetsFileProvider_FindsFileWithSpaces() Assert.True(provider.GetFileInfo("/_content/Static Web Assets.txt").Exists); } + [Fact] + public void GetDirectoryContents_HandlesEmptyBasePath() + { + // Arrange + var provider = new StaticWebAssetsFileProvider("/", + Path.Combine(AppContext.BaseDirectory, "testroot", "wwwroot")); + + // Act + var directory = provider.GetDirectoryContents("/Static Web/"); + + // Assert + Assert.Collection(directory, + file => + { + Assert.Equal("Static Web.txt", file.Name); + }); + } + + [Fact] + public void StaticWebAssetsFileProviderWithEmptyBasePath_FindsFile() + { + // Arrange & Act + var provider = new StaticWebAssetsFileProvider("/", + Path.Combine(AppContext.BaseDirectory, "testroot", "wwwroot")); + + // Assert + Assert.True(provider.GetFileInfo("/Static Web Assets.txt").Exists); + } + [Fact] public void GetFileInfo_DoesNotMatch_IncompletePrefixSegments() { diff --git a/src/Hosting/Server.Abstractions/ref/Microsoft.AspNetCore.Hosting.Server.Abstractions.csproj b/src/Hosting/Server.Abstractions/ref/Microsoft.AspNetCore.Hosting.Server.Abstractions.csproj index 35ec4bd0e754..048c495704bf 100644 --- a/src/Hosting/Server.Abstractions/ref/Microsoft.AspNetCore.Hosting.Server.Abstractions.csproj +++ b/src/Hosting/Server.Abstractions/ref/Microsoft.AspNetCore.Hosting.Server.Abstractions.csproj @@ -5,7 +5,7 @@ - - + + diff --git a/src/Hosting/Server.Abstractions/src/Microsoft.AspNetCore.Hosting.Server.Abstractions.csproj b/src/Hosting/Server.Abstractions/src/Microsoft.AspNetCore.Hosting.Server.Abstractions.csproj index 8f2f1b2bf74a..4e6c350a519c 100644 --- a/src/Hosting/Server.Abstractions/src/Microsoft.AspNetCore.Hosting.Server.Abstractions.csproj +++ b/src/Hosting/Server.Abstractions/src/Microsoft.AspNetCore.Hosting.Server.Abstractions.csproj @@ -7,7 +7,7 @@ $(NoWarn);CS1591 true aspnetcore;hosting - false + false diff --git a/src/Hosting/TestHost/ref/Microsoft.AspNetCore.TestHost.csproj b/src/Hosting/TestHost/ref/Microsoft.AspNetCore.TestHost.csproj deleted file mode 100644 index 7dd0c1a2d2e5..000000000000 --- a/src/Hosting/TestHost/ref/Microsoft.AspNetCore.TestHost.csproj +++ /dev/null @@ -1,12 +0,0 @@ - - - - $(DefaultNetCoreTargetFramework) - - - - - - - - diff --git a/src/Hosting/TestHost/ref/Microsoft.AspNetCore.TestHost.netcoreapp.cs b/src/Hosting/TestHost/ref/Microsoft.AspNetCore.TestHost.netcoreapp.cs deleted file mode 100644 index 6f94aa576c2c..000000000000 --- a/src/Hosting/TestHost/ref/Microsoft.AspNetCore.TestHost.netcoreapp.cs +++ /dev/null @@ -1,77 +0,0 @@ -// Copyright (c) .NET Foundation. All rights reserved. -// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. - -namespace Microsoft.AspNetCore.TestHost -{ - public partial class ClientHandler : System.Net.Http.HttpMessageHandler - { - internal ClientHandler() { } - [System.Diagnostics.DebuggerStepThroughAttribute] - protected override System.Threading.Tasks.Task SendAsync(System.Net.Http.HttpRequestMessage request, System.Threading.CancellationToken cancellationToken) { throw null; } - } - public static partial class HostBuilderTestServerExtensions - { - public static System.Net.Http.HttpClient GetTestClient(this Microsoft.Extensions.Hosting.IHost host) { throw null; } - public static Microsoft.AspNetCore.TestHost.TestServer GetTestServer(this Microsoft.Extensions.Hosting.IHost host) { throw null; } - } - public partial class HttpResetTestException : System.Exception - { - public HttpResetTestException(int errorCode) { } - public int ErrorCode { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } } - } - public partial class RequestBuilder - { - public RequestBuilder(Microsoft.AspNetCore.TestHost.TestServer server, string path) { } - public Microsoft.AspNetCore.TestHost.TestServer TestServer { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } } - public Microsoft.AspNetCore.TestHost.RequestBuilder AddHeader(string name, string value) { throw null; } - public Microsoft.AspNetCore.TestHost.RequestBuilder And(System.Action configure) { throw null; } - public System.Threading.Tasks.Task GetAsync() { throw null; } - public System.Threading.Tasks.Task PostAsync() { throw null; } - public System.Threading.Tasks.Task SendAsync(string method) { throw null; } - } - public partial class TestServer : Microsoft.AspNetCore.Hosting.Server.IServer, System.IDisposable - { - public TestServer(Microsoft.AspNetCore.Hosting.IWebHostBuilder builder) { } - public TestServer(Microsoft.AspNetCore.Hosting.IWebHostBuilder builder, Microsoft.AspNetCore.Http.Features.IFeatureCollection featureCollection) { } - public TestServer(System.IServiceProvider services) { } - public TestServer(System.IServiceProvider services, Microsoft.AspNetCore.Http.Features.IFeatureCollection featureCollection) { } - public bool AllowSynchronousIO { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute] set { } } - public System.Uri BaseAddress { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute] set { } } - public Microsoft.AspNetCore.Http.Features.IFeatureCollection Features { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } } - public Microsoft.AspNetCore.Hosting.IWebHost Host { get { throw null; } } - public bool PreserveExecutionContext { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute] set { } } - public System.IServiceProvider Services { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } } - public System.Net.Http.HttpClient CreateClient() { throw null; } - public System.Net.Http.HttpMessageHandler CreateHandler() { throw null; } - public Microsoft.AspNetCore.TestHost.RequestBuilder CreateRequest(string path) { throw null; } - public Microsoft.AspNetCore.TestHost.WebSocketClient CreateWebSocketClient() { throw null; } - public void Dispose() { } - System.Threading.Tasks.Task Microsoft.AspNetCore.Hosting.Server.IServer.StartAsync(Microsoft.AspNetCore.Hosting.Server.IHttpApplication application, System.Threading.CancellationToken cancellationToken) { throw null; } - System.Threading.Tasks.Task Microsoft.AspNetCore.Hosting.Server.IServer.StopAsync(System.Threading.CancellationToken cancellationToken) { throw null; } - [System.Diagnostics.DebuggerStepThroughAttribute] - public System.Threading.Tasks.Task SendAsync(System.Action configureContext, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) { throw null; } - } - public static partial class WebHostBuilderExtensions - { - public static Microsoft.AspNetCore.Hosting.IWebHostBuilder ConfigureTestContainer(this Microsoft.AspNetCore.Hosting.IWebHostBuilder webHostBuilder, System.Action servicesConfiguration) { throw null; } - public static Microsoft.AspNetCore.Hosting.IWebHostBuilder ConfigureTestServices(this Microsoft.AspNetCore.Hosting.IWebHostBuilder webHostBuilder, System.Action servicesConfiguration) { throw null; } - public static System.Net.Http.HttpClient GetTestClient(this Microsoft.AspNetCore.Hosting.IWebHost host) { throw null; } - public static Microsoft.AspNetCore.TestHost.TestServer GetTestServer(this Microsoft.AspNetCore.Hosting.IWebHost host) { throw null; } - public static Microsoft.AspNetCore.Hosting.IWebHostBuilder UseSolutionRelativeContentRoot(this Microsoft.AspNetCore.Hosting.IWebHostBuilder builder, string solutionRelativePath, string solutionName = "*.sln") { throw null; } - public static Microsoft.AspNetCore.Hosting.IWebHostBuilder UseSolutionRelativeContentRoot(this Microsoft.AspNetCore.Hosting.IWebHostBuilder builder, string solutionRelativePath, string applicationBasePath, string solutionName = "*.sln") { throw null; } - public static Microsoft.AspNetCore.Hosting.IWebHostBuilder UseTestServer(this Microsoft.AspNetCore.Hosting.IWebHostBuilder builder) { throw null; } - } - public static partial class WebHostBuilderFactory - { - public static Microsoft.AspNetCore.Hosting.IWebHostBuilder CreateFromAssemblyEntryPoint(System.Reflection.Assembly assembly, string[] args) { throw null; } - public static Microsoft.AspNetCore.Hosting.IWebHostBuilder CreateFromTypesAssemblyEntryPoint(string[] args) { throw null; } - } - public partial class WebSocketClient - { - internal WebSocketClient() { } - public System.Action ConfigureRequest { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute] set { } } - public System.Collections.Generic.IList SubProtocols { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } } - [System.Diagnostics.DebuggerStepThroughAttribute] - public System.Threading.Tasks.Task ConnectAsync(System.Uri uri, System.Threading.CancellationToken cancellationToken) { throw null; } - } -} diff --git a/src/Hosting/TestHost/src/HttpContextBuilder.cs b/src/Hosting/TestHost/src/HttpContextBuilder.cs index 2b9c72f53354..a70dc7ac6aac 100644 --- a/src/Hosting/TestHost/src/HttpContextBuilder.cs +++ b/src/Hosting/TestHost/src/HttpContextBuilder.cs @@ -110,8 +110,10 @@ async Task RunRequestAsync() try { await _application.ProcessRequestAsync(_testContext); - await CompleteRequestAsync(); + + // Matches Kestrel server: response is completed before request is drained await CompleteResponseAsync(); + await CompleteRequestAsync(); _application.DisposeContext(_testContext, exception: null); } catch (Exception ex) @@ -181,18 +183,9 @@ private async Task CompleteRequestAsync() await _requestPipe.Reader.CompleteAsync(); } - if (_sendRequestStreamTask != null) - { - try - { - // Ensure duplex request is either completely read or has been aborted. - await _sendRequestStreamTask; - } - catch (OperationCanceledException) - { - // Request was canceled, likely because it wasn't read before the request ended. - } - } + // Don't wait for request to drain. It could block indefinitely. In a real server + // we would wait for a timeout and then kill the socket. + // Potential future improvement: add logging that the request timed out } internal async Task CompleteResponseAsync() diff --git a/src/Hosting/TestHost/src/Microsoft.AspNetCore.TestHost.csproj b/src/Hosting/TestHost/src/Microsoft.AspNetCore.TestHost.csproj index 0ef4679eb1c3..49695194c190 100644 --- a/src/Hosting/TestHost/src/Microsoft.AspNetCore.TestHost.csproj +++ b/src/Hosting/TestHost/src/Microsoft.AspNetCore.TestHost.csproj @@ -6,7 +6,7 @@ $(NoWarn);CS1591 true aspnetcore;hosting;testing - true + true diff --git a/src/Hosting/TestHost/test/TestClientTests.cs b/src/Hosting/TestHost/test/TestClientTests.cs index 8c1ac8a2ceb7..900b12c3bffc 100644 --- a/src/Hosting/TestHost/test/TestClientTests.cs +++ b/src/Hosting/TestHost/test/TestClientTests.cs @@ -433,6 +433,53 @@ public async Task ClientStreaming_ResponseCompletesWithPendingRead_ThrowError() requestStreamTcs.TrySetResult(null); } + [Fact] + public async Task ClientStreaming_ResponseCompletesWithoutResponseBodyWrite() + { + // Arrange + var requestStreamTcs = new TaskCompletionSource(TaskCreationOptions.RunContinuationsAsynchronously); + + RequestDelegate appDelegate = ctx => + { + ctx.Response.Headers["test-header"] = "true"; + return Task.CompletedTask; + }; + + Stream requestStream = null; + + var builder = new WebHostBuilder().Configure(app => app.Run(appDelegate)); + var server = new TestServer(builder); + var client = server.CreateClient(); + + var httpRequest = new HttpRequestMessage(HttpMethod.Post, "http://localhost:12345"); + httpRequest.Version = new Version(2, 0); + httpRequest.Content = new PushContent(async stream => + { + requestStream = stream; + await requestStreamTcs.Task; + }); + + // Act + var response = await client.SendAsync(httpRequest, HttpCompletionOption.ResponseHeadersRead).WithTimeout(); + + var responseContent = await response.Content.ReadAsStreamAsync().WithTimeout(); + + // Assert + response.EnsureSuccessStatusCode(); + Assert.Equal("true", response.Headers.GetValues("test-header").Single()); + + // Read response + byte[] buffer = new byte[1024]; + var length = await responseContent.ReadAsync(buffer).AsTask().WithTimeout(); + Assert.Equal(0, length); + + // Writing to request stream will fail because server is complete + await Assert.ThrowsAnyAsync(() => requestStream.WriteAsync(buffer).AsTask()); + + // Unblock request + requestStreamTcs.TrySetResult(null); + } + [Fact] public async Task ClientStreaming_ServerAbort() { diff --git a/src/Hosting/WindowsServices/ref/Microsoft.AspNetCore.Hosting.WindowsServices.csproj b/src/Hosting/WindowsServices/ref/Microsoft.AspNetCore.Hosting.WindowsServices.csproj deleted file mode 100644 index a74f17e0ff8b..000000000000 --- a/src/Hosting/WindowsServices/ref/Microsoft.AspNetCore.Hosting.WindowsServices.csproj +++ /dev/null @@ -1,11 +0,0 @@ - - - - $(DefaultNetCoreTargetFramework) - - - - - - - diff --git a/src/Hosting/WindowsServices/ref/Microsoft.AspNetCore.Hosting.WindowsServices.netcoreapp.cs b/src/Hosting/WindowsServices/ref/Microsoft.AspNetCore.Hosting.WindowsServices.netcoreapp.cs deleted file mode 100644 index 0bcdd5d17c1c..000000000000 --- a/src/Hosting/WindowsServices/ref/Microsoft.AspNetCore.Hosting.WindowsServices.netcoreapp.cs +++ /dev/null @@ -1,21 +0,0 @@ -// Copyright (c) .NET Foundation. All rights reserved. -// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. - -namespace Microsoft.AspNetCore.Hosting.WindowsServices -{ - [System.ComponentModel.DesignerCategoryAttribute("Code")] - public partial class WebHostService : System.ServiceProcess.ServiceBase - { - public WebHostService(Microsoft.AspNetCore.Hosting.IWebHost host) { } - protected sealed override void OnStart(string[] args) { } - protected virtual void OnStarted() { } - protected virtual void OnStarting(string[] args) { } - protected sealed override void OnStop() { } - protected virtual void OnStopped() { } - protected virtual void OnStopping() { } - } - public static partial class WebHostWindowsServiceExtensions - { - public static void RunAsService(this Microsoft.AspNetCore.Hosting.IWebHost host) { } - } -} diff --git a/src/Hosting/WindowsServices/src/Microsoft.AspNetCore.Hosting.WindowsServices.csproj b/src/Hosting/WindowsServices/src/Microsoft.AspNetCore.Hosting.WindowsServices.csproj index 05e0c574f88f..18171d7c57a5 100644 --- a/src/Hosting/WindowsServices/src/Microsoft.AspNetCore.Hosting.WindowsServices.csproj +++ b/src/Hosting/WindowsServices/src/Microsoft.AspNetCore.Hosting.WindowsServices.csproj @@ -6,7 +6,7 @@ $(NoWarn);CS1591 true aspnetcore;hosting - true + true diff --git a/src/Html/Abstractions/ref/Microsoft.AspNetCore.Html.Abstractions.Manual.cs b/src/Html/Abstractions/ref/Microsoft.AspNetCore.Html.Abstractions.Manual.cs new file mode 100644 index 000000000000..3cb6aab37801 --- /dev/null +++ b/src/Html/Abstractions/ref/Microsoft.AspNetCore.Html.Abstractions.Manual.cs @@ -0,0 +1,13 @@ +// Copyright (c) .NET Foundation. All rights reserved. +// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. + +namespace Microsoft.AspNetCore.Html +{ + public partial class HtmlContentBuilder : Microsoft.AspNetCore.Html.IHtmlContent, Microsoft.AspNetCore.Html.IHtmlContentBuilder, Microsoft.AspNetCore.Html.IHtmlContentContainer + { + internal System.Collections.Generic.IList Entries + { + [System.Runtime.CompilerServices.CompilerGeneratedAttribute]get { throw null; } + } + } +} diff --git a/src/Html/Abstractions/ref/Microsoft.AspNetCore.Html.Abstractions.csproj b/src/Html/Abstractions/ref/Microsoft.AspNetCore.Html.Abstractions.csproj index 823d7d61ce9f..e27f9b24159b 100644 --- a/src/Html/Abstractions/ref/Microsoft.AspNetCore.Html.Abstractions.csproj +++ b/src/Html/Abstractions/ref/Microsoft.AspNetCore.Html.Abstractions.csproj @@ -5,6 +5,7 @@ - + + diff --git a/src/Html/Abstractions/src/Microsoft.AspNetCore.Html.Abstractions.csproj b/src/Html/Abstractions/src/Microsoft.AspNetCore.Html.Abstractions.csproj index 133cae35db8f..0fce64a89d14 100644 --- a/src/Html/Abstractions/src/Microsoft.AspNetCore.Html.Abstractions.csproj +++ b/src/Html/Abstractions/src/Microsoft.AspNetCore.Html.Abstractions.csproj @@ -10,7 +10,7 @@ Microsoft.AspNetCore.Html.IHtmlContent true true aspnetcore - false + false diff --git a/src/Http/Authentication.Abstractions/ref/Microsoft.AspNetCore.Authentication.Abstractions.csproj b/src/Http/Authentication.Abstractions/ref/Microsoft.AspNetCore.Authentication.Abstractions.csproj index 9103a387f3e7..8c27edb28499 100644 --- a/src/Http/Authentication.Abstractions/ref/Microsoft.AspNetCore.Authentication.Abstractions.csproj +++ b/src/Http/Authentication.Abstractions/ref/Microsoft.AspNetCore.Authentication.Abstractions.csproj @@ -5,8 +5,8 @@ - - - + + + diff --git a/src/Http/Authentication.Abstractions/src/Microsoft.AspNetCore.Authentication.Abstractions.csproj b/src/Http/Authentication.Abstractions/src/Microsoft.AspNetCore.Authentication.Abstractions.csproj index 854edd740f7a..999e6741e57f 100644 --- a/src/Http/Authentication.Abstractions/src/Microsoft.AspNetCore.Authentication.Abstractions.csproj +++ b/src/Http/Authentication.Abstractions/src/Microsoft.AspNetCore.Authentication.Abstractions.csproj @@ -6,7 +6,7 @@ $(NoWarn);CS1591 true aspnetcore;authentication;security - false + false diff --git a/src/Http/Authentication.Core/ref/Microsoft.AspNetCore.Authentication.Core.csproj b/src/Http/Authentication.Core/ref/Microsoft.AspNetCore.Authentication.Core.csproj index 149470accd55..8b59d41a6732 100644 --- a/src/Http/Authentication.Core/ref/Microsoft.AspNetCore.Authentication.Core.csproj +++ b/src/Http/Authentication.Core/ref/Microsoft.AspNetCore.Authentication.Core.csproj @@ -5,8 +5,8 @@ - - - + + + diff --git a/src/Http/Authentication.Core/src/Microsoft.AspNetCore.Authentication.Core.csproj b/src/Http/Authentication.Core/src/Microsoft.AspNetCore.Authentication.Core.csproj index fd597d7b732c..f3bc6965ea00 100644 --- a/src/Http/Authentication.Core/src/Microsoft.AspNetCore.Authentication.Core.csproj +++ b/src/Http/Authentication.Core/src/Microsoft.AspNetCore.Authentication.Core.csproj @@ -7,7 +7,7 @@ $(NoWarn);CS1591 true aspnetcore;authentication;security - false + false diff --git a/src/Http/Headers/ref/Microsoft.Net.Http.Headers.Manual.cs b/src/Http/Headers/ref/Microsoft.Net.Http.Headers.Manual.cs new file mode 100644 index 000000000000..86a0a12079ae --- /dev/null +++ b/src/Http/Headers/ref/Microsoft.Net.Http.Headers.Manual.cs @@ -0,0 +1,10 @@ +// Copyright (c) .NET Foundation. All rights reserved. +// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. + +namespace Microsoft.Net.Http.Headers +{ + public partial class SetCookieHeaderValue + { + internal static bool SuppressSameSiteNone; + } +} diff --git a/src/Http/Headers/ref/Microsoft.Net.Http.Headers.csproj b/src/Http/Headers/ref/Microsoft.Net.Http.Headers.csproj index 85d1d1e5cdc4..5d53f319730f 100644 --- a/src/Http/Headers/ref/Microsoft.Net.Http.Headers.csproj +++ b/src/Http/Headers/ref/Microsoft.Net.Http.Headers.csproj @@ -5,6 +5,8 @@ - + + + diff --git a/src/Http/Headers/src/Microsoft.Net.Http.Headers.csproj b/src/Http/Headers/src/Microsoft.Net.Http.Headers.csproj index 96cadd39d535..d0c27e7ed75d 100644 --- a/src/Http/Headers/src/Microsoft.Net.Http.Headers.csproj +++ b/src/Http/Headers/src/Microsoft.Net.Http.Headers.csproj @@ -8,7 +8,7 @@ true true http - false + false diff --git a/src/Http/Http.Abstractions/ref/Microsoft.AspNetCore.Http.Abstractions.Manual.cs b/src/Http/Http.Abstractions/ref/Microsoft.AspNetCore.Http.Abstractions.Manual.cs new file mode 100644 index 000000000000..0d0ec8f3a576 --- /dev/null +++ b/src/Http/Http.Abstractions/ref/Microsoft.AspNetCore.Http.Abstractions.Manual.cs @@ -0,0 +1,101 @@ +// Copyright (c) .NET Foundation. All rights reserved. +// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. + +namespace Microsoft.AspNetCore.Builder +{ + public static partial class UseMiddlewareExtensions + { + internal const string InvokeAsyncMethodName = "InvokeAsync"; + internal const string InvokeMethodName = "Invoke"; + } +} + +namespace Microsoft.AspNetCore.Http +{ + internal static partial class ParsingHelpers + { + public static void AppendHeaderJoined(Microsoft.AspNetCore.Http.IHeaderDictionary headers, string key, params string[] values) { } + public static void AppendHeaderUnmodified(Microsoft.AspNetCore.Http.IHeaderDictionary headers, string key, Microsoft.Extensions.Primitives.StringValues values) { } + public static Microsoft.Extensions.Primitives.StringValues GetHeader(Microsoft.AspNetCore.Http.IHeaderDictionary headers, string key) { throw null; } + public static Microsoft.Extensions.Primitives.StringValues GetHeaderSplit(Microsoft.AspNetCore.Http.IHeaderDictionary headers, string key) { throw null; } + public static Microsoft.Extensions.Primitives.StringValues GetHeaderUnmodified(Microsoft.AspNetCore.Http.IHeaderDictionary headers, string key) { throw null; } + public static void SetHeaderJoined(Microsoft.AspNetCore.Http.IHeaderDictionary headers, string key, Microsoft.Extensions.Primitives.StringValues value) { } + public static void SetHeaderUnmodified(Microsoft.AspNetCore.Http.IHeaderDictionary headers, string key, Microsoft.Extensions.Primitives.StringValues? values) { } + } +} + +namespace Microsoft.AspNetCore.Http.Abstractions +{ + internal static partial class Resources + { + internal static string ArgumentCannotBeNullOrEmpty { get { throw null; } } + internal static System.Globalization.CultureInfo Culture { [System.Runtime.CompilerServices.CompilerGeneratedAttribute]get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute]set { } } + internal static string Exception_InvokeDoesNotSupportRefOrOutParams { get { throw null; } } + internal static string Exception_InvokeMiddlewareNoService { get { throw null; } } + internal static string Exception_PathMustStartWithSlash { get { throw null; } } + internal static string Exception_PortMustBeGreaterThanZero { get { throw null; } } + internal static string Exception_UseMiddleMutlipleInvokes { get { throw null; } } + internal static string Exception_UseMiddlewareExplicitArgumentsNotSupported { get { throw null; } } + internal static string Exception_UseMiddlewareIServiceProviderNotAvailable { get { throw null; } } + internal static string Exception_UseMiddlewareNoInvokeMethod { get { throw null; } } + internal static string Exception_UseMiddlewareNoMiddlewareFactory { get { throw null; } } + internal static string Exception_UseMiddlewareNonTaskReturnType { get { throw null; } } + internal static string Exception_UseMiddlewareNoParameters { get { throw null; } } + internal static string Exception_UseMiddlewareUnableToCreateMiddleware { get { throw null; } } + internal static System.Resources.ResourceManager ResourceManager { get { throw null; } } + internal static string RouteValueDictionary_DuplicateKey { get { throw null; } } + internal static string RouteValueDictionary_DuplicatePropertyName { get { throw null; } } + internal static string FormatException_InvokeDoesNotSupportRefOrOutParams(object p0) { throw null; } + internal static string FormatException_InvokeMiddlewareNoService(object p0, object p1) { throw null; } + internal static string FormatException_PathMustStartWithSlash(object p0) { throw null; } + internal static string FormatException_UseMiddleMutlipleInvokes(object p0, object p1) { throw null; } + internal static string FormatException_UseMiddlewareExplicitArgumentsNotSupported(object p0) { throw null; } + internal static string FormatException_UseMiddlewareIServiceProviderNotAvailable(object p0) { throw null; } + internal static string FormatException_UseMiddlewareNoInvokeMethod(object p0, object p1, object p2) { throw null; } + internal static string FormatException_UseMiddlewareNoMiddlewareFactory(object p0) { throw null; } + internal static string FormatException_UseMiddlewareNonTaskReturnType(object p0, object p1, object p2) { throw null; } + internal static string FormatException_UseMiddlewareNoParameters(object p0, object p1, object p2) { throw null; } + internal static string FormatException_UseMiddlewareUnableToCreateMiddleware(object p0, object p1) { throw null; } + internal static string FormatRouteValueDictionary_DuplicateKey(object p0, object p1) { throw null; } + internal static string FormatRouteValueDictionary_DuplicatePropertyName(object p0, object p1, object p2, object p3) { throw null; } + } +} + +namespace Microsoft.AspNetCore.Routing +{ + public partial class RouteValueDictionary : System.Collections.Generic.ICollection>, System.Collections.Generic.IDictionary, System.Collections.Generic.IEnumerable>, System.Collections.Generic.IReadOnlyCollection>, System.Collections.Generic.IReadOnlyDictionary, System.Collections.IEnumerable + { + internal System.Collections.Generic.KeyValuePair[] _arrayStorage; + internal Microsoft.AspNetCore.Routing.RouteValueDictionary.PropertyStorage _propertyStorage; + internal partial class PropertyStorage + { + public readonly Microsoft.Extensions.Internal.PropertyHelper[] Properties; + public readonly object Value; + public PropertyStorage(object value) { } + } + } +} + +namespace Microsoft.Extensions.Internal +{ + internal partial class PropertyHelper + { + public PropertyHelper(System.Reflection.PropertyInfo property) { } + public virtual string Name { [System.Runtime.CompilerServices.CompilerGeneratedAttribute]get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute]protected set { } } + public System.Reflection.PropertyInfo Property { [System.Runtime.CompilerServices.CompilerGeneratedAttribute]get { throw null; } } + public System.Func ValueGetter { get { throw null; } } + public System.Action ValueSetter { get { throw null; } } + public static Microsoft.Extensions.Internal.PropertyHelper[] GetProperties(System.Reflection.TypeInfo typeInfo) { throw null; } + public static Microsoft.Extensions.Internal.PropertyHelper[] GetProperties(System.Type type) { throw null; } + protected static Microsoft.Extensions.Internal.PropertyHelper[] GetProperties(System.Type type, System.Func createPropertyHelper, System.Collections.Concurrent.ConcurrentDictionary cache) { throw null; } + public object GetValue(object instance) { throw null; } + public static Microsoft.Extensions.Internal.PropertyHelper[] GetVisibleProperties(System.Reflection.TypeInfo typeInfo) { throw null; } + public static Microsoft.Extensions.Internal.PropertyHelper[] GetVisibleProperties(System.Type type) { throw null; } + protected static Microsoft.Extensions.Internal.PropertyHelper[] GetVisibleProperties(System.Type type, System.Func createPropertyHelper, System.Collections.Concurrent.ConcurrentDictionary allPropertiesCache, System.Collections.Concurrent.ConcurrentDictionary visiblePropertiesCache) { throw null; } + public static System.Func MakeFastPropertyGetter(System.Reflection.PropertyInfo propertyInfo) { throw null; } + public static System.Action MakeFastPropertySetter(System.Reflection.PropertyInfo propertyInfo) { throw null; } + public static System.Func MakeNullSafeFastPropertyGetter(System.Reflection.PropertyInfo propertyInfo) { throw null; } + public static System.Collections.Generic.IDictionary ObjectToDictionary(object value) { throw null; } + public void SetValue(object instance, object value) { } + } +} diff --git a/src/Http/Http.Abstractions/ref/Microsoft.AspNetCore.Http.Abstractions.csproj b/src/Http/Http.Abstractions/ref/Microsoft.AspNetCore.Http.Abstractions.csproj index a3f0a4268f71..76dd55bdb91b 100644 --- a/src/Http/Http.Abstractions/ref/Microsoft.AspNetCore.Http.Abstractions.csproj +++ b/src/Http/Http.Abstractions/ref/Microsoft.AspNetCore.Http.Abstractions.csproj @@ -5,8 +5,11 @@ - - - + + + + + + diff --git a/src/Http/Http.Abstractions/src/Extensions/HttpResponseWritingExtensions.cs b/src/Http/Http.Abstractions/src/Extensions/HttpResponseWritingExtensions.cs index 7d4532c4c818..c94118a82edc 100644 --- a/src/Http/Http.Abstractions/src/Extensions/HttpResponseWritingExtensions.cs +++ b/src/Http/Http.Abstractions/src/Extensions/HttpResponseWritingExtensions.cs @@ -133,7 +133,8 @@ private static void WriteMultiSegmentEncoded(PipeWriter writer, string text, Enc // Therefore, we check encodedLength - totalBytesUsed too. while (!completed || encodedLength - totalBytesUsed != 0) { - encoder.Convert(source, destination, flush: source.Length == 0, out var charsUsed, out var bytesUsed, out completed); + // 'text' is a complete string, the converter should always flush its buffer. + encoder.Convert(source, destination, flush: true, out var charsUsed, out var bytesUsed, out completed); totalBytesUsed += bytesUsed; writer.Advance(bytesUsed); diff --git a/src/Http/Http.Abstractions/src/Microsoft.AspNetCore.Http.Abstractions.csproj b/src/Http/Http.Abstractions/src/Microsoft.AspNetCore.Http.Abstractions.csproj index c5ab085eef0a..adea0a305988 100644 --- a/src/Http/Http.Abstractions/src/Microsoft.AspNetCore.Http.Abstractions.csproj +++ b/src/Http/Http.Abstractions/src/Microsoft.AspNetCore.Http.Abstractions.csproj @@ -13,7 +13,7 @@ Microsoft.AspNetCore.Http.HttpResponse true aspnetcore $(NoWarn);CS1591 - false + false diff --git a/src/Http/Http.Extensions/ref/Microsoft.AspNetCore.Http.Extensions.csproj b/src/Http/Http.Extensions/ref/Microsoft.AspNetCore.Http.Extensions.csproj index a19e1c7aa841..4164c67b3a45 100644 --- a/src/Http/Http.Extensions/ref/Microsoft.AspNetCore.Http.Extensions.csproj +++ b/src/Http/Http.Extensions/ref/Microsoft.AspNetCore.Http.Extensions.csproj @@ -5,8 +5,8 @@ - - - + + + diff --git a/src/Http/Http.Extensions/src/Microsoft.AspNetCore.Http.Extensions.csproj b/src/Http/Http.Extensions/src/Microsoft.AspNetCore.Http.Extensions.csproj index a67f1e5fe2de..73ba2b8a9ce4 100644 --- a/src/Http/Http.Extensions/src/Microsoft.AspNetCore.Http.Extensions.csproj +++ b/src/Http/Http.Extensions/src/Microsoft.AspNetCore.Http.Extensions.csproj @@ -7,7 +7,7 @@ $(NoWarn);CS1591 true aspnetcore - false + false diff --git a/src/Http/Http.Features/ref/Microsoft.AspNetCore.Http.Features.csproj b/src/Http/Http.Features/ref/Microsoft.AspNetCore.Http.Features.csproj index ca820965561e..3009140234cd 100644 --- a/src/Http/Http.Features/ref/Microsoft.AspNetCore.Http.Features.csproj +++ b/src/Http/Http.Features/ref/Microsoft.AspNetCore.Http.Features.csproj @@ -2,15 +2,16 @@ netstandard2.0;$(DefaultNetCoreTargetFramework) + $(DefaultNetCoreTargetFramework) - - + + - - + + diff --git a/src/Http/Http.Features/src/Microsoft.AspNetCore.Http.Features.csproj b/src/Http/Http.Features/src/Microsoft.AspNetCore.Http.Features.csproj index 74dc703d749b..85f9fdc84731 100644 --- a/src/Http/Http.Features/src/Microsoft.AspNetCore.Http.Features.csproj +++ b/src/Http/Http.Features/src/Microsoft.AspNetCore.Http.Features.csproj @@ -8,7 +8,6 @@ $(NoWarn);CS1591 true aspnetcore - true diff --git a/src/Http/Http/ref/Microsoft.AspNetCore.Http.Manual.cs b/src/Http/Http/ref/Microsoft.AspNetCore.Http.Manual.cs new file mode 100644 index 000000000000..67edcfae2a53 --- /dev/null +++ b/src/Http/Http/ref/Microsoft.AspNetCore.Http.Manual.cs @@ -0,0 +1,62 @@ +// Copyright (c) .NET Foundation. All rights reserved. +// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. + +namespace Microsoft.AspNetCore.Http +{ + internal partial class ItemsDictionary : System.Collections.Generic.ICollection>, System.Collections.Generic.IDictionary, System.Collections.Generic.IEnumerable>, System.Collections.IEnumerable + { + public ItemsDictionary() { } + public ItemsDictionary(System.Collections.Generic.IDictionary items) { } + public System.Collections.Generic.IDictionary Items { get { throw null; } } + int System.Collections.Generic.ICollection>.Count { get { throw null; } } + bool System.Collections.Generic.ICollection>.IsReadOnly { get { throw null; } } + object System.Collections.Generic.IDictionary.this[object key] { get { throw null; } set { } } + System.Collections.Generic.ICollection System.Collections.Generic.IDictionary.Keys { get { throw null; } } + System.Collections.Generic.ICollection System.Collections.Generic.IDictionary.Values { get { throw null; } } + void System.Collections.Generic.ICollection>.Add(System.Collections.Generic.KeyValuePair item) { } + void System.Collections.Generic.ICollection>.Clear() { } + bool System.Collections.Generic.ICollection>.Contains(System.Collections.Generic.KeyValuePair item) { throw null; } + void System.Collections.Generic.ICollection>.CopyTo(System.Collections.Generic.KeyValuePair[] array, int arrayIndex) { } + bool System.Collections.Generic.ICollection>.Remove(System.Collections.Generic.KeyValuePair item) { throw null; } + void System.Collections.Generic.IDictionary.Add(object key, object value) { } + bool System.Collections.Generic.IDictionary.ContainsKey(object key) { throw null; } + bool System.Collections.Generic.IDictionary.Remove(object key) { throw null; } + bool System.Collections.Generic.IDictionary.TryGetValue(object key, out object value) { throw null; } + System.Collections.Generic.IEnumerator> System.Collections.Generic.IEnumerable>.GetEnumerator() { throw null; } + System.Collections.IEnumerator System.Collections.IEnumerable.GetEnumerator() { throw null; } + } + internal partial class RequestCookieCollection : Microsoft.AspNetCore.Http.IRequestCookieCollection, System.Collections.Generic.IEnumerable>, System.Collections.IEnumerable + { + public static readonly Microsoft.AspNetCore.Http.RequestCookieCollection Empty; + public RequestCookieCollection() { } + public RequestCookieCollection(System.Collections.Generic.Dictionary store) { } + public RequestCookieCollection(int capacity) { } + public int Count { get { throw null; } } + public string this[string key] { get { throw null; } } + public System.Collections.Generic.ICollection Keys { get { throw null; } } + public bool ContainsKey(string key) { throw null; } + public Microsoft.AspNetCore.Http.RequestCookieCollection.Enumerator GetEnumerator() { throw null; } + public static Microsoft.AspNetCore.Http.RequestCookieCollection Parse(System.Collections.Generic.IList values) { throw null; } + System.Collections.Generic.IEnumerator> System.Collections.Generic.IEnumerable>.GetEnumerator() { throw null; } + System.Collections.IEnumerator System.Collections.IEnumerable.GetEnumerator() { throw null; } + public bool TryGetValue(string key, out string value) { throw null; } + public partial struct Enumerator : System.Collections.Generic.IEnumerator>, System.Collections.IEnumerator, System.IDisposable + { + internal Enumerator(System.Collections.Generic.Dictionary.Enumerator dictionaryEnumerator) { throw null; } + public System.Collections.Generic.KeyValuePair Current { get { throw null; } } + object System.Collections.IEnumerator.Current { get { throw null; } } + public void Dispose() { } + public bool MoveNext() { throw null; } + public void Reset() { } + } + } + + internal partial class ResponseCookies : Microsoft.AspNetCore.Http.IResponseCookies + { + public ResponseCookies(Microsoft.AspNetCore.Http.IHeaderDictionary headers, Microsoft.Extensions.ObjectPool.ObjectPool builderPool) { } + public void Append(string key, string value) { } + public void Append(string key, string value, Microsoft.AspNetCore.Http.CookieOptions options) { } + public void Delete(string key) { } + public void Delete(string key, Microsoft.AspNetCore.Http.CookieOptions options) { } + } +} diff --git a/src/Http/Http/ref/Microsoft.AspNetCore.Http.csproj b/src/Http/Http/ref/Microsoft.AspNetCore.Http.csproj index fc7e44c40a1a..5f804905ea03 100644 --- a/src/Http/Http/ref/Microsoft.AspNetCore.Http.csproj +++ b/src/Http/Http/ref/Microsoft.AspNetCore.Http.csproj @@ -5,10 +5,12 @@ - - - - - + + + + + + + diff --git a/src/Http/Http/src/Microsoft.AspNetCore.Http.csproj b/src/Http/Http/src/Microsoft.AspNetCore.Http.csproj index feebf0957858..a7fb56774bd1 100644 --- a/src/Http/Http/src/Microsoft.AspNetCore.Http.csproj +++ b/src/Http/Http/src/Microsoft.AspNetCore.Http.csproj @@ -8,7 +8,7 @@ true true aspnetcore - false + false diff --git a/src/Http/Metadata/ref/Microsoft.AspNetCore.Metadata.csproj b/src/Http/Metadata/ref/Microsoft.AspNetCore.Metadata.csproj index 5bd3e643f1ed..75a5dfb139e0 100644 --- a/src/Http/Metadata/ref/Microsoft.AspNetCore.Metadata.csproj +++ b/src/Http/Metadata/ref/Microsoft.AspNetCore.Metadata.csproj @@ -1,10 +1,13 @@ - netstandard2.0 + netstandard2.0;$(DefaultNetCoreTargetFramework) + $(DefaultNetCoreTargetFramework) - + + + diff --git a/src/Http/Metadata/ref/Microsoft.AspNetCore.Metadata.netcoreapp.cs b/src/Http/Metadata/ref/Microsoft.AspNetCore.Metadata.netcoreapp.cs new file mode 100644 index 000000000000..effddb3203aa --- /dev/null +++ b/src/Http/Metadata/ref/Microsoft.AspNetCore.Metadata.netcoreapp.cs @@ -0,0 +1,15 @@ +// Copyright (c) .NET Foundation. All rights reserved. +// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. + +namespace Microsoft.AspNetCore.Authorization +{ + public partial interface IAllowAnonymous + { + } + public partial interface IAuthorizeData + { + string AuthenticationSchemes { get; set; } + string Policy { get; set; } + string Roles { get; set; } + } +} diff --git a/src/Http/Metadata/src/Microsoft.AspNetCore.Metadata.csproj b/src/Http/Metadata/src/Microsoft.AspNetCore.Metadata.csproj index 10a3baad25ee..7869ec0eb52b 100644 --- a/src/Http/Metadata/src/Microsoft.AspNetCore.Metadata.csproj +++ b/src/Http/Metadata/src/Microsoft.AspNetCore.Metadata.csproj @@ -2,9 +2,8 @@ ASP.NET Core metadata. - netstandard2.0 + netstandard2.0;$(DefaultNetCoreTargetFramework) true - true $(NoWarn);CS1591 true aspnetcore diff --git a/src/Http/Owin/ref/Microsoft.AspNetCore.Owin.csproj b/src/Http/Owin/ref/Microsoft.AspNetCore.Owin.csproj deleted file mode 100644 index 4c74b7422b5d..000000000000 --- a/src/Http/Owin/ref/Microsoft.AspNetCore.Owin.csproj +++ /dev/null @@ -1,10 +0,0 @@ - - - - $(DefaultNetCoreTargetFramework) - - - - - - diff --git a/src/Http/Owin/ref/Microsoft.AspNetCore.Owin.netcoreapp.cs b/src/Http/Owin/ref/Microsoft.AspNetCore.Owin.netcoreapp.cs deleted file mode 100644 index 7a3f19b96905..000000000000 --- a/src/Http/Owin/ref/Microsoft.AspNetCore.Owin.netcoreapp.cs +++ /dev/null @@ -1,155 +0,0 @@ -// Copyright (c) .NET Foundation. All rights reserved. -// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. - -namespace Microsoft.AspNetCore.Builder -{ - public static partial class OwinExtensions - { - public static Microsoft.AspNetCore.Builder.IApplicationBuilder UseBuilder(this System.Action, System.Threading.Tasks.Task>, System.Func, System.Threading.Tasks.Task>>> app) { throw null; } - public static System.Action, System.Threading.Tasks.Task>, System.Func, System.Threading.Tasks.Task>>> UseBuilder(this System.Action, System.Threading.Tasks.Task>, System.Func, System.Threading.Tasks.Task>>> app, System.Action pipeline) { throw null; } - public static System.Action, System.Threading.Tasks.Task>, System.Func, System.Threading.Tasks.Task>>> UseBuilder(this System.Action, System.Threading.Tasks.Task>, System.Func, System.Threading.Tasks.Task>>> app, System.Action pipeline, System.IServiceProvider serviceProvider) { throw null; } - public static Microsoft.AspNetCore.Builder.IApplicationBuilder UseBuilder(this System.Action, System.Threading.Tasks.Task>, System.Func, System.Threading.Tasks.Task>>> app, System.IServiceProvider serviceProvider) { throw null; } - public static System.Action, System.Threading.Tasks.Task>, System.Func, System.Threading.Tasks.Task>>> UseOwin(this Microsoft.AspNetCore.Builder.IApplicationBuilder builder) { throw null; } - public static Microsoft.AspNetCore.Builder.IApplicationBuilder UseOwin(this Microsoft.AspNetCore.Builder.IApplicationBuilder builder, System.Action, System.Threading.Tasks.Task>, System.Func, System.Threading.Tasks.Task>>>> pipeline) { throw null; } - } -} -namespace Microsoft.AspNetCore.Owin -{ - public partial interface IOwinEnvironmentFeature - { - System.Collections.Generic.IDictionary Environment { get; set; } - } - public partial class OwinEnvironment : System.Collections.Generic.ICollection>, System.Collections.Generic.IDictionary, System.Collections.Generic.IEnumerable>, System.Collections.IEnumerable - { - public OwinEnvironment(Microsoft.AspNetCore.Http.HttpContext context) { } - public System.Collections.Generic.IDictionary FeatureMaps { get { throw null; } } - int System.Collections.Generic.ICollection>.Count { get { throw null; } } - bool System.Collections.Generic.ICollection>.IsReadOnly { get { throw null; } } - object System.Collections.Generic.IDictionary.this[string key] { get { throw null; } set { } } - System.Collections.Generic.ICollection System.Collections.Generic.IDictionary.Keys { get { throw null; } } - System.Collections.Generic.ICollection System.Collections.Generic.IDictionary.Values { get { throw null; } } - public System.Collections.Generic.IEnumerator> GetEnumerator() { throw null; } - void System.Collections.Generic.ICollection>.Add(System.Collections.Generic.KeyValuePair item) { } - void System.Collections.Generic.ICollection>.Clear() { } - bool System.Collections.Generic.ICollection>.Contains(System.Collections.Generic.KeyValuePair item) { throw null; } - void System.Collections.Generic.ICollection>.CopyTo(System.Collections.Generic.KeyValuePair[] array, int arrayIndex) { } - bool System.Collections.Generic.ICollection>.Remove(System.Collections.Generic.KeyValuePair item) { throw null; } - void System.Collections.Generic.IDictionary.Add(string key, object value) { } - bool System.Collections.Generic.IDictionary.ContainsKey(string key) { throw null; } - bool System.Collections.Generic.IDictionary.Remove(string key) { throw null; } - bool System.Collections.Generic.IDictionary.TryGetValue(string key, out object value) { throw null; } - System.Collections.IEnumerator System.Collections.IEnumerable.GetEnumerator() { throw null; } - public partial class FeatureMap - { - public FeatureMap(System.Type featureInterface, System.Func getter) { } - public FeatureMap(System.Type featureInterface, System.Func getter, System.Action setter) { } - public FeatureMap(System.Type featureInterface, System.Func getter, System.Func defaultFactory) { } - public FeatureMap(System.Type featureInterface, System.Func getter, System.Func defaultFactory, System.Action setter) { } - public FeatureMap(System.Type featureInterface, System.Func getter, System.Func defaultFactory, System.Action setter, System.Func featureFactory) { } - public bool CanSet { get { throw null; } } - } - public partial class FeatureMap : Microsoft.AspNetCore.Owin.OwinEnvironment.FeatureMap - { - public FeatureMap(System.Func getter) : base (default(System.Type), default(System.Func)) { } - public FeatureMap(System.Func getter, System.Action setter) : base (default(System.Type), default(System.Func)) { } - public FeatureMap(System.Func getter, System.Func defaultFactory) : base (default(System.Type), default(System.Func)) { } - public FeatureMap(System.Func getter, System.Func defaultFactory, System.Action setter) : base (default(System.Type), default(System.Func)) { } - public FeatureMap(System.Func getter, System.Func defaultFactory, System.Action setter, System.Func featureFactory) : base (default(System.Type), default(System.Func)) { } - } - } - public partial class OwinEnvironmentFeature : Microsoft.AspNetCore.Owin.IOwinEnvironmentFeature - { - public OwinEnvironmentFeature() { } - public System.Collections.Generic.IDictionary Environment { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute] set { } } - } - public partial class OwinFeatureCollection : Microsoft.AspNetCore.Http.Features.Authentication.IHttpAuthenticationFeature, Microsoft.AspNetCore.Http.Features.IFeatureCollection, Microsoft.AspNetCore.Http.Features.IHttpConnectionFeature, Microsoft.AspNetCore.Http.Features.IHttpRequestFeature, Microsoft.AspNetCore.Http.Features.IHttpRequestIdentifierFeature, Microsoft.AspNetCore.Http.Features.IHttpRequestLifetimeFeature, Microsoft.AspNetCore.Http.Features.IHttpResponseBodyFeature, Microsoft.AspNetCore.Http.Features.IHttpResponseFeature, Microsoft.AspNetCore.Http.Features.IHttpWebSocketFeature, Microsoft.AspNetCore.Http.Features.ITlsConnectionFeature, Microsoft.AspNetCore.Owin.IOwinEnvironmentFeature, System.Collections.Generic.IEnumerable>, System.Collections.IEnumerable - { - public OwinFeatureCollection(System.Collections.Generic.IDictionary environment) { } - public System.Collections.Generic.IDictionary Environment { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute] set { } } - public bool IsReadOnly { get { throw null; } } - public object this[System.Type key] { get { throw null; } set { } } - System.Security.Claims.ClaimsPrincipal Microsoft.AspNetCore.Http.Features.Authentication.IHttpAuthenticationFeature.User { get { throw null; } set { } } - string Microsoft.AspNetCore.Http.Features.IHttpConnectionFeature.ConnectionId { get { throw null; } set { } } - System.Net.IPAddress Microsoft.AspNetCore.Http.Features.IHttpConnectionFeature.LocalIpAddress { get { throw null; } set { } } - int Microsoft.AspNetCore.Http.Features.IHttpConnectionFeature.LocalPort { get { throw null; } set { } } - System.Net.IPAddress Microsoft.AspNetCore.Http.Features.IHttpConnectionFeature.RemoteIpAddress { get { throw null; } set { } } - int Microsoft.AspNetCore.Http.Features.IHttpConnectionFeature.RemotePort { get { throw null; } set { } } - System.IO.Stream Microsoft.AspNetCore.Http.Features.IHttpRequestFeature.Body { get { throw null; } set { } } - Microsoft.AspNetCore.Http.IHeaderDictionary Microsoft.AspNetCore.Http.Features.IHttpRequestFeature.Headers { get { throw null; } set { } } - string Microsoft.AspNetCore.Http.Features.IHttpRequestFeature.Method { get { throw null; } set { } } - string Microsoft.AspNetCore.Http.Features.IHttpRequestFeature.Path { get { throw null; } set { } } - string Microsoft.AspNetCore.Http.Features.IHttpRequestFeature.PathBase { get { throw null; } set { } } - string Microsoft.AspNetCore.Http.Features.IHttpRequestFeature.Protocol { get { throw null; } set { } } - string Microsoft.AspNetCore.Http.Features.IHttpRequestFeature.QueryString { get { throw null; } set { } } - string Microsoft.AspNetCore.Http.Features.IHttpRequestFeature.RawTarget { get { throw null; } set { } } - string Microsoft.AspNetCore.Http.Features.IHttpRequestFeature.Scheme { get { throw null; } set { } } - string Microsoft.AspNetCore.Http.Features.IHttpRequestIdentifierFeature.TraceIdentifier { get { throw null; } set { } } - System.Threading.CancellationToken Microsoft.AspNetCore.Http.Features.IHttpRequestLifetimeFeature.RequestAborted { get { throw null; } set { } } - System.IO.Stream Microsoft.AspNetCore.Http.Features.IHttpResponseBodyFeature.Stream { get { throw null; } } - System.IO.Pipelines.PipeWriter Microsoft.AspNetCore.Http.Features.IHttpResponseBodyFeature.Writer { get { throw null; } } - System.IO.Stream Microsoft.AspNetCore.Http.Features.IHttpResponseFeature.Body { get { throw null; } set { } } - bool Microsoft.AspNetCore.Http.Features.IHttpResponseFeature.HasStarted { get { throw null; } } - Microsoft.AspNetCore.Http.IHeaderDictionary Microsoft.AspNetCore.Http.Features.IHttpResponseFeature.Headers { get { throw null; } set { } } - string Microsoft.AspNetCore.Http.Features.IHttpResponseFeature.ReasonPhrase { get { throw null; } set { } } - int Microsoft.AspNetCore.Http.Features.IHttpResponseFeature.StatusCode { get { throw null; } set { } } - bool Microsoft.AspNetCore.Http.Features.IHttpWebSocketFeature.IsWebSocketRequest { get { throw null; } } - System.Security.Cryptography.X509Certificates.X509Certificate2 Microsoft.AspNetCore.Http.Features.ITlsConnectionFeature.ClientCertificate { get { throw null; } set { } } - public int Revision { get { throw null; } } - public bool SupportsWebSockets { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute] set { } } - public void Dispose() { } - public object Get(System.Type key) { throw null; } - public System.Collections.Generic.IEnumerator> GetEnumerator() { throw null; } - public TFeature Get() { throw null; } - void Microsoft.AspNetCore.Http.Features.IHttpRequestLifetimeFeature.Abort() { } - System.Threading.Tasks.Task Microsoft.AspNetCore.Http.Features.IHttpResponseBodyFeature.CompleteAsync() { throw null; } - void Microsoft.AspNetCore.Http.Features.IHttpResponseBodyFeature.DisableBuffering() { } - System.Threading.Tasks.Task Microsoft.AspNetCore.Http.Features.IHttpResponseBodyFeature.SendFileAsync(string path, long offset, long? length, System.Threading.CancellationToken cancellation) { throw null; } - [System.Diagnostics.DebuggerStepThroughAttribute] - System.Threading.Tasks.Task Microsoft.AspNetCore.Http.Features.IHttpResponseBodyFeature.StartAsync(System.Threading.CancellationToken cancellationToken) { throw null; } - void Microsoft.AspNetCore.Http.Features.IHttpResponseFeature.OnCompleted(System.Func callback, object state) { } - void Microsoft.AspNetCore.Http.Features.IHttpResponseFeature.OnStarting(System.Func callback, object state) { } - System.Threading.Tasks.Task Microsoft.AspNetCore.Http.Features.IHttpWebSocketFeature.AcceptAsync(Microsoft.AspNetCore.Http.WebSocketAcceptContext context) { throw null; } - [System.Diagnostics.DebuggerStepThroughAttribute] - System.Threading.Tasks.Task Microsoft.AspNetCore.Http.Features.ITlsConnectionFeature.GetClientCertificateAsync(System.Threading.CancellationToken cancellationToken) { throw null; } - public void Set(System.Type key, object value) { } - public void Set(TFeature instance) { } - System.Collections.IEnumerator System.Collections.IEnumerable.GetEnumerator() { throw null; } - } - public partial class OwinWebSocketAcceptAdapter - { - internal OwinWebSocketAcceptAdapter() { } - public static System.Func, System.Threading.Tasks.Task> AdaptWebSockets(System.Func, System.Threading.Tasks.Task> next) { throw null; } - } - public partial class OwinWebSocketAcceptContext : Microsoft.AspNetCore.Http.WebSocketAcceptContext - { - public OwinWebSocketAcceptContext() { } - public OwinWebSocketAcceptContext(System.Collections.Generic.IDictionary options) { } - public System.Collections.Generic.IDictionary Options { get { throw null; } } - public override string SubProtocol { get { throw null; } set { } } - } - public partial class OwinWebSocketAdapter : System.Net.WebSockets.WebSocket - { - public OwinWebSocketAdapter(System.Collections.Generic.IDictionary websocketContext, string subProtocol) { } - public override System.Net.WebSockets.WebSocketCloseStatus? CloseStatus { get { throw null; } } - public override string CloseStatusDescription { get { throw null; } } - public override System.Net.WebSockets.WebSocketState State { get { throw null; } } - public override string SubProtocol { get { throw null; } } - public override void Abort() { } - [System.Diagnostics.DebuggerStepThroughAttribute] - public override System.Threading.Tasks.Task CloseAsync(System.Net.WebSockets.WebSocketCloseStatus closeStatus, string statusDescription, System.Threading.CancellationToken cancellationToken) { throw null; } - public override System.Threading.Tasks.Task CloseOutputAsync(System.Net.WebSockets.WebSocketCloseStatus closeStatus, string statusDescription, System.Threading.CancellationToken cancellationToken) { throw null; } - public override void Dispose() { } - [System.Diagnostics.DebuggerStepThroughAttribute] - public override System.Threading.Tasks.Task ReceiveAsync(System.ArraySegment buffer, System.Threading.CancellationToken cancellationToken) { throw null; } - public override System.Threading.Tasks.Task SendAsync(System.ArraySegment buffer, System.Net.WebSockets.WebSocketMessageType messageType, bool endOfMessage, System.Threading.CancellationToken cancellationToken) { throw null; } - } - public partial class WebSocketAcceptAdapter - { - public WebSocketAcceptAdapter(System.Collections.Generic.IDictionary env, System.Func> accept) { } - public static System.Func, System.Threading.Tasks.Task> AdaptWebSockets(System.Func, System.Threading.Tasks.Task> next) { throw null; } - } - public partial class WebSocketAdapter - { - internal WebSocketAdapter() { } - } -} diff --git a/src/Http/Owin/src/Microsoft.AspNetCore.Owin.csproj b/src/Http/Owin/src/Microsoft.AspNetCore.Owin.csproj index 0baf3ca385ed..590ab5661ced 100644 --- a/src/Http/Owin/src/Microsoft.AspNetCore.Owin.csproj +++ b/src/Http/Owin/src/Microsoft.AspNetCore.Owin.csproj @@ -6,7 +6,7 @@ $(NoWarn);CS1591 true aspnetcore;owin - true + true diff --git a/src/Http/Routing.Abstractions/ref/Microsoft.AspNetCore.Routing.Abstractions.Manual.cs b/src/Http/Routing.Abstractions/ref/Microsoft.AspNetCore.Routing.Abstractions.Manual.cs deleted file mode 100644 index 9a0e3418cfa0..000000000000 --- a/src/Http/Routing.Abstractions/ref/Microsoft.AspNetCore.Routing.Abstractions.Manual.cs +++ /dev/null @@ -1,13 +0,0 @@ -// Copyright (c) .NET Foundation. All rights reserved. -// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. - -using System.Runtime.CompilerServices; -using Microsoft.AspNetCore.Routing; -using Microsoft.AspNetCore.Http; -using Microsoft.AspNetCore.Http.Features; - -[assembly: TypeForwardedTo(typeof(IEndpointFeature))] -[assembly: TypeForwardedTo(typeof(IRouteValuesFeature))] -[assembly: TypeForwardedTo(typeof(Endpoint))] -[assembly: TypeForwardedTo(typeof(EndpointMetadataCollection))] -[assembly: TypeForwardedTo(typeof(RouteValueDictionary))] diff --git a/src/Http/Routing.Abstractions/ref/Microsoft.AspNetCore.Routing.Abstractions.csproj b/src/Http/Routing.Abstractions/ref/Microsoft.AspNetCore.Routing.Abstractions.csproj index 1d5d2fbc9c4b..f4cfdfddb891 100644 --- a/src/Http/Routing.Abstractions/ref/Microsoft.AspNetCore.Routing.Abstractions.csproj +++ b/src/Http/Routing.Abstractions/ref/Microsoft.AspNetCore.Routing.Abstractions.csproj @@ -5,7 +5,7 @@ - - + + diff --git a/src/Http/Routing.Abstractions/src/Microsoft.AspNetCore.Routing.Abstractions.csproj b/src/Http/Routing.Abstractions/src/Microsoft.AspNetCore.Routing.Abstractions.csproj index 4240032c6ffa..c500cb5ba7d6 100644 --- a/src/Http/Routing.Abstractions/src/Microsoft.AspNetCore.Routing.Abstractions.csproj +++ b/src/Http/Routing.Abstractions/src/Microsoft.AspNetCore.Routing.Abstractions.csproj @@ -10,7 +10,7 @@ Microsoft.AspNetCore.Routing.RouteData $(NoWarn);CS1591 true aspnetcore;routing - false + false diff --git a/src/Http/Routing/ref/Microsoft.AspNetCore.Routing.csproj b/src/Http/Routing/ref/Microsoft.AspNetCore.Routing.csproj index 90ff9fea7c37..c80ec4d8da6a 100644 --- a/src/Http/Routing/ref/Microsoft.AspNetCore.Routing.csproj +++ b/src/Http/Routing/ref/Microsoft.AspNetCore.Routing.csproj @@ -5,12 +5,13 @@ - - - - - - - + + + + + + + + diff --git a/src/Http/Routing/src/Microsoft.AspNetCore.Routing.csproj b/src/Http/Routing/src/Microsoft.AspNetCore.Routing.csproj index 7c399fe55754..95a5f0327daf 100644 --- a/src/Http/Routing/src/Microsoft.AspNetCore.Routing.csproj +++ b/src/Http/Routing/src/Microsoft.AspNetCore.Routing.csproj @@ -11,7 +11,7 @@ Microsoft.AspNetCore.Routing.RouteCollection true aspnetcore;routing true - false + false diff --git a/src/Http/WebUtilities/ref/Microsoft.AspNetCore.WebUtilities.Manual.cs b/src/Http/WebUtilities/ref/Microsoft.AspNetCore.WebUtilities.Manual.cs new file mode 100644 index 000000000000..386fc1fd0c4b --- /dev/null +++ b/src/Http/WebUtilities/ref/Microsoft.AspNetCore.WebUtilities.Manual.cs @@ -0,0 +1,49 @@ +// Copyright (c) .NET Foundation. All rights reserved. +// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. + +namespace Microsoft.AspNetCore.Internal +{ + internal static partial class AspNetCoreTempDirectory + { + public static string TempDirectory { get { throw null; } } + public static System.Func TempDirectoryFactory { get { throw null; } } + } +} + +namespace Microsoft.AspNetCore.WebUtilities +{ + public sealed partial class FileBufferingWriteStream : System.IO.Stream + { + internal bool Disposed { [System.Runtime.CompilerServices.CompilerGeneratedAttribute]get { throw null; } } + internal System.IO.FileStream FileStream { [System.Runtime.CompilerServices.CompilerGeneratedAttribute]get { throw null; } } + internal Microsoft.AspNetCore.WebUtilities.PagedByteBuffer PagedByteBuffer + { + [System.Runtime.CompilerServices.CompilerGeneratedAttribute]get { throw null; } + } + } + + public partial class FormPipeReader + { + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.NoInlining)] + internal void ParseFormValues(ref System.Buffers.ReadOnlySequence buffer, ref Microsoft.AspNetCore.WebUtilities.KeyValueAccumulator accumulator, bool isFinalBlock) { } + } + + public partial class HttpResponseStreamWriter : System.IO.TextWriter + { + internal const int DefaultBufferSize = 16384; + } + + internal sealed partial class PagedByteBuffer : System.IDisposable + { + internal const int PageSize = 1024; + public PagedByteBuffer(System.Buffers.ArrayPool arrayPool) { } + internal bool Disposed { [System.Runtime.CompilerServices.CompilerGeneratedAttribute]get { throw null; } } + public int Length { [System.Runtime.CompilerServices.CompilerGeneratedAttribute]get { throw null; } } + internal System.Collections.Generic.List Pages { [System.Runtime.CompilerServices.CompilerGeneratedAttribute]get { throw null; } } + public void Add(byte[] buffer, int offset, int count) { } + public void Dispose() { } + public void MoveTo(System.IO.Stream stream) { } + [System.Diagnostics.DebuggerStepThroughAttribute] + public System.Threading.Tasks.Task MoveToAsync(System.IO.Stream stream, System.Threading.CancellationToken cancellationToken) { throw null; } + } +} diff --git a/src/Http/WebUtilities/ref/Microsoft.AspNetCore.WebUtilities.csproj b/src/Http/WebUtilities/ref/Microsoft.AspNetCore.WebUtilities.csproj index 1b56da784a78..7ff6ba8c69c0 100644 --- a/src/Http/WebUtilities/ref/Microsoft.AspNetCore.WebUtilities.csproj +++ b/src/Http/WebUtilities/ref/Microsoft.AspNetCore.WebUtilities.csproj @@ -5,7 +5,9 @@ - - + + + + diff --git a/src/Http/WebUtilities/src/FormPipeReader.cs b/src/Http/WebUtilities/src/FormPipeReader.cs index 3c9334f9b69a..e5f158bc2d52 100644 --- a/src/Http/WebUtilities/src/FormPipeReader.cs +++ b/src/Http/WebUtilities/src/FormPipeReader.cs @@ -93,7 +93,15 @@ public async Task> ReadFormAsync(CancellationTo if (!buffer.IsEmpty) { - ParseFormValues(ref buffer, ref accumulator, readResult.IsCompleted); + try + { + ParseFormValues(ref buffer, ref accumulator, readResult.IsCompleted); + } + catch + { + _pipeReader.AdvanceTo(buffer.Start); + throw; + } } if (readResult.IsCompleted) diff --git a/src/Http/WebUtilities/src/Microsoft.AspNetCore.WebUtilities.csproj b/src/Http/WebUtilities/src/Microsoft.AspNetCore.WebUtilities.csproj index ae6214a552d0..63d3582d520b 100644 --- a/src/Http/WebUtilities/src/Microsoft.AspNetCore.WebUtilities.csproj +++ b/src/Http/WebUtilities/src/Microsoft.AspNetCore.WebUtilities.csproj @@ -8,7 +8,7 @@ $(NoWarn);CS1591 true aspnetcore - false + false diff --git a/src/Http/WebUtilities/test/FormPipeReaderTests.cs b/src/Http/WebUtilities/test/FormPipeReaderTests.cs index f0e806aae04c..9c973c680d75 100644 --- a/src/Http/WebUtilities/test/FormPipeReaderTests.cs +++ b/src/Http/WebUtilities/test/FormPipeReaderTests.cs @@ -94,21 +94,32 @@ public async Task ReadFormAsync_ValueCountLimitMet_Success() [Fact] public async Task ReadFormAsync_ValueCountLimitExceeded_Throw() { - var bodyPipe = await MakePipeReader("foo=1&baz=2&bar=3&baz=4&baf=5"); + var content = "foo=1&baz=2&bar=3&baz=4&baf=5"; + var bodyPipe = await MakePipeReader(content); var exception = await Assert.ThrowsAsync( () => ReadFormAsync(new FormPipeReader(bodyPipe) { ValueCountLimit = 3 })); Assert.Equal("Form value count limit 3 exceeded.", exception.Message); + + // The body pipe is still readable and has not advanced. + var readResult = await bodyPipe.ReadAsync(); + Assert.Equal(Encoding.UTF8.GetBytes(content), readResult.Buffer.ToArray()); } [Fact] public async Task ReadFormAsync_ValueCountLimitExceededSameKey_Throw() { - var bodyPipe = await MakePipeReader("baz=1&baz=2&baz=3&baz=4"); + var content = "baz=1&baz=2&baz=3&baz=4"; + var bodyPipe = await MakePipeReader(content); var exception = await Assert.ThrowsAsync( () => ReadFormAsync(new FormPipeReader(bodyPipe) { ValueCountLimit = 3 })); Assert.Equal("Form value count limit 3 exceeded.", exception.Message); + + + // The body pipe is still readable and has not advanced. + var readResult = await bodyPipe.ReadAsync(); + Assert.Equal(Encoding.UTF8.GetBytes(content), readResult.Buffer.ToArray()); } [Fact] @@ -127,11 +138,16 @@ public async Task ReadFormAsync_KeyLengthLimitMet_Success() [Fact] public async Task ReadFormAsync_KeyLengthLimitExceeded_Throw() { - var bodyPipe = await MakePipeReader("foo=1&baz12345678=2"); + var content = "foo=1&baz12345678=2"; + var bodyPipe = await MakePipeReader(content); var exception = await Assert.ThrowsAsync( () => ReadFormAsync(new FormPipeReader(bodyPipe) { KeyLengthLimit = 10 })); Assert.Equal("Form key length limit 10 exceeded.", exception.Message); + + // The body pipe is still readable and has not advanced. + var readResult = await bodyPipe.ReadAsync(); + Assert.Equal(Encoding.UTF8.GetBytes(content), readResult.Buffer.ToArray()); } [Fact] @@ -150,11 +166,16 @@ public async Task ReadFormAsync_ValueLengthLimitMet_Success() [Fact] public async Task ReadFormAsync_ValueLengthLimitExceeded_Throw() { - var bodyPipe = await MakePipeReader("foo=1&baz=12345678901"); + var content = "foo=1&baz=12345678901"; + var bodyPipe = await MakePipeReader(content); var exception = await Assert.ThrowsAsync( () => ReadFormAsync(new FormPipeReader(bodyPipe) { ValueLengthLimit = 10 })); Assert.Equal("Form value length limit 10 exceeded.", exception.Message); + + // The body pipe is still readable and has not advanced. + var readResult = await bodyPipe.ReadAsync(); + Assert.Equal(Encoding.UTF8.GetBytes(content), readResult.Buffer.ToArray()); } // https://en.wikipedia.org/wiki/Percent-encoding diff --git a/src/Identity/ApiAuthorization.IdentityServer/samples/ApiAuthSample/ApiAuthSample.csproj b/src/Identity/ApiAuthorization.IdentityServer/samples/ApiAuthSample/ApiAuthSample.csproj index fc7fd6784f5a..09e3ef160021 100644 --- a/src/Identity/ApiAuthorization.IdentityServer/samples/ApiAuthSample/ApiAuthSample.csproj +++ b/src/Identity/ApiAuthorization.IdentityServer/samples/ApiAuthSample/ApiAuthSample.csproj @@ -6,6 +6,8 @@ false + + false @@ -35,6 +37,8 @@ + + diff --git a/src/Identity/ApiAuthorization.IdentityServer/src/Microsoft.AspNetCore.ApiAuthorization.IdentityServer.csproj b/src/Identity/ApiAuthorization.IdentityServer/src/Microsoft.AspNetCore.ApiAuthorization.IdentityServer.csproj index 5efefb23bf46..95cde240e2a8 100644 --- a/src/Identity/ApiAuthorization.IdentityServer/src/Microsoft.AspNetCore.ApiAuthorization.IdentityServer.csproj +++ b/src/Identity/ApiAuthorization.IdentityServer/src/Microsoft.AspNetCore.ApiAuthorization.IdentityServer.csproj @@ -6,7 +6,7 @@ true aspnetcore;apiauth;identity false - true + true false diff --git a/src/Identity/Core/ref/Microsoft.AspNetCore.Identity.Manual.cs b/src/Identity/Core/ref/Microsoft.AspNetCore.Identity.Manual.cs new file mode 100644 index 000000000000..23e07827af95 --- /dev/null +++ b/src/Identity/Core/ref/Microsoft.AspNetCore.Identity.Manual.cs @@ -0,0 +1,18 @@ +// Copyright (c) .NET Foundation. All rights reserved. +// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. + +namespace Microsoft.AspNetCore.Identity +{ + public partial class SignInManager where TUser : class + { + [System.Diagnostics.DebuggerStepThroughAttribute] + internal System.Threading.Tasks.Task StoreRememberClient(TUser user) { throw null; } + internal System.Security.Claims.ClaimsPrincipal StoreTwoFactorInfo(string userId, string loginProvider) { throw null; } + internal partial class TwoFactorAuthenticationInfo + { + public TwoFactorAuthenticationInfo() { } + public string LoginProvider { [System.Runtime.CompilerServices.CompilerGeneratedAttribute]get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute]set { } } + public string UserId { [System.Runtime.CompilerServices.CompilerGeneratedAttribute]get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute]set { } } + } + } +} diff --git a/src/Identity/Core/ref/Microsoft.AspNetCore.Identity.csproj b/src/Identity/Core/ref/Microsoft.AspNetCore.Identity.csproj index 7874f2c36ee8..a1dfa3bd5532 100644 --- a/src/Identity/Core/ref/Microsoft.AspNetCore.Identity.csproj +++ b/src/Identity/Core/ref/Microsoft.AspNetCore.Identity.csproj @@ -5,7 +5,9 @@ - - + + + + diff --git a/src/Identity/Core/src/Microsoft.AspNetCore.Identity.csproj b/src/Identity/Core/src/Microsoft.AspNetCore.Identity.csproj index 69320a66693d..c4d2657b639a 100644 --- a/src/Identity/Core/src/Microsoft.AspNetCore.Identity.csproj +++ b/src/Identity/Core/src/Microsoft.AspNetCore.Identity.csproj @@ -6,7 +6,7 @@ true true aspnetcore;identity;membership - false + false diff --git a/src/Identity/EntityFrameworkCore/ref/Microsoft.AspNetCore.Identity.EntityFrameworkCore.csproj b/src/Identity/EntityFrameworkCore/ref/Microsoft.AspNetCore.Identity.EntityFrameworkCore.csproj deleted file mode 100644 index 5faea76cbdbd..000000000000 --- a/src/Identity/EntityFrameworkCore/ref/Microsoft.AspNetCore.Identity.EntityFrameworkCore.csproj +++ /dev/null @@ -1,16 +0,0 @@ - - - - netstandard2.1;$(DefaultNetCoreTargetFramework) - - - - - - - - - - - - diff --git a/src/Identity/EntityFrameworkCore/ref/Microsoft.AspNetCore.Identity.EntityFrameworkCore.netcoreapp.cs b/src/Identity/EntityFrameworkCore/ref/Microsoft.AspNetCore.Identity.EntityFrameworkCore.netcoreapp.cs deleted file mode 100644 index 6ce362ca0467..000000000000 --- a/src/Identity/EntityFrameworkCore/ref/Microsoft.AspNetCore.Identity.EntityFrameworkCore.netcoreapp.cs +++ /dev/null @@ -1,222 +0,0 @@ -// Copyright (c) .NET Foundation. All rights reserved. -// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. - -namespace Microsoft.AspNetCore.Identity.EntityFrameworkCore -{ - public partial class IdentityDbContext : Microsoft.AspNetCore.Identity.EntityFrameworkCore.IdentityDbContext - { - protected IdentityDbContext() { } - public IdentityDbContext(Microsoft.EntityFrameworkCore.DbContextOptions options) { } - } - public partial class IdentityDbContext : Microsoft.AspNetCore.Identity.EntityFrameworkCore.IdentityDbContext where TUser : Microsoft.AspNetCore.Identity.IdentityUser - { - protected IdentityDbContext() { } - public IdentityDbContext(Microsoft.EntityFrameworkCore.DbContextOptions options) { } - } - public partial class IdentityDbContext : Microsoft.AspNetCore.Identity.EntityFrameworkCore.IdentityDbContext, Microsoft.AspNetCore.Identity.IdentityUserRole, Microsoft.AspNetCore.Identity.IdentityUserLogin, Microsoft.AspNetCore.Identity.IdentityRoleClaim, Microsoft.AspNetCore.Identity.IdentityUserToken> where TUser : Microsoft.AspNetCore.Identity.IdentityUser where TRole : Microsoft.AspNetCore.Identity.IdentityRole where TKey : System.IEquatable - { - protected IdentityDbContext() { } - public IdentityDbContext(Microsoft.EntityFrameworkCore.DbContextOptions options) { } - } - public abstract partial class IdentityDbContext : Microsoft.AspNetCore.Identity.EntityFrameworkCore.IdentityUserContext where TUser : Microsoft.AspNetCore.Identity.IdentityUser where TRole : Microsoft.AspNetCore.Identity.IdentityRole where TKey : System.IEquatable where TUserClaim : Microsoft.AspNetCore.Identity.IdentityUserClaim where TUserRole : Microsoft.AspNetCore.Identity.IdentityUserRole where TUserLogin : Microsoft.AspNetCore.Identity.IdentityUserLogin where TRoleClaim : Microsoft.AspNetCore.Identity.IdentityRoleClaim where TUserToken : Microsoft.AspNetCore.Identity.IdentityUserToken - { - protected IdentityDbContext() { } - public IdentityDbContext(Microsoft.EntityFrameworkCore.DbContextOptions options) { } - public virtual Microsoft.EntityFrameworkCore.DbSet RoleClaims { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute] set { } } - public virtual Microsoft.EntityFrameworkCore.DbSet Roles { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute] set { } } - public virtual Microsoft.EntityFrameworkCore.DbSet UserRoles { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute] set { } } - protected override void OnModelCreating(Microsoft.EntityFrameworkCore.ModelBuilder builder) { } - } - public partial class IdentityUserContext : Microsoft.AspNetCore.Identity.EntityFrameworkCore.IdentityUserContext where TUser : Microsoft.AspNetCore.Identity.IdentityUser - { - protected IdentityUserContext() { } - public IdentityUserContext(Microsoft.EntityFrameworkCore.DbContextOptions options) { } - } - public partial class IdentityUserContext : Microsoft.AspNetCore.Identity.EntityFrameworkCore.IdentityUserContext, Microsoft.AspNetCore.Identity.IdentityUserLogin, Microsoft.AspNetCore.Identity.IdentityUserToken> where TUser : Microsoft.AspNetCore.Identity.IdentityUser where TKey : System.IEquatable - { - protected IdentityUserContext() { } - public IdentityUserContext(Microsoft.EntityFrameworkCore.DbContextOptions options) { } - } - public abstract partial class IdentityUserContext : Microsoft.EntityFrameworkCore.DbContext where TUser : Microsoft.AspNetCore.Identity.IdentityUser where TKey : System.IEquatable where TUserClaim : Microsoft.AspNetCore.Identity.IdentityUserClaim where TUserLogin : Microsoft.AspNetCore.Identity.IdentityUserLogin where TUserToken : Microsoft.AspNetCore.Identity.IdentityUserToken - { - protected IdentityUserContext() { } - public IdentityUserContext(Microsoft.EntityFrameworkCore.DbContextOptions options) { } - public virtual Microsoft.EntityFrameworkCore.DbSet UserClaims { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute] set { } } - public virtual Microsoft.EntityFrameworkCore.DbSet UserLogins { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute] set { } } - public virtual Microsoft.EntityFrameworkCore.DbSet Users { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute] set { } } - public virtual Microsoft.EntityFrameworkCore.DbSet UserTokens { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute] set { } } - protected override void OnModelCreating(Microsoft.EntityFrameworkCore.ModelBuilder builder) { } - } - public partial class RoleStore : Microsoft.AspNetCore.Identity.EntityFrameworkCore.RoleStore where TRole : Microsoft.AspNetCore.Identity.IdentityRole - { - public RoleStore(Microsoft.EntityFrameworkCore.DbContext context, Microsoft.AspNetCore.Identity.IdentityErrorDescriber describer = null) : base (default(Microsoft.EntityFrameworkCore.DbContext), default(Microsoft.AspNetCore.Identity.IdentityErrorDescriber)) { } - } - public partial class RoleStore : Microsoft.AspNetCore.Identity.EntityFrameworkCore.RoleStore where TRole : Microsoft.AspNetCore.Identity.IdentityRole where TContext : Microsoft.EntityFrameworkCore.DbContext - { - public RoleStore(TContext context, Microsoft.AspNetCore.Identity.IdentityErrorDescriber describer = null) : base (default(TContext), default(Microsoft.AspNetCore.Identity.IdentityErrorDescriber)) { } - } - public partial class RoleStore : Microsoft.AspNetCore.Identity.EntityFrameworkCore.RoleStore, Microsoft.AspNetCore.Identity.IdentityRoleClaim>, Microsoft.AspNetCore.Identity.IQueryableRoleStore, Microsoft.AspNetCore.Identity.IRoleClaimStore, Microsoft.AspNetCore.Identity.IRoleStore, System.IDisposable where TRole : Microsoft.AspNetCore.Identity.IdentityRole where TContext : Microsoft.EntityFrameworkCore.DbContext where TKey : System.IEquatable - { - public RoleStore(TContext context, Microsoft.AspNetCore.Identity.IdentityErrorDescriber describer = null) : base (default(TContext), default(Microsoft.AspNetCore.Identity.IdentityErrorDescriber)) { } - } - public partial class RoleStore : Microsoft.AspNetCore.Identity.IQueryableRoleStore, Microsoft.AspNetCore.Identity.IRoleClaimStore, Microsoft.AspNetCore.Identity.IRoleStore, System.IDisposable where TRole : Microsoft.AspNetCore.Identity.IdentityRole where TContext : Microsoft.EntityFrameworkCore.DbContext where TKey : System.IEquatable where TUserRole : Microsoft.AspNetCore.Identity.IdentityUserRole, new() where TRoleClaim : Microsoft.AspNetCore.Identity.IdentityRoleClaim, new() - { - public RoleStore(TContext context, Microsoft.AspNetCore.Identity.IdentityErrorDescriber describer = null) { } - public bool AutoSaveChanges { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute] set { } } - public virtual TContext Context { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } } - public Microsoft.AspNetCore.Identity.IdentityErrorDescriber ErrorDescriber { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute] set { } } - public virtual System.Linq.IQueryable Roles { get { throw null; } } - public virtual System.Threading.Tasks.Task AddClaimAsync(TRole role, System.Security.Claims.Claim claim, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) { throw null; } - public virtual TKey ConvertIdFromString(string id) { throw null; } - public virtual string ConvertIdToString(TKey id) { throw null; } - [System.Diagnostics.DebuggerStepThroughAttribute] - public virtual System.Threading.Tasks.Task CreateAsync(TRole role, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) { throw null; } - protected virtual TRoleClaim CreateRoleClaim(TRole role, System.Security.Claims.Claim claim) { throw null; } - [System.Diagnostics.DebuggerStepThroughAttribute] - public virtual System.Threading.Tasks.Task DeleteAsync(TRole role, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) { throw null; } - public void Dispose() { } - public virtual System.Threading.Tasks.Task FindByIdAsync(string id, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) { throw null; } - public virtual System.Threading.Tasks.Task FindByNameAsync(string normalizedName, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) { throw null; } - [System.Diagnostics.DebuggerStepThroughAttribute] - public virtual System.Threading.Tasks.Task> GetClaimsAsync(TRole role, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) { throw null; } - public virtual System.Threading.Tasks.Task GetNormalizedRoleNameAsync(TRole role, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) { throw null; } - public virtual System.Threading.Tasks.Task GetRoleIdAsync(TRole role, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) { throw null; } - public virtual System.Threading.Tasks.Task GetRoleNameAsync(TRole role, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) { throw null; } - [System.Diagnostics.DebuggerStepThroughAttribute] - public virtual System.Threading.Tasks.Task RemoveClaimAsync(TRole role, System.Security.Claims.Claim claim, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) { throw null; } - public virtual System.Threading.Tasks.Task SetNormalizedRoleNameAsync(TRole role, string normalizedName, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) { throw null; } - public virtual System.Threading.Tasks.Task SetRoleNameAsync(TRole role, string roleName, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) { throw null; } - protected void ThrowIfDisposed() { } - [System.Diagnostics.DebuggerStepThroughAttribute] - public virtual System.Threading.Tasks.Task UpdateAsync(TRole role, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) { throw null; } - } - public partial class UserOnlyStore : Microsoft.AspNetCore.Identity.EntityFrameworkCore.UserOnlyStore where TUser : Microsoft.AspNetCore.Identity.IdentityUser, new() - { - public UserOnlyStore(Microsoft.EntityFrameworkCore.DbContext context, Microsoft.AspNetCore.Identity.IdentityErrorDescriber describer = null) : base (default(Microsoft.EntityFrameworkCore.DbContext), default(Microsoft.AspNetCore.Identity.IdentityErrorDescriber)) { } - } - public partial class UserOnlyStore : Microsoft.AspNetCore.Identity.EntityFrameworkCore.UserOnlyStore where TUser : Microsoft.AspNetCore.Identity.IdentityUser where TContext : Microsoft.EntityFrameworkCore.DbContext - { - public UserOnlyStore(TContext context, Microsoft.AspNetCore.Identity.IdentityErrorDescriber describer = null) : base (default(TContext), default(Microsoft.AspNetCore.Identity.IdentityErrorDescriber)) { } - } - public partial class UserOnlyStore : Microsoft.AspNetCore.Identity.EntityFrameworkCore.UserOnlyStore, Microsoft.AspNetCore.Identity.IdentityUserLogin, Microsoft.AspNetCore.Identity.IdentityUserToken> where TUser : Microsoft.AspNetCore.Identity.IdentityUser where TContext : Microsoft.EntityFrameworkCore.DbContext where TKey : System.IEquatable - { - public UserOnlyStore(TContext context, Microsoft.AspNetCore.Identity.IdentityErrorDescriber describer = null) : base (default(TContext), default(Microsoft.AspNetCore.Identity.IdentityErrorDescriber)) { } - } - public partial class UserOnlyStore : Microsoft.AspNetCore.Identity.UserStoreBase, Microsoft.AspNetCore.Identity.IProtectedUserStore, Microsoft.AspNetCore.Identity.IQueryableUserStore, Microsoft.AspNetCore.Identity.IUserAuthenticationTokenStore, Microsoft.AspNetCore.Identity.IUserAuthenticatorKeyStore, Microsoft.AspNetCore.Identity.IUserClaimStore, Microsoft.AspNetCore.Identity.IUserEmailStore, Microsoft.AspNetCore.Identity.IUserLockoutStore, Microsoft.AspNetCore.Identity.IUserLoginStore, Microsoft.AspNetCore.Identity.IUserPasswordStore, Microsoft.AspNetCore.Identity.IUserPhoneNumberStore, Microsoft.AspNetCore.Identity.IUserSecurityStampStore, Microsoft.AspNetCore.Identity.IUserStore, Microsoft.AspNetCore.Identity.IUserTwoFactorRecoveryCodeStore, Microsoft.AspNetCore.Identity.IUserTwoFactorStore, System.IDisposable where TUser : Microsoft.AspNetCore.Identity.IdentityUser where TContext : Microsoft.EntityFrameworkCore.DbContext where TKey : System.IEquatable where TUserClaim : Microsoft.AspNetCore.Identity.IdentityUserClaim, new() where TUserLogin : Microsoft.AspNetCore.Identity.IdentityUserLogin, new() where TUserToken : Microsoft.AspNetCore.Identity.IdentityUserToken, new() - { - public UserOnlyStore(TContext context, Microsoft.AspNetCore.Identity.IdentityErrorDescriber describer = null) : base (default(Microsoft.AspNetCore.Identity.IdentityErrorDescriber)) { } - public bool AutoSaveChanges { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute] set { } } - public virtual TContext Context { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } } - protected Microsoft.EntityFrameworkCore.DbSet UserClaims { get { throw null; } } - protected Microsoft.EntityFrameworkCore.DbSet UserLogins { get { throw null; } } - public override System.Linq.IQueryable Users { get { throw null; } } - protected Microsoft.EntityFrameworkCore.DbSet UsersSet { get { throw null; } } - protected Microsoft.EntityFrameworkCore.DbSet UserTokens { get { throw null; } } - public override System.Threading.Tasks.Task AddClaimsAsync(TUser user, System.Collections.Generic.IEnumerable claims, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) { throw null; } - public override System.Threading.Tasks.Task AddLoginAsync(TUser user, Microsoft.AspNetCore.Identity.UserLoginInfo login, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) { throw null; } - protected override System.Threading.Tasks.Task AddUserTokenAsync(TUserToken token) { throw null; } - [System.Diagnostics.DebuggerStepThroughAttribute] - public override System.Threading.Tasks.Task CreateAsync(TUser user, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) { throw null; } - [System.Diagnostics.DebuggerStepThroughAttribute] - public override System.Threading.Tasks.Task DeleteAsync(TUser user, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) { throw null; } - public override System.Threading.Tasks.Task FindByEmailAsync(string normalizedEmail, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) { throw null; } - public override System.Threading.Tasks.Task FindByIdAsync(string userId, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) { throw null; } - [System.Diagnostics.DebuggerStepThroughAttribute] - public override System.Threading.Tasks.Task FindByLoginAsync(string loginProvider, string providerKey, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) { throw null; } - public override System.Threading.Tasks.Task FindByNameAsync(string normalizedUserName, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) { throw null; } - protected override System.Threading.Tasks.Task FindTokenAsync(TUser user, string loginProvider, string name, System.Threading.CancellationToken cancellationToken) { throw null; } - protected override System.Threading.Tasks.Task FindUserAsync(TKey userId, System.Threading.CancellationToken cancellationToken) { throw null; } - protected override System.Threading.Tasks.Task FindUserLoginAsync(string loginProvider, string providerKey, System.Threading.CancellationToken cancellationToken) { throw null; } - protected override System.Threading.Tasks.Task FindUserLoginAsync(TKey userId, string loginProvider, string providerKey, System.Threading.CancellationToken cancellationToken) { throw null; } - [System.Diagnostics.DebuggerStepThroughAttribute] - public override System.Threading.Tasks.Task> GetClaimsAsync(TUser user, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) { throw null; } - [System.Diagnostics.DebuggerStepThroughAttribute] - public override System.Threading.Tasks.Task> GetLoginsAsync(TUser user, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) { throw null; } - [System.Diagnostics.DebuggerStepThroughAttribute] - public override System.Threading.Tasks.Task> GetUsersForClaimAsync(System.Security.Claims.Claim claim, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) { throw null; } - [System.Diagnostics.DebuggerStepThroughAttribute] - public override System.Threading.Tasks.Task RemoveClaimsAsync(TUser user, System.Collections.Generic.IEnumerable claims, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) { throw null; } - [System.Diagnostics.DebuggerStepThroughAttribute] - public override System.Threading.Tasks.Task RemoveLoginAsync(TUser user, string loginProvider, string providerKey, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) { throw null; } - protected override System.Threading.Tasks.Task RemoveUserTokenAsync(TUserToken token) { throw null; } - [System.Diagnostics.DebuggerStepThroughAttribute] - public override System.Threading.Tasks.Task ReplaceClaimAsync(TUser user, System.Security.Claims.Claim claim, System.Security.Claims.Claim newClaim, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) { throw null; } - protected System.Threading.Tasks.Task SaveChanges(System.Threading.CancellationToken cancellationToken) { throw null; } - [System.Diagnostics.DebuggerStepThroughAttribute] - public override System.Threading.Tasks.Task UpdateAsync(TUser user, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) { throw null; } - } - public partial class UserStore : Microsoft.AspNetCore.Identity.EntityFrameworkCore.UserStore> - { - public UserStore(Microsoft.EntityFrameworkCore.DbContext context, Microsoft.AspNetCore.Identity.IdentityErrorDescriber describer = null) : base (default(Microsoft.EntityFrameworkCore.DbContext), default(Microsoft.AspNetCore.Identity.IdentityErrorDescriber)) { } - } - public partial class UserStore : Microsoft.AspNetCore.Identity.EntityFrameworkCore.UserStore where TUser : Microsoft.AspNetCore.Identity.IdentityUser, new() - { - public UserStore(Microsoft.EntityFrameworkCore.DbContext context, Microsoft.AspNetCore.Identity.IdentityErrorDescriber describer = null) : base (default(Microsoft.EntityFrameworkCore.DbContext), default(Microsoft.AspNetCore.Identity.IdentityErrorDescriber)) { } - } - public partial class UserStore : Microsoft.AspNetCore.Identity.EntityFrameworkCore.UserStore where TUser : Microsoft.AspNetCore.Identity.IdentityUser where TRole : Microsoft.AspNetCore.Identity.IdentityRole where TContext : Microsoft.EntityFrameworkCore.DbContext - { - public UserStore(TContext context, Microsoft.AspNetCore.Identity.IdentityErrorDescriber describer = null) : base (default(TContext), default(Microsoft.AspNetCore.Identity.IdentityErrorDescriber)) { } - } - public partial class UserStore : Microsoft.AspNetCore.Identity.EntityFrameworkCore.UserStore, Microsoft.AspNetCore.Identity.IdentityUserRole, Microsoft.AspNetCore.Identity.IdentityUserLogin, Microsoft.AspNetCore.Identity.IdentityUserToken, Microsoft.AspNetCore.Identity.IdentityRoleClaim> where TUser : Microsoft.AspNetCore.Identity.IdentityUser where TRole : Microsoft.AspNetCore.Identity.IdentityRole where TContext : Microsoft.EntityFrameworkCore.DbContext where TKey : System.IEquatable - { - public UserStore(TContext context, Microsoft.AspNetCore.Identity.IdentityErrorDescriber describer = null) : base (default(TContext), default(Microsoft.AspNetCore.Identity.IdentityErrorDescriber)) { } - } - public partial class UserStore : Microsoft.AspNetCore.Identity.UserStoreBase, Microsoft.AspNetCore.Identity.IProtectedUserStore, Microsoft.AspNetCore.Identity.IUserStore, System.IDisposable where TUser : Microsoft.AspNetCore.Identity.IdentityUser where TRole : Microsoft.AspNetCore.Identity.IdentityRole where TContext : Microsoft.EntityFrameworkCore.DbContext where TKey : System.IEquatable where TUserClaim : Microsoft.AspNetCore.Identity.IdentityUserClaim, new() where TUserRole : Microsoft.AspNetCore.Identity.IdentityUserRole, new() where TUserLogin : Microsoft.AspNetCore.Identity.IdentityUserLogin, new() where TUserToken : Microsoft.AspNetCore.Identity.IdentityUserToken, new() where TRoleClaim : Microsoft.AspNetCore.Identity.IdentityRoleClaim, new() - { - public UserStore(TContext context, Microsoft.AspNetCore.Identity.IdentityErrorDescriber describer = null) : base (default(Microsoft.AspNetCore.Identity.IdentityErrorDescriber)) { } - public bool AutoSaveChanges { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute] set { } } - public virtual TContext Context { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } } - public override System.Linq.IQueryable Users { get { throw null; } } - public override System.Threading.Tasks.Task AddClaimsAsync(TUser user, System.Collections.Generic.IEnumerable claims, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) { throw null; } - public override System.Threading.Tasks.Task AddLoginAsync(TUser user, Microsoft.AspNetCore.Identity.UserLoginInfo login, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) { throw null; } - [System.Diagnostics.DebuggerStepThroughAttribute] - public override System.Threading.Tasks.Task AddToRoleAsync(TUser user, string normalizedRoleName, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) { throw null; } - protected override System.Threading.Tasks.Task AddUserTokenAsync(TUserToken token) { throw null; } - [System.Diagnostics.DebuggerStepThroughAttribute] - public override System.Threading.Tasks.Task CreateAsync(TUser user, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) { throw null; } - [System.Diagnostics.DebuggerStepThroughAttribute] - public override System.Threading.Tasks.Task DeleteAsync(TUser user, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) { throw null; } - public override System.Threading.Tasks.Task FindByEmailAsync(string normalizedEmail, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) { throw null; } - public override System.Threading.Tasks.Task FindByIdAsync(string userId, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) { throw null; } - [System.Diagnostics.DebuggerStepThroughAttribute] - public override System.Threading.Tasks.Task FindByLoginAsync(string loginProvider, string providerKey, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) { throw null; } - public override System.Threading.Tasks.Task FindByNameAsync(string normalizedUserName, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) { throw null; } - protected override System.Threading.Tasks.Task FindRoleAsync(string normalizedRoleName, System.Threading.CancellationToken cancellationToken) { throw null; } - protected override System.Threading.Tasks.Task FindTokenAsync(TUser user, string loginProvider, string name, System.Threading.CancellationToken cancellationToken) { throw null; } - protected override System.Threading.Tasks.Task FindUserAsync(TKey userId, System.Threading.CancellationToken cancellationToken) { throw null; } - protected override System.Threading.Tasks.Task FindUserLoginAsync(string loginProvider, string providerKey, System.Threading.CancellationToken cancellationToken) { throw null; } - protected override System.Threading.Tasks.Task FindUserLoginAsync(TKey userId, string loginProvider, string providerKey, System.Threading.CancellationToken cancellationToken) { throw null; } - protected override System.Threading.Tasks.Task FindUserRoleAsync(TKey userId, TKey roleId, System.Threading.CancellationToken cancellationToken) { throw null; } - [System.Diagnostics.DebuggerStepThroughAttribute] - public override System.Threading.Tasks.Task> GetClaimsAsync(TUser user, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) { throw null; } - [System.Diagnostics.DebuggerStepThroughAttribute] - public override System.Threading.Tasks.Task> GetLoginsAsync(TUser user, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) { throw null; } - [System.Diagnostics.DebuggerStepThroughAttribute] - public override System.Threading.Tasks.Task> GetRolesAsync(TUser user, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) { throw null; } - [System.Diagnostics.DebuggerStepThroughAttribute] - public override System.Threading.Tasks.Task> GetUsersForClaimAsync(System.Security.Claims.Claim claim, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) { throw null; } - [System.Diagnostics.DebuggerStepThroughAttribute] - public override System.Threading.Tasks.Task> GetUsersInRoleAsync(string normalizedRoleName, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) { throw null; } - [System.Diagnostics.DebuggerStepThroughAttribute] - public override System.Threading.Tasks.Task IsInRoleAsync(TUser user, string normalizedRoleName, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) { throw null; } - [System.Diagnostics.DebuggerStepThroughAttribute] - public override System.Threading.Tasks.Task RemoveClaimsAsync(TUser user, System.Collections.Generic.IEnumerable claims, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) { throw null; } - [System.Diagnostics.DebuggerStepThroughAttribute] - public override System.Threading.Tasks.Task RemoveFromRoleAsync(TUser user, string normalizedRoleName, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) { throw null; } - [System.Diagnostics.DebuggerStepThroughAttribute] - public override System.Threading.Tasks.Task RemoveLoginAsync(TUser user, string loginProvider, string providerKey, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) { throw null; } - protected override System.Threading.Tasks.Task RemoveUserTokenAsync(TUserToken token) { throw null; } - [System.Diagnostics.DebuggerStepThroughAttribute] - public override System.Threading.Tasks.Task ReplaceClaimAsync(TUser user, System.Security.Claims.Claim claim, System.Security.Claims.Claim newClaim, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) { throw null; } - protected System.Threading.Tasks.Task SaveChanges(System.Threading.CancellationToken cancellationToken) { throw null; } - [System.Diagnostics.DebuggerStepThroughAttribute] - public override System.Threading.Tasks.Task UpdateAsync(TUser user, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) { throw null; } - } -} -namespace Microsoft.Extensions.DependencyInjection -{ - public static partial class IdentityEntityFrameworkBuilderExtensions - { - public static Microsoft.AspNetCore.Identity.IdentityBuilder AddEntityFrameworkStores(this Microsoft.AspNetCore.Identity.IdentityBuilder builder) where TContext : Microsoft.EntityFrameworkCore.DbContext { throw null; } - } -} diff --git a/src/Identity/EntityFrameworkCore/ref/Microsoft.AspNetCore.Identity.EntityFrameworkCore.netstandard2.1.cs b/src/Identity/EntityFrameworkCore/ref/Microsoft.AspNetCore.Identity.EntityFrameworkCore.netstandard2.1.cs deleted file mode 100644 index 6ce362ca0467..000000000000 --- a/src/Identity/EntityFrameworkCore/ref/Microsoft.AspNetCore.Identity.EntityFrameworkCore.netstandard2.1.cs +++ /dev/null @@ -1,222 +0,0 @@ -// Copyright (c) .NET Foundation. All rights reserved. -// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. - -namespace Microsoft.AspNetCore.Identity.EntityFrameworkCore -{ - public partial class IdentityDbContext : Microsoft.AspNetCore.Identity.EntityFrameworkCore.IdentityDbContext - { - protected IdentityDbContext() { } - public IdentityDbContext(Microsoft.EntityFrameworkCore.DbContextOptions options) { } - } - public partial class IdentityDbContext : Microsoft.AspNetCore.Identity.EntityFrameworkCore.IdentityDbContext where TUser : Microsoft.AspNetCore.Identity.IdentityUser - { - protected IdentityDbContext() { } - public IdentityDbContext(Microsoft.EntityFrameworkCore.DbContextOptions options) { } - } - public partial class IdentityDbContext : Microsoft.AspNetCore.Identity.EntityFrameworkCore.IdentityDbContext, Microsoft.AspNetCore.Identity.IdentityUserRole, Microsoft.AspNetCore.Identity.IdentityUserLogin, Microsoft.AspNetCore.Identity.IdentityRoleClaim, Microsoft.AspNetCore.Identity.IdentityUserToken> where TUser : Microsoft.AspNetCore.Identity.IdentityUser where TRole : Microsoft.AspNetCore.Identity.IdentityRole where TKey : System.IEquatable - { - protected IdentityDbContext() { } - public IdentityDbContext(Microsoft.EntityFrameworkCore.DbContextOptions options) { } - } - public abstract partial class IdentityDbContext : Microsoft.AspNetCore.Identity.EntityFrameworkCore.IdentityUserContext where TUser : Microsoft.AspNetCore.Identity.IdentityUser where TRole : Microsoft.AspNetCore.Identity.IdentityRole where TKey : System.IEquatable where TUserClaim : Microsoft.AspNetCore.Identity.IdentityUserClaim where TUserRole : Microsoft.AspNetCore.Identity.IdentityUserRole where TUserLogin : Microsoft.AspNetCore.Identity.IdentityUserLogin where TRoleClaim : Microsoft.AspNetCore.Identity.IdentityRoleClaim where TUserToken : Microsoft.AspNetCore.Identity.IdentityUserToken - { - protected IdentityDbContext() { } - public IdentityDbContext(Microsoft.EntityFrameworkCore.DbContextOptions options) { } - public virtual Microsoft.EntityFrameworkCore.DbSet RoleClaims { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute] set { } } - public virtual Microsoft.EntityFrameworkCore.DbSet Roles { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute] set { } } - public virtual Microsoft.EntityFrameworkCore.DbSet UserRoles { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute] set { } } - protected override void OnModelCreating(Microsoft.EntityFrameworkCore.ModelBuilder builder) { } - } - public partial class IdentityUserContext : Microsoft.AspNetCore.Identity.EntityFrameworkCore.IdentityUserContext where TUser : Microsoft.AspNetCore.Identity.IdentityUser - { - protected IdentityUserContext() { } - public IdentityUserContext(Microsoft.EntityFrameworkCore.DbContextOptions options) { } - } - public partial class IdentityUserContext : Microsoft.AspNetCore.Identity.EntityFrameworkCore.IdentityUserContext, Microsoft.AspNetCore.Identity.IdentityUserLogin, Microsoft.AspNetCore.Identity.IdentityUserToken> where TUser : Microsoft.AspNetCore.Identity.IdentityUser where TKey : System.IEquatable - { - protected IdentityUserContext() { } - public IdentityUserContext(Microsoft.EntityFrameworkCore.DbContextOptions options) { } - } - public abstract partial class IdentityUserContext : Microsoft.EntityFrameworkCore.DbContext where TUser : Microsoft.AspNetCore.Identity.IdentityUser where TKey : System.IEquatable where TUserClaim : Microsoft.AspNetCore.Identity.IdentityUserClaim where TUserLogin : Microsoft.AspNetCore.Identity.IdentityUserLogin where TUserToken : Microsoft.AspNetCore.Identity.IdentityUserToken - { - protected IdentityUserContext() { } - public IdentityUserContext(Microsoft.EntityFrameworkCore.DbContextOptions options) { } - public virtual Microsoft.EntityFrameworkCore.DbSet UserClaims { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute] set { } } - public virtual Microsoft.EntityFrameworkCore.DbSet UserLogins { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute] set { } } - public virtual Microsoft.EntityFrameworkCore.DbSet Users { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute] set { } } - public virtual Microsoft.EntityFrameworkCore.DbSet UserTokens { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute] set { } } - protected override void OnModelCreating(Microsoft.EntityFrameworkCore.ModelBuilder builder) { } - } - public partial class RoleStore : Microsoft.AspNetCore.Identity.EntityFrameworkCore.RoleStore where TRole : Microsoft.AspNetCore.Identity.IdentityRole - { - public RoleStore(Microsoft.EntityFrameworkCore.DbContext context, Microsoft.AspNetCore.Identity.IdentityErrorDescriber describer = null) : base (default(Microsoft.EntityFrameworkCore.DbContext), default(Microsoft.AspNetCore.Identity.IdentityErrorDescriber)) { } - } - public partial class RoleStore : Microsoft.AspNetCore.Identity.EntityFrameworkCore.RoleStore where TRole : Microsoft.AspNetCore.Identity.IdentityRole where TContext : Microsoft.EntityFrameworkCore.DbContext - { - public RoleStore(TContext context, Microsoft.AspNetCore.Identity.IdentityErrorDescriber describer = null) : base (default(TContext), default(Microsoft.AspNetCore.Identity.IdentityErrorDescriber)) { } - } - public partial class RoleStore : Microsoft.AspNetCore.Identity.EntityFrameworkCore.RoleStore, Microsoft.AspNetCore.Identity.IdentityRoleClaim>, Microsoft.AspNetCore.Identity.IQueryableRoleStore, Microsoft.AspNetCore.Identity.IRoleClaimStore, Microsoft.AspNetCore.Identity.IRoleStore, System.IDisposable where TRole : Microsoft.AspNetCore.Identity.IdentityRole where TContext : Microsoft.EntityFrameworkCore.DbContext where TKey : System.IEquatable - { - public RoleStore(TContext context, Microsoft.AspNetCore.Identity.IdentityErrorDescriber describer = null) : base (default(TContext), default(Microsoft.AspNetCore.Identity.IdentityErrorDescriber)) { } - } - public partial class RoleStore : Microsoft.AspNetCore.Identity.IQueryableRoleStore, Microsoft.AspNetCore.Identity.IRoleClaimStore, Microsoft.AspNetCore.Identity.IRoleStore, System.IDisposable where TRole : Microsoft.AspNetCore.Identity.IdentityRole where TContext : Microsoft.EntityFrameworkCore.DbContext where TKey : System.IEquatable where TUserRole : Microsoft.AspNetCore.Identity.IdentityUserRole, new() where TRoleClaim : Microsoft.AspNetCore.Identity.IdentityRoleClaim, new() - { - public RoleStore(TContext context, Microsoft.AspNetCore.Identity.IdentityErrorDescriber describer = null) { } - public bool AutoSaveChanges { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute] set { } } - public virtual TContext Context { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } } - public Microsoft.AspNetCore.Identity.IdentityErrorDescriber ErrorDescriber { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute] set { } } - public virtual System.Linq.IQueryable Roles { get { throw null; } } - public virtual System.Threading.Tasks.Task AddClaimAsync(TRole role, System.Security.Claims.Claim claim, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) { throw null; } - public virtual TKey ConvertIdFromString(string id) { throw null; } - public virtual string ConvertIdToString(TKey id) { throw null; } - [System.Diagnostics.DebuggerStepThroughAttribute] - public virtual System.Threading.Tasks.Task CreateAsync(TRole role, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) { throw null; } - protected virtual TRoleClaim CreateRoleClaim(TRole role, System.Security.Claims.Claim claim) { throw null; } - [System.Diagnostics.DebuggerStepThroughAttribute] - public virtual System.Threading.Tasks.Task DeleteAsync(TRole role, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) { throw null; } - public void Dispose() { } - public virtual System.Threading.Tasks.Task FindByIdAsync(string id, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) { throw null; } - public virtual System.Threading.Tasks.Task FindByNameAsync(string normalizedName, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) { throw null; } - [System.Diagnostics.DebuggerStepThroughAttribute] - public virtual System.Threading.Tasks.Task> GetClaimsAsync(TRole role, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) { throw null; } - public virtual System.Threading.Tasks.Task GetNormalizedRoleNameAsync(TRole role, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) { throw null; } - public virtual System.Threading.Tasks.Task GetRoleIdAsync(TRole role, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) { throw null; } - public virtual System.Threading.Tasks.Task GetRoleNameAsync(TRole role, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) { throw null; } - [System.Diagnostics.DebuggerStepThroughAttribute] - public virtual System.Threading.Tasks.Task RemoveClaimAsync(TRole role, System.Security.Claims.Claim claim, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) { throw null; } - public virtual System.Threading.Tasks.Task SetNormalizedRoleNameAsync(TRole role, string normalizedName, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) { throw null; } - public virtual System.Threading.Tasks.Task SetRoleNameAsync(TRole role, string roleName, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) { throw null; } - protected void ThrowIfDisposed() { } - [System.Diagnostics.DebuggerStepThroughAttribute] - public virtual System.Threading.Tasks.Task UpdateAsync(TRole role, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) { throw null; } - } - public partial class UserOnlyStore : Microsoft.AspNetCore.Identity.EntityFrameworkCore.UserOnlyStore where TUser : Microsoft.AspNetCore.Identity.IdentityUser, new() - { - public UserOnlyStore(Microsoft.EntityFrameworkCore.DbContext context, Microsoft.AspNetCore.Identity.IdentityErrorDescriber describer = null) : base (default(Microsoft.EntityFrameworkCore.DbContext), default(Microsoft.AspNetCore.Identity.IdentityErrorDescriber)) { } - } - public partial class UserOnlyStore : Microsoft.AspNetCore.Identity.EntityFrameworkCore.UserOnlyStore where TUser : Microsoft.AspNetCore.Identity.IdentityUser where TContext : Microsoft.EntityFrameworkCore.DbContext - { - public UserOnlyStore(TContext context, Microsoft.AspNetCore.Identity.IdentityErrorDescriber describer = null) : base (default(TContext), default(Microsoft.AspNetCore.Identity.IdentityErrorDescriber)) { } - } - public partial class UserOnlyStore : Microsoft.AspNetCore.Identity.EntityFrameworkCore.UserOnlyStore, Microsoft.AspNetCore.Identity.IdentityUserLogin, Microsoft.AspNetCore.Identity.IdentityUserToken> where TUser : Microsoft.AspNetCore.Identity.IdentityUser where TContext : Microsoft.EntityFrameworkCore.DbContext where TKey : System.IEquatable - { - public UserOnlyStore(TContext context, Microsoft.AspNetCore.Identity.IdentityErrorDescriber describer = null) : base (default(TContext), default(Microsoft.AspNetCore.Identity.IdentityErrorDescriber)) { } - } - public partial class UserOnlyStore : Microsoft.AspNetCore.Identity.UserStoreBase, Microsoft.AspNetCore.Identity.IProtectedUserStore, Microsoft.AspNetCore.Identity.IQueryableUserStore, Microsoft.AspNetCore.Identity.IUserAuthenticationTokenStore, Microsoft.AspNetCore.Identity.IUserAuthenticatorKeyStore, Microsoft.AspNetCore.Identity.IUserClaimStore, Microsoft.AspNetCore.Identity.IUserEmailStore, Microsoft.AspNetCore.Identity.IUserLockoutStore, Microsoft.AspNetCore.Identity.IUserLoginStore, Microsoft.AspNetCore.Identity.IUserPasswordStore, Microsoft.AspNetCore.Identity.IUserPhoneNumberStore, Microsoft.AspNetCore.Identity.IUserSecurityStampStore, Microsoft.AspNetCore.Identity.IUserStore, Microsoft.AspNetCore.Identity.IUserTwoFactorRecoveryCodeStore, Microsoft.AspNetCore.Identity.IUserTwoFactorStore, System.IDisposable where TUser : Microsoft.AspNetCore.Identity.IdentityUser where TContext : Microsoft.EntityFrameworkCore.DbContext where TKey : System.IEquatable where TUserClaim : Microsoft.AspNetCore.Identity.IdentityUserClaim, new() where TUserLogin : Microsoft.AspNetCore.Identity.IdentityUserLogin, new() where TUserToken : Microsoft.AspNetCore.Identity.IdentityUserToken, new() - { - public UserOnlyStore(TContext context, Microsoft.AspNetCore.Identity.IdentityErrorDescriber describer = null) : base (default(Microsoft.AspNetCore.Identity.IdentityErrorDescriber)) { } - public bool AutoSaveChanges { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute] set { } } - public virtual TContext Context { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } } - protected Microsoft.EntityFrameworkCore.DbSet UserClaims { get { throw null; } } - protected Microsoft.EntityFrameworkCore.DbSet UserLogins { get { throw null; } } - public override System.Linq.IQueryable Users { get { throw null; } } - protected Microsoft.EntityFrameworkCore.DbSet UsersSet { get { throw null; } } - protected Microsoft.EntityFrameworkCore.DbSet UserTokens { get { throw null; } } - public override System.Threading.Tasks.Task AddClaimsAsync(TUser user, System.Collections.Generic.IEnumerable claims, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) { throw null; } - public override System.Threading.Tasks.Task AddLoginAsync(TUser user, Microsoft.AspNetCore.Identity.UserLoginInfo login, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) { throw null; } - protected override System.Threading.Tasks.Task AddUserTokenAsync(TUserToken token) { throw null; } - [System.Diagnostics.DebuggerStepThroughAttribute] - public override System.Threading.Tasks.Task CreateAsync(TUser user, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) { throw null; } - [System.Diagnostics.DebuggerStepThroughAttribute] - public override System.Threading.Tasks.Task DeleteAsync(TUser user, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) { throw null; } - public override System.Threading.Tasks.Task FindByEmailAsync(string normalizedEmail, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) { throw null; } - public override System.Threading.Tasks.Task FindByIdAsync(string userId, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) { throw null; } - [System.Diagnostics.DebuggerStepThroughAttribute] - public override System.Threading.Tasks.Task FindByLoginAsync(string loginProvider, string providerKey, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) { throw null; } - public override System.Threading.Tasks.Task FindByNameAsync(string normalizedUserName, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) { throw null; } - protected override System.Threading.Tasks.Task FindTokenAsync(TUser user, string loginProvider, string name, System.Threading.CancellationToken cancellationToken) { throw null; } - protected override System.Threading.Tasks.Task FindUserAsync(TKey userId, System.Threading.CancellationToken cancellationToken) { throw null; } - protected override System.Threading.Tasks.Task FindUserLoginAsync(string loginProvider, string providerKey, System.Threading.CancellationToken cancellationToken) { throw null; } - protected override System.Threading.Tasks.Task FindUserLoginAsync(TKey userId, string loginProvider, string providerKey, System.Threading.CancellationToken cancellationToken) { throw null; } - [System.Diagnostics.DebuggerStepThroughAttribute] - public override System.Threading.Tasks.Task> GetClaimsAsync(TUser user, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) { throw null; } - [System.Diagnostics.DebuggerStepThroughAttribute] - public override System.Threading.Tasks.Task> GetLoginsAsync(TUser user, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) { throw null; } - [System.Diagnostics.DebuggerStepThroughAttribute] - public override System.Threading.Tasks.Task> GetUsersForClaimAsync(System.Security.Claims.Claim claim, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) { throw null; } - [System.Diagnostics.DebuggerStepThroughAttribute] - public override System.Threading.Tasks.Task RemoveClaimsAsync(TUser user, System.Collections.Generic.IEnumerable claims, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) { throw null; } - [System.Diagnostics.DebuggerStepThroughAttribute] - public override System.Threading.Tasks.Task RemoveLoginAsync(TUser user, string loginProvider, string providerKey, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) { throw null; } - protected override System.Threading.Tasks.Task RemoveUserTokenAsync(TUserToken token) { throw null; } - [System.Diagnostics.DebuggerStepThroughAttribute] - public override System.Threading.Tasks.Task ReplaceClaimAsync(TUser user, System.Security.Claims.Claim claim, System.Security.Claims.Claim newClaim, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) { throw null; } - protected System.Threading.Tasks.Task SaveChanges(System.Threading.CancellationToken cancellationToken) { throw null; } - [System.Diagnostics.DebuggerStepThroughAttribute] - public override System.Threading.Tasks.Task UpdateAsync(TUser user, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) { throw null; } - } - public partial class UserStore : Microsoft.AspNetCore.Identity.EntityFrameworkCore.UserStore> - { - public UserStore(Microsoft.EntityFrameworkCore.DbContext context, Microsoft.AspNetCore.Identity.IdentityErrorDescriber describer = null) : base (default(Microsoft.EntityFrameworkCore.DbContext), default(Microsoft.AspNetCore.Identity.IdentityErrorDescriber)) { } - } - public partial class UserStore : Microsoft.AspNetCore.Identity.EntityFrameworkCore.UserStore where TUser : Microsoft.AspNetCore.Identity.IdentityUser, new() - { - public UserStore(Microsoft.EntityFrameworkCore.DbContext context, Microsoft.AspNetCore.Identity.IdentityErrorDescriber describer = null) : base (default(Microsoft.EntityFrameworkCore.DbContext), default(Microsoft.AspNetCore.Identity.IdentityErrorDescriber)) { } - } - public partial class UserStore : Microsoft.AspNetCore.Identity.EntityFrameworkCore.UserStore where TUser : Microsoft.AspNetCore.Identity.IdentityUser where TRole : Microsoft.AspNetCore.Identity.IdentityRole where TContext : Microsoft.EntityFrameworkCore.DbContext - { - public UserStore(TContext context, Microsoft.AspNetCore.Identity.IdentityErrorDescriber describer = null) : base (default(TContext), default(Microsoft.AspNetCore.Identity.IdentityErrorDescriber)) { } - } - public partial class UserStore : Microsoft.AspNetCore.Identity.EntityFrameworkCore.UserStore, Microsoft.AspNetCore.Identity.IdentityUserRole, Microsoft.AspNetCore.Identity.IdentityUserLogin, Microsoft.AspNetCore.Identity.IdentityUserToken, Microsoft.AspNetCore.Identity.IdentityRoleClaim> where TUser : Microsoft.AspNetCore.Identity.IdentityUser where TRole : Microsoft.AspNetCore.Identity.IdentityRole where TContext : Microsoft.EntityFrameworkCore.DbContext where TKey : System.IEquatable - { - public UserStore(TContext context, Microsoft.AspNetCore.Identity.IdentityErrorDescriber describer = null) : base (default(TContext), default(Microsoft.AspNetCore.Identity.IdentityErrorDescriber)) { } - } - public partial class UserStore : Microsoft.AspNetCore.Identity.UserStoreBase, Microsoft.AspNetCore.Identity.IProtectedUserStore, Microsoft.AspNetCore.Identity.IUserStore, System.IDisposable where TUser : Microsoft.AspNetCore.Identity.IdentityUser where TRole : Microsoft.AspNetCore.Identity.IdentityRole where TContext : Microsoft.EntityFrameworkCore.DbContext where TKey : System.IEquatable where TUserClaim : Microsoft.AspNetCore.Identity.IdentityUserClaim, new() where TUserRole : Microsoft.AspNetCore.Identity.IdentityUserRole, new() where TUserLogin : Microsoft.AspNetCore.Identity.IdentityUserLogin, new() where TUserToken : Microsoft.AspNetCore.Identity.IdentityUserToken, new() where TRoleClaim : Microsoft.AspNetCore.Identity.IdentityRoleClaim, new() - { - public UserStore(TContext context, Microsoft.AspNetCore.Identity.IdentityErrorDescriber describer = null) : base (default(Microsoft.AspNetCore.Identity.IdentityErrorDescriber)) { } - public bool AutoSaveChanges { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute] set { } } - public virtual TContext Context { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } } - public override System.Linq.IQueryable Users { get { throw null; } } - public override System.Threading.Tasks.Task AddClaimsAsync(TUser user, System.Collections.Generic.IEnumerable claims, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) { throw null; } - public override System.Threading.Tasks.Task AddLoginAsync(TUser user, Microsoft.AspNetCore.Identity.UserLoginInfo login, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) { throw null; } - [System.Diagnostics.DebuggerStepThroughAttribute] - public override System.Threading.Tasks.Task AddToRoleAsync(TUser user, string normalizedRoleName, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) { throw null; } - protected override System.Threading.Tasks.Task AddUserTokenAsync(TUserToken token) { throw null; } - [System.Diagnostics.DebuggerStepThroughAttribute] - public override System.Threading.Tasks.Task CreateAsync(TUser user, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) { throw null; } - [System.Diagnostics.DebuggerStepThroughAttribute] - public override System.Threading.Tasks.Task DeleteAsync(TUser user, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) { throw null; } - public override System.Threading.Tasks.Task FindByEmailAsync(string normalizedEmail, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) { throw null; } - public override System.Threading.Tasks.Task FindByIdAsync(string userId, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) { throw null; } - [System.Diagnostics.DebuggerStepThroughAttribute] - public override System.Threading.Tasks.Task FindByLoginAsync(string loginProvider, string providerKey, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) { throw null; } - public override System.Threading.Tasks.Task FindByNameAsync(string normalizedUserName, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) { throw null; } - protected override System.Threading.Tasks.Task FindRoleAsync(string normalizedRoleName, System.Threading.CancellationToken cancellationToken) { throw null; } - protected override System.Threading.Tasks.Task FindTokenAsync(TUser user, string loginProvider, string name, System.Threading.CancellationToken cancellationToken) { throw null; } - protected override System.Threading.Tasks.Task FindUserAsync(TKey userId, System.Threading.CancellationToken cancellationToken) { throw null; } - protected override System.Threading.Tasks.Task FindUserLoginAsync(string loginProvider, string providerKey, System.Threading.CancellationToken cancellationToken) { throw null; } - protected override System.Threading.Tasks.Task FindUserLoginAsync(TKey userId, string loginProvider, string providerKey, System.Threading.CancellationToken cancellationToken) { throw null; } - protected override System.Threading.Tasks.Task FindUserRoleAsync(TKey userId, TKey roleId, System.Threading.CancellationToken cancellationToken) { throw null; } - [System.Diagnostics.DebuggerStepThroughAttribute] - public override System.Threading.Tasks.Task> GetClaimsAsync(TUser user, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) { throw null; } - [System.Diagnostics.DebuggerStepThroughAttribute] - public override System.Threading.Tasks.Task> GetLoginsAsync(TUser user, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) { throw null; } - [System.Diagnostics.DebuggerStepThroughAttribute] - public override System.Threading.Tasks.Task> GetRolesAsync(TUser user, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) { throw null; } - [System.Diagnostics.DebuggerStepThroughAttribute] - public override System.Threading.Tasks.Task> GetUsersForClaimAsync(System.Security.Claims.Claim claim, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) { throw null; } - [System.Diagnostics.DebuggerStepThroughAttribute] - public override System.Threading.Tasks.Task> GetUsersInRoleAsync(string normalizedRoleName, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) { throw null; } - [System.Diagnostics.DebuggerStepThroughAttribute] - public override System.Threading.Tasks.Task IsInRoleAsync(TUser user, string normalizedRoleName, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) { throw null; } - [System.Diagnostics.DebuggerStepThroughAttribute] - public override System.Threading.Tasks.Task RemoveClaimsAsync(TUser user, System.Collections.Generic.IEnumerable claims, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) { throw null; } - [System.Diagnostics.DebuggerStepThroughAttribute] - public override System.Threading.Tasks.Task RemoveFromRoleAsync(TUser user, string normalizedRoleName, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) { throw null; } - [System.Diagnostics.DebuggerStepThroughAttribute] - public override System.Threading.Tasks.Task RemoveLoginAsync(TUser user, string loginProvider, string providerKey, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) { throw null; } - protected override System.Threading.Tasks.Task RemoveUserTokenAsync(TUserToken token) { throw null; } - [System.Diagnostics.DebuggerStepThroughAttribute] - public override System.Threading.Tasks.Task ReplaceClaimAsync(TUser user, System.Security.Claims.Claim claim, System.Security.Claims.Claim newClaim, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) { throw null; } - protected System.Threading.Tasks.Task SaveChanges(System.Threading.CancellationToken cancellationToken) { throw null; } - [System.Diagnostics.DebuggerStepThroughAttribute] - public override System.Threading.Tasks.Task UpdateAsync(TUser user, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) { throw null; } - } -} -namespace Microsoft.Extensions.DependencyInjection -{ - public static partial class IdentityEntityFrameworkBuilderExtensions - { - public static Microsoft.AspNetCore.Identity.IdentityBuilder AddEntityFrameworkStores(this Microsoft.AspNetCore.Identity.IdentityBuilder builder) where TContext : Microsoft.EntityFrameworkCore.DbContext { throw null; } - } -} diff --git a/src/Identity/EntityFrameworkCore/src/Microsoft.AspNetCore.Identity.EntityFrameworkCore.csproj b/src/Identity/EntityFrameworkCore/src/Microsoft.AspNetCore.Identity.EntityFrameworkCore.csproj index 87df2f8e9ea2..3e4b12531718 100644 --- a/src/Identity/EntityFrameworkCore/src/Microsoft.AspNetCore.Identity.EntityFrameworkCore.csproj +++ b/src/Identity/EntityFrameworkCore/src/Microsoft.AspNetCore.Identity.EntityFrameworkCore.csproj @@ -5,7 +5,7 @@ netstandard2.1;$(DefaultNetCoreTargetFramework) true aspnetcore;entityframeworkcore;identity;membership - true + true diff --git a/src/Identity/EntityFrameworkCore/test/EF.InMemory.Test/Microsoft.AspNetCore.Identity.EntityFrameworkCore.InMemory.Test.csproj b/src/Identity/EntityFrameworkCore/test/EF.InMemory.Test/Microsoft.AspNetCore.Identity.EntityFrameworkCore.InMemory.Test.csproj index ea50aebe5955..811dfd7b768e 100644 --- a/src/Identity/EntityFrameworkCore/test/EF.InMemory.Test/Microsoft.AspNetCore.Identity.EntityFrameworkCore.InMemory.Test.csproj +++ b/src/Identity/EntityFrameworkCore/test/EF.InMemory.Test/Microsoft.AspNetCore.Identity.EntityFrameworkCore.InMemory.Test.csproj @@ -2,6 +2,8 @@ $(DefaultNetCoreTargetFramework) + + false @@ -15,6 +17,8 @@ + + diff --git a/src/Identity/EntityFrameworkCore/test/EF.Test/Microsoft.AspNetCore.Identity.EntityFrameworkCore.Test.csproj b/src/Identity/EntityFrameworkCore/test/EF.Test/Microsoft.AspNetCore.Identity.EntityFrameworkCore.Test.csproj index 69d90764b5e5..af1c54332cdd 100644 --- a/src/Identity/EntityFrameworkCore/test/EF.Test/Microsoft.AspNetCore.Identity.EntityFrameworkCore.Test.csproj +++ b/src/Identity/EntityFrameworkCore/test/EF.Test/Microsoft.AspNetCore.Identity.EntityFrameworkCore.Test.csproj @@ -2,6 +2,8 @@ $(DefaultNetCoreTargetFramework) + + false @@ -20,6 +22,8 @@ + + diff --git a/src/Identity/Extensions.Core/ref/Microsoft.Extensions.Identity.Core.Manual.cs b/src/Identity/Extensions.Core/ref/Microsoft.Extensions.Identity.Core.Manual.cs new file mode 100644 index 000000000000..54ab6e3c0181 --- /dev/null +++ b/src/Identity/Extensions.Core/ref/Microsoft.Extensions.Identity.Core.Manual.cs @@ -0,0 +1,83 @@ +// Copyright (c) .NET Foundation. All rights reserved. +// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. + +namespace Microsoft.AspNetCore.Identity +{ + public partial class PasswordHasherOptions + { + internal System.Security.Cryptography.RandomNumberGenerator Rng { [System.Runtime.CompilerServices.CompilerGeneratedAttribute]get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute]set { } } + } +} +namespace Microsoft.Extensions.Identity.Core +{ + internal static partial class Resources + { + internal static string ConcurrencyFailure { get { throw null; } } + internal static System.Globalization.CultureInfo Culture { [System.Runtime.CompilerServices.CompilerGeneratedAttribute]get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute]set { } } + internal static string DefaultError { get { throw null; } } + internal static string DuplicateEmail { get { throw null; } } + internal static string DuplicateRoleName { get { throw null; } } + internal static string DuplicateUserName { get { throw null; } } + internal static string InvalidEmail { get { throw null; } } + internal static string InvalidManagerType { get { throw null; } } + internal static string InvalidPasswordHasherCompatibilityMode { get { throw null; } } + internal static string InvalidPasswordHasherIterationCount { get { throw null; } } + internal static string InvalidRoleName { get { throw null; } } + internal static string InvalidToken { get { throw null; } } + internal static string InvalidUserName { get { throw null; } } + internal static string LoginAlreadyAssociated { get { throw null; } } + internal static string MustCallAddIdentity { get { throw null; } } + internal static string NoPersonalDataProtector { get { throw null; } } + internal static string NoRoleType { get { throw null; } } + internal static string NoTokenProvider { get { throw null; } } + internal static string NullSecurityStamp { get { throw null; } } + internal static string PasswordMismatch { get { throw null; } } + internal static string PasswordRequiresDigit { get { throw null; } } + internal static string PasswordRequiresLower { get { throw null; } } + internal static string PasswordRequiresNonAlphanumeric { get { throw null; } } + internal static string PasswordRequiresUniqueChars { get { throw null; } } + internal static string PasswordRequiresUpper { get { throw null; } } + internal static string PasswordTooShort { get { throw null; } } + internal static string RecoveryCodeRedemptionFailed { get { throw null; } } + internal static System.Resources.ResourceManager ResourceManager { get { throw null; } } + internal static string RoleNotFound { get { throw null; } } + internal static string StoreNotIProtectedUserStore { get { throw null; } } + internal static string StoreNotIQueryableRoleStore { get { throw null; } } + internal static string StoreNotIQueryableUserStore { get { throw null; } } + internal static string StoreNotIRoleClaimStore { get { throw null; } } + internal static string StoreNotIUserAuthenticationTokenStore { get { throw null; } } + internal static string StoreNotIUserAuthenticatorKeyStore { get { throw null; } } + internal static string StoreNotIUserClaimStore { get { throw null; } } + internal static string StoreNotIUserConfirmationStore { get { throw null; } } + internal static string StoreNotIUserEmailStore { get { throw null; } } + internal static string StoreNotIUserLockoutStore { get { throw null; } } + internal static string StoreNotIUserLoginStore { get { throw null; } } + internal static string StoreNotIUserPasswordStore { get { throw null; } } + internal static string StoreNotIUserPhoneNumberStore { get { throw null; } } + internal static string StoreNotIUserRoleStore { get { throw null; } } + internal static string StoreNotIUserSecurityStampStore { get { throw null; } } + internal static string StoreNotIUserTwoFactorRecoveryCodeStore { get { throw null; } } + internal static string StoreNotIUserTwoFactorStore { get { throw null; } } + internal static string UserAlreadyHasPassword { get { throw null; } } + internal static string UserAlreadyInRole { get { throw null; } } + internal static string UserLockedOut { get { throw null; } } + internal static string UserLockoutNotEnabled { get { throw null; } } + internal static string UserNameNotFound { get { throw null; } } + internal static string UserNotInRole { get { throw null; } } + internal static string FormatDuplicateEmail(object p0) { throw null; } + internal static string FormatDuplicateRoleName(object p0) { throw null; } + internal static string FormatDuplicateUserName(object p0) { throw null; } + internal static string FormatInvalidEmail(object p0) { throw null; } + internal static string FormatInvalidManagerType(object p0, object p1, object p2) { throw null; } + internal static string FormatInvalidRoleName(object p0) { throw null; } + internal static string FormatInvalidUserName(object p0) { throw null; } + internal static string FormatNoTokenProvider(object p0, object p1) { throw null; } + internal static string FormatPasswordRequiresUniqueChars(object p0) { throw null; } + internal static string FormatPasswordTooShort(object p0) { throw null; } + internal static string FormatRoleNotFound(object p0) { throw null; } + internal static string FormatUserAlreadyInRole(object p0) { throw null; } + internal static string FormatUserNameNotFound(object p0) { throw null; } + internal static string FormatUserNotInRole(object p0) { throw null; } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)]internal static string GetResourceString(string resourceKey, string defaultValue = null) { throw null; } + } +} diff --git a/src/Identity/Extensions.Core/ref/Microsoft.Extensions.Identity.Core.csproj b/src/Identity/Extensions.Core/ref/Microsoft.Extensions.Identity.Core.csproj index ae16fce67346..1ddecfe522d5 100644 --- a/src/Identity/Extensions.Core/ref/Microsoft.Extensions.Identity.Core.csproj +++ b/src/Identity/Extensions.Core/ref/Microsoft.Extensions.Identity.Core.csproj @@ -2,17 +2,22 @@ netstandard2.0;$(DefaultNetCoreTargetFramework) + $(DefaultNetCoreTargetFramework) - - - + + + + + - - - + + + + + diff --git a/src/Identity/Extensions.Core/src/Microsoft.Extensions.Identity.Core.csproj b/src/Identity/Extensions.Core/src/Microsoft.Extensions.Identity.Core.csproj index 7fab93143635..7555dda1feeb 100644 --- a/src/Identity/Extensions.Core/src/Microsoft.Extensions.Identity.Core.csproj +++ b/src/Identity/Extensions.Core/src/Microsoft.Extensions.Identity.Core.csproj @@ -5,7 +5,6 @@ netstandard2.0;$(DefaultNetCoreTargetFramework) $(DefaultNetCoreTargetFramework) true - true true aspnetcore;identity;membership diff --git a/src/Identity/Extensions.Stores/ref/Microsoft.Extensions.Identity.Stores.Manual.cs b/src/Identity/Extensions.Stores/ref/Microsoft.Extensions.Identity.Stores.Manual.cs new file mode 100644 index 000000000000..0d2641bedd71 --- /dev/null +++ b/src/Identity/Extensions.Stores/ref/Microsoft.Extensions.Identity.Stores.Manual.cs @@ -0,0 +1,6 @@ +// Copyright (c) .NET Foundation. All rights reserved. +// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. + +namespace Microsoft.Extensions.Internal +{ +} diff --git a/src/Identity/Extensions.Stores/ref/Microsoft.Extensions.Identity.Stores.csproj b/src/Identity/Extensions.Stores/ref/Microsoft.Extensions.Identity.Stores.csproj index f490a3125601..80d01542401a 100644 --- a/src/Identity/Extensions.Stores/ref/Microsoft.Extensions.Identity.Stores.csproj +++ b/src/Identity/Extensions.Stores/ref/Microsoft.Extensions.Identity.Stores.csproj @@ -2,15 +2,20 @@ netstandard2.0;$(DefaultNetCoreTargetFramework) + $(DefaultNetCoreTargetFramework) - - + + + + - - + + + + diff --git a/src/Identity/Extensions.Stores/src/Microsoft.Extensions.Identity.Stores.csproj b/src/Identity/Extensions.Stores/src/Microsoft.Extensions.Identity.Stores.csproj index 13e5b4d34b60..fd80d41fcd3e 100644 --- a/src/Identity/Extensions.Stores/src/Microsoft.Extensions.Identity.Stores.csproj +++ b/src/Identity/Extensions.Stores/src/Microsoft.Extensions.Identity.Stores.csproj @@ -5,12 +5,12 @@ netstandard2.0;$(DefaultNetCoreTargetFramework) $(DefaultNetCoreTargetFramework) true - true true aspnetcore;identity;membership + diff --git a/src/Identity/Specification.Tests/src/Microsoft.AspNetCore.Identity.Specification.Tests.csproj b/src/Identity/Specification.Tests/src/Microsoft.AspNetCore.Identity.Specification.Tests.csproj index 0440e8914af9..704379724e9d 100644 --- a/src/Identity/Specification.Tests/src/Microsoft.AspNetCore.Identity.Specification.Tests.csproj +++ b/src/Identity/Specification.Tests/src/Microsoft.AspNetCore.Identity.Specification.Tests.csproj @@ -6,13 +6,12 @@ true aspnetcore;identity;membership false - true + true false - @@ -21,4 +20,8 @@ + + + + diff --git a/src/Identity/Specification.Tests/src/UserManagerSpecificationTests.cs b/src/Identity/Specification.Tests/src/UserManagerSpecificationTests.cs index fdcfcaa973df..27afc892ac55 100644 --- a/src/Identity/Specification.Tests/src/UserManagerSpecificationTests.cs +++ b/src/Identity/Specification.Tests/src/UserManagerSpecificationTests.cs @@ -7,7 +7,6 @@ using System.Linq.Expressions; using System.Security.Claims; using System.Threading.Tasks; -using Microsoft.AspNetCore.Testing; using Microsoft.Extensions.DependencyInjection; using Microsoft.Extensions.Logging; using Xunit; @@ -1636,7 +1635,6 @@ public async Task ChangeEmailFailsWithEmail() /// /// Task [Fact] - [Flaky("https://github.com/dotnet/aspnetcore-internal/issues/1766", FlakyOn.All)] public async Task EmailFactorFailsAfterSecurityStampChangeTest() { var manager = CreateManager(); diff --git a/src/Identity/UI/ref/Microsoft.AspNetCore.Identity.UI.csproj b/src/Identity/UI/ref/Microsoft.AspNetCore.Identity.UI.csproj deleted file mode 100644 index 813c7c4dffda..000000000000 --- a/src/Identity/UI/ref/Microsoft.AspNetCore.Identity.UI.csproj +++ /dev/null @@ -1,14 +0,0 @@ - - - - $(DefaultNetCoreTargetFramework) - - - - - - - - - - diff --git a/src/Identity/UI/ref/Microsoft.AspNetCore.Identity.UI.netcoreapp.cs b/src/Identity/UI/ref/Microsoft.AspNetCore.Identity.UI.netcoreapp.cs deleted file mode 100644 index 4f25f3b9fab4..000000000000 --- a/src/Identity/UI/ref/Microsoft.AspNetCore.Identity.UI.netcoreapp.cs +++ /dev/null @@ -1,966 +0,0 @@ -// Copyright (c) .NET Foundation. All rights reserved. -// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. - -namespace Microsoft.AspNetCore.Identity -{ - public static partial class IdentityBuilderUIExtensions - { - public static Microsoft.AspNetCore.Identity.IdentityBuilder AddDefaultUI(this Microsoft.AspNetCore.Identity.IdentityBuilder builder) { throw null; } - } -} -namespace Microsoft.AspNetCore.Identity.UI -{ - [System.AttributeUsageAttribute(System.AttributeTargets.Assembly, Inherited=false, AllowMultiple=false)] - public sealed partial class UIFrameworkAttribute : System.Attribute - { - public UIFrameworkAttribute(string uiFramework) { } - public string UIFramework { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } } - } -} -namespace Microsoft.AspNetCore.Identity.UI.Services -{ - public partial interface IEmailSender - { - System.Threading.Tasks.Task SendEmailAsync(string email, string subject, string htmlMessage); - } -} -namespace Microsoft.AspNetCore.Identity.UI.V3.Pages.Account.Internal -{ - public partial class AccessDeniedModel : Microsoft.AspNetCore.Mvc.RazorPages.PageModel - { - public AccessDeniedModel() { } - public void OnGet() { } - } - [Microsoft.AspNetCore.Authorization.AllowAnonymousAttribute] - public abstract partial class ConfirmEmailChangeModel : Microsoft.AspNetCore.Mvc.RazorPages.PageModel - { - protected ConfirmEmailChangeModel() { } - [Microsoft.AspNetCore.Mvc.TempDataAttribute] - public string StatusMessage { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute] set { } } - public virtual System.Threading.Tasks.Task OnGetAsync(string userId, string email, string code) { throw null; } - } - [Microsoft.AspNetCore.Authorization.AllowAnonymousAttribute] - public abstract partial class ConfirmEmailModel : Microsoft.AspNetCore.Mvc.RazorPages.PageModel - { - protected ConfirmEmailModel() { } - [Microsoft.AspNetCore.Mvc.TempDataAttribute] - public string StatusMessage { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute] set { } } - public virtual System.Threading.Tasks.Task OnGetAsync(string userId, string code) { throw null; } - } - [Microsoft.AspNetCore.Authorization.AllowAnonymousAttribute] - public partial class ExternalLoginModel : Microsoft.AspNetCore.Mvc.RazorPages.PageModel - { - public ExternalLoginModel() { } - [Microsoft.AspNetCore.Mvc.TempDataAttribute] - public string ErrorMessage { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute] set { } } - [Microsoft.AspNetCore.Mvc.BindPropertyAttribute] - public Microsoft.AspNetCore.Identity.UI.V3.Pages.Account.Internal.ExternalLoginModel.InputModel Input { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute] set { } } - public string ProviderDisplayName { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute] set { } } - public string ReturnUrl { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute] set { } } - public virtual Microsoft.AspNetCore.Mvc.IActionResult OnGet() { throw null; } - public virtual System.Threading.Tasks.Task OnGetCallbackAsync(string returnUrl = null, string remoteError = null) { throw null; } - public virtual Microsoft.AspNetCore.Mvc.IActionResult OnPost(string provider, string returnUrl = null) { throw null; } - public virtual System.Threading.Tasks.Task OnPostConfirmationAsync(string returnUrl = null) { throw null; } - public partial class InputModel - { - public InputModel() { } - [System.ComponentModel.DataAnnotations.EmailAddressAttribute] - [System.ComponentModel.DataAnnotations.RequiredAttribute] - public string Email { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute] set { } } - } - } - [Microsoft.AspNetCore.Authorization.AllowAnonymousAttribute] - public partial class ForgotPasswordConfirmation : Microsoft.AspNetCore.Mvc.RazorPages.PageModel - { - public ForgotPasswordConfirmation() { } - public void OnGet() { } - } - [Microsoft.AspNetCore.Authorization.AllowAnonymousAttribute] - public abstract partial class ForgotPasswordModel : Microsoft.AspNetCore.Mvc.RazorPages.PageModel - { - protected ForgotPasswordModel() { } - [Microsoft.AspNetCore.Mvc.BindPropertyAttribute] - public Microsoft.AspNetCore.Identity.UI.V3.Pages.Account.Internal.ForgotPasswordModel.InputModel Input { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute] set { } } - public virtual System.Threading.Tasks.Task OnPostAsync() { throw null; } - public partial class InputModel - { - public InputModel() { } - [System.ComponentModel.DataAnnotations.EmailAddressAttribute] - [System.ComponentModel.DataAnnotations.RequiredAttribute] - public string Email { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute] set { } } - } - } - [Microsoft.AspNetCore.Authorization.AllowAnonymousAttribute] - public partial class LockoutModel : Microsoft.AspNetCore.Mvc.RazorPages.PageModel - { - public LockoutModel() { } - public void OnGet() { } - } - [Microsoft.AspNetCore.Authorization.AllowAnonymousAttribute] - public abstract partial class LoginModel : Microsoft.AspNetCore.Mvc.RazorPages.PageModel - { - protected LoginModel() { } - [Microsoft.AspNetCore.Mvc.TempDataAttribute] - public string ErrorMessage { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute] set { } } - public System.Collections.Generic.IList ExternalLogins { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute] set { } } - [Microsoft.AspNetCore.Mvc.BindPropertyAttribute] - public Microsoft.AspNetCore.Identity.UI.V3.Pages.Account.Internal.LoginModel.InputModel Input { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute] set { } } - public string ReturnUrl { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute] set { } } - public virtual System.Threading.Tasks.Task OnGetAsync(string returnUrl = null) { throw null; } - public virtual System.Threading.Tasks.Task OnPostAsync(string returnUrl = null) { throw null; } - public partial class InputModel - { - public InputModel() { } - [System.ComponentModel.DataAnnotations.EmailAddressAttribute] - [System.ComponentModel.DataAnnotations.RequiredAttribute] - public string Email { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute] set { } } - [System.ComponentModel.DataAnnotations.DataTypeAttribute(System.ComponentModel.DataAnnotations.DataType.Password)] - [System.ComponentModel.DataAnnotations.RequiredAttribute] - public string Password { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute] set { } } - [System.ComponentModel.DataAnnotations.DisplayAttribute(Name="Remember me?")] - public bool RememberMe { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute] set { } } - } - } - [Microsoft.AspNetCore.Authorization.AllowAnonymousAttribute] - public abstract partial class LoginWith2faModel : Microsoft.AspNetCore.Mvc.RazorPages.PageModel - { - protected LoginWith2faModel() { } - [Microsoft.AspNetCore.Mvc.BindPropertyAttribute] - public Microsoft.AspNetCore.Identity.UI.V3.Pages.Account.Internal.LoginWith2faModel.InputModel Input { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute] set { } } - public bool RememberMe { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute] set { } } - public string ReturnUrl { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute] set { } } - public virtual System.Threading.Tasks.Task OnGetAsync(bool rememberMe, string returnUrl = null) { throw null; } - public virtual System.Threading.Tasks.Task OnPostAsync(bool rememberMe, string returnUrl = null) { throw null; } - public partial class InputModel - { - public InputModel() { } - [System.ComponentModel.DataAnnotations.DisplayAttribute(Name="Remember this machine")] - public bool RememberMachine { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute] set { } } - [System.ComponentModel.DataAnnotations.DataTypeAttribute(System.ComponentModel.DataAnnotations.DataType.Text)] - [System.ComponentModel.DataAnnotations.DisplayAttribute(Name="Authenticator code")] - [System.ComponentModel.DataAnnotations.RequiredAttribute] - [System.ComponentModel.DataAnnotations.StringLengthAttribute(7, ErrorMessage="The {0} must be at least {2} and at max {1} characters long.", MinimumLength=6)] - public string TwoFactorCode { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute] set { } } - } - } - [Microsoft.AspNetCore.Authorization.AllowAnonymousAttribute] - public abstract partial class LoginWithRecoveryCodeModel : Microsoft.AspNetCore.Mvc.RazorPages.PageModel - { - protected LoginWithRecoveryCodeModel() { } - [Microsoft.AspNetCore.Mvc.BindPropertyAttribute] - public Microsoft.AspNetCore.Identity.UI.V3.Pages.Account.Internal.LoginWithRecoveryCodeModel.InputModel Input { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute] set { } } - public string ReturnUrl { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute] set { } } - public virtual System.Threading.Tasks.Task OnGetAsync(string returnUrl = null) { throw null; } - public virtual System.Threading.Tasks.Task OnPostAsync(string returnUrl = null) { throw null; } - public partial class InputModel - { - public InputModel() { } - [Microsoft.AspNetCore.Mvc.BindPropertyAttribute] - [System.ComponentModel.DataAnnotations.DataTypeAttribute(System.ComponentModel.DataAnnotations.DataType.Text)] - [System.ComponentModel.DataAnnotations.DisplayAttribute(Name="Recovery Code")] - [System.ComponentModel.DataAnnotations.RequiredAttribute] - public string RecoveryCode { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute] set { } } - } - } - [Microsoft.AspNetCore.Authorization.AllowAnonymousAttribute] - public abstract partial class LogoutModel : Microsoft.AspNetCore.Mvc.RazorPages.PageModel - { - protected LogoutModel() { } - public void OnGet() { } - public virtual System.Threading.Tasks.Task OnPost(string returnUrl = null) { throw null; } - } - [Microsoft.AspNetCore.Authorization.AllowAnonymousAttribute] - public partial class RegisterConfirmationModel : Microsoft.AspNetCore.Mvc.RazorPages.PageModel - { - public RegisterConfirmationModel() { } - public bool DisplayConfirmAccountLink { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute] set { } } - public string Email { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute] set { } } - public string EmailConfirmationUrl { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute] set { } } - public virtual System.Threading.Tasks.Task OnGetAsync(string email, string returnUrl = null) { throw null; } - } - [Microsoft.AspNetCore.Authorization.AllowAnonymousAttribute] - public abstract partial class RegisterModel : Microsoft.AspNetCore.Mvc.RazorPages.PageModel - { - protected RegisterModel() { } - public System.Collections.Generic.IList ExternalLogins { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute] set { } } - [Microsoft.AspNetCore.Mvc.BindPropertyAttribute] - public Microsoft.AspNetCore.Identity.UI.V3.Pages.Account.Internal.RegisterModel.InputModel Input { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute] set { } } - public string ReturnUrl { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute] set { } } - public virtual System.Threading.Tasks.Task OnGetAsync(string returnUrl = null) { throw null; } - public virtual System.Threading.Tasks.Task OnPostAsync(string returnUrl = null) { throw null; } - public partial class InputModel - { - public InputModel() { } - [System.ComponentModel.DataAnnotations.CompareAttribute("Password", ErrorMessage="The password and confirmation password do not match.")] - [System.ComponentModel.DataAnnotations.DataTypeAttribute(System.ComponentModel.DataAnnotations.DataType.Password)] - [System.ComponentModel.DataAnnotations.DisplayAttribute(Name="Confirm password")] - public string ConfirmPassword { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute] set { } } - [System.ComponentModel.DataAnnotations.DisplayAttribute(Name="Email")] - [System.ComponentModel.DataAnnotations.EmailAddressAttribute] - [System.ComponentModel.DataAnnotations.RequiredAttribute] - public string Email { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute] set { } } - [System.ComponentModel.DataAnnotations.DataTypeAttribute(System.ComponentModel.DataAnnotations.DataType.Password)] - [System.ComponentModel.DataAnnotations.DisplayAttribute(Name="Password")] - [System.ComponentModel.DataAnnotations.RequiredAttribute] - [System.ComponentModel.DataAnnotations.StringLengthAttribute(100, ErrorMessage="The {0} must be at least {2} and at max {1} characters long.", MinimumLength=6)] - public string Password { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute] set { } } - } - } - [Microsoft.AspNetCore.Authorization.AllowAnonymousAttribute] - public abstract partial class ResendEmailConfirmationModel : Microsoft.AspNetCore.Mvc.RazorPages.PageModel - { - protected ResendEmailConfirmationModel() { } - [Microsoft.AspNetCore.Mvc.BindPropertyAttribute] - public Microsoft.AspNetCore.Identity.UI.V3.Pages.Account.Internal.ResendEmailConfirmationModel.InputModel Input { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute] set { } } - public virtual void OnGet() { } - public virtual System.Threading.Tasks.Task OnPostAsync() { throw null; } - public partial class InputModel - { - public InputModel() { } - [System.ComponentModel.DataAnnotations.EmailAddressAttribute] - [System.ComponentModel.DataAnnotations.RequiredAttribute] - public string Email { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute] set { } } - } - } - [Microsoft.AspNetCore.Authorization.AllowAnonymousAttribute] - public partial class ResetPasswordConfirmationModel : Microsoft.AspNetCore.Mvc.RazorPages.PageModel - { - public ResetPasswordConfirmationModel() { } - public void OnGet() { } - } - [Microsoft.AspNetCore.Authorization.AllowAnonymousAttribute] - public abstract partial class ResetPasswordModel : Microsoft.AspNetCore.Mvc.RazorPages.PageModel - { - protected ResetPasswordModel() { } - [Microsoft.AspNetCore.Mvc.BindPropertyAttribute] - public Microsoft.AspNetCore.Identity.UI.V3.Pages.Account.Internal.ResetPasswordModel.InputModel Input { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute] set { } } - public virtual Microsoft.AspNetCore.Mvc.IActionResult OnGet(string code = null) { throw null; } - public virtual System.Threading.Tasks.Task OnPostAsync() { throw null; } - public partial class InputModel - { - public InputModel() { } - [System.ComponentModel.DataAnnotations.RequiredAttribute] - public string Code { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute] set { } } - [System.ComponentModel.DataAnnotations.CompareAttribute("Password", ErrorMessage="The password and confirmation password do not match.")] - [System.ComponentModel.DataAnnotations.DataTypeAttribute(System.ComponentModel.DataAnnotations.DataType.Password)] - [System.ComponentModel.DataAnnotations.DisplayAttribute(Name="Confirm password")] - public string ConfirmPassword { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute] set { } } - [System.ComponentModel.DataAnnotations.EmailAddressAttribute] - [System.ComponentModel.DataAnnotations.RequiredAttribute] - public string Email { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute] set { } } - [System.ComponentModel.DataAnnotations.DataTypeAttribute(System.ComponentModel.DataAnnotations.DataType.Password)] - [System.ComponentModel.DataAnnotations.RequiredAttribute] - [System.ComponentModel.DataAnnotations.StringLengthAttribute(100, ErrorMessage="The {0} must be at least {2} and at max {1} characters long.", MinimumLength=6)] - public string Password { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute] set { } } - } - } -} -namespace Microsoft.AspNetCore.Identity.UI.V3.Pages.Account.Manage.Internal -{ - public abstract partial class ChangePasswordModel : Microsoft.AspNetCore.Mvc.RazorPages.PageModel - { - protected ChangePasswordModel() { } - [Microsoft.AspNetCore.Mvc.BindPropertyAttribute] - public Microsoft.AspNetCore.Identity.UI.V3.Pages.Account.Manage.Internal.ChangePasswordModel.InputModel Input { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute] set { } } - [Microsoft.AspNetCore.Mvc.TempDataAttribute] - public string StatusMessage { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute] set { } } - public virtual System.Threading.Tasks.Task OnGetAsync() { throw null; } - public virtual System.Threading.Tasks.Task OnPostAsync() { throw null; } - public partial class InputModel - { - public InputModel() { } - [System.ComponentModel.DataAnnotations.CompareAttribute("NewPassword", ErrorMessage="The new password and confirmation password do not match.")] - [System.ComponentModel.DataAnnotations.DataTypeAttribute(System.ComponentModel.DataAnnotations.DataType.Password)] - [System.ComponentModel.DataAnnotations.DisplayAttribute(Name="Confirm new password")] - public string ConfirmPassword { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute] set { } } - [System.ComponentModel.DataAnnotations.DataTypeAttribute(System.ComponentModel.DataAnnotations.DataType.Password)] - [System.ComponentModel.DataAnnotations.DisplayAttribute(Name="New password")] - [System.ComponentModel.DataAnnotations.RequiredAttribute] - [System.ComponentModel.DataAnnotations.StringLengthAttribute(100, ErrorMessage="The {0} must be at least {2} and at max {1} characters long.", MinimumLength=6)] - public string NewPassword { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute] set { } } - [System.ComponentModel.DataAnnotations.DataTypeAttribute(System.ComponentModel.DataAnnotations.DataType.Password)] - [System.ComponentModel.DataAnnotations.DisplayAttribute(Name="Current password")] - [System.ComponentModel.DataAnnotations.RequiredAttribute] - public string OldPassword { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute] set { } } - } - } - public abstract partial class DeletePersonalDataModel : Microsoft.AspNetCore.Mvc.RazorPages.PageModel - { - protected DeletePersonalDataModel() { } - [Microsoft.AspNetCore.Mvc.BindPropertyAttribute] - public Microsoft.AspNetCore.Identity.UI.V3.Pages.Account.Manage.Internal.DeletePersonalDataModel.InputModel Input { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute] set { } } - public bool RequirePassword { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute] set { } } - public virtual System.Threading.Tasks.Task OnGet() { throw null; } - public virtual System.Threading.Tasks.Task OnPostAsync() { throw null; } - public partial class InputModel - { - public InputModel() { } - [System.ComponentModel.DataAnnotations.DataTypeAttribute(System.ComponentModel.DataAnnotations.DataType.Password)] - [System.ComponentModel.DataAnnotations.RequiredAttribute] - public string Password { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute] set { } } - } - } - public abstract partial class Disable2faModel : Microsoft.AspNetCore.Mvc.RazorPages.PageModel - { - protected Disable2faModel() { } - [Microsoft.AspNetCore.Mvc.TempDataAttribute] - public string StatusMessage { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute] set { } } - public virtual System.Threading.Tasks.Task OnGet() { throw null; } - public virtual System.Threading.Tasks.Task OnPostAsync() { throw null; } - } - public abstract partial class DownloadPersonalDataModel : Microsoft.AspNetCore.Mvc.RazorPages.PageModel - { - protected DownloadPersonalDataModel() { } - public virtual Microsoft.AspNetCore.Mvc.IActionResult OnGet() { throw null; } - public virtual System.Threading.Tasks.Task OnPostAsync() { throw null; } - } - public abstract partial class EmailModel : Microsoft.AspNetCore.Mvc.RazorPages.PageModel - { - protected EmailModel() { } - public string Email { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute] set { } } - [Microsoft.AspNetCore.Mvc.BindPropertyAttribute] - public Microsoft.AspNetCore.Identity.UI.V3.Pages.Account.Manage.Internal.EmailModel.InputModel Input { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute] set { } } - public bool IsEmailConfirmed { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute] set { } } - [Microsoft.AspNetCore.Mvc.TempDataAttribute] - public string StatusMessage { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute] set { } } - public virtual System.Threading.Tasks.Task OnGetAsync() { throw null; } - public virtual System.Threading.Tasks.Task OnPostChangeEmailAsync() { throw null; } - public virtual System.Threading.Tasks.Task OnPostSendVerificationEmailAsync() { throw null; } - public partial class InputModel - { - public InputModel() { } - [System.ComponentModel.DataAnnotations.DisplayAttribute(Name="New email")] - [System.ComponentModel.DataAnnotations.EmailAddressAttribute] - [System.ComponentModel.DataAnnotations.RequiredAttribute] - public string NewEmail { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute] set { } } - } - } - public partial class EnableAuthenticatorModel : Microsoft.AspNetCore.Mvc.RazorPages.PageModel - { - public EnableAuthenticatorModel() { } - public string AuthenticatorUri { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute] set { } } - [Microsoft.AspNetCore.Mvc.BindPropertyAttribute] - public Microsoft.AspNetCore.Identity.UI.V3.Pages.Account.Manage.Internal.EnableAuthenticatorModel.InputModel Input { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute] set { } } - [Microsoft.AspNetCore.Mvc.TempDataAttribute] - public string[] RecoveryCodes { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute] set { } } - public string SharedKey { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute] set { } } - [Microsoft.AspNetCore.Mvc.TempDataAttribute] - public string StatusMessage { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute] set { } } - public virtual System.Threading.Tasks.Task OnGetAsync() { throw null; } - public virtual System.Threading.Tasks.Task OnPostAsync() { throw null; } - public partial class InputModel - { - public InputModel() { } - [System.ComponentModel.DataAnnotations.DataTypeAttribute(System.ComponentModel.DataAnnotations.DataType.Text)] - [System.ComponentModel.DataAnnotations.DisplayAttribute(Name="Verification Code")] - [System.ComponentModel.DataAnnotations.RequiredAttribute] - [System.ComponentModel.DataAnnotations.StringLengthAttribute(7, ErrorMessage="The {0} must be at least {2} and at max {1} characters long.", MinimumLength=6)] - public string Code { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute] set { } } - } - } - public abstract partial class ExternalLoginsModel : Microsoft.AspNetCore.Mvc.RazorPages.PageModel - { - protected ExternalLoginsModel() { } - public System.Collections.Generic.IList CurrentLogins { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute] set { } } - public System.Collections.Generic.IList OtherLogins { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute] set { } } - public bool ShowRemoveButton { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute] set { } } - [Microsoft.AspNetCore.Mvc.TempDataAttribute] - public string StatusMessage { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute] set { } } - public virtual System.Threading.Tasks.Task OnGetAsync() { throw null; } - public virtual System.Threading.Tasks.Task OnGetLinkLoginCallbackAsync() { throw null; } - public virtual System.Threading.Tasks.Task OnPostLinkLoginAsync(string provider) { throw null; } - public virtual System.Threading.Tasks.Task OnPostRemoveLoginAsync(string loginProvider, string providerKey) { throw null; } - } - public abstract partial class GenerateRecoveryCodesModel : Microsoft.AspNetCore.Mvc.RazorPages.PageModel - { - protected GenerateRecoveryCodesModel() { } - [Microsoft.AspNetCore.Mvc.TempDataAttribute] - public string[] RecoveryCodes { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute] set { } } - [Microsoft.AspNetCore.Mvc.TempDataAttribute] - public string StatusMessage { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute] set { } } - public virtual System.Threading.Tasks.Task OnGetAsync() { throw null; } - public virtual System.Threading.Tasks.Task OnPostAsync() { throw null; } - } - public abstract partial class IndexModel : Microsoft.AspNetCore.Mvc.RazorPages.PageModel - { - protected IndexModel() { } - [Microsoft.AspNetCore.Mvc.BindPropertyAttribute] - public Microsoft.AspNetCore.Identity.UI.V3.Pages.Account.Manage.Internal.IndexModel.InputModel Input { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute] set { } } - [Microsoft.AspNetCore.Mvc.TempDataAttribute] - public string StatusMessage { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute] set { } } - public string Username { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute] set { } } - public virtual System.Threading.Tasks.Task OnGetAsync() { throw null; } - public virtual System.Threading.Tasks.Task OnPostAsync() { throw null; } - public partial class InputModel - { - public InputModel() { } - [System.ComponentModel.DataAnnotations.DisplayAttribute(Name="Phone number")] - [System.ComponentModel.DataAnnotations.PhoneAttribute] - public string PhoneNumber { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute] set { } } - } - } - public static partial class ManageNavPages - { - public static string ChangePassword { get { throw null; } } - public static string DeletePersonalData { get { throw null; } } - public static string DownloadPersonalData { get { throw null; } } - public static string Email { get { throw null; } } - public static string ExternalLogins { get { throw null; } } - public static string Index { get { throw null; } } - public static string PersonalData { get { throw null; } } - public static string TwoFactorAuthentication { get { throw null; } } - public static string ChangePasswordNavClass(Microsoft.AspNetCore.Mvc.Rendering.ViewContext viewContext) { throw null; } - public static string DeletePersonalDataNavClass(Microsoft.AspNetCore.Mvc.Rendering.ViewContext viewContext) { throw null; } - public static string DownloadPersonalDataNavClass(Microsoft.AspNetCore.Mvc.Rendering.ViewContext viewContext) { throw null; } - public static string EmailNavClass(Microsoft.AspNetCore.Mvc.Rendering.ViewContext viewContext) { throw null; } - public static string ExternalLoginsNavClass(Microsoft.AspNetCore.Mvc.Rendering.ViewContext viewContext) { throw null; } - public static string IndexNavClass(Microsoft.AspNetCore.Mvc.Rendering.ViewContext viewContext) { throw null; } - public static string PageNavClass(Microsoft.AspNetCore.Mvc.Rendering.ViewContext viewContext, string page) { throw null; } - public static string PersonalDataNavClass(Microsoft.AspNetCore.Mvc.Rendering.ViewContext viewContext) { throw null; } - public static string TwoFactorAuthenticationNavClass(Microsoft.AspNetCore.Mvc.Rendering.ViewContext viewContext) { throw null; } - } - public abstract partial class PersonalDataModel : Microsoft.AspNetCore.Mvc.RazorPages.PageModel - { - protected PersonalDataModel() { } - public virtual System.Threading.Tasks.Task OnGet() { throw null; } - } - public abstract partial class ResetAuthenticatorModel : Microsoft.AspNetCore.Mvc.RazorPages.PageModel - { - protected ResetAuthenticatorModel() { } - [Microsoft.AspNetCore.Mvc.TempDataAttribute] - public string StatusMessage { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute] set { } } - public virtual System.Threading.Tasks.Task OnGet() { throw null; } - public virtual System.Threading.Tasks.Task OnPostAsync() { throw null; } - } - public abstract partial class SetPasswordModel : Microsoft.AspNetCore.Mvc.RazorPages.PageModel - { - protected SetPasswordModel() { } - [Microsoft.AspNetCore.Mvc.BindPropertyAttribute] - public Microsoft.AspNetCore.Identity.UI.V3.Pages.Account.Manage.Internal.SetPasswordModel.InputModel Input { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute] set { } } - [Microsoft.AspNetCore.Mvc.TempDataAttribute] - public string StatusMessage { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute] set { } } - public virtual System.Threading.Tasks.Task OnGetAsync() { throw null; } - public virtual System.Threading.Tasks.Task OnPostAsync() { throw null; } - public partial class InputModel - { - public InputModel() { } - [System.ComponentModel.DataAnnotations.CompareAttribute("NewPassword", ErrorMessage="The new password and confirmation password do not match.")] - [System.ComponentModel.DataAnnotations.DataTypeAttribute(System.ComponentModel.DataAnnotations.DataType.Password)] - [System.ComponentModel.DataAnnotations.DisplayAttribute(Name="Confirm new password")] - public string ConfirmPassword { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute] set { } } - [System.ComponentModel.DataAnnotations.DataTypeAttribute(System.ComponentModel.DataAnnotations.DataType.Password)] - [System.ComponentModel.DataAnnotations.DisplayAttribute(Name="New password")] - [System.ComponentModel.DataAnnotations.RequiredAttribute] - [System.ComponentModel.DataAnnotations.StringLengthAttribute(100, ErrorMessage="The {0} must be at least {2} and at max {1} characters long.", MinimumLength=6)] - public string NewPassword { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute] set { } } - } - } - public partial class ShowRecoveryCodesModel : Microsoft.AspNetCore.Mvc.RazorPages.PageModel - { - public ShowRecoveryCodesModel() { } - [Microsoft.AspNetCore.Mvc.TempDataAttribute] - public string[] RecoveryCodes { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute] set { } } - [Microsoft.AspNetCore.Mvc.TempDataAttribute] - public string StatusMessage { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute] set { } } - public Microsoft.AspNetCore.Mvc.IActionResult OnGet() { throw null; } - } - public abstract partial class TwoFactorAuthenticationModel : Microsoft.AspNetCore.Mvc.RazorPages.PageModel - { - protected TwoFactorAuthenticationModel() { } - public bool HasAuthenticator { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute] set { } } - [Microsoft.AspNetCore.Mvc.BindPropertyAttribute] - public bool Is2faEnabled { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute] set { } } - public bool IsMachineRemembered { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute] set { } } - public int RecoveryCodesLeft { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute] set { } } - [Microsoft.AspNetCore.Mvc.TempDataAttribute] - public string StatusMessage { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute] set { } } - public virtual System.Threading.Tasks.Task OnGetAsync() { throw null; } - public virtual System.Threading.Tasks.Task OnPostAsync() { throw null; } - } -} -namespace Microsoft.AspNetCore.Identity.UI.V3.Pages.Internal -{ - [Microsoft.AspNetCore.Authorization.AllowAnonymousAttribute] - [Microsoft.AspNetCore.Mvc.ResponseCacheAttribute(Duration=0, Location=Microsoft.AspNetCore.Mvc.ResponseCacheLocation.None, NoStore=true)] - public partial class ErrorModel : Microsoft.AspNetCore.Mvc.RazorPages.PageModel - { - public ErrorModel() { } - public string RequestId { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute] set { } } - public bool ShowRequestId { get { throw null; } } - public void OnGet() { } - } -} -namespace Microsoft.AspNetCore.Identity.UI.V4.Pages.Account.Internal -{ - public partial class AccessDeniedModel : Microsoft.AspNetCore.Mvc.RazorPages.PageModel - { - public AccessDeniedModel() { } - public void OnGet() { } - } - [Microsoft.AspNetCore.Authorization.AllowAnonymousAttribute] - public abstract partial class ConfirmEmailChangeModel : Microsoft.AspNetCore.Mvc.RazorPages.PageModel - { - protected ConfirmEmailChangeModel() { } - [Microsoft.AspNetCore.Mvc.TempDataAttribute] - public string StatusMessage { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute] set { } } - public virtual System.Threading.Tasks.Task OnGetAsync(string userId, string email, string code) { throw null; } - } - [Microsoft.AspNetCore.Authorization.AllowAnonymousAttribute] - public abstract partial class ConfirmEmailModel : Microsoft.AspNetCore.Mvc.RazorPages.PageModel - { - protected ConfirmEmailModel() { } - [Microsoft.AspNetCore.Mvc.TempDataAttribute] - public string StatusMessage { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute] set { } } - public virtual System.Threading.Tasks.Task OnGetAsync(string userId, string code) { throw null; } - } - [Microsoft.AspNetCore.Authorization.AllowAnonymousAttribute] - public partial class ExternalLoginModel : Microsoft.AspNetCore.Mvc.RazorPages.PageModel - { - public ExternalLoginModel() { } - [Microsoft.AspNetCore.Mvc.TempDataAttribute] - public string ErrorMessage { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute] set { } } - [Microsoft.AspNetCore.Mvc.BindPropertyAttribute] - public Microsoft.AspNetCore.Identity.UI.V4.Pages.Account.Internal.ExternalLoginModel.InputModel Input { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute] set { } } - public string ProviderDisplayName { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute] set { } } - public string ReturnUrl { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute] set { } } - public virtual Microsoft.AspNetCore.Mvc.IActionResult OnGet() { throw null; } - public virtual System.Threading.Tasks.Task OnGetCallbackAsync(string returnUrl = null, string remoteError = null) { throw null; } - public virtual Microsoft.AspNetCore.Mvc.IActionResult OnPost(string provider, string returnUrl = null) { throw null; } - public virtual System.Threading.Tasks.Task OnPostConfirmationAsync(string returnUrl = null) { throw null; } - public partial class InputModel - { - public InputModel() { } - [System.ComponentModel.DataAnnotations.EmailAddressAttribute] - [System.ComponentModel.DataAnnotations.RequiredAttribute] - public string Email { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute] set { } } - } - } - [Microsoft.AspNetCore.Authorization.AllowAnonymousAttribute] - public partial class ForgotPasswordConfirmation : Microsoft.AspNetCore.Mvc.RazorPages.PageModel - { - public ForgotPasswordConfirmation() { } - public void OnGet() { } - } - [Microsoft.AspNetCore.Authorization.AllowAnonymousAttribute] - public abstract partial class ForgotPasswordModel : Microsoft.AspNetCore.Mvc.RazorPages.PageModel - { - protected ForgotPasswordModel() { } - [Microsoft.AspNetCore.Mvc.BindPropertyAttribute] - public Microsoft.AspNetCore.Identity.UI.V4.Pages.Account.Internal.ForgotPasswordModel.InputModel Input { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute] set { } } - public virtual System.Threading.Tasks.Task OnPostAsync() { throw null; } - public partial class InputModel - { - public InputModel() { } - [System.ComponentModel.DataAnnotations.EmailAddressAttribute] - [System.ComponentModel.DataAnnotations.RequiredAttribute] - public string Email { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute] set { } } - } - } - [Microsoft.AspNetCore.Authorization.AllowAnonymousAttribute] - public partial class LockoutModel : Microsoft.AspNetCore.Mvc.RazorPages.PageModel - { - public LockoutModel() { } - public void OnGet() { } - } - [Microsoft.AspNetCore.Authorization.AllowAnonymousAttribute] - public abstract partial class LoginModel : Microsoft.AspNetCore.Mvc.RazorPages.PageModel - { - protected LoginModel() { } - [Microsoft.AspNetCore.Mvc.TempDataAttribute] - public string ErrorMessage { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute] set { } } - public System.Collections.Generic.IList ExternalLogins { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute] set { } } - [Microsoft.AspNetCore.Mvc.BindPropertyAttribute] - public Microsoft.AspNetCore.Identity.UI.V4.Pages.Account.Internal.LoginModel.InputModel Input { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute] set { } } - public string ReturnUrl { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute] set { } } - public virtual System.Threading.Tasks.Task OnGetAsync(string returnUrl = null) { throw null; } - public virtual System.Threading.Tasks.Task OnPostAsync(string returnUrl = null) { throw null; } - public partial class InputModel - { - public InputModel() { } - [System.ComponentModel.DataAnnotations.EmailAddressAttribute] - [System.ComponentModel.DataAnnotations.RequiredAttribute] - public string Email { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute] set { } } - [System.ComponentModel.DataAnnotations.DataTypeAttribute(System.ComponentModel.DataAnnotations.DataType.Password)] - [System.ComponentModel.DataAnnotations.RequiredAttribute] - public string Password { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute] set { } } - [System.ComponentModel.DataAnnotations.DisplayAttribute(Name="Remember me?")] - public bool RememberMe { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute] set { } } - } - } - [Microsoft.AspNetCore.Authorization.AllowAnonymousAttribute] - public abstract partial class LoginWith2faModel : Microsoft.AspNetCore.Mvc.RazorPages.PageModel - { - protected LoginWith2faModel() { } - [Microsoft.AspNetCore.Mvc.BindPropertyAttribute] - public Microsoft.AspNetCore.Identity.UI.V4.Pages.Account.Internal.LoginWith2faModel.InputModel Input { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute] set { } } - public bool RememberMe { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute] set { } } - public string ReturnUrl { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute] set { } } - public virtual System.Threading.Tasks.Task OnGetAsync(bool rememberMe, string returnUrl = null) { throw null; } - public virtual System.Threading.Tasks.Task OnPostAsync(bool rememberMe, string returnUrl = null) { throw null; } - public partial class InputModel - { - public InputModel() { } - [System.ComponentModel.DataAnnotations.DisplayAttribute(Name="Remember this machine")] - public bool RememberMachine { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute] set { } } - [System.ComponentModel.DataAnnotations.DataTypeAttribute(System.ComponentModel.DataAnnotations.DataType.Text)] - [System.ComponentModel.DataAnnotations.DisplayAttribute(Name="Authenticator code")] - [System.ComponentModel.DataAnnotations.RequiredAttribute] - [System.ComponentModel.DataAnnotations.StringLengthAttribute(7, ErrorMessage="The {0} must be at least {2} and at max {1} characters long.", MinimumLength=6)] - public string TwoFactorCode { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute] set { } } - } - } - [Microsoft.AspNetCore.Authorization.AllowAnonymousAttribute] - public abstract partial class LoginWithRecoveryCodeModel : Microsoft.AspNetCore.Mvc.RazorPages.PageModel - { - protected LoginWithRecoveryCodeModel() { } - [Microsoft.AspNetCore.Mvc.BindPropertyAttribute] - public Microsoft.AspNetCore.Identity.UI.V4.Pages.Account.Internal.LoginWithRecoveryCodeModel.InputModel Input { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute] set { } } - public string ReturnUrl { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute] set { } } - public virtual System.Threading.Tasks.Task OnGetAsync(string returnUrl = null) { throw null; } - public virtual System.Threading.Tasks.Task OnPostAsync(string returnUrl = null) { throw null; } - public partial class InputModel - { - public InputModel() { } - [Microsoft.AspNetCore.Mvc.BindPropertyAttribute] - [System.ComponentModel.DataAnnotations.DataTypeAttribute(System.ComponentModel.DataAnnotations.DataType.Text)] - [System.ComponentModel.DataAnnotations.DisplayAttribute(Name="Recovery Code")] - [System.ComponentModel.DataAnnotations.RequiredAttribute] - public string RecoveryCode { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute] set { } } - } - } - [Microsoft.AspNetCore.Authorization.AllowAnonymousAttribute] - public abstract partial class LogoutModel : Microsoft.AspNetCore.Mvc.RazorPages.PageModel - { - protected LogoutModel() { } - public void OnGet() { } - public virtual System.Threading.Tasks.Task OnPost(string returnUrl = null) { throw null; } - } - [Microsoft.AspNetCore.Authorization.AllowAnonymousAttribute] - public partial class RegisterConfirmationModel : Microsoft.AspNetCore.Mvc.RazorPages.PageModel - { - public RegisterConfirmationModel() { } - public bool DisplayConfirmAccountLink { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute] set { } } - public string Email { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute] set { } } - public string EmailConfirmationUrl { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute] set { } } - public virtual System.Threading.Tasks.Task OnGetAsync(string email, string returnUrl = null) { throw null; } - } - [Microsoft.AspNetCore.Authorization.AllowAnonymousAttribute] - public abstract partial class RegisterModel : Microsoft.AspNetCore.Mvc.RazorPages.PageModel - { - protected RegisterModel() { } - public System.Collections.Generic.IList ExternalLogins { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute] set { } } - [Microsoft.AspNetCore.Mvc.BindPropertyAttribute] - public Microsoft.AspNetCore.Identity.UI.V4.Pages.Account.Internal.RegisterModel.InputModel Input { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute] set { } } - public string ReturnUrl { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute] set { } } - public virtual System.Threading.Tasks.Task OnGetAsync(string returnUrl = null) { throw null; } - public virtual System.Threading.Tasks.Task OnPostAsync(string returnUrl = null) { throw null; } - public partial class InputModel - { - public InputModel() { } - [System.ComponentModel.DataAnnotations.CompareAttribute("Password", ErrorMessage="The password and confirmation password do not match.")] - [System.ComponentModel.DataAnnotations.DataTypeAttribute(System.ComponentModel.DataAnnotations.DataType.Password)] - [System.ComponentModel.DataAnnotations.DisplayAttribute(Name="Confirm password")] - public string ConfirmPassword { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute] set { } } - [System.ComponentModel.DataAnnotations.DisplayAttribute(Name="Email")] - [System.ComponentModel.DataAnnotations.EmailAddressAttribute] - [System.ComponentModel.DataAnnotations.RequiredAttribute] - public string Email { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute] set { } } - [System.ComponentModel.DataAnnotations.DataTypeAttribute(System.ComponentModel.DataAnnotations.DataType.Password)] - [System.ComponentModel.DataAnnotations.DisplayAttribute(Name="Password")] - [System.ComponentModel.DataAnnotations.RequiredAttribute] - [System.ComponentModel.DataAnnotations.StringLengthAttribute(100, ErrorMessage="The {0} must be at least {2} and at max {1} characters long.", MinimumLength=6)] - public string Password { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute] set { } } - } - } - [Microsoft.AspNetCore.Authorization.AllowAnonymousAttribute] - public abstract partial class ResendEmailConfirmationModel : Microsoft.AspNetCore.Mvc.RazorPages.PageModel - { - protected ResendEmailConfirmationModel() { } - [Microsoft.AspNetCore.Mvc.BindPropertyAttribute] - public Microsoft.AspNetCore.Identity.UI.V4.Pages.Account.Internal.ResendEmailConfirmationModel.InputModel Input { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute] set { } } - public virtual void OnGet() { } - public virtual System.Threading.Tasks.Task OnPostAsync() { throw null; } - public partial class InputModel - { - public InputModel() { } - [System.ComponentModel.DataAnnotations.EmailAddressAttribute] - [System.ComponentModel.DataAnnotations.RequiredAttribute] - public string Email { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute] set { } } - } - } - [Microsoft.AspNetCore.Authorization.AllowAnonymousAttribute] - public partial class ResetPasswordConfirmationModel : Microsoft.AspNetCore.Mvc.RazorPages.PageModel - { - public ResetPasswordConfirmationModel() { } - public void OnGet() { } - } - [Microsoft.AspNetCore.Authorization.AllowAnonymousAttribute] - public abstract partial class ResetPasswordModel : Microsoft.AspNetCore.Mvc.RazorPages.PageModel - { - protected ResetPasswordModel() { } - [Microsoft.AspNetCore.Mvc.BindPropertyAttribute] - public Microsoft.AspNetCore.Identity.UI.V4.Pages.Account.Internal.ResetPasswordModel.InputModel Input { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute] set { } } - public virtual Microsoft.AspNetCore.Mvc.IActionResult OnGet(string code = null) { throw null; } - public virtual System.Threading.Tasks.Task OnPostAsync() { throw null; } - public partial class InputModel - { - public InputModel() { } - [System.ComponentModel.DataAnnotations.RequiredAttribute] - public string Code { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute] set { } } - [System.ComponentModel.DataAnnotations.CompareAttribute("Password", ErrorMessage="The password and confirmation password do not match.")] - [System.ComponentModel.DataAnnotations.DataTypeAttribute(System.ComponentModel.DataAnnotations.DataType.Password)] - [System.ComponentModel.DataAnnotations.DisplayAttribute(Name="Confirm password")] - public string ConfirmPassword { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute] set { } } - [System.ComponentModel.DataAnnotations.EmailAddressAttribute] - [System.ComponentModel.DataAnnotations.RequiredAttribute] - public string Email { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute] set { } } - [System.ComponentModel.DataAnnotations.DataTypeAttribute(System.ComponentModel.DataAnnotations.DataType.Password)] - [System.ComponentModel.DataAnnotations.RequiredAttribute] - [System.ComponentModel.DataAnnotations.StringLengthAttribute(100, ErrorMessage="The {0} must be at least {2} and at max {1} characters long.", MinimumLength=6)] - public string Password { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute] set { } } - } - } -} -namespace Microsoft.AspNetCore.Identity.UI.V4.Pages.Account.Manage.Internal -{ - public abstract partial class ChangePasswordModel : Microsoft.AspNetCore.Mvc.RazorPages.PageModel - { - protected ChangePasswordModel() { } - [Microsoft.AspNetCore.Mvc.BindPropertyAttribute] - public Microsoft.AspNetCore.Identity.UI.V4.Pages.Account.Manage.Internal.ChangePasswordModel.InputModel Input { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute] set { } } - [Microsoft.AspNetCore.Mvc.TempDataAttribute] - public string StatusMessage { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute] set { } } - public virtual System.Threading.Tasks.Task OnGetAsync() { throw null; } - public virtual System.Threading.Tasks.Task OnPostAsync() { throw null; } - public partial class InputModel - { - public InputModel() { } - [System.ComponentModel.DataAnnotations.CompareAttribute("NewPassword", ErrorMessage="The new password and confirmation password do not match.")] - [System.ComponentModel.DataAnnotations.DataTypeAttribute(System.ComponentModel.DataAnnotations.DataType.Password)] - [System.ComponentModel.DataAnnotations.DisplayAttribute(Name="Confirm new password")] - public string ConfirmPassword { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute] set { } } - [System.ComponentModel.DataAnnotations.DataTypeAttribute(System.ComponentModel.DataAnnotations.DataType.Password)] - [System.ComponentModel.DataAnnotations.DisplayAttribute(Name="New password")] - [System.ComponentModel.DataAnnotations.RequiredAttribute] - [System.ComponentModel.DataAnnotations.StringLengthAttribute(100, ErrorMessage="The {0} must be at least {2} and at max {1} characters long.", MinimumLength=6)] - public string NewPassword { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute] set { } } - [System.ComponentModel.DataAnnotations.DataTypeAttribute(System.ComponentModel.DataAnnotations.DataType.Password)] - [System.ComponentModel.DataAnnotations.DisplayAttribute(Name="Current password")] - [System.ComponentModel.DataAnnotations.RequiredAttribute] - public string OldPassword { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute] set { } } - } - } - public abstract partial class DeletePersonalDataModel : Microsoft.AspNetCore.Mvc.RazorPages.PageModel - { - protected DeletePersonalDataModel() { } - [Microsoft.AspNetCore.Mvc.BindPropertyAttribute] - public Microsoft.AspNetCore.Identity.UI.V4.Pages.Account.Manage.Internal.DeletePersonalDataModel.InputModel Input { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute] set { } } - public bool RequirePassword { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute] set { } } - public virtual System.Threading.Tasks.Task OnGet() { throw null; } - public virtual System.Threading.Tasks.Task OnPostAsync() { throw null; } - public partial class InputModel - { - public InputModel() { } - [System.ComponentModel.DataAnnotations.DataTypeAttribute(System.ComponentModel.DataAnnotations.DataType.Password)] - [System.ComponentModel.DataAnnotations.RequiredAttribute] - public string Password { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute] set { } } - } - } - public abstract partial class Disable2faModel : Microsoft.AspNetCore.Mvc.RazorPages.PageModel - { - protected Disable2faModel() { } - [Microsoft.AspNetCore.Mvc.TempDataAttribute] - public string StatusMessage { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute] set { } } - public virtual System.Threading.Tasks.Task OnGet() { throw null; } - public virtual System.Threading.Tasks.Task OnPostAsync() { throw null; } - } - public abstract partial class DownloadPersonalDataModel : Microsoft.AspNetCore.Mvc.RazorPages.PageModel - { - protected DownloadPersonalDataModel() { } - public virtual Microsoft.AspNetCore.Mvc.IActionResult OnGet() { throw null; } - public virtual System.Threading.Tasks.Task OnPostAsync() { throw null; } - } - public abstract partial class EmailModel : Microsoft.AspNetCore.Mvc.RazorPages.PageModel - { - protected EmailModel() { } - public string Email { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute] set { } } - [Microsoft.AspNetCore.Mvc.BindPropertyAttribute] - public Microsoft.AspNetCore.Identity.UI.V4.Pages.Account.Manage.Internal.EmailModel.InputModel Input { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute] set { } } - public bool IsEmailConfirmed { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute] set { } } - [Microsoft.AspNetCore.Mvc.TempDataAttribute] - public string StatusMessage { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute] set { } } - public virtual System.Threading.Tasks.Task OnGetAsync() { throw null; } - public virtual System.Threading.Tasks.Task OnPostChangeEmailAsync() { throw null; } - public virtual System.Threading.Tasks.Task OnPostSendVerificationEmailAsync() { throw null; } - public partial class InputModel - { - public InputModel() { } - [System.ComponentModel.DataAnnotations.DisplayAttribute(Name="New email")] - [System.ComponentModel.DataAnnotations.EmailAddressAttribute] - [System.ComponentModel.DataAnnotations.RequiredAttribute] - public string NewEmail { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute] set { } } - } - } - public partial class EnableAuthenticatorModel : Microsoft.AspNetCore.Mvc.RazorPages.PageModel - { - public EnableAuthenticatorModel() { } - public string AuthenticatorUri { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute] set { } } - [Microsoft.AspNetCore.Mvc.BindPropertyAttribute] - public Microsoft.AspNetCore.Identity.UI.V4.Pages.Account.Manage.Internal.EnableAuthenticatorModel.InputModel Input { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute] set { } } - [Microsoft.AspNetCore.Mvc.TempDataAttribute] - public string[] RecoveryCodes { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute] set { } } - public string SharedKey { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute] set { } } - [Microsoft.AspNetCore.Mvc.TempDataAttribute] - public string StatusMessage { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute] set { } } - public virtual System.Threading.Tasks.Task OnGetAsync() { throw null; } - public virtual System.Threading.Tasks.Task OnPostAsync() { throw null; } - public partial class InputModel - { - public InputModel() { } - [System.ComponentModel.DataAnnotations.DataTypeAttribute(System.ComponentModel.DataAnnotations.DataType.Text)] - [System.ComponentModel.DataAnnotations.DisplayAttribute(Name="Verification Code")] - [System.ComponentModel.DataAnnotations.RequiredAttribute] - [System.ComponentModel.DataAnnotations.StringLengthAttribute(7, ErrorMessage="The {0} must be at least {2} and at max {1} characters long.", MinimumLength=6)] - public string Code { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute] set { } } - } - } - public abstract partial class ExternalLoginsModel : Microsoft.AspNetCore.Mvc.RazorPages.PageModel - { - protected ExternalLoginsModel() { } - public System.Collections.Generic.IList CurrentLogins { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute] set { } } - public System.Collections.Generic.IList OtherLogins { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute] set { } } - public bool ShowRemoveButton { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute] set { } } - [Microsoft.AspNetCore.Mvc.TempDataAttribute] - public string StatusMessage { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute] set { } } - public virtual System.Threading.Tasks.Task OnGetAsync() { throw null; } - public virtual System.Threading.Tasks.Task OnGetLinkLoginCallbackAsync() { throw null; } - public virtual System.Threading.Tasks.Task OnPostLinkLoginAsync(string provider) { throw null; } - public virtual System.Threading.Tasks.Task OnPostRemoveLoginAsync(string loginProvider, string providerKey) { throw null; } - } - public abstract partial class GenerateRecoveryCodesModel : Microsoft.AspNetCore.Mvc.RazorPages.PageModel - { - protected GenerateRecoveryCodesModel() { } - [Microsoft.AspNetCore.Mvc.TempDataAttribute] - public string[] RecoveryCodes { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute] set { } } - [Microsoft.AspNetCore.Mvc.TempDataAttribute] - public string StatusMessage { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute] set { } } - public virtual System.Threading.Tasks.Task OnGetAsync() { throw null; } - public virtual System.Threading.Tasks.Task OnPostAsync() { throw null; } - } - public abstract partial class IndexModel : Microsoft.AspNetCore.Mvc.RazorPages.PageModel - { - protected IndexModel() { } - [Microsoft.AspNetCore.Mvc.BindPropertyAttribute] - public Microsoft.AspNetCore.Identity.UI.V4.Pages.Account.Manage.Internal.IndexModel.InputModel Input { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute] set { } } - [Microsoft.AspNetCore.Mvc.TempDataAttribute] - public string StatusMessage { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute] set { } } - public string Username { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute] set { } } - public virtual System.Threading.Tasks.Task OnGetAsync() { throw null; } - public virtual System.Threading.Tasks.Task OnPostAsync() { throw null; } - public partial class InputModel - { - public InputModel() { } - [System.ComponentModel.DataAnnotations.DisplayAttribute(Name="Phone number")] - [System.ComponentModel.DataAnnotations.PhoneAttribute] - public string PhoneNumber { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute] set { } } - } - } - public static partial class ManageNavPages - { - public static string ChangePassword { get { throw null; } } - public static string DeletePersonalData { get { throw null; } } - public static string DownloadPersonalData { get { throw null; } } - public static string Email { get { throw null; } } - public static string ExternalLogins { get { throw null; } } - public static string Index { get { throw null; } } - public static string PersonalData { get { throw null; } } - public static string TwoFactorAuthentication { get { throw null; } } - public static string ChangePasswordNavClass(Microsoft.AspNetCore.Mvc.Rendering.ViewContext viewContext) { throw null; } - public static string DeletePersonalDataNavClass(Microsoft.AspNetCore.Mvc.Rendering.ViewContext viewContext) { throw null; } - public static string DownloadPersonalDataNavClass(Microsoft.AspNetCore.Mvc.Rendering.ViewContext viewContext) { throw null; } - public static string EmailNavClass(Microsoft.AspNetCore.Mvc.Rendering.ViewContext viewContext) { throw null; } - public static string ExternalLoginsNavClass(Microsoft.AspNetCore.Mvc.Rendering.ViewContext viewContext) { throw null; } - public static string IndexNavClass(Microsoft.AspNetCore.Mvc.Rendering.ViewContext viewContext) { throw null; } - public static string PageNavClass(Microsoft.AspNetCore.Mvc.Rendering.ViewContext viewContext, string page) { throw null; } - public static string PersonalDataNavClass(Microsoft.AspNetCore.Mvc.Rendering.ViewContext viewContext) { throw null; } - public static string TwoFactorAuthenticationNavClass(Microsoft.AspNetCore.Mvc.Rendering.ViewContext viewContext) { throw null; } - } - public abstract partial class PersonalDataModel : Microsoft.AspNetCore.Mvc.RazorPages.PageModel - { - protected PersonalDataModel() { } - public virtual System.Threading.Tasks.Task OnGet() { throw null; } - } - public abstract partial class ResetAuthenticatorModel : Microsoft.AspNetCore.Mvc.RazorPages.PageModel - { - protected ResetAuthenticatorModel() { } - [Microsoft.AspNetCore.Mvc.TempDataAttribute] - public string StatusMessage { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute] set { } } - public virtual System.Threading.Tasks.Task OnGet() { throw null; } - public virtual System.Threading.Tasks.Task OnPostAsync() { throw null; } - } - public abstract partial class SetPasswordModel : Microsoft.AspNetCore.Mvc.RazorPages.PageModel - { - protected SetPasswordModel() { } - [Microsoft.AspNetCore.Mvc.BindPropertyAttribute] - public Microsoft.AspNetCore.Identity.UI.V4.Pages.Account.Manage.Internal.SetPasswordModel.InputModel Input { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute] set { } } - [Microsoft.AspNetCore.Mvc.TempDataAttribute] - public string StatusMessage { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute] set { } } - public virtual System.Threading.Tasks.Task OnGetAsync() { throw null; } - public virtual System.Threading.Tasks.Task OnPostAsync() { throw null; } - public partial class InputModel - { - public InputModel() { } - [System.ComponentModel.DataAnnotations.CompareAttribute("NewPassword", ErrorMessage="The new password and confirmation password do not match.")] - [System.ComponentModel.DataAnnotations.DataTypeAttribute(System.ComponentModel.DataAnnotations.DataType.Password)] - [System.ComponentModel.DataAnnotations.DisplayAttribute(Name="Confirm new password")] - public string ConfirmPassword { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute] set { } } - [System.ComponentModel.DataAnnotations.DataTypeAttribute(System.ComponentModel.DataAnnotations.DataType.Password)] - [System.ComponentModel.DataAnnotations.DisplayAttribute(Name="New password")] - [System.ComponentModel.DataAnnotations.RequiredAttribute] - [System.ComponentModel.DataAnnotations.StringLengthAttribute(100, ErrorMessage="The {0} must be at least {2} and at max {1} characters long.", MinimumLength=6)] - public string NewPassword { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute] set { } } - } - } - public partial class ShowRecoveryCodesModel : Microsoft.AspNetCore.Mvc.RazorPages.PageModel - { - public ShowRecoveryCodesModel() { } - [Microsoft.AspNetCore.Mvc.TempDataAttribute] - public string[] RecoveryCodes { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute] set { } } - [Microsoft.AspNetCore.Mvc.TempDataAttribute] - public string StatusMessage { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute] set { } } - public Microsoft.AspNetCore.Mvc.IActionResult OnGet() { throw null; } - } - public abstract partial class TwoFactorAuthenticationModel : Microsoft.AspNetCore.Mvc.RazorPages.PageModel - { - protected TwoFactorAuthenticationModel() { } - public bool HasAuthenticator { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute] set { } } - [Microsoft.AspNetCore.Mvc.BindPropertyAttribute] - public bool Is2faEnabled { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute] set { } } - public bool IsMachineRemembered { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute] set { } } - public int RecoveryCodesLeft { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute] set { } } - [Microsoft.AspNetCore.Mvc.TempDataAttribute] - public string StatusMessage { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute] set { } } - public virtual System.Threading.Tasks.Task OnGetAsync() { throw null; } - public virtual System.Threading.Tasks.Task OnPostAsync() { throw null; } - } -} -namespace Microsoft.AspNetCore.Identity.UI.V4.Pages.Internal -{ - [Microsoft.AspNetCore.Authorization.AllowAnonymousAttribute] - [Microsoft.AspNetCore.Mvc.ResponseCacheAttribute(Duration=0, Location=Microsoft.AspNetCore.Mvc.ResponseCacheLocation.None, NoStore=true)] - public partial class ErrorModel : Microsoft.AspNetCore.Mvc.RazorPages.PageModel - { - public ErrorModel() { } - public string RequestId { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute] set { } } - public bool ShowRequestId { get { throw null; } } - public void OnGet() { } - } -} -namespace Microsoft.Extensions.DependencyInjection -{ - public static partial class IdentityServiceCollectionUIExtensions - { - public static Microsoft.AspNetCore.Identity.IdentityBuilder AddDefaultIdentity(this Microsoft.Extensions.DependencyInjection.IServiceCollection services) where TUser : class { throw null; } - public static Microsoft.AspNetCore.Identity.IdentityBuilder AddDefaultIdentity(this Microsoft.Extensions.DependencyInjection.IServiceCollection services, System.Action configureOptions) where TUser : class { throw null; } - } -} diff --git a/src/Identity/UI/src/Areas/Identity/Pages/V3/Account/ExternalLogin.cshtml.cs b/src/Identity/UI/src/Areas/Identity/Pages/V3/Account/ExternalLogin.cshtml.cs index dbf5c24f641c..896a7656a5fd 100644 --- a/src/Identity/UI/src/Areas/Identity/Pages/V3/Account/ExternalLogin.cshtml.cs +++ b/src/Identity/UI/src/Areas/Identity/Pages/V3/Account/ExternalLogin.cshtml.cs @@ -208,6 +208,14 @@ public override async Task OnPostConfirmationAsync(string returnU await _emailSender.SendEmailAsync(Input.Email, "Confirm your email", $"Please confirm your account by clicking here."); + + // If account confirmation is required, we need to show the link if we don't have a real email sender + if (_userManager.Options.SignIn.RequireConfirmedAccount) + { + return RedirectToPage("./RegisterConfirmation", new { Email = Input.Email }); + } + + await _signInManager.SignInAsync(user, isPersistent: false); // If account confirmation is required, we need to show the link if we don't have a real email sender if (_userManager.Options.SignIn.RequireConfirmedAccount) diff --git a/src/Identity/UI/src/Microsoft.AspNetCore.Identity.UI.csproj b/src/Identity/UI/src/Microsoft.AspNetCore.Identity.UI.csproj index f5a122a35593..6da54c686914 100644 --- a/src/Identity/UI/src/Microsoft.AspNetCore.Identity.UI.csproj +++ b/src/Identity/UI/src/Microsoft.AspNetCore.Identity.UI.csproj @@ -6,7 +6,7 @@ $(DefaultNetCoreTargetFramework) true aspnetcore;identity;membership;razorpages - true + true Microsoft.AspNetCore.Mvc.ApplicationParts.NullApplicationPartFactory, Microsoft.AspNetCore.Mvc.Core false false diff --git a/src/Identity/samples/IdentitySample.DefaultUI/IdentitySample.DefaultUI.csproj b/src/Identity/samples/IdentitySample.DefaultUI/IdentitySample.DefaultUI.csproj index f5b5354906e3..2c59fad47a77 100644 --- a/src/Identity/samples/IdentitySample.DefaultUI/IdentitySample.DefaultUI.csproj +++ b/src/Identity/samples/IdentitySample.DefaultUI/IdentitySample.DefaultUI.csproj @@ -5,6 +5,8 @@ $(DefaultNetCoreTargetFramework) aspnetcore-2ff9bc27-5e8c-4484-90ca-e3aace89b72a Bootstrap4 + + false @@ -31,6 +33,8 @@ + + diff --git a/src/Identity/samples/IdentitySample.Mvc/IdentitySample.Mvc.csproj b/src/Identity/samples/IdentitySample.Mvc/IdentitySample.Mvc.csproj index cfd9be2a039d..cb60d3e0095d 100644 --- a/src/Identity/samples/IdentitySample.Mvc/IdentitySample.Mvc.csproj +++ b/src/Identity/samples/IdentitySample.Mvc/IdentitySample.Mvc.csproj @@ -4,6 +4,8 @@ Identity sample MVC application on ASP.NET Core $(DefaultNetCoreTargetFramework) aspnetcore-b3d20cbe-418e-4bf2-a0f4-57f91d067e07 + + false @@ -27,5 +29,7 @@ + + diff --git a/src/Identity/test/Identity.FunctionalTests/Microsoft.AspNetCore.Identity.FunctionalTests.csproj b/src/Identity/test/Identity.FunctionalTests/Microsoft.AspNetCore.Identity.FunctionalTests.csproj index 5e0e94e218ea..0e8a4a1b8707 100644 --- a/src/Identity/test/Identity.FunctionalTests/Microsoft.AspNetCore.Identity.FunctionalTests.csproj +++ b/src/Identity/test/Identity.FunctionalTests/Microsoft.AspNetCore.Identity.FunctionalTests.csproj @@ -4,6 +4,8 @@ $(DefaultNetCoreTargetFramework) true + + false diff --git a/src/Identity/testassets/Identity.DefaultUI.WebSite/Identity.DefaultUI.WebSite.csproj b/src/Identity/testassets/Identity.DefaultUI.WebSite/Identity.DefaultUI.WebSite.csproj index 4b303fe2f277..7af6e012025e 100644 --- a/src/Identity/testassets/Identity.DefaultUI.WebSite/Identity.DefaultUI.WebSite.csproj +++ b/src/Identity/testassets/Identity.DefaultUI.WebSite/Identity.DefaultUI.WebSite.csproj @@ -4,6 +4,8 @@ $(DefaultNetCoreTargetFramework) aspnet-Identity.DefaultUI.WebSite-80C658D8-CED7-467F-9B47-75DA3BC1A16D Bootstrap3 + + false @@ -42,6 +44,8 @@ + + diff --git a/src/Installers/Debian/Directory.Build.props b/src/Installers/Debian/Directory.Build.props index f3d7df1c9ef1..7eb60ce3ee1a 100644 --- a/src/Installers/Debian/Directory.Build.props +++ b/src/Installers/Debian/Directory.Build.props @@ -15,6 +15,6 @@ true - true + true diff --git a/src/Installers/Rpm/Directory.Build.props b/src/Installers/Rpm/Directory.Build.props index 09110a30fb94..17abde691b66 100644 --- a/src/Installers/Rpm/Directory.Build.props +++ b/src/Installers/Rpm/Directory.Build.props @@ -11,7 +11,7 @@ true - true + true diff --git a/src/Installers/Rpm/TargetingPack/Rpm.TargetingPack.rpmproj b/src/Installers/Rpm/TargetingPack/Rpm.TargetingPack.rpmproj index cafd5c3d1e46..ee3b3f707f39 100644 --- a/src/Installers/Rpm/TargetingPack/Rpm.TargetingPack.rpmproj +++ b/src/Installers/Rpm/TargetingPack/Rpm.TargetingPack.rpmproj @@ -21,7 +21,7 @@ - + diff --git a/src/Installers/Windows/GenerateNugetPackageWithMsi.ps1 b/src/Installers/Windows/GenerateNugetPackageWithMsi.ps1 index b0c497b985f9..5be7b4d3d031 100644 --- a/src/Installers/Windows/GenerateNugetPackageWithMsi.ps1 +++ b/src/Installers/Windows/GenerateNugetPackageWithMsi.ps1 @@ -12,7 +12,9 @@ param( [Parameter(Mandatory=$true)][string]$RepoRoot, [Parameter(Mandatory=$true)][string]$MajorVersion, [Parameter(Mandatory=$true)][string]$MinorVersion, - [Parameter(Mandatory=$true)][string]$PackageIconPath + [Parameter(Mandatory=$true)][string]$PackageIcon, + [Parameter(Mandatory=$true)][string]$PackageIconFullPath, + [Parameter(Mandatory=$true)][string]$PackageLicenseExpression ) $NuGetDir = Join-Path $RepoRoot "artifacts\Tools\nuget\$Name\$Architecture" @@ -23,10 +25,15 @@ if (-not (Test-Path $NuGetDir)) { } if (-not (Test-Path $NuGetExe)) { - # Using 3.5.0 to workaround https://github.com/NuGet/Home/issues/5016 + # Using 5.3.0 to workaround https://github.com/NuGet/Home/issues/5016 Write-Output "Downloading nuget.exe to $NuGetExe" wget https://dist.nuget.org/win-x86-commandline/v5.3.0/nuget.exe -OutFile $NuGetExe } -& $NuGetExe pack $NuspecFile -Version $PackageVersion -OutputDirectory $OutputDirectory -NoDefaultExcludes -NoPackageAnalysis -Properties ASPNETCORE_RUNTIME_MSI=$MsiPath`;ASPNETCORE_CAB_FILE=$CabPath`;ARCH=$Architecture`;MAJOR=$MajorVersion`;MINOR=$MinorVersion`;PACKAGE_ICON_PATH=$PackageIconPath`; -Exit $LastExitCode \ No newline at end of file +& $NuGetExe pack $NuspecFile ` + -Version $PackageVersion ` + -OutputDirectory $OutputDirectory ` + -NoDefaultExcludes ` + -NoPackageAnalysis ` + -Properties ASPNETCORE_RUNTIME_MSI=$MsiPath`;ASPNETCORE_CAB_FILE=$CabPath`;ARCH=$Architecture`;MAJOR=$MajorVersion`;MINOR=$MinorVersion`;PackageIcon=$PackageIcon`;PackageIconFullPath=$PackageIconFullPath`;PackageLicenseExpression=$PackageLicenseExpression`; +Exit $LastExitCode diff --git a/src/Installers/Windows/SharedFramework/SharedFramework.wixproj b/src/Installers/Windows/SharedFramework/SharedFramework.wixproj index ab12fc945fc6..03b0a4a31a64 100644 --- a/src/Installers/Windows/SharedFramework/SharedFramework.wixproj +++ b/src/Installers/Windows/SharedFramework/SharedFramework.wixproj @@ -102,6 +102,8 @@ '$(RepoRoot)' ^ '$(AspNetCoreMajorVersion)' ^ '$(AspNetCoreMinorVersion)' ^ - '$(PackageIconFullPath)'" /> + '$(PackageIcon)' ^ + '$(PackageIconFullPath)' ^ + '$(PackageLicenseExpression)' " /> diff --git a/src/Installers/Windows/SharedFramework/SharedFrameworkPackage.nuspec b/src/Installers/Windows/SharedFramework/SharedFrameworkPackage.nuspec index 946588c887be..9170cd268a1d 100644 --- a/src/Installers/Windows/SharedFramework/SharedFrameworkPackage.nuspec +++ b/src/Installers/Windows/SharedFramework/SharedFrameworkPackage.nuspec @@ -6,8 +6,9 @@ VS.Redist.Common.AspNetCore.SharedFramework.$ARCH$.$MAJOR$.$MINOR$ Microsoft Microsoft - https://www.microsoft.com/net/dotnet_library_license.htm + $PackageLicenseExpression$ https://github.com/dotnet/aspnetcore + $PackageIcon$ true $MAJOR$.$MINOR$ ASP.NET Core TargetingPack ($ARCH$) Windows Installer MSI as a .nupkg for internal Visual Studio build consumption © Microsoft Corporation. All rights reserved. @@ -15,6 +16,6 @@ - + diff --git a/src/Installers/Windows/SharedFrameworkBundle/thm.xml b/src/Installers/Windows/SharedFrameworkBundle/thm.xml index c6e709b039f7..4873d0af14bb 100644 --- a/src/Installers/Windows/SharedFrameworkBundle/thm.xml +++ b/src/Installers/Windows/SharedFrameworkBundle/thm.xml @@ -1,6 +1,6 @@ - #(loc.Caption) + #(loc.Caption) Segoe UI Segoe UI Segoe UI diff --git a/src/Installers/Windows/TargetingPack/TargetingPack.wixproj b/src/Installers/Windows/TargetingPack/TargetingPack.wixproj index 8b47c156e30a..3c233ce1d307 100644 --- a/src/Installers/Windows/TargetingPack/TargetingPack.wixproj +++ b/src/Installers/Windows/TargetingPack/TargetingPack.wixproj @@ -100,6 +100,8 @@ '$(RepoRoot)' ^ '$(AspNetCoreMajorVersion)' ^ '$(AspNetCoreMinorVersion)' ^ - '$(PackageIconFullPath)'" /> + '$(PackageIcon)' ^ + '$(PackageIconFullPath)' ^ + '$(PackageLicenseExpression)' " /> diff --git a/src/Installers/Windows/TargetingPack/TargetingPackPackage.nuspec b/src/Installers/Windows/TargetingPack/TargetingPackPackage.nuspec index f814533970c0..a74d9b0e1ecd 100644 --- a/src/Installers/Windows/TargetingPack/TargetingPackPackage.nuspec +++ b/src/Installers/Windows/TargetingPack/TargetingPackPackage.nuspec @@ -6,14 +6,15 @@ VS.Redist.Common.AspNetCore.TargetingPack.$ARCH$.$MAJOR$.$MINOR$ Microsoft Microsoft - https://www.microsoft.com/net/dotnet_library_license.htm + $PackageLicenseExpression$ https://github.com/dotnet/aspnetcore + $PackageIcon$ true $MAJOR$.$MINOR$ ASP.NET Core TargetingPack ($ARCH$) Windows Installer MSI as a .nupkg for internal Visual Studio build consumption © Microsoft Corporation. All rights reserved. - + diff --git a/src/Installers/Windows/WindowsHostingBundle/Product.targets b/src/Installers/Windows/WindowsHostingBundle/Product.targets index ea34ff172d65..bb09f9c65c6d 100644 --- a/src/Installers/Windows/WindowsHostingBundle/Product.targets +++ b/src/Installers/Windows/WindowsHostingBundle/Product.targets @@ -23,13 +23,15 @@ https://dotnetcli.azureedge.net/dotnet/ $(DotNetAssetRootUrl)/ + https://dotnetclimsrc.azureedge.net/dotnet/ + $(DotNetPrivateAssetRootUrl)/ - + dotnet-runtime-$(MicrosoftNETCoreAppRuntimeVersion)-win-x64.exe - + dotnet-runtime-$(MicrosoftNETCoreAppRuntimeVersion)-win-x86.exe @@ -37,7 +39,10 @@ + Uri="$(DotNetAssetRootUrl)%(RemoteAsset.Identity)" + PrivateUri="$(DotNetPrivateAssetRootUrl)%(RemoteAsset.Identity)" + PrivateUriSuffix="$(DotNetAssetRootAccessTokenSuffix)" + DestinationPath="$(DepsPath)%(RemoteAsset.TargetFileName)" /> diff --git a/src/Installers/Windows/WindowsHostingBundle/thm.xml b/src/Installers/Windows/WindowsHostingBundle/thm.xml index 29404280a1c2..8ec784cd41b5 100644 --- a/src/Installers/Windows/WindowsHostingBundle/thm.xml +++ b/src/Installers/Windows/WindowsHostingBundle/thm.xml @@ -1,6 +1,6 @@ - #(loc.Caption) + #(loc.Caption) Segoe UI Segoe UI Segoe UI diff --git a/src/Middleware/CORS/ref/Microsoft.AspNetCore.Cors.Manual.cs b/src/Middleware/CORS/ref/Microsoft.AspNetCore.Cors.Manual.cs new file mode 100644 index 000000000000..e2ca285e3c8b --- /dev/null +++ b/src/Middleware/CORS/ref/Microsoft.AspNetCore.Cors.Manual.cs @@ -0,0 +1,30 @@ +// Copyright (c) .NET Foundation. All rights reserved. +// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. + +namespace Microsoft.AspNetCore.Cors +{ + internal static partial class Resources + { + internal static System.Globalization.CultureInfo Culture { [System.Runtime.CompilerServices.CompilerGeneratedAttribute]get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute]set { } } + internal static string InsecureConfiguration { get { throw null; } } + internal static string PreflightMaxAgeOutOfRange { get { throw null; } } + internal static System.Resources.ResourceManager ResourceManager { get { throw null; } } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)]internal static string GetResourceString(string resourceKey, string defaultValue = null) { throw null; } + } +} + +namespace Microsoft.AspNetCore.Cors.Infrastructure +{ + public partial class CorsPolicyBuilder + { + internal static string GetNormalizedOrigin(string origin) { throw null; } + } + internal static partial class CorsPolicyExtensions + { + public static bool IsOriginAnAllowedSubdomain(this Microsoft.AspNetCore.Cors.Infrastructure.CorsPolicy policy, string origin) { throw null; } + } + internal static partial class UriHelpers + { + public static bool IsSubdomainOf(System.Uri subdomain, System.Uri domain) { throw null; } + } +} diff --git a/src/Middleware/CORS/ref/Microsoft.AspNetCore.Cors.csproj b/src/Middleware/CORS/ref/Microsoft.AspNetCore.Cors.csproj index ae28a559760f..e68445f8989f 100644 --- a/src/Middleware/CORS/ref/Microsoft.AspNetCore.Cors.csproj +++ b/src/Middleware/CORS/ref/Microsoft.AspNetCore.Cors.csproj @@ -5,11 +5,13 @@ - - - - - - + + + + + + + + diff --git a/src/Middleware/CORS/src/Microsoft.AspNetCore.Cors.csproj b/src/Middleware/CORS/src/Microsoft.AspNetCore.Cors.csproj index 9471fd7465f5..656043ab16be 100644 --- a/src/Middleware/CORS/src/Microsoft.AspNetCore.Cors.csproj +++ b/src/Middleware/CORS/src/Microsoft.AspNetCore.Cors.csproj @@ -10,7 +10,7 @@ Microsoft.AspNetCore.Cors.EnableCorsAttribute $(NoWarn);CS1591 true aspnetcore;cors - false + false diff --git a/src/Middleware/ConcurrencyLimiter/ref/Microsoft.AspNetCore.ConcurrencyLimiter.csproj b/src/Middleware/ConcurrencyLimiter/ref/Microsoft.AspNetCore.ConcurrencyLimiter.csproj deleted file mode 100644 index 1b36bc0211bb..000000000000 --- a/src/Middleware/ConcurrencyLimiter/ref/Microsoft.AspNetCore.ConcurrencyLimiter.csproj +++ /dev/null @@ -1,13 +0,0 @@ - - - - $(DefaultNetCoreTargetFramework) - - - - - - - - - diff --git a/src/Middleware/ConcurrencyLimiter/ref/Microsoft.AspNetCore.ConcurrencyLimiter.netcoreapp.cs b/src/Middleware/ConcurrencyLimiter/ref/Microsoft.AspNetCore.ConcurrencyLimiter.netcoreapp.cs deleted file mode 100644 index e96ad664575e..000000000000 --- a/src/Middleware/ConcurrencyLimiter/ref/Microsoft.AspNetCore.ConcurrencyLimiter.netcoreapp.cs +++ /dev/null @@ -1,43 +0,0 @@ -// Copyright (c) .NET Foundation. All rights reserved. -// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. - -namespace Microsoft.AspNetCore.Builder -{ - public static partial class ConcurrencyLimiterExtensions - { - public static Microsoft.AspNetCore.Builder.IApplicationBuilder UseConcurrencyLimiter(this Microsoft.AspNetCore.Builder.IApplicationBuilder app) { throw null; } - } -} -namespace Microsoft.AspNetCore.ConcurrencyLimiter -{ - public partial class ConcurrencyLimiterMiddleware - { - public ConcurrencyLimiterMiddleware(Microsoft.AspNetCore.Http.RequestDelegate next, Microsoft.Extensions.Logging.ILoggerFactory loggerFactory, Microsoft.AspNetCore.ConcurrencyLimiter.IQueuePolicy queue, Microsoft.Extensions.Options.IOptions options) { } - [System.Diagnostics.DebuggerStepThroughAttribute] - public System.Threading.Tasks.Task Invoke(Microsoft.AspNetCore.Http.HttpContext context) { throw null; } - } - public partial class ConcurrencyLimiterOptions - { - public ConcurrencyLimiterOptions() { } - public Microsoft.AspNetCore.Http.RequestDelegate OnRejected { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute] set { } } - } - public partial interface IQueuePolicy - { - void OnExit(); - System.Threading.Tasks.ValueTask TryEnterAsync(); - } - public partial class QueuePolicyOptions - { - public QueuePolicyOptions() { } - public int MaxConcurrentRequests { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute] set { } } - public int RequestQueueLimit { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute] set { } } - } -} -namespace Microsoft.Extensions.DependencyInjection -{ - public static partial class QueuePolicyServiceCollectionExtensions - { - public static Microsoft.Extensions.DependencyInjection.IServiceCollection AddQueuePolicy(this Microsoft.Extensions.DependencyInjection.IServiceCollection services, System.Action configure) { throw null; } - public static Microsoft.Extensions.DependencyInjection.IServiceCollection AddStackPolicy(this Microsoft.Extensions.DependencyInjection.IServiceCollection services, System.Action configure) { throw null; } - } -} diff --git a/src/Middleware/ConcurrencyLimiter/src/Microsoft.AspNetCore.ConcurrencyLimiter.csproj b/src/Middleware/ConcurrencyLimiter/src/Microsoft.AspNetCore.ConcurrencyLimiter.csproj index fd2eb47d66a7..bdae67a48c15 100644 --- a/src/Middleware/ConcurrencyLimiter/src/Microsoft.AspNetCore.ConcurrencyLimiter.csproj +++ b/src/Middleware/ConcurrencyLimiter/src/Microsoft.AspNetCore.ConcurrencyLimiter.csproj @@ -5,7 +5,7 @@ $(DefaultNetCoreTargetFramework) true aspnetcore;queue;queuing - true + true diff --git a/src/Middleware/Diagnostics.Abstractions/ref/Microsoft.AspNetCore.Diagnostics.Abstractions.csproj b/src/Middleware/Diagnostics.Abstractions/ref/Microsoft.AspNetCore.Diagnostics.Abstractions.csproj index b8673b97857d..e7e3b130242b 100644 --- a/src/Middleware/Diagnostics.Abstractions/ref/Microsoft.AspNetCore.Diagnostics.Abstractions.csproj +++ b/src/Middleware/Diagnostics.Abstractions/ref/Microsoft.AspNetCore.Diagnostics.Abstractions.csproj @@ -5,6 +5,6 @@ - + diff --git a/src/Middleware/Diagnostics.Abstractions/src/Microsoft.AspNetCore.Diagnostics.Abstractions.csproj b/src/Middleware/Diagnostics.Abstractions/src/Microsoft.AspNetCore.Diagnostics.Abstractions.csproj index 4852ab174d04..6b4d54af4f49 100644 --- a/src/Middleware/Diagnostics.Abstractions/src/Microsoft.AspNetCore.Diagnostics.Abstractions.csproj +++ b/src/Middleware/Diagnostics.Abstractions/src/Microsoft.AspNetCore.Diagnostics.Abstractions.csproj @@ -7,7 +7,7 @@ $(NoWarn);CS1591 true aspnetcore;diagnostics - false + false diff --git a/src/Middleware/Diagnostics.EntityFrameworkCore/ref/Microsoft.AspNetCore.Diagnostics.EntityFrameworkCore.csproj b/src/Middleware/Diagnostics.EntityFrameworkCore/ref/Microsoft.AspNetCore.Diagnostics.EntityFrameworkCore.csproj deleted file mode 100644 index 223568b68e57..000000000000 --- a/src/Middleware/Diagnostics.EntityFrameworkCore/ref/Microsoft.AspNetCore.Diagnostics.EntityFrameworkCore.csproj +++ /dev/null @@ -1,11 +0,0 @@ - - - - $(DefaultNetCoreTargetFramework) - - - - - - - diff --git a/src/Middleware/Diagnostics.EntityFrameworkCore/ref/Microsoft.AspNetCore.Diagnostics.EntityFrameworkCore.netcoreapp.cs b/src/Middleware/Diagnostics.EntityFrameworkCore/ref/Microsoft.AspNetCore.Diagnostics.EntityFrameworkCore.netcoreapp.cs deleted file mode 100644 index e358254af34d..000000000000 --- a/src/Middleware/Diagnostics.EntityFrameworkCore/ref/Microsoft.AspNetCore.Diagnostics.EntityFrameworkCore.netcoreapp.cs +++ /dev/null @@ -1,48 +0,0 @@ -// Copyright (c) .NET Foundation. All rights reserved. -// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. - -namespace Microsoft.AspNetCore.Builder -{ - public static partial class DatabaseErrorPageExtensions - { - public static Microsoft.AspNetCore.Builder.IApplicationBuilder UseDatabaseErrorPage(this Microsoft.AspNetCore.Builder.IApplicationBuilder app) { throw null; } - public static Microsoft.AspNetCore.Builder.IApplicationBuilder UseDatabaseErrorPage(this Microsoft.AspNetCore.Builder.IApplicationBuilder app, Microsoft.AspNetCore.Builder.DatabaseErrorPageOptions options) { throw null; } - } - public partial class DatabaseErrorPageOptions - { - public DatabaseErrorPageOptions() { } - public virtual Microsoft.AspNetCore.Http.PathString MigrationsEndPointPath { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute] set { } } - } - public static partial class MigrationsEndPointExtensions - { - public static Microsoft.AspNetCore.Builder.IApplicationBuilder UseMigrationsEndPoint(this Microsoft.AspNetCore.Builder.IApplicationBuilder app) { throw null; } - public static Microsoft.AspNetCore.Builder.IApplicationBuilder UseMigrationsEndPoint(this Microsoft.AspNetCore.Builder.IApplicationBuilder app, Microsoft.AspNetCore.Builder.MigrationsEndPointOptions options) { throw null; } - } - public partial class MigrationsEndPointOptions - { - public static Microsoft.AspNetCore.Http.PathString DefaultPath; - public MigrationsEndPointOptions() { } - public virtual Microsoft.AspNetCore.Http.PathString Path { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute] set { } } - } -} -namespace Microsoft.AspNetCore.Diagnostics.EntityFrameworkCore -{ - public partial class DatabaseErrorPageMiddleware : System.IObserver>, System.IObserver - { - public DatabaseErrorPageMiddleware(Microsoft.AspNetCore.Http.RequestDelegate next, Microsoft.Extensions.Logging.ILoggerFactory loggerFactory, Microsoft.Extensions.Options.IOptions options) { } - [System.Diagnostics.DebuggerStepThroughAttribute] - public virtual System.Threading.Tasks.Task Invoke(Microsoft.AspNetCore.Http.HttpContext httpContext) { throw null; } - void System.IObserver>.OnCompleted() { } - void System.IObserver>.OnError(System.Exception error) { } - void System.IObserver>.OnNext(System.Collections.Generic.KeyValuePair keyValuePair) { } - void System.IObserver.OnCompleted() { } - void System.IObserver.OnError(System.Exception error) { } - void System.IObserver.OnNext(System.Diagnostics.DiagnosticListener diagnosticListener) { } - } - public partial class MigrationsEndPointMiddleware - { - public MigrationsEndPointMiddleware(Microsoft.AspNetCore.Http.RequestDelegate next, Microsoft.Extensions.Logging.ILogger logger, Microsoft.Extensions.Options.IOptions options) { } - [System.Diagnostics.DebuggerStepThroughAttribute] - public virtual System.Threading.Tasks.Task Invoke(Microsoft.AspNetCore.Http.HttpContext context) { throw null; } - } -} diff --git a/src/Middleware/Diagnostics.EntityFrameworkCore/src/Microsoft.AspNetCore.Diagnostics.EntityFrameworkCore.csproj b/src/Middleware/Diagnostics.EntityFrameworkCore/src/Microsoft.AspNetCore.Diagnostics.EntityFrameworkCore.csproj index ae641e7693fe..7bb7c4b2f739 100644 --- a/src/Middleware/Diagnostics.EntityFrameworkCore/src/Microsoft.AspNetCore.Diagnostics.EntityFrameworkCore.csproj +++ b/src/Middleware/Diagnostics.EntityFrameworkCore/src/Microsoft.AspNetCore.Diagnostics.EntityFrameworkCore.csproj @@ -6,7 +6,7 @@ $(NoWarn);CS1591 true aspnetcore;diagnostics;entityframeworkcore - true + true diff --git a/src/Middleware/Diagnostics.EntityFrameworkCore/test/FunctionalTests/Diagnostics.EFCore.FunctionalTests.csproj b/src/Middleware/Diagnostics.EntityFrameworkCore/test/FunctionalTests/Diagnostics.EFCore.FunctionalTests.csproj index 11fec3c8b8ba..d8c8f7598977 100644 --- a/src/Middleware/Diagnostics.EntityFrameworkCore/test/FunctionalTests/Diagnostics.EFCore.FunctionalTests.csproj +++ b/src/Middleware/Diagnostics.EntityFrameworkCore/test/FunctionalTests/Diagnostics.EFCore.FunctionalTests.csproj @@ -4,12 +4,17 @@ $(DefaultNetCoreTargetFramework) Diagnostics.EFCore.FunctionalTests + + false + + + diff --git a/src/Middleware/Diagnostics.EntityFrameworkCore/test/UnitTests/Microsoft.AspNetCore.Diagnostics.EntityFrameworkCore.Tests.csproj b/src/Middleware/Diagnostics.EntityFrameworkCore/test/UnitTests/Microsoft.AspNetCore.Diagnostics.EntityFrameworkCore.Tests.csproj index c10097fd17d6..619ade142136 100644 --- a/src/Middleware/Diagnostics.EntityFrameworkCore/test/UnitTests/Microsoft.AspNetCore.Diagnostics.EntityFrameworkCore.Tests.csproj +++ b/src/Middleware/Diagnostics.EntityFrameworkCore/test/UnitTests/Microsoft.AspNetCore.Diagnostics.EntityFrameworkCore.Tests.csproj @@ -2,11 +2,15 @@ $(DefaultNetCoreTargetFramework) + + false + + diff --git a/src/Middleware/Diagnostics/ref/Microsoft.AspNetCore.Diagnostics.Manual.cs b/src/Middleware/Diagnostics/ref/Microsoft.AspNetCore.Diagnostics.Manual.cs new file mode 100644 index 000000000000..1ec2cf85ff3e --- /dev/null +++ b/src/Middleware/Diagnostics/ref/Microsoft.AspNetCore.Diagnostics.Manual.cs @@ -0,0 +1,32 @@ +// Copyright (c) .NET Foundation. All rights reserved. +// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. + +namespace Microsoft.Extensions.StackTrace.Sources +{ + internal partial class ExceptionDetails + { + public ExceptionDetails() { } + public System.Exception Error { [System.Runtime.CompilerServices.CompilerGeneratedAttribute]get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute]set { } } + public string ErrorMessage { [System.Runtime.CompilerServices.CompilerGeneratedAttribute]get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute]set { } } + public System.Collections.Generic.IEnumerable StackFrames { [System.Runtime.CompilerServices.CompilerGeneratedAttribute]get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute]set { } } + } + internal partial class ExceptionDetailsProvider + { + public ExceptionDetailsProvider(Microsoft.Extensions.FileProviders.IFileProvider fileProvider, int sourceCodeLineCount) { } + public System.Collections.Generic.IEnumerable GetDetails(System.Exception exception) { throw null; } + internal Microsoft.Extensions.StackTrace.Sources.StackFrameSourceCodeInfo GetStackFrameSourceCodeInfo(string method, string filePath, int lineNumber) { throw null; } + internal void ReadFrameContent(Microsoft.Extensions.StackTrace.Sources.StackFrameSourceCodeInfo frame, System.Collections.Generic.IEnumerable allLines, int errorStartLineNumberInFile, int errorEndLineNumberInFile) { } + } + internal partial class StackFrameSourceCodeInfo + { + public StackFrameSourceCodeInfo() { } + public System.Collections.Generic.IEnumerable ContextCode { [System.Runtime.CompilerServices.CompilerGeneratedAttribute]get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute]set { } } + public string ErrorDetails { [System.Runtime.CompilerServices.CompilerGeneratedAttribute]get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute]set { } } + public string File { [System.Runtime.CompilerServices.CompilerGeneratedAttribute]get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute]set { } } + public string Function { [System.Runtime.CompilerServices.CompilerGeneratedAttribute]get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute]set { } } + public int Line { [System.Runtime.CompilerServices.CompilerGeneratedAttribute]get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute]set { } } + public System.Collections.Generic.IEnumerable PostContextCode { [System.Runtime.CompilerServices.CompilerGeneratedAttribute]get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute]set { } } + public System.Collections.Generic.IEnumerable PreContextCode { [System.Runtime.CompilerServices.CompilerGeneratedAttribute]get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute]set { } } + public int PreContextLine { [System.Runtime.CompilerServices.CompilerGeneratedAttribute]get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute]set { } } + } +} diff --git a/src/Middleware/Diagnostics/ref/Microsoft.AspNetCore.Diagnostics.csproj b/src/Middleware/Diagnostics/ref/Microsoft.AspNetCore.Diagnostics.csproj index 1cb4a825a639..8b601f48e3c3 100644 --- a/src/Middleware/Diagnostics/ref/Microsoft.AspNetCore.Diagnostics.csproj +++ b/src/Middleware/Diagnostics/ref/Microsoft.AspNetCore.Diagnostics.csproj @@ -5,14 +5,16 @@ - - - - - - - - - + + + + + + + + + + + diff --git a/src/Middleware/Diagnostics/src/Microsoft.AspNetCore.Diagnostics.csproj b/src/Middleware/Diagnostics/src/Microsoft.AspNetCore.Diagnostics.csproj index 6a82485ad685..a8ac2a09018d 100644 --- a/src/Middleware/Diagnostics/src/Microsoft.AspNetCore.Diagnostics.csproj +++ b/src/Middleware/Diagnostics/src/Microsoft.AspNetCore.Diagnostics.csproj @@ -7,7 +7,7 @@ $(NoWarn);CS1591 true aspnetcore;diagnostics - false + false diff --git a/src/Middleware/Diagnostics/test/testassets/DatabaseErrorPageSample/DatabaseErrorPageSample.csproj b/src/Middleware/Diagnostics/test/testassets/DatabaseErrorPageSample/DatabaseErrorPageSample.csproj index f110f1152d02..a5fa42625ffb 100644 --- a/src/Middleware/Diagnostics/test/testassets/DatabaseErrorPageSample/DatabaseErrorPageSample.csproj +++ b/src/Middleware/Diagnostics/test/testassets/DatabaseErrorPageSample/DatabaseErrorPageSample.csproj @@ -2,6 +2,8 @@ $(DefaultNetCoreTargetFramework) + + false @@ -13,6 +15,8 @@ + + diff --git a/src/Middleware/HeaderPropagation/ref/Microsoft.AspNetCore.HeaderPropagation.csproj b/src/Middleware/HeaderPropagation/ref/Microsoft.AspNetCore.HeaderPropagation.csproj deleted file mode 100644 index 47f0e56bb4d5..000000000000 --- a/src/Middleware/HeaderPropagation/ref/Microsoft.AspNetCore.HeaderPropagation.csproj +++ /dev/null @@ -1,12 +0,0 @@ - - - - $(DefaultNetCoreTargetFramework) - - - - - - - - diff --git a/src/Middleware/HeaderPropagation/ref/Microsoft.AspNetCore.HeaderPropagation.netcoreapp.cs b/src/Middleware/HeaderPropagation/ref/Microsoft.AspNetCore.HeaderPropagation.netcoreapp.cs deleted file mode 100644 index 72f8f37c2e03..000000000000 --- a/src/Middleware/HeaderPropagation/ref/Microsoft.AspNetCore.HeaderPropagation.netcoreapp.cs +++ /dev/null @@ -1,88 +0,0 @@ -// Copyright (c) .NET Foundation. All rights reserved. -// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. - -namespace Microsoft.AspNetCore.Builder -{ - public static partial class HeaderPropagationApplicationBuilderExtensions - { - public static Microsoft.AspNetCore.Builder.IApplicationBuilder UseHeaderPropagation(this Microsoft.AspNetCore.Builder.IApplicationBuilder app) { throw null; } - } -} -namespace Microsoft.AspNetCore.HeaderPropagation -{ - [System.Runtime.InteropServices.StructLayoutAttribute(System.Runtime.InteropServices.LayoutKind.Sequential)] - public readonly partial struct HeaderPropagationContext - { - private readonly object _dummy; - private readonly int _dummyPrimitive; - public HeaderPropagationContext(Microsoft.AspNetCore.Http.HttpContext httpContext, string headerName, Microsoft.Extensions.Primitives.StringValues headerValue) { throw null; } - public string HeaderName { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } } - public Microsoft.Extensions.Primitives.StringValues HeaderValue { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } } - public Microsoft.AspNetCore.Http.HttpContext HttpContext { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } } - } - public partial class HeaderPropagationEntry - { - public HeaderPropagationEntry(string inboundHeaderName, string capturedHeaderName, System.Func valueFilter) { } - public string CapturedHeaderName { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } } - public string InboundHeaderName { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } } - public System.Func ValueFilter { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } } - } - public sealed partial class HeaderPropagationEntryCollection : System.Collections.ObjectModel.Collection - { - public HeaderPropagationEntryCollection() { } - public void Add(string headerName) { } - public void Add(string headerName, System.Func valueFilter) { } - public void Add(string inboundHeaderName, string outboundHeaderName) { } - public void Add(string inboundHeaderName, string outboundHeaderName, System.Func valueFilter) { } - } - public partial class HeaderPropagationMessageHandler : System.Net.Http.DelegatingHandler - { - public HeaderPropagationMessageHandler(Microsoft.AspNetCore.HeaderPropagation.HeaderPropagationMessageHandlerOptions options, Microsoft.AspNetCore.HeaderPropagation.HeaderPropagationValues values) { } - protected override System.Threading.Tasks.Task SendAsync(System.Net.Http.HttpRequestMessage request, System.Threading.CancellationToken cancellationToken) { throw null; } - } - public partial class HeaderPropagationMessageHandlerEntry - { - public HeaderPropagationMessageHandlerEntry(string capturedHeaderName, string outboundHeaderName) { } - public string CapturedHeaderName { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } } - public string OutboundHeaderName { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } } - } - public sealed partial class HeaderPropagationMessageHandlerEntryCollection : System.Collections.ObjectModel.Collection - { - public HeaderPropagationMessageHandlerEntryCollection() { } - public void Add(string headerName) { } - public void Add(string capturedHeaderName, string outboundHeaderName) { } - } - public partial class HeaderPropagationMessageHandlerOptions - { - public HeaderPropagationMessageHandlerOptions() { } - public Microsoft.AspNetCore.HeaderPropagation.HeaderPropagationMessageHandlerEntryCollection Headers { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute] set { } } - } - public partial class HeaderPropagationMiddleware - { - public HeaderPropagationMiddleware(Microsoft.AspNetCore.Http.RequestDelegate next, Microsoft.Extensions.Options.IOptions options, Microsoft.AspNetCore.HeaderPropagation.HeaderPropagationValues values) { } - public System.Threading.Tasks.Task Invoke(Microsoft.AspNetCore.Http.HttpContext context) { throw null; } - } - public partial class HeaderPropagationOptions - { - public HeaderPropagationOptions() { } - public Microsoft.AspNetCore.HeaderPropagation.HeaderPropagationEntryCollection Headers { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute] set { } } - } - public partial class HeaderPropagationValues - { - public HeaderPropagationValues() { } - public System.Collections.Generic.IDictionary Headers { get { throw null; } set { } } - } -} -namespace Microsoft.Extensions.DependencyInjection -{ - public static partial class HeaderPropagationHttpClientBuilderExtensions - { - public static Microsoft.Extensions.DependencyInjection.IHttpClientBuilder AddHeaderPropagation(this Microsoft.Extensions.DependencyInjection.IHttpClientBuilder builder) { throw null; } - public static Microsoft.Extensions.DependencyInjection.IHttpClientBuilder AddHeaderPropagation(this Microsoft.Extensions.DependencyInjection.IHttpClientBuilder builder, System.Action configure) { throw null; } - } - public static partial class HeaderPropagationServiceCollectionExtensions - { - public static Microsoft.Extensions.DependencyInjection.IServiceCollection AddHeaderPropagation(this Microsoft.Extensions.DependencyInjection.IServiceCollection services) { throw null; } - public static Microsoft.Extensions.DependencyInjection.IServiceCollection AddHeaderPropagation(this Microsoft.Extensions.DependencyInjection.IServiceCollection services, System.Action configureOptions) { throw null; } - } -} diff --git a/src/Middleware/HeaderPropagation/src/HeaderPropagationMiddleware.cs b/src/Middleware/HeaderPropagation/src/HeaderPropagationMiddleware.cs index f62c9e4a72bd..bd24fb63e2e5 100644 --- a/src/Middleware/HeaderPropagation/src/HeaderPropagationMiddleware.cs +++ b/src/Middleware/HeaderPropagation/src/HeaderPropagationMiddleware.cs @@ -33,7 +33,8 @@ public HeaderPropagationMiddleware(RequestDelegate next, IOptions(StringComparer.OrdinalIgnoreCase); @@ -56,7 +57,7 @@ public Task Invoke(HttpContext context) } } - return _next.Invoke(context); + await _next.Invoke(context); } private static StringValues GetValue(HttpContext context, HeaderPropagationEntry entry) diff --git a/src/Middleware/HeaderPropagation/src/Microsoft.AspNetCore.HeaderPropagation.csproj b/src/Middleware/HeaderPropagation/src/Microsoft.AspNetCore.HeaderPropagation.csproj index dcebbcf2f60d..c82ea7e2d3fc 100644 --- a/src/Middleware/HeaderPropagation/src/Microsoft.AspNetCore.HeaderPropagation.csproj +++ b/src/Middleware/HeaderPropagation/src/Microsoft.AspNetCore.HeaderPropagation.csproj @@ -3,7 +3,7 @@ ASP.NET Core middleware to propagate HTTP headers from the incoming request to the outgoing HTTP Client requests $(DefaultNetCoreTargetFramework) - true + true $(NoWarn);CS1591 true aspnetcore;httpclient diff --git a/src/Middleware/HeaderPropagation/test/HeaderPropagationMiddlewareTest.cs b/src/Middleware/HeaderPropagation/test/HeaderPropagationMiddlewareTest.cs index f6576d2d688d..99bb4997a5ef 100644 --- a/src/Middleware/HeaderPropagation/test/HeaderPropagationMiddlewareTest.cs +++ b/src/Middleware/HeaderPropagation/test/HeaderPropagationMiddlewareTest.cs @@ -1,6 +1,8 @@ // Copyright (c) .NET Foundation. All rights reserved. // Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. +using System; +using System.Collections.Generic; using System.Threading.Tasks; using Microsoft.AspNetCore.Http; using Microsoft.Extensions.Options; @@ -14,7 +16,11 @@ public class HeaderPropagationMiddlewareTest public HeaderPropagationMiddlewareTest() { Context = new DefaultHttpContext(); - Next = ctx => Task.CompletedTask; + Next = ctx => + { + CapturedHeaders = State.Headers; + return Task.CompletedTask; + }; Configuration = new HeaderPropagationOptions(); State = new HeaderPropagationValues(); Middleware = new HeaderPropagationMiddleware(Next, @@ -24,8 +30,10 @@ public HeaderPropagationMiddlewareTest() public DefaultHttpContext Context { get; set; } public RequestDelegate Next { get; set; } + public Action Assertion { get; set; } public HeaderPropagationOptions Configuration { get; set; } public HeaderPropagationValues State { get; set; } + public IDictionary CapturedHeaders { get; set; } public HeaderPropagationMiddleware Middleware { get; set; } [Fact] @@ -39,8 +47,8 @@ public async Task HeaderInRequest_AddCorrectValue() await Middleware.Invoke(Context); // Assert - Assert.Contains("in", State.Headers.Keys); - Assert.Equal(new[] { "test" }, State.Headers["in"]); + Assert.Contains("in", CapturedHeaders.Keys); + Assert.Equal(new[] { "test" }, CapturedHeaders["in"]); } [Fact] @@ -53,7 +61,7 @@ public async Task NoHeaderInRequest_DoesNotAddIt() await Middleware.Invoke(Context); // Assert - Assert.Empty(State.Headers); + Assert.Empty(CapturedHeaders); } [Fact] @@ -66,7 +74,7 @@ public async Task HeaderInRequest_NotInOptions_DoesNotAddIt() await Middleware.Invoke(Context); // Assert - Assert.Empty(State.Headers); + Assert.Empty(CapturedHeaders); } [Fact] @@ -82,10 +90,10 @@ public async Task MultipleHeadersInRequest_AddAllHeaders() await Middleware.Invoke(Context); // Assert - Assert.Contains("in", State.Headers.Keys); - Assert.Equal(new[] { "test" }, State.Headers["in"]); - Assert.Contains("another", State.Headers.Keys); - Assert.Equal(new[] { "test2" }, State.Headers["another"]); + Assert.Contains("in", CapturedHeaders.Keys); + Assert.Equal(new[] { "test" }, CapturedHeaders["in"]); + Assert.Contains("another", CapturedHeaders.Keys); + Assert.Equal(new[] { "test2" }, CapturedHeaders["another"]); } [Theory] @@ -101,7 +109,7 @@ public async Task HeaderEmptyInRequest_DoesNotAddIt(string headerValue) await Middleware.Invoke(Context); // Assert - Assert.DoesNotContain("in", State.Headers.Keys); + Assert.DoesNotContain("in", CapturedHeaders.Keys); } [Theory] @@ -127,8 +135,8 @@ public async Task UsesValueFilter(string[] filterValues, string[] expectedValues await Middleware.Invoke(Context); // Assert - Assert.Contains("in", State.Headers.Keys); - Assert.Equal(expectedValues, State.Headers["in"]); + Assert.Contains("in", CapturedHeaders.Keys); + Assert.Equal(expectedValues, CapturedHeaders["in"]); Assert.Equal("in", receivedName); Assert.Equal(new StringValues("value"), receivedValue); Assert.Same(Context, receivedContext); @@ -145,8 +153,8 @@ public async Task PreferValueFilter_OverRequestHeader() await Middleware.Invoke(Context); // Assert - Assert.Contains("in", State.Headers.Keys); - Assert.Equal("test", State.Headers["in"]); + Assert.Contains("in", CapturedHeaders.Keys); + Assert.Equal("test", CapturedHeaders["in"]); } [Fact] @@ -159,7 +167,7 @@ public async Task EmptyValuesFromValueFilter_DoesNotAddIt() await Middleware.Invoke(Context); // Assert - Assert.DoesNotContain("in", State.Headers.Keys); + Assert.DoesNotContain("in", CapturedHeaders.Keys); } [Fact] @@ -174,8 +182,46 @@ public async Task MultipleEntries_AddsFirstToProduceValue() await Middleware.Invoke(Context); // Assert - Assert.Contains("in", State.Headers.Keys); - Assert.Equal("Test", State.Headers["in"]); + Assert.Contains("in", CapturedHeaders.Keys); + Assert.Equal("Test", CapturedHeaders["in"]); + } + + [Fact] + public async Task HeaderInRequest_WithBleedAsyncLocal_HasCorrectValue() + { + // Arrange + Configuration.Headers.Add("in"); + + // Process first request + Context.Request.Headers.Add("in", "dirty"); + await Middleware.Invoke(Context); + + // Process second request + Context = new DefaultHttpContext(); + Context.Request.Headers.Add("in", "test"); + await Middleware.Invoke(Context); + + // Assert + Assert.Contains("in", CapturedHeaders.Keys); + Assert.Equal(new[] { "test" }, CapturedHeaders["in"]); + } + + [Fact] + public async Task NoHeaderInRequest_WithBleedAsyncLocal_DoesNotHaveIt() + { + // Arrange + Configuration.Headers.Add("in"); + + // Process first request + Context.Request.Headers.Add("in", "dirty"); + await Middleware.Invoke(Context); + + // Process second request + Context = new DefaultHttpContext(); + await Middleware.Invoke(Context); + + // Assert + Assert.Empty(CapturedHeaders); } } } diff --git a/src/Middleware/HealthChecks.EntityFrameworkCore/ref/Microsoft.Extensions.Diagnostics.HealthChecks.EntityFrameworkCore.csproj b/src/Middleware/HealthChecks.EntityFrameworkCore/ref/Microsoft.Extensions.Diagnostics.HealthChecks.EntityFrameworkCore.csproj deleted file mode 100644 index 0f5cd79b7d6a..000000000000 --- a/src/Middleware/HealthChecks.EntityFrameworkCore/ref/Microsoft.Extensions.Diagnostics.HealthChecks.EntityFrameworkCore.csproj +++ /dev/null @@ -1,12 +0,0 @@ - - - - netstandard2.1 - - - - - - - - diff --git a/src/Middleware/HealthChecks.EntityFrameworkCore/ref/Microsoft.Extensions.Diagnostics.HealthChecks.EntityFrameworkCore.netstandard2.1.cs b/src/Middleware/HealthChecks.EntityFrameworkCore/ref/Microsoft.Extensions.Diagnostics.HealthChecks.EntityFrameworkCore.netstandard2.1.cs deleted file mode 100644 index e8fdd147a327..000000000000 --- a/src/Middleware/HealthChecks.EntityFrameworkCore/ref/Microsoft.Extensions.Diagnostics.HealthChecks.EntityFrameworkCore.netstandard2.1.cs +++ /dev/null @@ -1,10 +0,0 @@ -// Copyright (c) .NET Foundation. All rights reserved. -// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. - -namespace Microsoft.Extensions.DependencyInjection -{ - public static partial class EntityFrameworkCoreHealthChecksBuilderExtensions - { - public static Microsoft.Extensions.DependencyInjection.IHealthChecksBuilder AddDbContextCheck(this Microsoft.Extensions.DependencyInjection.IHealthChecksBuilder builder, string name = null, Microsoft.Extensions.Diagnostics.HealthChecks.HealthStatus? failureStatus = default(Microsoft.Extensions.Diagnostics.HealthChecks.HealthStatus?), System.Collections.Generic.IEnumerable tags = null, System.Func> customTestQuery = null) where TContext : Microsoft.EntityFrameworkCore.DbContext { throw null; } - } -} diff --git a/src/Middleware/HealthChecks.EntityFrameworkCore/src/Microsoft.Extensions.Diagnostics.HealthChecks.EntityFrameworkCore.csproj b/src/Middleware/HealthChecks.EntityFrameworkCore/src/Microsoft.Extensions.Diagnostics.HealthChecks.EntityFrameworkCore.csproj index ad84dcf84e9e..f258cb041017 100644 --- a/src/Middleware/HealthChecks.EntityFrameworkCore/src/Microsoft.Extensions.Diagnostics.HealthChecks.EntityFrameworkCore.csproj +++ b/src/Middleware/HealthChecks.EntityFrameworkCore/src/Microsoft.Extensions.Diagnostics.HealthChecks.EntityFrameworkCore.csproj @@ -8,7 +8,7 @@ $(NoWarn);CS1591 true diagnostics;healthchecks;entityframeworkcore - true + true Microsoft.Extensions.Diagnostics.HealthChecks diff --git a/src/Middleware/HealthChecks.EntityFrameworkCore/test/Microsoft.Extensions.Diagnostics.HealthChecks.EntityFrameworkCore.Tests.csproj b/src/Middleware/HealthChecks.EntityFrameworkCore/test/Microsoft.Extensions.Diagnostics.HealthChecks.EntityFrameworkCore.Tests.csproj index 7cd8abe25227..87931fac8cd0 100644 --- a/src/Middleware/HealthChecks.EntityFrameworkCore/test/Microsoft.Extensions.Diagnostics.HealthChecks.EntityFrameworkCore.Tests.csproj +++ b/src/Middleware/HealthChecks.EntityFrameworkCore/test/Microsoft.Extensions.Diagnostics.HealthChecks.EntityFrameworkCore.Tests.csproj @@ -3,12 +3,18 @@ $(DefaultNetCoreTargetFramework) Microsoft.AspNetCore.Diagnostics.HealthChecks + + false + + + + diff --git a/src/Middleware/HealthChecks/ref/Microsoft.AspNetCore.Diagnostics.HealthChecks.csproj b/src/Middleware/HealthChecks/ref/Microsoft.AspNetCore.Diagnostics.HealthChecks.csproj index 0fbb1b252ab5..9169ea785475 100644 --- a/src/Middleware/HealthChecks/ref/Microsoft.AspNetCore.Diagnostics.HealthChecks.csproj +++ b/src/Middleware/HealthChecks/ref/Microsoft.AspNetCore.Diagnostics.HealthChecks.csproj @@ -5,10 +5,10 @@ - - - - - + + + + + diff --git a/src/Middleware/HealthChecks/src/Microsoft.AspNetCore.Diagnostics.HealthChecks.csproj b/src/Middleware/HealthChecks/src/Microsoft.AspNetCore.Diagnostics.HealthChecks.csproj index 21126ad99455..99c01627f6c1 100644 --- a/src/Middleware/HealthChecks/src/Microsoft.AspNetCore.Diagnostics.HealthChecks.csproj +++ b/src/Middleware/HealthChecks/src/Microsoft.AspNetCore.Diagnostics.HealthChecks.csproj @@ -7,7 +7,7 @@ $(NoWarn);CS1591 true diagnostics;healthchecks - false + false diff --git a/src/Middleware/HealthChecks/test/testassets/HealthChecksSample/HealthChecksSample.csproj b/src/Middleware/HealthChecks/test/testassets/HealthChecksSample/HealthChecksSample.csproj index 6547dc723254..9e03c3da4b7a 100644 --- a/src/Middleware/HealthChecks/test/testassets/HealthChecksSample/HealthChecksSample.csproj +++ b/src/Middleware/HealthChecks/test/testassets/HealthChecksSample/HealthChecksSample.csproj @@ -2,6 +2,8 @@ $(DefaultNetCoreTargetFramework) + + false @@ -15,6 +17,10 @@ + + + + diff --git a/src/Middleware/HostFiltering/ref/Microsoft.AspNetCore.HostFiltering.csproj b/src/Middleware/HostFiltering/ref/Microsoft.AspNetCore.HostFiltering.csproj index 4329a9a75664..756989c77e2d 100644 --- a/src/Middleware/HostFiltering/ref/Microsoft.AspNetCore.HostFiltering.csproj +++ b/src/Middleware/HostFiltering/ref/Microsoft.AspNetCore.HostFiltering.csproj @@ -5,9 +5,9 @@ - - - - + + + + diff --git a/src/Middleware/HostFiltering/src/Microsoft.AspNetCore.HostFiltering.csproj b/src/Middleware/HostFiltering/src/Microsoft.AspNetCore.HostFiltering.csproj index 0a0eb0383bcb..b1098f3cea32 100644 --- a/src/Middleware/HostFiltering/src/Microsoft.AspNetCore.HostFiltering.csproj +++ b/src/Middleware/HostFiltering/src/Microsoft.AspNetCore.HostFiltering.csproj @@ -8,7 +8,7 @@ true true aspnetcore - false + false diff --git a/src/Middleware/HttpOverrides/ref/Microsoft.AspNetCore.HttpOverrides.csproj b/src/Middleware/HttpOverrides/ref/Microsoft.AspNetCore.HttpOverrides.csproj index 1e82fd966c55..a0cfdb1e1cb4 100644 --- a/src/Middleware/HttpOverrides/ref/Microsoft.AspNetCore.HttpOverrides.csproj +++ b/src/Middleware/HttpOverrides/ref/Microsoft.AspNetCore.HttpOverrides.csproj @@ -5,8 +5,8 @@ - - - + + + diff --git a/src/Middleware/HttpOverrides/src/Microsoft.AspNetCore.HttpOverrides.csproj b/src/Middleware/HttpOverrides/src/Microsoft.AspNetCore.HttpOverrides.csproj index 000ca9b6d358..aa225718c4cc 100644 --- a/src/Middleware/HttpOverrides/src/Microsoft.AspNetCore.HttpOverrides.csproj +++ b/src/Middleware/HttpOverrides/src/Microsoft.AspNetCore.HttpOverrides.csproj @@ -9,7 +9,7 @@ $(NoWarn);CS1591 true aspnetcore;proxy;headers;xforwarded - false + false diff --git a/src/Middleware/HttpsPolicy/ref/Microsoft.AspNetCore.HttpsPolicy.csproj b/src/Middleware/HttpsPolicy/ref/Microsoft.AspNetCore.HttpsPolicy.csproj index 11cc92a331eb..d0c49085d975 100644 --- a/src/Middleware/HttpsPolicy/ref/Microsoft.AspNetCore.HttpsPolicy.csproj +++ b/src/Middleware/HttpsPolicy/ref/Microsoft.AspNetCore.HttpsPolicy.csproj @@ -5,10 +5,10 @@ - - - - - + + + + + diff --git a/src/Middleware/HttpsPolicy/src/Microsoft.AspNetCore.HttpsPolicy.csproj b/src/Middleware/HttpsPolicy/src/Microsoft.AspNetCore.HttpsPolicy.csproj index dbde5e594bbf..c6c14dd30dad 100644 --- a/src/Middleware/HttpsPolicy/src/Microsoft.AspNetCore.HttpsPolicy.csproj +++ b/src/Middleware/HttpsPolicy/src/Microsoft.AspNetCore.HttpsPolicy.csproj @@ -9,7 +9,7 @@ $(NoWarn);CS1591 true aspnetcore;https;hsts - false + false diff --git a/src/Middleware/Localization.Routing/ref/Microsoft.AspNetCore.Localization.Routing.csproj b/src/Middleware/Localization.Routing/ref/Microsoft.AspNetCore.Localization.Routing.csproj index 901f6f9fef43..fea93edacce3 100644 --- a/src/Middleware/Localization.Routing/ref/Microsoft.AspNetCore.Localization.Routing.csproj +++ b/src/Middleware/Localization.Routing/ref/Microsoft.AspNetCore.Localization.Routing.csproj @@ -5,7 +5,7 @@ - - + + diff --git a/src/Middleware/Localization.Routing/src/Microsoft.AspNetCore.Localization.Routing.csproj b/src/Middleware/Localization.Routing/src/Microsoft.AspNetCore.Localization.Routing.csproj index 393fa1f35565..3fbf8734b6f0 100644 --- a/src/Middleware/Localization.Routing/src/Microsoft.AspNetCore.Localization.Routing.csproj +++ b/src/Middleware/Localization.Routing/src/Microsoft.AspNetCore.Localization.Routing.csproj @@ -8,7 +8,7 @@ $(NoWarn);CS1591 true aspnetcore;localization - false + false diff --git a/src/Middleware/Localization/ref/Microsoft.AspNetCore.Localization.csproj b/src/Middleware/Localization/ref/Microsoft.AspNetCore.Localization.csproj index 2cac3099374b..5d3766034395 100644 --- a/src/Middleware/Localization/ref/Microsoft.AspNetCore.Localization.csproj +++ b/src/Middleware/Localization/ref/Microsoft.AspNetCore.Localization.csproj @@ -5,9 +5,9 @@ - - - - + + + + diff --git a/src/Middleware/Localization/src/Microsoft.AspNetCore.Localization.csproj b/src/Middleware/Localization/src/Microsoft.AspNetCore.Localization.csproj index 4ec4f728dd1b..20a32d0507b8 100644 --- a/src/Middleware/Localization/src/Microsoft.AspNetCore.Localization.csproj +++ b/src/Middleware/Localization/src/Microsoft.AspNetCore.Localization.csproj @@ -8,7 +8,7 @@ $(NoWarn);CS1591 true aspnetcore;localization - false + false diff --git a/src/Middleware/Middleware.sln b/src/Middleware/Middleware.sln index 0e8150f85ce4..7d5b88771138 100644 --- a/src/Middleware/Middleware.sln +++ b/src/Middleware/Middleware.sln @@ -293,7 +293,7 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.AspNetCore.Server EndProject Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.AspNetCore.SpaServices.Extensions.Tests", "SpaServices.Extensions\test\Microsoft.AspNetCore.SpaServices.Extensions.Tests.csproj", "{D0CB733B-4CE8-4F6C-BBB9-548EA1A96966}" EndProject -Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.AspNetCore.WebSockets.Microbenchmarks", "perf\Microbenchmarks\Microsoft.AspNetCore.WebSockets.Microbenchmarks.csproj", "{C4D624B3-749E-41D8-A43B-B304BC3885EA}" +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.AspNetCore.SpaServices.Tests", "SpaServices\test\Microsoft.AspNetCore.SpaServices.Tests.csproj", "{8A9C1F6C-3A47-4868-AA95-3EBE0260F5A0}" EndProject Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Perf", "Perf", "{4623F52E-2070-4631-8DEE-7D2F48733FFD}" EndProject @@ -1617,6 +1617,18 @@ Global {C4D624B3-749E-41D8-A43B-B304BC3885EA}.Release|x64.Build.0 = Release|Any CPU {C4D624B3-749E-41D8-A43B-B304BC3885EA}.Release|x86.ActiveCfg = Release|Any CPU {C4D624B3-749E-41D8-A43B-B304BC3885EA}.Release|x86.Build.0 = Release|Any CPU + {8A9C1F6C-3A47-4868-AA95-3EBE0260F5A0}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {8A9C1F6C-3A47-4868-AA95-3EBE0260F5A0}.Debug|Any CPU.Build.0 = Debug|Any CPU + {8A9C1F6C-3A47-4868-AA95-3EBE0260F5A0}.Debug|x64.ActiveCfg = Debug|Any CPU + {8A9C1F6C-3A47-4868-AA95-3EBE0260F5A0}.Debug|x64.Build.0 = Debug|Any CPU + {8A9C1F6C-3A47-4868-AA95-3EBE0260F5A0}.Debug|x86.ActiveCfg = Debug|Any CPU + {8A9C1F6C-3A47-4868-AA95-3EBE0260F5A0}.Debug|x86.Build.0 = Debug|Any CPU + {8A9C1F6C-3A47-4868-AA95-3EBE0260F5A0}.Release|Any CPU.ActiveCfg = Release|Any CPU + {8A9C1F6C-3A47-4868-AA95-3EBE0260F5A0}.Release|Any CPU.Build.0 = Release|Any CPU + {8A9C1F6C-3A47-4868-AA95-3EBE0260F5A0}.Release|x64.ActiveCfg = Release|Any CPU + {8A9C1F6C-3A47-4868-AA95-3EBE0260F5A0}.Release|x64.Build.0 = Release|Any CPU + {8A9C1F6C-3A47-4868-AA95-3EBE0260F5A0}.Release|x86.ActiveCfg = Release|Any CPU + {8A9C1F6C-3A47-4868-AA95-3EBE0260F5A0}.Release|x86.Build.0 = Release|Any CPU {80C8E810-1206-482E-BE17-961DD2EBFB11}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {80C8E810-1206-482E-BE17-961DD2EBFB11}.Debug|Any CPU.Build.0 = Debug|Any CPU {80C8E810-1206-482E-BE17-961DD2EBFB11}.Debug|x64.ActiveCfg = Debug|Any CPU @@ -1756,6 +1768,7 @@ Global {92E11EBB-759E-4DA8-AB61-A9977D9F97D0} = {ACA6DDB9-7592-47CE-A740-D15BF307E9E0} {D0CB733B-4CE8-4F6C-BBB9-548EA1A96966} = {D6FA4ABE-E685-4EDD-8B06-D8777E76B472} {C4D624B3-749E-41D8-A43B-B304BC3885EA} = {4623F52E-2070-4631-8DEE-7D2F48733FFD} + {8A9C1F6C-3A47-4868-AA95-3EBE0260F5A0} = {D6FA4ABE-E685-4EDD-8B06-D8777E76B472} {80C8E810-1206-482E-BE17-961DD2EBFB11} = {4623F52E-2070-4631-8DEE-7D2F48733FFD} EndGlobalSection GlobalSection(ExtensibilityGlobals) = postSolution diff --git a/src/Middleware/MiddlewareAnalysis/ref/Microsoft.AspNetCore.MiddlewareAnalysis.csproj b/src/Middleware/MiddlewareAnalysis/ref/Microsoft.AspNetCore.MiddlewareAnalysis.csproj deleted file mode 100644 index 869cc472b93e..000000000000 --- a/src/Middleware/MiddlewareAnalysis/ref/Microsoft.AspNetCore.MiddlewareAnalysis.csproj +++ /dev/null @@ -1,11 +0,0 @@ - - - - $(DefaultNetCoreTargetFramework) - - - - - - - diff --git a/src/Middleware/MiddlewareAnalysis/ref/Microsoft.AspNetCore.MiddlewareAnalysis.netcoreapp.cs b/src/Middleware/MiddlewareAnalysis/ref/Microsoft.AspNetCore.MiddlewareAnalysis.netcoreapp.cs deleted file mode 100644 index 34360758588f..000000000000 --- a/src/Middleware/MiddlewareAnalysis/ref/Microsoft.AspNetCore.MiddlewareAnalysis.netcoreapp.cs +++ /dev/null @@ -1,34 +0,0 @@ -// Copyright (c) .NET Foundation. All rights reserved. -// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. - -namespace Microsoft.AspNetCore.MiddlewareAnalysis -{ - public partial class AnalysisBuilder : Microsoft.AspNetCore.Builder.IApplicationBuilder - { - public AnalysisBuilder(Microsoft.AspNetCore.Builder.IApplicationBuilder inner) { } - public System.IServiceProvider ApplicationServices { get { throw null; } set { } } - public System.Collections.Generic.IDictionary Properties { get { throw null; } } - public Microsoft.AspNetCore.Http.Features.IFeatureCollection ServerFeatures { get { throw null; } } - public Microsoft.AspNetCore.Http.RequestDelegate Build() { throw null; } - public Microsoft.AspNetCore.Builder.IApplicationBuilder New() { throw null; } - public Microsoft.AspNetCore.Builder.IApplicationBuilder Use(System.Func middleware) { throw null; } - } - public partial class AnalysisMiddleware - { - public AnalysisMiddleware(Microsoft.AspNetCore.Http.RequestDelegate next, System.Diagnostics.DiagnosticSource diagnosticSource, string middlewareName) { } - [System.Diagnostics.DebuggerStepThroughAttribute] - public System.Threading.Tasks.Task Invoke(Microsoft.AspNetCore.Http.HttpContext httpContext) { throw null; } - } - public partial class AnalysisStartupFilter : Microsoft.AspNetCore.Hosting.IStartupFilter - { - public AnalysisStartupFilter() { } - public System.Action Configure(System.Action next) { throw null; } - } -} -namespace Microsoft.Extensions.DependencyInjection -{ - public static partial class AnalysisServiceCollectionExtensions - { - public static Microsoft.Extensions.DependencyInjection.IServiceCollection AddMiddlewareAnalysis(this Microsoft.Extensions.DependencyInjection.IServiceCollection services) { throw null; } - } -} diff --git a/src/Middleware/MiddlewareAnalysis/src/Microsoft.AspNetCore.MiddlewareAnalysis.csproj b/src/Middleware/MiddlewareAnalysis/src/Microsoft.AspNetCore.MiddlewareAnalysis.csproj index 4989ea776d9a..4dafc14b701e 100644 --- a/src/Middleware/MiddlewareAnalysis/src/Microsoft.AspNetCore.MiddlewareAnalysis.csproj +++ b/src/Middleware/MiddlewareAnalysis/src/Microsoft.AspNetCore.MiddlewareAnalysis.csproj @@ -6,7 +6,7 @@ $(NoWarn);CS1591 true aspnetcore;diagnostics - true + true diff --git a/src/Middleware/NodeServices/ref/Microsoft.AspNetCore.NodeServices.csproj b/src/Middleware/NodeServices/ref/Microsoft.AspNetCore.NodeServices.csproj deleted file mode 100644 index 6d39c2bb03e4..000000000000 --- a/src/Middleware/NodeServices/ref/Microsoft.AspNetCore.NodeServices.csproj +++ /dev/null @@ -1,12 +0,0 @@ - - - - $(DefaultNetCoreTargetFramework) - - - - - - - - diff --git a/src/Middleware/NodeServices/ref/Microsoft.AspNetCore.NodeServices.netcoreapp.cs b/src/Middleware/NodeServices/ref/Microsoft.AspNetCore.NodeServices.netcoreapp.cs deleted file mode 100644 index 99474350fed3..000000000000 --- a/src/Middleware/NodeServices/ref/Microsoft.AspNetCore.NodeServices.netcoreapp.cs +++ /dev/null @@ -1,104 +0,0 @@ -// Copyright (c) .NET Foundation. All rights reserved. -// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. - -namespace Microsoft.AspNetCore.NodeServices -{ - [System.ObsoleteAttribute("Use Microsoft.AspNetCore.SpaServices.Extensions")] - public static partial class EmbeddedResourceReader - { - [System.ObsoleteAttribute("Use Microsoft.AspNetCore.SpaServices.Extensions")] - public static string Read(System.Type assemblyContainingType, string path) { throw null; } - } - [System.ObsoleteAttribute("Use Microsoft.AspNetCore.SpaServices.Extensions")] - public partial interface INodeServices : System.IDisposable - { - System.Threading.Tasks.Task InvokeAsync(string moduleName, params object[] args); - System.Threading.Tasks.Task InvokeAsync(System.Threading.CancellationToken cancellationToken, string moduleName, params object[] args); - System.Threading.Tasks.Task InvokeExportAsync(string moduleName, string exportedFunctionName, params object[] args); - System.Threading.Tasks.Task InvokeExportAsync(System.Threading.CancellationToken cancellationToken, string moduleName, string exportedFunctionName, params object[] args); - } - [System.ObsoleteAttribute("Use Microsoft.AspNetCore.SpaServices.Extensions")] - public static partial class NodeServicesFactory - { - [System.ObsoleteAttribute("Use Microsoft.AspNetCore.SpaServices.Extensions")] - public static Microsoft.AspNetCore.NodeServices.INodeServices CreateNodeServices(Microsoft.AspNetCore.NodeServices.NodeServicesOptions options) { throw null; } - } - [System.ObsoleteAttribute("Use Microsoft.AspNetCore.SpaServices.Extensions")] - public partial class NodeServicesOptions - { - public NodeServicesOptions(System.IServiceProvider serviceProvider) { } - public System.Threading.CancellationToken ApplicationStoppingToken { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute] set { } } - public int DebuggingPort { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute] set { } } - public System.Collections.Generic.IDictionary EnvironmentVariables { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute] set { } } - public int InvocationTimeoutMilliseconds { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute] set { } } - public bool LaunchWithDebugging { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute] set { } } - public System.Func NodeInstanceFactory { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute] set { } } - public Microsoft.Extensions.Logging.ILogger NodeInstanceOutputLogger { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute] set { } } - public string ProjectPath { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute] set { } } - public string[] WatchFileExtensions { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute] set { } } - } - [System.ObsoleteAttribute("Use Microsoft.AspNetCore.SpaServices.Extensions")] - public sealed partial class StringAsTempFile : System.IDisposable - { - public StringAsTempFile(string content, System.Threading.CancellationToken applicationStoppingToken) { } - public string FileName { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } } - public void Dispose() { } - ~StringAsTempFile() { } - } -} -namespace Microsoft.AspNetCore.NodeServices.HostingModels -{ - [System.ObsoleteAttribute("Use Microsoft.AspNetCore.SpaServices.Extensions")] - public partial interface INodeInstance : System.IDisposable - { - System.Threading.Tasks.Task InvokeExportAsync(System.Threading.CancellationToken cancellationToken, string moduleName, string exportNameOrNull, params object[] args); - } - [System.ObsoleteAttribute("Use Microsoft.AspNetCore.SpaServices.Extensions")] - public partial class NodeInvocationException : System.Exception - { - public NodeInvocationException(string message, string details) { } - public NodeInvocationException(string message, string details, bool nodeInstanceUnavailable, bool allowConnectionDraining) { } - public bool AllowConnectionDraining { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } } - public bool NodeInstanceUnavailable { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } } - } - [System.ObsoleteAttribute("Use Microsoft.AspNetCore.SpaServices.Extensions")] - public partial class NodeInvocationInfo - { - public NodeInvocationInfo() { } - public object[] Args { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute] set { } } - public string ExportedFunctionName { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute] set { } } - public string ModuleName { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute] set { } } - } - [System.ObsoleteAttribute("Use Microsoft.AspNetCore.SpaServices.Extensions")] - public static partial class NodeServicesOptionsExtensions - { - [System.ObsoleteAttribute("Use Microsoft.AspNetCore.SpaServices.Extensions")] - public static void UseHttpHosting(this Microsoft.AspNetCore.NodeServices.NodeServicesOptions options) { } - } - [System.ObsoleteAttribute("Use Microsoft.AspNetCore.SpaServices.Extensions")] - public abstract partial class OutOfProcessNodeInstance : Microsoft.AspNetCore.NodeServices.HostingModels.INodeInstance, System.IDisposable - { - protected readonly Microsoft.Extensions.Logging.ILogger OutputLogger; - public OutOfProcessNodeInstance(string entryPointScript, string projectPath, string[] watchFileExtensions, string commandLineArguments, System.Threading.CancellationToken applicationStoppingToken, Microsoft.Extensions.Logging.ILogger nodeOutputLogger, System.Collections.Generic.IDictionary environmentVars, int invocationTimeoutMilliseconds, bool launchWithDebugging, int debuggingPort) { } - public void Dispose() { } - protected virtual void Dispose(bool disposing) { } - ~OutOfProcessNodeInstance() { } - protected abstract System.Threading.Tasks.Task InvokeExportAsync(Microsoft.AspNetCore.NodeServices.HostingModels.NodeInvocationInfo invocationInfo, System.Threading.CancellationToken cancellationToken); - [System.Diagnostics.DebuggerStepThroughAttribute] - public System.Threading.Tasks.Task InvokeExportAsync(System.Threading.CancellationToken cancellationToken, string moduleName, string exportNameOrNull, params object[] args) { throw null; } - protected virtual void OnErrorDataReceived(string errorData) { } - protected virtual void OnOutputDataReceived(string outputData) { } - protected virtual System.Diagnostics.ProcessStartInfo PrepareNodeProcessStartInfo(string entryPointFilename, string projectPath, string commandLineArguments, System.Collections.Generic.IDictionary environmentVars, bool launchWithDebugging, int debuggingPort) { throw null; } - } -} -namespace Microsoft.Extensions.DependencyInjection -{ - [System.ObsoleteAttribute("Use Microsoft.AspNetCore.SpaServices.Extensions")] - public static partial class NodeServicesServiceCollectionExtensions - { - [System.ObsoleteAttribute("Use Microsoft.AspNetCore.SpaServices.Extensions")] - public static void AddNodeServices(this Microsoft.Extensions.DependencyInjection.IServiceCollection serviceCollection) { } - [System.ObsoleteAttribute("Use Microsoft.AspNetCore.SpaServices.Extensions")] - public static void AddNodeServices(this Microsoft.Extensions.DependencyInjection.IServiceCollection serviceCollection, System.Action setupAction) { } - } -} diff --git a/src/Middleware/NodeServices/src/Microsoft.AspNetCore.NodeServices.csproj b/src/Middleware/NodeServices/src/Microsoft.AspNetCore.NodeServices.csproj index e67862ea45b8..ccc02ac19c2d 100644 --- a/src/Middleware/NodeServices/src/Microsoft.AspNetCore.NodeServices.csproj +++ b/src/Middleware/NodeServices/src/Microsoft.AspNetCore.NodeServices.csproj @@ -2,7 +2,7 @@ Invoke Node.js modules at runtime in ASP.NET Core applications. $(DefaultNetCoreTargetFramework) - true + true diff --git a/src/Middleware/ResponseCaching.Abstractions/ref/Microsoft.AspNetCore.ResponseCaching.Abstractions.csproj b/src/Middleware/ResponseCaching.Abstractions/ref/Microsoft.AspNetCore.ResponseCaching.Abstractions.csproj index e6f989941a11..ac74ba1cb1f8 100644 --- a/src/Middleware/ResponseCaching.Abstractions/ref/Microsoft.AspNetCore.ResponseCaching.Abstractions.csproj +++ b/src/Middleware/ResponseCaching.Abstractions/ref/Microsoft.AspNetCore.ResponseCaching.Abstractions.csproj @@ -5,6 +5,6 @@ - + diff --git a/src/Middleware/ResponseCaching.Abstractions/src/Microsoft.AspNetCore.ResponseCaching.Abstractions.csproj b/src/Middleware/ResponseCaching.Abstractions/src/Microsoft.AspNetCore.ResponseCaching.Abstractions.csproj index 56918dab1288..226e595816e1 100644 --- a/src/Middleware/ResponseCaching.Abstractions/src/Microsoft.AspNetCore.ResponseCaching.Abstractions.csproj +++ b/src/Middleware/ResponseCaching.Abstractions/src/Microsoft.AspNetCore.ResponseCaching.Abstractions.csproj @@ -6,7 +6,7 @@ true true aspnetcore;cache;caching - false + false diff --git a/src/Middleware/ResponseCaching/ref/Microsoft.AspNetCore.ResponseCaching.Manual.cs b/src/Middleware/ResponseCaching/ref/Microsoft.AspNetCore.ResponseCaching.Manual.cs new file mode 100644 index 000000000000..75a6c20e6230 --- /dev/null +++ b/src/Middleware/ResponseCaching/ref/Microsoft.AspNetCore.ResponseCaching.Manual.cs @@ -0,0 +1,189 @@ +// Copyright (c) .NET Foundation. All rights reserved. +// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. + +namespace Microsoft.AspNetCore.ResponseCaching +{ + internal partial class CachedResponse : Microsoft.AspNetCore.ResponseCaching.IResponseCacheEntry + { + public CachedResponse() { } + public System.IO.Stream Body { [System.Runtime.CompilerServices.CompilerGeneratedAttribute]get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute]set { } } + public System.DateTimeOffset Created { [System.Runtime.CompilerServices.CompilerGeneratedAttribute]get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute]set { } } + public Microsoft.AspNetCore.Http.IHeaderDictionary Headers { [System.Runtime.CompilerServices.CompilerGeneratedAttribute]get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute]set { } } + public int StatusCode { [System.Runtime.CompilerServices.CompilerGeneratedAttribute]get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute]set { } } + } + internal partial class CachedVaryByRules : Microsoft.AspNetCore.ResponseCaching.IResponseCacheEntry + { + public CachedVaryByRules() { } + public Microsoft.Extensions.Primitives.StringValues Headers { [System.Runtime.CompilerServices.CompilerGeneratedAttribute]get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute]set { } } + public Microsoft.Extensions.Primitives.StringValues QueryKeys { [System.Runtime.CompilerServices.CompilerGeneratedAttribute]get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute]set { } } + public string VaryByKeyPrefix { [System.Runtime.CompilerServices.CompilerGeneratedAttribute]get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute]set { } } + } + internal partial class FastGuid + { + internal FastGuid(long id) { } + internal string IdString { get { throw null; } } + internal long IdValue { [System.Runtime.CompilerServices.CompilerGeneratedAttribute]get { throw null; } } + internal static Microsoft.AspNetCore.ResponseCaching.FastGuid NewGuid() { throw null; } + } + internal partial interface IResponseCache + { + Microsoft.AspNetCore.ResponseCaching.IResponseCacheEntry Get(string key); + System.Threading.Tasks.Task GetAsync(string key); + void Set(string key, Microsoft.AspNetCore.ResponseCaching.IResponseCacheEntry entry, System.TimeSpan validFor); + System.Threading.Tasks.Task SetAsync(string key, Microsoft.AspNetCore.ResponseCaching.IResponseCacheEntry entry, System.TimeSpan validFor); + } + internal partial interface IResponseCacheEntry + { + } + internal partial interface IResponseCachingKeyProvider + { + string CreateBaseKey(Microsoft.AspNetCore.ResponseCaching.ResponseCachingContext context); + System.Collections.Generic.IEnumerable CreateLookupVaryByKeys(Microsoft.AspNetCore.ResponseCaching.ResponseCachingContext context); + string CreateStorageVaryByKey(Microsoft.AspNetCore.ResponseCaching.ResponseCachingContext context); + } + internal partial interface IResponseCachingPolicyProvider + { + bool AllowCacheLookup(Microsoft.AspNetCore.ResponseCaching.ResponseCachingContext context); + bool AllowCacheStorage(Microsoft.AspNetCore.ResponseCaching.ResponseCachingContext context); + bool AttemptResponseCaching(Microsoft.AspNetCore.ResponseCaching.ResponseCachingContext context); + bool IsCachedEntryFresh(Microsoft.AspNetCore.ResponseCaching.ResponseCachingContext context); + bool IsResponseCacheable(Microsoft.AspNetCore.ResponseCaching.ResponseCachingContext context); + } + internal partial interface ISystemClock + { + System.DateTimeOffset UtcNow { get; } + } + internal partial class MemoryResponseCache : Microsoft.AspNetCore.ResponseCaching.IResponseCache + { + internal MemoryResponseCache(Microsoft.Extensions.Caching.Memory.IMemoryCache cache) { } + public Microsoft.AspNetCore.ResponseCaching.IResponseCacheEntry Get(string key) { throw null; } + public System.Threading.Tasks.Task GetAsync(string key) { throw null; } + public void Set(string key, Microsoft.AspNetCore.ResponseCaching.IResponseCacheEntry entry, System.TimeSpan validFor) { } + public System.Threading.Tasks.Task SetAsync(string key, Microsoft.AspNetCore.ResponseCaching.IResponseCacheEntry entry, System.TimeSpan validFor) { throw null; } + } + internal partial class ResponseCachingContext + { + internal ResponseCachingContext(Microsoft.AspNetCore.Http.HttpContext httpContext, Microsoft.Extensions.Logging.ILogger logger) { } + internal string BaseKey { [System.Runtime.CompilerServices.CompilerGeneratedAttribute]get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute]set { } } + public System.TimeSpan? CachedEntryAge { [System.Runtime.CompilerServices.CompilerGeneratedAttribute]get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute]internal set { } } + internal Microsoft.AspNetCore.ResponseCaching.CachedResponse CachedResponse { [System.Runtime.CompilerServices.CompilerGeneratedAttribute]get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute]set { } } + internal Microsoft.AspNetCore.Http.IHeaderDictionary CachedResponseHeaders { [System.Runtime.CompilerServices.CompilerGeneratedAttribute]get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute]set { } } + internal System.TimeSpan CachedResponseValidFor { [System.Runtime.CompilerServices.CompilerGeneratedAttribute]get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute]set { } } + public Microsoft.AspNetCore.ResponseCaching.CachedVaryByRules CachedVaryByRules { [System.Runtime.CompilerServices.CompilerGeneratedAttribute]get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute]set { } } + public Microsoft.AspNetCore.Http.HttpContext HttpContext { [System.Runtime.CompilerServices.CompilerGeneratedAttribute]get { throw null; } } + internal Microsoft.Extensions.Logging.ILogger Logger { [System.Runtime.CompilerServices.CompilerGeneratedAttribute]get { throw null; } } + internal System.IO.Stream OriginalResponseStream { [System.Runtime.CompilerServices.CompilerGeneratedAttribute]get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute]set { } } + internal Microsoft.AspNetCore.ResponseCaching.ResponseCachingStream ResponseCachingStream { [System.Runtime.CompilerServices.CompilerGeneratedAttribute]get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute]set { } } + internal System.DateTimeOffset? ResponseDate { get { throw null; } set { } } + internal System.DateTimeOffset? ResponseExpires { get { throw null; } } + internal System.TimeSpan? ResponseMaxAge { get { throw null; } } + internal System.TimeSpan? ResponseSharedMaxAge { get { throw null; } } + internal bool ResponseStarted { [System.Runtime.CompilerServices.CompilerGeneratedAttribute]get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute]set { } } + public System.DateTimeOffset? ResponseTime { [System.Runtime.CompilerServices.CompilerGeneratedAttribute]get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute]internal set { } } + internal bool ShouldCacheResponse { [System.Runtime.CompilerServices.CompilerGeneratedAttribute]get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute]set { } } + internal string StorageVaryKey { [System.Runtime.CompilerServices.CompilerGeneratedAttribute]get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute]set { } } + } + internal partial class ResponseCachingKeyProvider : Microsoft.AspNetCore.ResponseCaching.IResponseCachingKeyProvider + { + internal ResponseCachingKeyProvider(Microsoft.Extensions.ObjectPool.ObjectPoolProvider poolProvider, Microsoft.Extensions.Options.IOptions options) { } + public string CreateBaseKey(Microsoft.AspNetCore.ResponseCaching.ResponseCachingContext context) { throw null; } + public System.Collections.Generic.IEnumerable CreateLookupVaryByKeys(Microsoft.AspNetCore.ResponseCaching.ResponseCachingContext context) { throw null; } + public string CreateStorageVaryByKey(Microsoft.AspNetCore.ResponseCaching.ResponseCachingContext context) { throw null; } + } + public partial class ResponseCachingMiddleware + { + internal ResponseCachingMiddleware(Microsoft.AspNetCore.Http.RequestDelegate next, Microsoft.Extensions.Options.IOptions options, Microsoft.Extensions.Logging.ILoggerFactory loggerFactory, Microsoft.AspNetCore.ResponseCaching.IResponseCachingPolicyProvider policyProvider, Microsoft.AspNetCore.ResponseCaching.IResponseCache cache, Microsoft.AspNetCore.ResponseCaching.IResponseCachingKeyProvider keyProvider) { } + internal static void AddResponseCachingFeature(Microsoft.AspNetCore.Http.HttpContext context) { } + internal static bool ContentIsNotModified(Microsoft.AspNetCore.ResponseCaching.ResponseCachingContext context) { throw null; } + [System.Diagnostics.DebuggerStepThroughAttribute] + internal System.Threading.Tasks.Task FinalizeCacheBodyAsync(Microsoft.AspNetCore.ResponseCaching.ResponseCachingContext context) { throw null; } + internal System.Threading.Tasks.Task FinalizeCacheHeadersAsync(Microsoft.AspNetCore.ResponseCaching.ResponseCachingContext context) { throw null; } + internal static Microsoft.Extensions.Primitives.StringValues GetOrderCasingNormalizedStringValues(Microsoft.Extensions.Primitives.StringValues stringValues) { throw null; } + internal void ShimResponseStream(Microsoft.AspNetCore.ResponseCaching.ResponseCachingContext context) { } + internal System.Threading.Tasks.Task StartResponseAsync(Microsoft.AspNetCore.ResponseCaching.ResponseCachingContext context) { throw null; } + [System.Diagnostics.DebuggerStepThroughAttribute] + internal System.Threading.Tasks.Task TryServeFromCacheAsync(Microsoft.AspNetCore.ResponseCaching.ResponseCachingContext context) { throw null; } + } + public partial class ResponseCachingOptions + { + internal Microsoft.AspNetCore.ResponseCaching.ISystemClock SystemClock { [System.Runtime.CompilerServices.CompilerGeneratedAttribute]get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute]set { } } + } + internal partial class ResponseCachingPolicyProvider : Microsoft.AspNetCore.ResponseCaching.IResponseCachingPolicyProvider + { + public ResponseCachingPolicyProvider() { } + public virtual bool AllowCacheLookup(Microsoft.AspNetCore.ResponseCaching.ResponseCachingContext context) { throw null; } + public virtual bool AllowCacheStorage(Microsoft.AspNetCore.ResponseCaching.ResponseCachingContext context) { throw null; } + public virtual bool AttemptResponseCaching(Microsoft.AspNetCore.ResponseCaching.ResponseCachingContext context) { throw null; } + public virtual bool IsCachedEntryFresh(Microsoft.AspNetCore.ResponseCaching.ResponseCachingContext context) { throw null; } + public virtual bool IsResponseCacheable(Microsoft.AspNetCore.ResponseCaching.ResponseCachingContext context) { throw null; } + } + internal partial class ResponseCachingStream : System.IO.Stream + { + internal ResponseCachingStream(System.IO.Stream innerStream, long maxBufferSize, int segmentSize, System.Action startResponseCallback, System.Func startResponseCallbackAsync) { } + internal bool BufferingEnabled { [System.Runtime.CompilerServices.CompilerGeneratedAttribute]get { throw null; } } + public override bool CanRead { get { throw null; } } + public override bool CanSeek { get { throw null; } } + public override bool CanWrite { get { throw null; } } + public override long Length { get { throw null; } } + public override long Position { get { throw null; } set { } } + public override System.IAsyncResult BeginWrite(byte[] buffer, int offset, int count, System.AsyncCallback callback, object state) { throw null; } + internal void DisableBuffering() { } + public override void EndWrite(System.IAsyncResult asyncResult) { } + public override void Flush() { } + [System.Diagnostics.DebuggerStepThroughAttribute] + public override System.Threading.Tasks.Task FlushAsync(System.Threading.CancellationToken cancellationToken) { throw null; } + internal System.IO.Stream GetBufferStream() { throw null; } + public override int Read(byte[] buffer, int offset, int count) { throw null; } + public override long Seek(long offset, System.IO.SeekOrigin origin) { throw null; } + public override void SetLength(long value) { } + public override void Write(byte[] buffer, int offset, int count) { } + [System.Diagnostics.DebuggerStepThroughAttribute] + public override System.Threading.Tasks.Task WriteAsync(byte[] buffer, int offset, int count, System.Threading.CancellationToken cancellationToken) { throw null; } + public override void WriteByte(byte value) { } + } + internal partial class SegmentReadStream : System.IO.Stream + { + internal SegmentReadStream(System.Collections.Generic.List segments, long length) { } + public override bool CanRead { get { throw null; } } + public override bool CanSeek { get { throw null; } } + public override bool CanWrite { get { throw null; } } + public override long Length { get { throw null; } } + public override long Position { get { throw null; } set { } } + public override System.IAsyncResult BeginRead(byte[] buffer, int offset, int count, System.AsyncCallback callback, object state) { throw null; } + [System.Diagnostics.DebuggerStepThroughAttribute] + public override System.Threading.Tasks.Task CopyToAsync(System.IO.Stream destination, int bufferSize, System.Threading.CancellationToken cancellationToken) { throw null; } + public override int EndRead(System.IAsyncResult asyncResult) { throw null; } + public override void Flush() { } + public override int Read(byte[] buffer, int offset, int count) { throw null; } + public override System.Threading.Tasks.Task ReadAsync(byte[] buffer, int offset, int count, System.Threading.CancellationToken cancellationToken) { throw null; } + public override int ReadByte() { throw null; } + public override long Seek(long offset, System.IO.SeekOrigin origin) { throw null; } + public override void SetLength(long value) { } + public override void Write(byte[] buffer, int offset, int count) { } + } + internal partial class SegmentWriteStream : System.IO.Stream + { + internal SegmentWriteStream(int segmentSize) { } + public override bool CanRead { get { throw null; } } + public override bool CanSeek { get { throw null; } } + public override bool CanWrite { get { throw null; } } + public override long Length { get { throw null; } } + public override long Position { get { throw null; } set { } } + public override System.IAsyncResult BeginWrite(byte[] buffer, int offset, int count, System.AsyncCallback callback, object state) { throw null; } + protected override void Dispose(bool disposing) { } + public override void EndWrite(System.IAsyncResult asyncResult) { } + public override void Flush() { } + internal System.Collections.Generic.List GetSegments() { throw null; } + public override int Read(byte[] buffer, int offset, int count) { throw null; } + public override long Seek(long offset, System.IO.SeekOrigin origin) { throw null; } + public override void SetLength(long value) { } + public override void Write(byte[] buffer, int offset, int count) { } + public override System.Threading.Tasks.Task WriteAsync(byte[] buffer, int offset, int count, System.Threading.CancellationToken cancellationToken) { throw null; } + public override void WriteByte(byte value) { } + } + internal static partial class StreamUtilities + { + internal static int BodySegmentSize { [System.Runtime.CompilerServices.CompilerGeneratedAttribute]get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute]set { } } + internal static System.IAsyncResult ToIAsyncResult(System.Threading.Tasks.Task task, System.AsyncCallback callback, object state) { throw null; } + } +} diff --git a/src/Middleware/ResponseCaching/ref/Microsoft.AspNetCore.ResponseCaching.csproj b/src/Middleware/ResponseCaching/ref/Microsoft.AspNetCore.ResponseCaching.csproj index 76433bb72488..cee81252c3cc 100644 --- a/src/Middleware/ResponseCaching/ref/Microsoft.AspNetCore.ResponseCaching.csproj +++ b/src/Middleware/ResponseCaching/ref/Microsoft.AspNetCore.ResponseCaching.csproj @@ -5,10 +5,12 @@ - - - - - + + + + + + + diff --git a/src/Middleware/ResponseCaching/src/Microsoft.AspNetCore.ResponseCaching.csproj b/src/Middleware/ResponseCaching/src/Microsoft.AspNetCore.ResponseCaching.csproj index da2d96e74164..2846ee5907c0 100644 --- a/src/Middleware/ResponseCaching/src/Microsoft.AspNetCore.ResponseCaching.csproj +++ b/src/Middleware/ResponseCaching/src/Microsoft.AspNetCore.ResponseCaching.csproj @@ -8,7 +8,7 @@ true true aspnetcore;cache;caching - false + false diff --git a/src/Middleware/ResponseCompression/ref/Microsoft.AspNetCore.ResponseCompression.Manual.cs b/src/Middleware/ResponseCompression/ref/Microsoft.AspNetCore.ResponseCompression.Manual.cs new file mode 100644 index 000000000000..952a972c835f --- /dev/null +++ b/src/Middleware/ResponseCompression/ref/Microsoft.AspNetCore.ResponseCompression.Manual.cs @@ -0,0 +1,35 @@ +// Copyright (c) .NET Foundation. All rights reserved. +// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. + +namespace Microsoft.AspNetCore.ResponseCompression +{ + internal partial class ResponseCompressionBody : System.IO.Stream, Microsoft.AspNetCore.Http.Features.IHttpResponseBodyFeature, Microsoft.AspNetCore.Http.Features.IHttpsCompressionFeature + { + internal ResponseCompressionBody(Microsoft.AspNetCore.Http.HttpContext context, Microsoft.AspNetCore.ResponseCompression.IResponseCompressionProvider provider, Microsoft.AspNetCore.Http.Features.IHttpResponseBodyFeature innerBodyFeature) { } + public override bool CanRead { get { throw null; } } + public override bool CanSeek { get { throw null; } } + public override bool CanWrite { get { throw null; } } + public override long Length { get { throw null; } } + Microsoft.AspNetCore.Http.Features.HttpsCompressionMode Microsoft.AspNetCore.Http.Features.IHttpsCompressionFeature.Mode { [System.Runtime.CompilerServices.CompilerGeneratedAttribute]get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute]set { } } + public override long Position { get { throw null; } set { } } + public System.IO.Stream Stream { get { throw null; } } + public System.IO.Pipelines.PipeWriter Writer { get { throw null; } } + public override System.IAsyncResult BeginWrite(byte[] buffer, int offset, int count, System.AsyncCallback callback, object state) { throw null; } + [System.Diagnostics.DebuggerStepThroughAttribute] + public System.Threading.Tasks.Task CompleteAsync() { throw null; } + public void DisableBuffering() { } + public override void EndWrite(System.IAsyncResult asyncResult) { } + [System.Diagnostics.DebuggerStepThroughAttribute] + internal System.Threading.Tasks.Task FinishCompressionAsync() { throw null; } + public override void Flush() { } + public override System.Threading.Tasks.Task FlushAsync(System.Threading.CancellationToken cancellationToken) { throw null; } + public override int Read(byte[] buffer, int offset, int count) { throw null; } + public override long Seek(long offset, System.IO.SeekOrigin origin) { throw null; } + public System.Threading.Tasks.Task SendFileAsync(string path, long offset, long? count, System.Threading.CancellationToken cancellation) { throw null; } + public override void SetLength(long value) { } + public System.Threading.Tasks.Task StartAsync(System.Threading.CancellationToken token = default(System.Threading.CancellationToken)) { throw null; } + public override void Write(byte[] buffer, int offset, int count) { } + [System.Diagnostics.DebuggerStepThroughAttribute] + public override System.Threading.Tasks.Task WriteAsync(byte[] buffer, int offset, int count, System.Threading.CancellationToken cancellationToken) { throw null; } + } +} diff --git a/src/Middleware/ResponseCompression/ref/Microsoft.AspNetCore.ResponseCompression.csproj b/src/Middleware/ResponseCompression/ref/Microsoft.AspNetCore.ResponseCompression.csproj index b5c02e8d563e..cfcec4c7b68b 100644 --- a/src/Middleware/ResponseCompression/ref/Microsoft.AspNetCore.ResponseCompression.csproj +++ b/src/Middleware/ResponseCompression/ref/Microsoft.AspNetCore.ResponseCompression.csproj @@ -5,9 +5,11 @@ - - - - + + + + + + diff --git a/src/Middleware/ResponseCompression/src/Microsoft.AspNetCore.ResponseCompression.csproj b/src/Middleware/ResponseCompression/src/Microsoft.AspNetCore.ResponseCompression.csproj index 705e78ec8aac..d63d281422aa 100644 --- a/src/Middleware/ResponseCompression/src/Microsoft.AspNetCore.ResponseCompression.csproj +++ b/src/Middleware/ResponseCompression/src/Microsoft.AspNetCore.ResponseCompression.csproj @@ -6,7 +6,7 @@ true true aspnetcore - false + false diff --git a/src/Middleware/Rewrite/ref/Microsoft.AspNetCore.Rewrite.Manual.cs b/src/Middleware/Rewrite/ref/Microsoft.AspNetCore.Rewrite.Manual.cs new file mode 100644 index 000000000000..98253230f71f --- /dev/null +++ b/src/Middleware/Rewrite/ref/Microsoft.AspNetCore.Rewrite.Manual.cs @@ -0,0 +1,587 @@ +// Copyright (c) .NET Foundation. All rights reserved. +// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. + +namespace Microsoft.AspNetCore.Rewrite +{ + internal partial class BackReferenceCollection + { + public BackReferenceCollection(string reference) { } + public BackReferenceCollection(System.Text.RegularExpressions.GroupCollection references) { } + public string this[int index] { get { throw null; } } + public void Add(Microsoft.AspNetCore.Rewrite.BackReferenceCollection references) { } + } + internal partial class MatchResults + { + public static readonly Microsoft.AspNetCore.Rewrite.MatchResults EmptyFailure; + public static readonly Microsoft.AspNetCore.Rewrite.MatchResults EmptySuccess; + public MatchResults() { } + public Microsoft.AspNetCore.Rewrite.BackReferenceCollection BackReferences { [System.Runtime.CompilerServices.CompilerGeneratedAttribute]get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute]set { } } + public bool Success { [System.Runtime.CompilerServices.CompilerGeneratedAttribute]get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute]set { } } + } + internal partial class ParserContext + { + public readonly string Template; + public ParserContext(string condition) { } + public char Current { get { throw null; } } + public int Index { [System.Runtime.CompilerServices.CompilerGeneratedAttribute]get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute]set { } } + public bool Back() { throw null; } + public string Capture() { throw null; } + public int GetIndex() { throw null; } + public bool HasNext() { throw null; } + public void Mark() { } + public bool Next() { throw null; } + } + internal partial class Pattern + { + public Pattern(System.Collections.Generic.IList patternSegments) { } + public System.Collections.Generic.IList PatternSegments { [System.Runtime.CompilerServices.CompilerGeneratedAttribute]get { throw null; } } + public string Evaluate(Microsoft.AspNetCore.Rewrite.RewriteContext context, Microsoft.AspNetCore.Rewrite.BackReferenceCollection ruleBackReferences, Microsoft.AspNetCore.Rewrite.BackReferenceCollection conditionBackReferences) { throw null; } + } + internal abstract partial class PatternSegment + { + protected PatternSegment() { } + public abstract string Evaluate(Microsoft.AspNetCore.Rewrite.RewriteContext context, Microsoft.AspNetCore.Rewrite.BackReferenceCollection ruleBackReferences, Microsoft.AspNetCore.Rewrite.BackReferenceCollection conditionBackReferences); + } + internal static partial class Resources + { + internal static System.Globalization.CultureInfo Culture { [System.Runtime.CompilerServices.CompilerGeneratedAttribute]get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute]set { } } + internal static string Error_ChangeEnvironmentNotSupported { get { throw null; } } + internal static string Error_CouldNotParseInteger { get { throw null; } } + internal static string Error_InputParserIndexOutOfRange { get { throw null; } } + internal static string Error_InputParserInvalidInteger { get { throw null; } } + internal static string Error_InputParserMissingCloseBrace { get { throw null; } } + internal static string Error_InputParserNoBackreference { get { throw null; } } + internal static string Error_InputParserUnrecognizedParameter { get { throw null; } } + internal static string Error_IntegerMatch_FormatExceptionMessage { get { throw null; } } + internal static string Error_InvalidChangeCookieFlag { get { throw null; } } + internal static string Error_ModRewriteGeneralParseError { get { throw null; } } + internal static string Error_ModRewriteParseError { get { throw null; } } + internal static string Error_UnsupportedServerVariable { get { throw null; } } + internal static string Error_UrlRewriteParseError { get { throw null; } } + internal static System.Resources.ResourceManager ResourceManager { get { throw null; } } + internal static string FormatError_CouldNotParseInteger(object p0) { throw null; } + internal static string FormatError_InputParserIndexOutOfRange(object p0, object p1) { throw null; } + internal static string FormatError_InputParserInvalidInteger(object p0, object p1) { throw null; } + internal static string FormatError_InputParserMissingCloseBrace(object p0) { throw null; } + internal static string FormatError_InputParserNoBackreference(object p0) { throw null; } + internal static string FormatError_InputParserUnrecognizedParameter(object p0, object p1) { throw null; } + internal static string FormatError_InvalidChangeCookieFlag(object p0) { throw null; } + internal static string FormatError_ModRewriteGeneralParseError(object p0) { throw null; } + internal static string FormatError_ModRewriteParseError(object p0, object p1) { throw null; } + internal static string FormatError_UnsupportedServerVariable(object p0) { throw null; } + internal static string FormatError_UrlRewriteParseError(object p0, object p1, object p2) { throw null; } + } + internal abstract partial class UrlAction + { + protected UrlAction() { } + protected Microsoft.AspNetCore.Rewrite.Pattern Url { [System.Runtime.CompilerServices.CompilerGeneratedAttribute]get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute]set { } } + public abstract void ApplyAction(Microsoft.AspNetCore.Rewrite.RewriteContext context, Microsoft.AspNetCore.Rewrite.BackReferenceCollection ruleBackReferences, Microsoft.AspNetCore.Rewrite.BackReferenceCollection conditionBackReferences); + } + internal abstract partial class UrlMatch + { + protected UrlMatch() { } + protected bool Negate { [System.Runtime.CompilerServices.CompilerGeneratedAttribute]get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute]set { } } + public abstract Microsoft.AspNetCore.Rewrite.MatchResults Evaluate(string input, Microsoft.AspNetCore.Rewrite.RewriteContext context); + } +} + +namespace Microsoft.AspNetCore.Rewrite.ApacheModRewrite +{ + internal partial class ApacheModRewriteRule : Microsoft.AspNetCore.Rewrite.IRule + { + public ApacheModRewriteRule(Microsoft.AspNetCore.Rewrite.UrlMatch initialMatch, System.Collections.Generic.IList conditions, System.Collections.Generic.IList urlActions) { } + public System.Collections.Generic.IList Actions { [System.Runtime.CompilerServices.CompilerGeneratedAttribute]get { throw null; } } + public System.Collections.Generic.IList Conditions { [System.Runtime.CompilerServices.CompilerGeneratedAttribute]get { throw null; } } + public Microsoft.AspNetCore.Rewrite.UrlMatch InitialMatch { [System.Runtime.CompilerServices.CompilerGeneratedAttribute]get { throw null; } } + public virtual void ApplyRule(Microsoft.AspNetCore.Rewrite.RewriteContext context) { } + } + internal partial class Condition + { + public Condition() { } + public Microsoft.AspNetCore.Rewrite.Pattern Input { [System.Runtime.CompilerServices.CompilerGeneratedAttribute]get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute]set { } } + public Microsoft.AspNetCore.Rewrite.UrlMatch Match { [System.Runtime.CompilerServices.CompilerGeneratedAttribute]get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute]set { } } + public bool OrNext { [System.Runtime.CompilerServices.CompilerGeneratedAttribute]get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute]set { } } + public Microsoft.AspNetCore.Rewrite.MatchResults Evaluate(Microsoft.AspNetCore.Rewrite.RewriteContext context, Microsoft.AspNetCore.Rewrite.BackReferenceCollection ruleBackReferences, Microsoft.AspNetCore.Rewrite.BackReferenceCollection conditionBackReferences) { throw null; } + } + internal partial class ConditionPatternParser + { + public ConditionPatternParser() { } + public Microsoft.AspNetCore.Rewrite.ApacheModRewrite.ParsedModRewriteInput ParseActionCondition(string condition) { throw null; } + } + internal enum ConditionType + { + Regex = 0, + PropertyTest = 1, + StringComp = 2, + IntComp = 3, + } + internal partial class CookieActionFactory + { + public CookieActionFactory() { } + public Microsoft.AspNetCore.Rewrite.UrlActions.ChangeCookieAction Create(string flagValue) { throw null; } + } + internal partial class FileParser + { + public FileParser() { } + public System.Collections.Generic.IList Parse(System.IO.TextReader input) { throw null; } + } + internal partial class FlagParser + { + public FlagParser() { } + public Microsoft.AspNetCore.Rewrite.ApacheModRewrite.Flags Parse(string flagString) { throw null; } + } + internal partial class Flags + { + public Flags() { } + public Flags(System.Collections.Generic.IDictionary flags) { } + public System.Collections.Generic.IDictionary FlagDictionary { [System.Runtime.CompilerServices.CompilerGeneratedAttribute]get { throw null; } } + public string this[Microsoft.AspNetCore.Rewrite.ApacheModRewrite.FlagType flag] { get { throw null; } set { } } + public bool GetValue(Microsoft.AspNetCore.Rewrite.ApacheModRewrite.FlagType flag, out string value) { throw null; } + public bool HasFlag(Microsoft.AspNetCore.Rewrite.ApacheModRewrite.FlagType flag) { throw null; } + public void SetFlag(Microsoft.AspNetCore.Rewrite.ApacheModRewrite.FlagType flag, string value) { } + } + internal enum FlagType + { + EscapeBackreference = 0, + Chain = 1, + Cookie = 2, + DiscardPath = 3, + Env = 4, + End = 5, + Forbidden = 6, + Gone = 7, + Handler = 8, + Last = 9, + Next = 10, + NoCase = 11, + NoEscape = 12, + NoSubReq = 13, + NoVary = 14, + Or = 15, + Proxy = 16, + PassThrough = 17, + QSAppend = 18, + QSDiscard = 19, + QSLast = 20, + Redirect = 21, + Skip = 22, + Type = 23, + } + internal enum OperationType + { + None = 0, + Equal = 1, + Greater = 2, + GreaterEqual = 3, + Less = 4, + LessEqual = 5, + NotEqual = 6, + Directory = 7, + RegularFile = 8, + ExistingFile = 9, + SymbolicLink = 10, + Size = 11, + ExistingUrl = 12, + Executable = 13, + } + internal partial class ParsedModRewriteInput + { + public ParsedModRewriteInput() { } + public ParsedModRewriteInput(bool invert, Microsoft.AspNetCore.Rewrite.ApacheModRewrite.ConditionType conditionType, Microsoft.AspNetCore.Rewrite.ApacheModRewrite.OperationType operationType, string operand) { } + public Microsoft.AspNetCore.Rewrite.ApacheModRewrite.ConditionType ConditionType { [System.Runtime.CompilerServices.CompilerGeneratedAttribute]get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute]set { } } + public bool Invert { [System.Runtime.CompilerServices.CompilerGeneratedAttribute]get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute]set { } } + public string Operand { [System.Runtime.CompilerServices.CompilerGeneratedAttribute]get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute]set { } } + public Microsoft.AspNetCore.Rewrite.ApacheModRewrite.OperationType OperationType { [System.Runtime.CompilerServices.CompilerGeneratedAttribute]get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute]set { } } + } + internal partial class RuleBuilder + { + internal System.Collections.Generic.IList _actions; + public RuleBuilder() { } + public void AddAction(Microsoft.AspNetCore.Rewrite.Pattern pattern, Microsoft.AspNetCore.Rewrite.ApacheModRewrite.Flags flags) { } + public void AddConditionFromParts(Microsoft.AspNetCore.Rewrite.Pattern pattern, Microsoft.AspNetCore.Rewrite.ApacheModRewrite.ParsedModRewriteInput input, Microsoft.AspNetCore.Rewrite.ApacheModRewrite.Flags flags) { } + public void AddMatch(Microsoft.AspNetCore.Rewrite.ApacheModRewrite.ParsedModRewriteInput input, Microsoft.AspNetCore.Rewrite.ApacheModRewrite.Flags flags) { } + public void AddRule(string rule) { } + public Microsoft.AspNetCore.Rewrite.ApacheModRewrite.ApacheModRewriteRule Build() { throw null; } + } + internal partial class RuleRegexParser + { + public RuleRegexParser() { } + public Microsoft.AspNetCore.Rewrite.ApacheModRewrite.ParsedModRewriteInput ParseRuleRegex(string regex) { throw null; } + } + internal partial class TestStringParser + { + public TestStringParser() { } + public Microsoft.AspNetCore.Rewrite.Pattern Parse(string testString) { throw null; } + } + internal partial class Tokenizer + { + public Tokenizer() { } + public System.Collections.Generic.IList Tokenize(string rule) { throw null; } + } +} + +namespace Microsoft.AspNetCore.Rewrite.IISUrlRewrite +{ + internal enum ActionType + { + None = 0, + Rewrite = 1, + Redirect = 2, + CustomResponse = 3, + AbortRequest = 4, + } + internal partial class Condition + { + public Condition() { } + public Microsoft.AspNetCore.Rewrite.Pattern Input { [System.Runtime.CompilerServices.CompilerGeneratedAttribute]get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute]set { } } + public Microsoft.AspNetCore.Rewrite.UrlMatch Match { [System.Runtime.CompilerServices.CompilerGeneratedAttribute]get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute]set { } } + public Microsoft.AspNetCore.Rewrite.MatchResults Evaluate(Microsoft.AspNetCore.Rewrite.RewriteContext context, Microsoft.AspNetCore.Rewrite.BackReferenceCollection ruleBackReferences, Microsoft.AspNetCore.Rewrite.BackReferenceCollection conditionBackReferences) { throw null; } + } + internal partial class ConditionCollection : System.Collections.Generic.IEnumerable, System.Collections.IEnumerable + { + public ConditionCollection() { } + public ConditionCollection(Microsoft.AspNetCore.Rewrite.IISUrlRewrite.LogicalGrouping grouping, bool trackAllCaptures) { } + public int Count { get { throw null; } } + public Microsoft.AspNetCore.Rewrite.IISUrlRewrite.LogicalGrouping Grouping { [System.Runtime.CompilerServices.CompilerGeneratedAttribute]get { throw null; } } + public Microsoft.AspNetCore.Rewrite.IISUrlRewrite.Condition this[int index] { get { throw null; } } + public bool TrackAllCaptures { [System.Runtime.CompilerServices.CompilerGeneratedAttribute]get { throw null; } } + public void Add(Microsoft.AspNetCore.Rewrite.IISUrlRewrite.Condition condition) { } + public void AddConditions(System.Collections.Generic.IEnumerable conditions) { } + public System.Collections.Generic.IEnumerator GetEnumerator() { throw null; } + System.Collections.IEnumerator System.Collections.IEnumerable.GetEnumerator() { throw null; } + } + internal partial class IISRewriteMap + { + public IISRewriteMap(string name) { } + public string this[string key] { get { throw null; } set { } } + public string Name { [System.Runtime.CompilerServices.CompilerGeneratedAttribute]get { throw null; } } + } + internal partial class IISRewriteMapCollection : System.Collections.Generic.IEnumerable, System.Collections.IEnumerable + { + public IISRewriteMapCollection() { } + public int Count { get { throw null; } } + public Microsoft.AspNetCore.Rewrite.IISUrlRewrite.IISRewriteMap this[string key] { get { throw null; } } + public void Add(Microsoft.AspNetCore.Rewrite.IISUrlRewrite.IISRewriteMap rewriteMap) { } + public System.Collections.Generic.IEnumerator GetEnumerator() { throw null; } + System.Collections.IEnumerator System.Collections.IEnumerable.GetEnumerator() { throw null; } + } + internal partial class IISUrlRewriteRule : Microsoft.AspNetCore.Rewrite.IRule + { + public IISUrlRewriteRule(string name, Microsoft.AspNetCore.Rewrite.UrlMatch initialMatch, Microsoft.AspNetCore.Rewrite.IISUrlRewrite.ConditionCollection conditions, Microsoft.AspNetCore.Rewrite.UrlAction action) { } + public IISUrlRewriteRule(string name, Microsoft.AspNetCore.Rewrite.UrlMatch initialMatch, Microsoft.AspNetCore.Rewrite.IISUrlRewrite.ConditionCollection conditions, Microsoft.AspNetCore.Rewrite.UrlAction action, bool global) { } + public Microsoft.AspNetCore.Rewrite.UrlAction Action { [System.Runtime.CompilerServices.CompilerGeneratedAttribute]get { throw null; } } + public Microsoft.AspNetCore.Rewrite.IISUrlRewrite.ConditionCollection Conditions { [System.Runtime.CompilerServices.CompilerGeneratedAttribute]get { throw null; } } + public bool Global { [System.Runtime.CompilerServices.CompilerGeneratedAttribute]get { throw null; } } + public Microsoft.AspNetCore.Rewrite.UrlMatch InitialMatch { [System.Runtime.CompilerServices.CompilerGeneratedAttribute]get { throw null; } } + public string Name { [System.Runtime.CompilerServices.CompilerGeneratedAttribute]get { throw null; } } + public virtual void ApplyRule(Microsoft.AspNetCore.Rewrite.RewriteContext context) { } + } + internal partial class InputParser + { + public InputParser() { } + public InputParser(Microsoft.AspNetCore.Rewrite.IISUrlRewrite.IISRewriteMapCollection rewriteMaps, bool alwaysUseManagedServerVariables) { } + public Microsoft.AspNetCore.Rewrite.Pattern ParseInputString(string testString) { throw null; } + public Microsoft.AspNetCore.Rewrite.Pattern ParseInputString(string testString, Microsoft.AspNetCore.Rewrite.IISUrlRewrite.UriMatchPart uriMatchPart) { throw null; } + } + internal partial class InvalidUrlRewriteFormatException : System.FormatException + { + public InvalidUrlRewriteFormatException(System.Xml.Linq.XElement element, string message) { } + public InvalidUrlRewriteFormatException(System.Xml.Linq.XElement element, string message, System.Exception innerException) { } + public int LineNumber { [System.Runtime.CompilerServices.CompilerGeneratedAttribute]get { throw null; } } + public int LinePosition { [System.Runtime.CompilerServices.CompilerGeneratedAttribute]get { throw null; } } + } + internal enum LogicalGrouping + { + MatchAll = 0, + MatchAny = 1, + } + internal enum PatternSyntax + { + ECMAScript = 0, + Wildcard = 1, + ExactMatch = 2, + } + internal enum RedirectType + { + Permanent = 301, + Found = 302, + SeeOther = 303, + Temporary = 307, + } + internal static partial class RewriteMapParser + { + public static Microsoft.AspNetCore.Rewrite.IISUrlRewrite.IISRewriteMapCollection Parse(System.Xml.Linq.XElement xmlRoot) { throw null; } + } + internal static partial class RewriteTags + { + public const string Action = "action"; + public const string Add = "add"; + public const string AppendQueryString = "appendQueryString"; + public const string Conditions = "conditions"; + public const string Enabled = "enabled"; + public const string GlobalRules = "globalRules"; + public const string IgnoreCase = "ignoreCase"; + public const string Input = "input"; + public const string Key = "key"; + public const string LogicalGrouping = "logicalGrouping"; + public const string LogRewrittenUrl = "logRewrittenUrl"; + public const string Match = "match"; + public const string MatchPattern = "matchPattern"; + public const string MatchType = "matchType"; + public const string Name = "name"; + public const string Negate = "negate"; + public const string Pattern = "pattern"; + public const string PatternSyntax = "patternSyntax"; + public const string RedirectType = "redirectType"; + public const string Rewrite = "rewrite"; + public const string RewriteMap = "rewriteMap"; + public const string RewriteMaps = "rewriteMaps"; + public const string Rule = "rule"; + public const string Rules = "rules"; + public const string StatusCode = "statusCode"; + public const string StatusDescription = "statusDescription"; + public const string StatusReason = "statusReason"; + public const string StopProcessing = "stopProcessing"; + public const string SubStatusCode = "subStatusCode"; + public const string TrackAllCaptures = "trackAllCaptures"; + public const string Type = "type"; + public const string Url = "url"; + public const string Value = "value"; + } + internal static partial class ServerVariables + { + public static Microsoft.AspNetCore.Rewrite.PatternSegment FindServerVariable(string serverVariable, Microsoft.AspNetCore.Rewrite.ParserContext context, Microsoft.AspNetCore.Rewrite.IISUrlRewrite.UriMatchPart uriMatchPart, bool alwaysUseManagedServerVariables) { throw null; } + } + internal partial class UriMatchCondition : Microsoft.AspNetCore.Rewrite.IISUrlRewrite.Condition + { + public UriMatchCondition(Microsoft.AspNetCore.Rewrite.IISUrlRewrite.InputParser inputParser, string input, string pattern, Microsoft.AspNetCore.Rewrite.IISUrlRewrite.UriMatchPart uriMatchPart, bool ignoreCase, bool negate) { } + } + internal enum UriMatchPart + { + Full = 0, + Path = 1, + } + internal partial class UrlRewriteFileParser + { + public UrlRewriteFileParser() { } + public System.Collections.Generic.IList Parse(System.IO.TextReader reader, bool alwaysUseManagedServerVariables) { throw null; } + } + internal partial class UrlRewriteRuleBuilder + { + public UrlRewriteRuleBuilder() { } + public bool Enabled { [System.Runtime.CompilerServices.CompilerGeneratedAttribute]get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute]set { } } + public bool Global { [System.Runtime.CompilerServices.CompilerGeneratedAttribute]get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute]set { } } + public string Name { [System.Runtime.CompilerServices.CompilerGeneratedAttribute]get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute]set { } } + public Microsoft.AspNetCore.Rewrite.IISUrlRewrite.UriMatchPart UriMatchPart { get { throw null; } } + public void AddUrlAction(Microsoft.AspNetCore.Rewrite.UrlAction action) { } + public void AddUrlCondition(Microsoft.AspNetCore.Rewrite.IISUrlRewrite.Condition condition) { } + public void AddUrlConditions(System.Collections.Generic.IEnumerable conditions) { } + public void AddUrlMatch(string input, bool ignoreCase = true, bool negate = false, Microsoft.AspNetCore.Rewrite.IISUrlRewrite.PatternSyntax patternSyntax = Microsoft.AspNetCore.Rewrite.IISUrlRewrite.PatternSyntax.ECMAScript) { } + public Microsoft.AspNetCore.Rewrite.IISUrlRewrite.IISUrlRewriteRule Build() { throw null; } + public void ConfigureConditionBehavior(Microsoft.AspNetCore.Rewrite.IISUrlRewrite.LogicalGrouping logicalGrouping, bool trackAllCaptures) { } + } +} + +namespace Microsoft.AspNetCore.Rewrite.PatternSegments +{ + internal partial class ConditionMatchSegment : Microsoft.AspNetCore.Rewrite.PatternSegment + { + public ConditionMatchSegment(int index) { } + public override string Evaluate(Microsoft.AspNetCore.Rewrite.RewriteContext context, Microsoft.AspNetCore.Rewrite.BackReferenceCollection ruleBackReferences, Microsoft.AspNetCore.Rewrite.BackReferenceCollection conditionBackReferences) { throw null; } + } + internal partial class DateTimeSegment : Microsoft.AspNetCore.Rewrite.PatternSegment + { + public DateTimeSegment(string segment) { } + public override string Evaluate(Microsoft.AspNetCore.Rewrite.RewriteContext context, Microsoft.AspNetCore.Rewrite.BackReferenceCollection ruleBackReferences, Microsoft.AspNetCore.Rewrite.BackReferenceCollection conditionBackReference) { throw null; } + } + internal partial class HeaderSegment : Microsoft.AspNetCore.Rewrite.PatternSegment + { + public HeaderSegment(string header) { } + public override string Evaluate(Microsoft.AspNetCore.Rewrite.RewriteContext context, Microsoft.AspNetCore.Rewrite.BackReferenceCollection ruleBackReferences, Microsoft.AspNetCore.Rewrite.BackReferenceCollection conditionBackReferences) { throw null; } + } + internal partial class IsHttpsModSegment : Microsoft.AspNetCore.Rewrite.PatternSegment + { + public IsHttpsModSegment() { } + public override string Evaluate(Microsoft.AspNetCore.Rewrite.RewriteContext context, Microsoft.AspNetCore.Rewrite.BackReferenceCollection ruleBackReferences, Microsoft.AspNetCore.Rewrite.BackReferenceCollection conditionBackReferences) { throw null; } + } + internal partial class IsHttpsUrlSegment : Microsoft.AspNetCore.Rewrite.PatternSegment + { + public IsHttpsUrlSegment() { } + public override string Evaluate(Microsoft.AspNetCore.Rewrite.RewriteContext context, Microsoft.AspNetCore.Rewrite.BackReferenceCollection ruleBackReferences, Microsoft.AspNetCore.Rewrite.BackReferenceCollection conditionBackReferences) { throw null; } + } + internal partial class IsIPV6Segment : Microsoft.AspNetCore.Rewrite.PatternSegment + { + public IsIPV6Segment() { } + public override string Evaluate(Microsoft.AspNetCore.Rewrite.RewriteContext context, Microsoft.AspNetCore.Rewrite.BackReferenceCollection ruleBackReferences, Microsoft.AspNetCore.Rewrite.BackReferenceCollection conditionBackReferences) { throw null; } + } + internal partial class LiteralSegment : Microsoft.AspNetCore.Rewrite.PatternSegment + { + public LiteralSegment(string literal) { } + public override string Evaluate(Microsoft.AspNetCore.Rewrite.RewriteContext context, Microsoft.AspNetCore.Rewrite.BackReferenceCollection ruleBackReferences, Microsoft.AspNetCore.Rewrite.BackReferenceCollection conditionBackReferences) { throw null; } + } + internal partial class LocalAddressSegment : Microsoft.AspNetCore.Rewrite.PatternSegment + { + public LocalAddressSegment() { } + public override string Evaluate(Microsoft.AspNetCore.Rewrite.RewriteContext context, Microsoft.AspNetCore.Rewrite.BackReferenceCollection ruleBackReferences, Microsoft.AspNetCore.Rewrite.BackReferenceCollection conditionBackReferences) { throw null; } + } + internal partial class LocalPortSegment : Microsoft.AspNetCore.Rewrite.PatternSegment + { + public LocalPortSegment() { } + public override string Evaluate(Microsoft.AspNetCore.Rewrite.RewriteContext context, Microsoft.AspNetCore.Rewrite.BackReferenceCollection ruleBackReferences, Microsoft.AspNetCore.Rewrite.BackReferenceCollection conditionBackReferences) { throw null; } + } + internal partial class QueryStringSegment : Microsoft.AspNetCore.Rewrite.PatternSegment + { + public QueryStringSegment() { } + public override string Evaluate(Microsoft.AspNetCore.Rewrite.RewriteContext context, Microsoft.AspNetCore.Rewrite.BackReferenceCollection ruleBackRefernces, Microsoft.AspNetCore.Rewrite.BackReferenceCollection conditionBackReferences) { throw null; } + } + internal partial class RemoteAddressSegment : Microsoft.AspNetCore.Rewrite.PatternSegment + { + public RemoteAddressSegment() { } + public override string Evaluate(Microsoft.AspNetCore.Rewrite.RewriteContext context, Microsoft.AspNetCore.Rewrite.BackReferenceCollection ruleBackReferences, Microsoft.AspNetCore.Rewrite.BackReferenceCollection conditionBackReferences) { throw null; } + } + internal partial class RemotePortSegment : Microsoft.AspNetCore.Rewrite.PatternSegment + { + public RemotePortSegment() { } + public override string Evaluate(Microsoft.AspNetCore.Rewrite.RewriteContext context, Microsoft.AspNetCore.Rewrite.BackReferenceCollection ruleBackReferences, Microsoft.AspNetCore.Rewrite.BackReferenceCollection conditionBackReferences) { throw null; } + } + internal partial class RequestFileNameSegment : Microsoft.AspNetCore.Rewrite.PatternSegment + { + public RequestFileNameSegment() { } + public override string Evaluate(Microsoft.AspNetCore.Rewrite.RewriteContext context, Microsoft.AspNetCore.Rewrite.BackReferenceCollection ruleBackReferences, Microsoft.AspNetCore.Rewrite.BackReferenceCollection conditionBackReferences) { throw null; } + } + internal partial class RequestMethodSegment : Microsoft.AspNetCore.Rewrite.PatternSegment + { + public RequestMethodSegment() { } + public override string Evaluate(Microsoft.AspNetCore.Rewrite.RewriteContext context, Microsoft.AspNetCore.Rewrite.BackReferenceCollection ruleBackReferences, Microsoft.AspNetCore.Rewrite.BackReferenceCollection conditionBackReferences) { throw null; } + } + internal partial class RewriteMapSegment : Microsoft.AspNetCore.Rewrite.PatternSegment + { + public RewriteMapSegment(Microsoft.AspNetCore.Rewrite.IISUrlRewrite.IISRewriteMap rewriteMap, Microsoft.AspNetCore.Rewrite.Pattern pattern) { } + public override string Evaluate(Microsoft.AspNetCore.Rewrite.RewriteContext context, Microsoft.AspNetCore.Rewrite.BackReferenceCollection ruleBackReferences, Microsoft.AspNetCore.Rewrite.BackReferenceCollection conditionBackReferences) { throw null; } + } + internal partial class RuleMatchSegment : Microsoft.AspNetCore.Rewrite.PatternSegment + { + public RuleMatchSegment(int index) { } + public override string Evaluate(Microsoft.AspNetCore.Rewrite.RewriteContext context, Microsoft.AspNetCore.Rewrite.BackReferenceCollection ruleBackReferences, Microsoft.AspNetCore.Rewrite.BackReferenceCollection conditionBackReferences) { throw null; } + } + internal partial class SchemeSegment : Microsoft.AspNetCore.Rewrite.PatternSegment + { + public SchemeSegment() { } + public override string Evaluate(Microsoft.AspNetCore.Rewrite.RewriteContext context, Microsoft.AspNetCore.Rewrite.BackReferenceCollection ruleBackReferences, Microsoft.AspNetCore.Rewrite.BackReferenceCollection conditionBackReferences) { throw null; } + } + internal partial class ServerProtocolSegment : Microsoft.AspNetCore.Rewrite.PatternSegment + { + public ServerProtocolSegment() { } + public override string Evaluate(Microsoft.AspNetCore.Rewrite.RewriteContext context, Microsoft.AspNetCore.Rewrite.BackReferenceCollection ruleBackReferences, Microsoft.AspNetCore.Rewrite.BackReferenceCollection conditionBackReferences) { throw null; } + } + internal partial class ToLowerSegment : Microsoft.AspNetCore.Rewrite.PatternSegment + { + public ToLowerSegment(Microsoft.AspNetCore.Rewrite.Pattern pattern) { } + public override string Evaluate(Microsoft.AspNetCore.Rewrite.RewriteContext context, Microsoft.AspNetCore.Rewrite.BackReferenceCollection ruleBackReferences, Microsoft.AspNetCore.Rewrite.BackReferenceCollection conditionBackReferences) { throw null; } + } + internal partial class UrlEncodeSegment : Microsoft.AspNetCore.Rewrite.PatternSegment + { + public UrlEncodeSegment(Microsoft.AspNetCore.Rewrite.Pattern pattern) { } + public override string Evaluate(Microsoft.AspNetCore.Rewrite.RewriteContext context, Microsoft.AspNetCore.Rewrite.BackReferenceCollection ruleBackReferences, Microsoft.AspNetCore.Rewrite.BackReferenceCollection conditionBackReferences) { throw null; } + } + internal partial class UrlSegment : Microsoft.AspNetCore.Rewrite.PatternSegment + { + public UrlSegment() { } + public UrlSegment(Microsoft.AspNetCore.Rewrite.IISUrlRewrite.UriMatchPart uriMatchPart) { } + public override string Evaluate(Microsoft.AspNetCore.Rewrite.RewriteContext context, Microsoft.AspNetCore.Rewrite.BackReferenceCollection ruleBackReferences, Microsoft.AspNetCore.Rewrite.BackReferenceCollection conditionBackReferences) { throw null; } + } +} + +namespace Microsoft.AspNetCore.Rewrite.UrlActions +{ + internal partial class AbortAction : Microsoft.AspNetCore.Rewrite.UrlAction + { + public AbortAction() { } + public override void ApplyAction(Microsoft.AspNetCore.Rewrite.RewriteContext context, Microsoft.AspNetCore.Rewrite.BackReferenceCollection ruleBackReferences, Microsoft.AspNetCore.Rewrite.BackReferenceCollection conditionBackReferences) { } + } + internal partial class ChangeCookieAction : Microsoft.AspNetCore.Rewrite.UrlAction + { + public ChangeCookieAction(string name) { } + internal ChangeCookieAction(string name, System.Func timeSource) { } + public string Domain { [System.Runtime.CompilerServices.CompilerGeneratedAttribute]get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute]set { } } + public bool HttpOnly { [System.Runtime.CompilerServices.CompilerGeneratedAttribute]get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute]set { } } + public System.TimeSpan Lifetime { [System.Runtime.CompilerServices.CompilerGeneratedAttribute]get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute]set { } } + public string Name { [System.Runtime.CompilerServices.CompilerGeneratedAttribute]get { throw null; } } + public string Path { [System.Runtime.CompilerServices.CompilerGeneratedAttribute]get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute]set { } } + public bool Secure { [System.Runtime.CompilerServices.CompilerGeneratedAttribute]get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute]set { } } + public string Value { [System.Runtime.CompilerServices.CompilerGeneratedAttribute]get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute]set { } } + public override void ApplyAction(Microsoft.AspNetCore.Rewrite.RewriteContext context, Microsoft.AspNetCore.Rewrite.BackReferenceCollection ruleBackReferences, Microsoft.AspNetCore.Rewrite.BackReferenceCollection conditionBackReferences) { } + } + internal partial class ForbiddenAction : Microsoft.AspNetCore.Rewrite.UrlAction + { + public ForbiddenAction() { } + public override void ApplyAction(Microsoft.AspNetCore.Rewrite.RewriteContext context, Microsoft.AspNetCore.Rewrite.BackReferenceCollection ruleBackReferences, Microsoft.AspNetCore.Rewrite.BackReferenceCollection conditionBackReferences) { } + } + internal partial class GoneAction : Microsoft.AspNetCore.Rewrite.UrlAction + { + public GoneAction() { } + public override void ApplyAction(Microsoft.AspNetCore.Rewrite.RewriteContext context, Microsoft.AspNetCore.Rewrite.BackReferenceCollection ruleBackReferences, Microsoft.AspNetCore.Rewrite.BackReferenceCollection conditionBackReferences) { } + } + internal partial class RedirectAction : Microsoft.AspNetCore.Rewrite.UrlAction + { + public RedirectAction(int statusCode, Microsoft.AspNetCore.Rewrite.Pattern pattern, bool queryStringAppend) { } + public RedirectAction(int statusCode, Microsoft.AspNetCore.Rewrite.Pattern pattern, bool queryStringAppend, bool queryStringDelete, bool escapeBackReferences) { } + public bool EscapeBackReferences { [System.Runtime.CompilerServices.CompilerGeneratedAttribute]get { throw null; } } + public bool QueryStringAppend { [System.Runtime.CompilerServices.CompilerGeneratedAttribute]get { throw null; } } + public bool QueryStringDelete { [System.Runtime.CompilerServices.CompilerGeneratedAttribute]get { throw null; } } + public int StatusCode { [System.Runtime.CompilerServices.CompilerGeneratedAttribute]get { throw null; } } + public override void ApplyAction(Microsoft.AspNetCore.Rewrite.RewriteContext context, Microsoft.AspNetCore.Rewrite.BackReferenceCollection ruleBackReferences, Microsoft.AspNetCore.Rewrite.BackReferenceCollection conditionBackReferences) { } + } + internal partial class RewriteAction : Microsoft.AspNetCore.Rewrite.UrlAction + { + public RewriteAction(Microsoft.AspNetCore.Rewrite.RuleResult result, Microsoft.AspNetCore.Rewrite.Pattern pattern, bool queryStringAppend) { } + public RewriteAction(Microsoft.AspNetCore.Rewrite.RuleResult result, Microsoft.AspNetCore.Rewrite.Pattern pattern, bool queryStringAppend, bool queryStringDelete, bool escapeBackReferences) { } + public bool EscapeBackReferences { [System.Runtime.CompilerServices.CompilerGeneratedAttribute]get { throw null; } } + public bool QueryStringAppend { [System.Runtime.CompilerServices.CompilerGeneratedAttribute]get { throw null; } } + public bool QueryStringDelete { [System.Runtime.CompilerServices.CompilerGeneratedAttribute]get { throw null; } } + public Microsoft.AspNetCore.Rewrite.RuleResult Result { [System.Runtime.CompilerServices.CompilerGeneratedAttribute]get { throw null; } } + public override void ApplyAction(Microsoft.AspNetCore.Rewrite.RewriteContext context, Microsoft.AspNetCore.Rewrite.BackReferenceCollection ruleBackReferences, Microsoft.AspNetCore.Rewrite.BackReferenceCollection conditionBackReferences) { } + } +} + +namespace Microsoft.AspNetCore.Rewrite.UrlMatches +{ + internal partial class ExactMatch : Microsoft.AspNetCore.Rewrite.UrlMatch + { + public ExactMatch(bool ignoreCase, string input, bool negate) { } + public override Microsoft.AspNetCore.Rewrite.MatchResults Evaluate(string pattern, Microsoft.AspNetCore.Rewrite.RewriteContext context) { throw null; } + } + internal partial class IntegerMatch : Microsoft.AspNetCore.Rewrite.UrlMatch + { + public IntegerMatch(int value, Microsoft.AspNetCore.Rewrite.UrlMatches.IntegerOperationType operation) { } + public IntegerMatch(string value, Microsoft.AspNetCore.Rewrite.UrlMatches.IntegerOperationType operation) { } + public override Microsoft.AspNetCore.Rewrite.MatchResults Evaluate(string input, Microsoft.AspNetCore.Rewrite.RewriteContext context) { throw null; } + } + internal enum IntegerOperationType + { + Equal = 0, + Greater = 1, + GreaterEqual = 2, + Less = 3, + LessEqual = 4, + NotEqual = 5, + } + internal partial class RegexMatch : Microsoft.AspNetCore.Rewrite.UrlMatch + { + public RegexMatch(System.Text.RegularExpressions.Regex match, bool negate) { } + public override Microsoft.AspNetCore.Rewrite.MatchResults Evaluate(string pattern, Microsoft.AspNetCore.Rewrite.RewriteContext context) { throw null; } + } + internal partial class StringMatch : Microsoft.AspNetCore.Rewrite.UrlMatch + { + public StringMatch(string value, Microsoft.AspNetCore.Rewrite.UrlMatches.StringOperationType operation, bool ignoreCase) { } + public override Microsoft.AspNetCore.Rewrite.MatchResults Evaluate(string input, Microsoft.AspNetCore.Rewrite.RewriteContext context) { throw null; } + } + internal enum StringOperationType + { + Equal = 0, + Greater = 1, + GreaterEqual = 2, + Less = 3, + LessEqual = 4, + } +} diff --git a/src/Middleware/Rewrite/ref/Microsoft.AspNetCore.Rewrite.csproj b/src/Middleware/Rewrite/ref/Microsoft.AspNetCore.Rewrite.csproj index e277c76b82f1..8a2f0af0b2ef 100644 --- a/src/Middleware/Rewrite/ref/Microsoft.AspNetCore.Rewrite.csproj +++ b/src/Middleware/Rewrite/ref/Microsoft.AspNetCore.Rewrite.csproj @@ -5,11 +5,13 @@ - - - - - - + + + + + + + + diff --git a/src/Middleware/Rewrite/src/Microsoft.AspNetCore.Rewrite.csproj b/src/Middleware/Rewrite/src/Microsoft.AspNetCore.Rewrite.csproj index d7a25a253dda..1f2336373280 100644 --- a/src/Middleware/Rewrite/src/Microsoft.AspNetCore.Rewrite.csproj +++ b/src/Middleware/Rewrite/src/Microsoft.AspNetCore.Rewrite.csproj @@ -10,7 +10,7 @@ $(NoWarn);CS1591 true aspnetcore;urlrewrite;mod_rewrite - false + false diff --git a/src/Middleware/Session/ref/Microsoft.AspNetCore.Session.csproj b/src/Middleware/Session/ref/Microsoft.AspNetCore.Session.csproj index 7d84ebe33c91..5da1be8b70ed 100644 --- a/src/Middleware/Session/ref/Microsoft.AspNetCore.Session.csproj +++ b/src/Middleware/Session/ref/Microsoft.AspNetCore.Session.csproj @@ -5,10 +5,10 @@ - - - - - + + + + + diff --git a/src/Middleware/Session/src/Microsoft.AspNetCore.Session.csproj b/src/Middleware/Session/src/Microsoft.AspNetCore.Session.csproj index d06dd6f5ed59..4763fe2b207d 100644 --- a/src/Middleware/Session/src/Microsoft.AspNetCore.Session.csproj +++ b/src/Middleware/Session/src/Microsoft.AspNetCore.Session.csproj @@ -8,7 +8,7 @@ true true aspnetcore;session;sessionstate - false + false diff --git a/src/Middleware/SpaServices.Extensions/ref/Microsoft.AspNetCore.SpaServices.Extensions.csproj b/src/Middleware/SpaServices.Extensions/ref/Microsoft.AspNetCore.SpaServices.Extensions.csproj deleted file mode 100644 index d0234531a8f7..000000000000 --- a/src/Middleware/SpaServices.Extensions/ref/Microsoft.AspNetCore.SpaServices.Extensions.csproj +++ /dev/null @@ -1,13 +0,0 @@ - - - - $(DefaultNetCoreTargetFramework) - - - - - - - - - diff --git a/src/Middleware/SpaServices.Extensions/ref/Microsoft.AspNetCore.SpaServices.Extensions.netcoreapp.cs b/src/Middleware/SpaServices.Extensions/ref/Microsoft.AspNetCore.SpaServices.Extensions.netcoreapp.cs deleted file mode 100644 index a8e1299e609f..000000000000 --- a/src/Middleware/SpaServices.Extensions/ref/Microsoft.AspNetCore.SpaServices.Extensions.netcoreapp.cs +++ /dev/null @@ -1,99 +0,0 @@ -// Copyright (c) .NET Foundation. All rights reserved. -// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. - -namespace Microsoft.AspNetCore.Builder -{ - public static partial class SpaApplicationBuilderExtensions - { - public static void UseSpa(this Microsoft.AspNetCore.Builder.IApplicationBuilder app, System.Action configuration) { } - } - [System.ObsoleteAttribute("Prerendering is no longer supported out of box")] - public static partial class SpaPrerenderingExtensions - { - [System.ObsoleteAttribute("Prerendering is no longer supported out of box")] - public static void UseSpaPrerendering(this Microsoft.AspNetCore.SpaServices.ISpaBuilder spaBuilder, System.Action configuration) { } - } - [System.ObsoleteAttribute("Prerendering is no longer supported out of box")] - public partial class SpaPrerenderingOptions - { - public SpaPrerenderingOptions() { } - public Microsoft.AspNetCore.SpaServices.Prerendering.ISpaPrerendererBuilder BootModuleBuilder { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute] set { } } - public string BootModulePath { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute] set { } } - public string[] ExcludeUrls { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute] set { } } - public System.Action> SupplyData { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute] set { } } - } - public static partial class SpaProxyingExtensions - { - public static void UseProxyToSpaDevelopmentServer(this Microsoft.AspNetCore.SpaServices.ISpaBuilder spaBuilder, System.Func> baseUriTaskFactory) { } - public static void UseProxyToSpaDevelopmentServer(this Microsoft.AspNetCore.SpaServices.ISpaBuilder spaBuilder, string baseUri) { } - public static void UseProxyToSpaDevelopmentServer(this Microsoft.AspNetCore.SpaServices.ISpaBuilder spaBuilder, System.Uri baseUri) { } - } -} -namespace Microsoft.AspNetCore.SpaServices -{ - public partial interface ISpaBuilder - { - Microsoft.AspNetCore.Builder.IApplicationBuilder ApplicationBuilder { get; } - Microsoft.AspNetCore.SpaServices.SpaOptions Options { get; } - } - public partial class SpaOptions - { - public SpaOptions() { } - public Microsoft.AspNetCore.Http.PathString DefaultPage { get { throw null; } set { } } - public Microsoft.AspNetCore.Builder.StaticFileOptions DefaultPageStaticFileOptions { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute] set { } } - public int DevServerPort { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute] set { } } - public string PackageManagerCommand { get { throw null; } set { } } - public string SourcePath { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute] set { } } - public System.TimeSpan StartupTimeout { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute] set { } } - } -} -namespace Microsoft.AspNetCore.SpaServices.AngularCli -{ - [System.ObsoleteAttribute("Prerendering is no longer supported out of box")] - public partial class AngularCliBuilder : Microsoft.AspNetCore.SpaServices.Prerendering.ISpaPrerendererBuilder - { - public AngularCliBuilder(string npmScript) { } - [System.Diagnostics.DebuggerStepThroughAttribute] - public System.Threading.Tasks.Task Build(Microsoft.AspNetCore.SpaServices.ISpaBuilder spaBuilder) { throw null; } - } - public static partial class AngularCliMiddlewareExtensions - { - public static void UseAngularCliServer(this Microsoft.AspNetCore.SpaServices.ISpaBuilder spaBuilder, string npmScript) { } - } -} -namespace Microsoft.AspNetCore.SpaServices.Prerendering -{ - [System.ObsoleteAttribute("Prerendering is no longer supported out of box")] - public partial interface ISpaPrerendererBuilder - { - System.Threading.Tasks.Task Build(Microsoft.AspNetCore.SpaServices.ISpaBuilder spaBuilder); - } -} -namespace Microsoft.AspNetCore.SpaServices.ReactDevelopmentServer -{ - public static partial class ReactDevelopmentServerMiddlewareExtensions - { - public static void UseReactDevelopmentServer(this Microsoft.AspNetCore.SpaServices.ISpaBuilder spaBuilder, string npmScript) { } - } -} -namespace Microsoft.AspNetCore.SpaServices.StaticFiles -{ - public partial interface ISpaStaticFileProvider - { - Microsoft.Extensions.FileProviders.IFileProvider FileProvider { get; } - } - public partial class SpaStaticFilesOptions - { - public SpaStaticFilesOptions() { } - public string RootPath { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute] set { } } - } -} -namespace Microsoft.Extensions.DependencyInjection -{ - public static partial class SpaStaticFilesExtensions - { - public static void AddSpaStaticFiles(this Microsoft.Extensions.DependencyInjection.IServiceCollection services, System.Action configuration = null) { } - public static void UseSpaStaticFiles(this Microsoft.AspNetCore.Builder.IApplicationBuilder applicationBuilder) { } - public static void UseSpaStaticFiles(this Microsoft.AspNetCore.Builder.IApplicationBuilder applicationBuilder, Microsoft.AspNetCore.Builder.StaticFileOptions options) { } - } -} diff --git a/src/Middleware/SpaServices.Extensions/src/Microsoft.AspNetCore.SpaServices.Extensions.csproj b/src/Middleware/SpaServices.Extensions/src/Microsoft.AspNetCore.SpaServices.Extensions.csproj index 9aa1e9424794..486708b20885 100644 --- a/src/Middleware/SpaServices.Extensions/src/Microsoft.AspNetCore.SpaServices.Extensions.csproj +++ b/src/Middleware/SpaServices.Extensions/src/Microsoft.AspNetCore.SpaServices.Extensions.csproj @@ -3,7 +3,7 @@ Helpers for building single-page applications on ASP.NET MVC Core. $(DefaultNetCoreTargetFramework) - true + true diff --git a/src/Middleware/SpaServices/ref/Microsoft.AspNetCore.SpaServices.csproj b/src/Middleware/SpaServices/ref/Microsoft.AspNetCore.SpaServices.csproj deleted file mode 100644 index ca97a61ec6ed..000000000000 --- a/src/Middleware/SpaServices/ref/Microsoft.AspNetCore.SpaServices.csproj +++ /dev/null @@ -1,12 +0,0 @@ - - - - $(DefaultNetCoreTargetFramework) - - - - - - - - diff --git a/src/Middleware/SpaServices/ref/Microsoft.AspNetCore.SpaServices.netcoreapp.cs b/src/Middleware/SpaServices/ref/Microsoft.AspNetCore.SpaServices.netcoreapp.cs deleted file mode 100644 index 21fae17651e6..000000000000 --- a/src/Middleware/SpaServices/ref/Microsoft.AspNetCore.SpaServices.netcoreapp.cs +++ /dev/null @@ -1,94 +0,0 @@ -// Copyright (c) .NET Foundation. All rights reserved. -// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. - -namespace Microsoft.AspNetCore.Builder -{ - [System.ObsoleteAttribute("Use Microsoft.AspNetCore.SpaServices.Extensions")] - public static partial class SpaRouteExtensions - { - public static void MapSpaFallbackRoute(this Microsoft.AspNetCore.Routing.IRouteBuilder routeBuilder, string name, object defaults, object constraints = null, object dataTokens = null) { } - public static void MapSpaFallbackRoute(this Microsoft.AspNetCore.Routing.IRouteBuilder routeBuilder, string name, string templatePrefix, object defaults, object constraints = null, object dataTokens = null) { } - } - [System.ObsoleteAttribute("Use Microsoft.AspNetCore.SpaServices.Extensions")] - public static partial class WebpackDevMiddleware - { - [System.ObsoleteAttribute("Use Microsoft.AspNetCore.SpaServices.Extensions")] - public static void UseWebpackDevMiddleware(this Microsoft.AspNetCore.Builder.IApplicationBuilder appBuilder, Microsoft.AspNetCore.SpaServices.Webpack.WebpackDevMiddlewareOptions options = null) { } - } -} -namespace Microsoft.AspNetCore.SpaServices.Prerendering -{ - [System.ObsoleteAttribute("Use Microsoft.AspNetCore.SpaServices.Extensions")] - public partial interface ISpaPrerenderer - { - System.Threading.Tasks.Task RenderToString(string moduleName, string exportName = null, object customDataParameter = null, int timeoutMilliseconds = 0); - } - [System.ObsoleteAttribute("Use Microsoft.AspNetCore.SpaServices.Extensions")] - public partial class JavaScriptModuleExport - { - public JavaScriptModuleExport(string moduleName) { } - public string ExportName { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute] set { } } - public string ModuleName { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } } - } - [System.ObsoleteAttribute("Use Microsoft.AspNetCore.SpaServices.Extensions")] - public static partial class Prerenderer - { - [System.ObsoleteAttribute("Use Microsoft.AspNetCore.SpaServices.Extensions")] - public static System.Threading.Tasks.Task RenderToString(string applicationBasePath, Microsoft.AspNetCore.NodeServices.INodeServices nodeServices, System.Threading.CancellationToken applicationStoppingToken, Microsoft.AspNetCore.SpaServices.Prerendering.JavaScriptModuleExport bootModule, string requestAbsoluteUrl, string requestPathAndQuery, object customDataParameter, int timeoutMilliseconds, string requestPathBase) { throw null; } - } - [Microsoft.AspNetCore.Razor.TagHelpers.HtmlTargetElementAttribute(Attributes="asp-prerender-module")] - [System.ObsoleteAttribute("Use Microsoft.AspNetCore.SpaServices.Extensions")] - public partial class PrerenderTagHelper : Microsoft.AspNetCore.Razor.TagHelpers.TagHelper - { - public PrerenderTagHelper(System.IServiceProvider serviceProvider) { } - [Microsoft.AspNetCore.Razor.TagHelpers.HtmlAttributeNameAttribute("asp-prerender-data")] - public object CustomDataParameter { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute] set { } } - [Microsoft.AspNetCore.Razor.TagHelpers.HtmlAttributeNameAttribute("asp-prerender-export")] - public string ExportName { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute] set { } } - [Microsoft.AspNetCore.Razor.TagHelpers.HtmlAttributeNameAttribute("asp-prerender-module")] - public string ModuleName { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute] set { } } - [Microsoft.AspNetCore.Razor.TagHelpers.HtmlAttributeNameAttribute("asp-prerender-timeout")] - public int TimeoutMillisecondsParameter { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute] set { } } - [Microsoft.AspNetCore.Mvc.ViewFeatures.ViewContextAttribute] - [Microsoft.AspNetCore.Razor.TagHelpers.HtmlAttributeNotBoundAttribute] - public Microsoft.AspNetCore.Mvc.Rendering.ViewContext ViewContext { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute] set { } } - [System.Diagnostics.DebuggerStepThroughAttribute] - public override System.Threading.Tasks.Task ProcessAsync(Microsoft.AspNetCore.Razor.TagHelpers.TagHelperContext context, Microsoft.AspNetCore.Razor.TagHelpers.TagHelperOutput output) { throw null; } - } - [System.ObsoleteAttribute("Use Microsoft.AspNetCore.SpaServices.Extensions")] - public partial class RenderToStringResult - { - public RenderToStringResult() { } - public Newtonsoft.Json.Linq.JObject Globals { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute] set { } } - public string Html { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute] set { } } - public string RedirectUrl { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute] set { } } - public int? StatusCode { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute] set { } } - public string CreateGlobalsAssignmentScript() { throw null; } - } -} -namespace Microsoft.AspNetCore.SpaServices.Webpack -{ - [System.ObsoleteAttribute("Use Microsoft.AspNetCore.SpaServices.Extensions")] - public partial class WebpackDevMiddlewareOptions - { - public WebpackDevMiddlewareOptions() { } - public string ConfigFile { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute] set { } } - public System.Collections.Generic.IDictionary EnvironmentVariables { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute] set { } } - public object EnvParam { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute] set { } } - public bool HotModuleReplacement { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute] set { } } - public System.Collections.Generic.IDictionary HotModuleReplacementClientOptions { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute] set { } } - public string HotModuleReplacementEndpoint { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute] set { } } - public int HotModuleReplacementServerPort { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute] set { } } - public string ProjectPath { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute] set { } } - public bool ReactHotModuleReplacement { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute] set { } } - } -} -namespace Microsoft.Extensions.DependencyInjection -{ - [System.ObsoleteAttribute("Use Microsoft.AspNetCore.SpaServices.Extensions")] - public static partial class PrerenderingServiceCollectionExtensions - { - [System.ObsoleteAttribute("Use Microsoft.AspNetCore.SpaServices.Extensions")] - public static void AddSpaPrerenderer(this Microsoft.Extensions.DependencyInjection.IServiceCollection serviceCollection) { } - } -} diff --git a/src/Middleware/SpaServices/src/Microsoft.AspNetCore.SpaServices.csproj b/src/Middleware/SpaServices/src/Microsoft.AspNetCore.SpaServices.csproj index 3db479b01e0f..3d7be418f7ef 100644 --- a/src/Middleware/SpaServices/src/Microsoft.AspNetCore.SpaServices.csproj +++ b/src/Middleware/SpaServices/src/Microsoft.AspNetCore.SpaServices.csproj @@ -3,7 +3,7 @@ Helpers for building single-page applications on ASP.NET MVC Core. $(DefaultNetCoreTargetFramework) - true + true diff --git a/src/Middleware/StaticFiles/ref/Microsoft.AspNetCore.StaticFiles.Manual.cs b/src/Middleware/StaticFiles/ref/Microsoft.AspNetCore.StaticFiles.Manual.cs new file mode 100644 index 000000000000..b4b8bdc3220b --- /dev/null +++ b/src/Middleware/StaticFiles/ref/Microsoft.AspNetCore.StaticFiles.Manual.cs @@ -0,0 +1,77 @@ +// Copyright (c) .NET Foundation. All rights reserved. +// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. + +namespace Microsoft.AspNetCore.Internal +{ + internal static partial class RangeHelper + { + internal static Microsoft.Net.Http.Headers.RangeItemHeaderValue NormalizeRange(Microsoft.Net.Http.Headers.RangeItemHeaderValue range, long length) { throw null; } + public static (bool isRangeRequest, Microsoft.Net.Http.Headers.RangeItemHeaderValue range) ParseRange(Microsoft.AspNetCore.Http.HttpContext context, Microsoft.AspNetCore.Http.Headers.RequestHeaders requestHeaders, long length, Microsoft.Extensions.Logging.ILogger logger) { throw null; } + } +} + +namespace Microsoft.AspNetCore.StaticFiles +{ + [System.Runtime.InteropServices.StructLayoutAttribute(System.Runtime.InteropServices.LayoutKind.Sequential)] + internal partial struct StaticFileContext + { + private readonly Microsoft.AspNetCore.Http.HttpContext _context; + private readonly Microsoft.AspNetCore.Builder.StaticFileOptions _options; + private readonly Microsoft.AspNetCore.Http.HttpRequest _request; + private readonly Microsoft.AspNetCore.Http.HttpResponse _response; + private readonly Microsoft.Extensions.Logging.ILogger _logger; + private readonly Microsoft.Extensions.FileProviders.IFileProvider _fileProvider; + private readonly string _method; + private readonly string _contentType; + private Microsoft.Extensions.FileProviders.IFileInfo _fileInfo; + private Microsoft.Net.Http.Headers.EntityTagHeaderValue _etag; + private Microsoft.AspNetCore.Http.Headers.RequestHeaders _requestHeaders; + private Microsoft.AspNetCore.Http.Headers.ResponseHeaders _responseHeaders; + private Microsoft.Net.Http.Headers.RangeItemHeaderValue _range; + private long _length; + private readonly Microsoft.AspNetCore.Http.PathString _subPath; + private System.DateTimeOffset _lastModified; + private Microsoft.AspNetCore.StaticFiles.StaticFileContext.PreconditionState _ifMatchState; + private Microsoft.AspNetCore.StaticFiles.StaticFileContext.PreconditionState _ifNoneMatchState; + private Microsoft.AspNetCore.StaticFiles.StaticFileContext.PreconditionState _ifModifiedSinceState; + private Microsoft.AspNetCore.StaticFiles.StaticFileContext.PreconditionState _ifUnmodifiedSinceState; + private Microsoft.AspNetCore.StaticFiles.StaticFileContext.RequestType _requestType; + public StaticFileContext(Microsoft.AspNetCore.Http.HttpContext context, Microsoft.AspNetCore.Builder.StaticFileOptions options, Microsoft.Extensions.Logging.ILogger logger, Microsoft.Extensions.FileProviders.IFileProvider fileProvider, string contentType, Microsoft.AspNetCore.Http.PathString subPath) { throw null; } + public bool IsGetMethod { get { throw null; } } + public bool IsHeadMethod { get { throw null; } } + public bool IsRangeRequest { get { throw null; } } + public string PhysicalPath { get { throw null; } } + public string SubPath { get { throw null; } } + public void ApplyResponseHeaders(int statusCode) { } + public void ComprehendRequestHeaders() { } + public Microsoft.AspNetCore.StaticFiles.StaticFileContext.PreconditionState GetPreconditionState() { throw null; } + public bool LookupFileInfo() { throw null; } + [System.Diagnostics.DebuggerStepThroughAttribute] + public System.Threading.Tasks.Task SendAsync() { throw null; } + [System.Diagnostics.DebuggerStepThroughAttribute] + internal System.Threading.Tasks.Task SendRangeAsync() { throw null; } + public System.Threading.Tasks.Task SendStatusAsync(int statusCode) { throw null; } + [System.Diagnostics.DebuggerStepThroughAttribute] + public System.Threading.Tasks.Task ServeStaticFile(Microsoft.AspNetCore.Http.HttpContext context, Microsoft.AspNetCore.Http.RequestDelegate next) { throw null; } + internal enum PreconditionState : byte + { + Unspecified = (byte)0, + NotModified = (byte)1, + ShouldProcess = (byte)2, + PreconditionFailed = (byte)3, + } + [System.FlagsAttribute] + private enum RequestType : byte + { + Unspecified = (byte)0, + IsHead = (byte)1, + IsGet = (byte)2, + IsRange = (byte)4, + } + } + public partial class StaticFileMiddleware + { + internal static bool LookupContentType(Microsoft.AspNetCore.StaticFiles.IContentTypeProvider contentTypeProvider, Microsoft.AspNetCore.Builder.StaticFileOptions options, Microsoft.AspNetCore.Http.PathString subPath, out string contentType) { throw null; } + internal static bool ValidatePath(Microsoft.AspNetCore.Http.HttpContext context, Microsoft.AspNetCore.Http.PathString matchUrl, out Microsoft.AspNetCore.Http.PathString subPath) { throw null; } + } +} diff --git a/src/Middleware/StaticFiles/ref/Microsoft.AspNetCore.StaticFiles.csproj b/src/Middleware/StaticFiles/ref/Microsoft.AspNetCore.StaticFiles.csproj index 61c52994897e..6b96eff899e7 100644 --- a/src/Middleware/StaticFiles/ref/Microsoft.AspNetCore.StaticFiles.csproj +++ b/src/Middleware/StaticFiles/ref/Microsoft.AspNetCore.StaticFiles.csproj @@ -5,11 +5,13 @@ - - - - - - + + + + + + + + diff --git a/src/Middleware/StaticFiles/src/Microsoft.AspNetCore.StaticFiles.csproj b/src/Middleware/StaticFiles/src/Microsoft.AspNetCore.StaticFiles.csproj index e48c4597f4f5..52f563a36bbb 100644 --- a/src/Middleware/StaticFiles/src/Microsoft.AspNetCore.StaticFiles.csproj +++ b/src/Middleware/StaticFiles/src/Microsoft.AspNetCore.StaticFiles.csproj @@ -7,7 +7,7 @@ $(NoWarn);CS1591 true aspnetcore;staticfiles - false + false diff --git a/src/Middleware/WebSockets/ref/Microsoft.AspNetCore.WebSockets.csproj b/src/Middleware/WebSockets/ref/Microsoft.AspNetCore.WebSockets.csproj index 3223cb9b1660..8560f9274413 100644 --- a/src/Middleware/WebSockets/ref/Microsoft.AspNetCore.WebSockets.csproj +++ b/src/Middleware/WebSockets/ref/Microsoft.AspNetCore.WebSockets.csproj @@ -5,8 +5,10 @@ - - - + + + + + diff --git a/src/Middleware/WebSockets/src/Microsoft.AspNetCore.WebSockets.csproj b/src/Middleware/WebSockets/src/Microsoft.AspNetCore.WebSockets.csproj index 87fed578b95e..aef64b71c567 100644 --- a/src/Middleware/WebSockets/src/Microsoft.AspNetCore.WebSockets.csproj +++ b/src/Middleware/WebSockets/src/Microsoft.AspNetCore.WebSockets.csproj @@ -8,7 +8,7 @@ true true aspnetcore - false + false diff --git a/src/MusicStore/samples/MusicStore/MusicStore.csproj b/src/MusicStore/samples/MusicStore/MusicStore.csproj index bf1762d331e8..566cc0d6c745 100644 --- a/src/MusicStore/samples/MusicStore/MusicStore.csproj +++ b/src/MusicStore/samples/MusicStore/MusicStore.csproj @@ -8,6 +8,8 @@ $(DefineConstants);DEMO win-x86;win-x64;linux-x64;osx-x64 true + + false @@ -33,6 +35,8 @@ + + diff --git a/src/MusicStore/test/MusicStore.Test/MusicStore.Test.csproj b/src/MusicStore/test/MusicStore.Test/MusicStore.Test.csproj index 9394095a66e8..775577b13692 100644 --- a/src/MusicStore/test/MusicStore.Test/MusicStore.Test.csproj +++ b/src/MusicStore/test/MusicStore.Test/MusicStore.Test.csproj @@ -2,6 +2,8 @@ $(DefaultNetCoreTargetFramework) + + false diff --git a/src/Mvc/Mvc.Abstractions/ref/Microsoft.AspNetCore.Mvc.Abstractions.Manual.cs b/src/Mvc/Mvc.Abstractions/ref/Microsoft.AspNetCore.Mvc.Abstractions.Manual.cs new file mode 100644 index 000000000000..9ded2d72101e --- /dev/null +++ b/src/Mvc/Mvc.Abstractions/ref/Microsoft.AspNetCore.Mvc.Abstractions.Manual.cs @@ -0,0 +1,10 @@ +// Copyright (c) .NET Foundation. All rights reserved. +// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. + +namespace Microsoft.Extensions.Internal +{ + internal static partial class ClosedGenericMatcher + { + public static System.Type ExtractGenericInterface(System.Type queryType, System.Type interfaceType) { throw null; } + } +} diff --git a/src/Mvc/Mvc.Abstractions/ref/Microsoft.AspNetCore.Mvc.Abstractions.csproj b/src/Mvc/Mvc.Abstractions/ref/Microsoft.AspNetCore.Mvc.Abstractions.csproj index 86533825ea94..bb095a9160c7 100644 --- a/src/Mvc/Mvc.Abstractions/ref/Microsoft.AspNetCore.Mvc.Abstractions.csproj +++ b/src/Mvc/Mvc.Abstractions/ref/Microsoft.AspNetCore.Mvc.Abstractions.csproj @@ -5,8 +5,10 @@ - - - + + + + + diff --git a/src/Mvc/Mvc.Abstractions/src/Abstractions/ActionDescriptor.cs b/src/Mvc/Mvc.Abstractions/src/Abstractions/ActionDescriptor.cs index 443e05259a11..c6200ba6ee30 100644 --- a/src/Mvc/Mvc.Abstractions/src/Abstractions/ActionDescriptor.cs +++ b/src/Mvc/Mvc.Abstractions/src/Abstractions/ActionDescriptor.cs @@ -47,6 +47,7 @@ public ActionDescriptor() /// /// Gets or sets the endpoint metadata for this action. + /// This API is meant for infrastructure and should not be used by application code. /// public IList EndpointMetadata { get; set; } diff --git a/src/Mvc/Mvc.Abstractions/src/Microsoft.AspNetCore.Mvc.Abstractions.csproj b/src/Mvc/Mvc.Abstractions/src/Microsoft.AspNetCore.Mvc.Abstractions.csproj index 4be8e0b01612..71d459fb80cf 100644 --- a/src/Mvc/Mvc.Abstractions/src/Microsoft.AspNetCore.Mvc.Abstractions.csproj +++ b/src/Mvc/Mvc.Abstractions/src/Microsoft.AspNetCore.Mvc.Abstractions.csproj @@ -8,7 +8,7 @@ Microsoft.AspNetCore.Mvc.IActionResult true true aspnetcore;aspnetcoremvc - false + false diff --git a/src/Mvc/Mvc.Analyzers/test/AttributesShouldNotBeAppliedToPageModelAnalyzerTest.cs b/src/Mvc/Mvc.Analyzers/test/AttributesShouldNotBeAppliedToPageModelAnalyzerTest.cs index baac0e3b4f4d..2c271ff9323e 100644 --- a/src/Mvc/Mvc.Analyzers/test/AttributesShouldNotBeAppliedToPageModelAnalyzerTest.cs +++ b/src/Mvc/Mvc.Analyzers/test/AttributesShouldNotBeAppliedToPageModelAnalyzerTest.cs @@ -7,7 +7,7 @@ using Microsoft.CodeAnalysis; using Xunit; -namespace Microsoft.AspNetCore.Mvc.Analyzers.Test +namespace Microsoft.AspNetCore.Mvc.Analyzers { public class AttributesShouldNotBeAppliedToPageModelAnalyzerTest { diff --git a/src/Mvc/Mvc.Analyzers/test/CodeAnalysisExtensionsTest.cs b/src/Mvc/Mvc.Analyzers/test/CodeAnalysisExtensionsTest.cs index a9630cba1f31..129ed81059fa 100644 --- a/src/Mvc/Mvc.Analyzers/test/CodeAnalysisExtensionsTest.cs +++ b/src/Mvc/Mvc.Analyzers/test/CodeAnalysisExtensionsTest.cs @@ -491,7 +491,7 @@ public async Task IsAssignable_ReturnsTrueIfAncestorTypeImplementsInterface() private Task GetCompilation([CallerMemberName] string testMethod = "") { var testSource = MvcTestSource.Read(GetType().Name, testMethod); - var project = DiagnosticProject.Create(GetType().Assembly, new[] { testSource.Source }); + var project = MvcDiagnosticAnalyzerRunner.CreateProjectWithReferencesInBinDir(GetType().Assembly, new[] { testSource.Source }); return project.GetCompilationAsync(); } diff --git a/src/Mvc/Mvc.Analyzers/test/Infrastructure/MvcDiagnosticAnalyzerRunner.cs b/src/Mvc/Mvc.Analyzers/test/Infrastructure/MvcDiagnosticAnalyzerRunner.cs index f29cff84d1f6..2b4b8dca9a9c 100644 --- a/src/Mvc/Mvc.Analyzers/test/Infrastructure/MvcDiagnosticAnalyzerRunner.cs +++ b/src/Mvc/Mvc.Analyzers/test/Infrastructure/MvcDiagnosticAnalyzerRunner.cs @@ -2,6 +2,10 @@ // Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. using System; +using System.Collections.Immutable; +using System.IO; +using System.Linq; +using System.Reflection; using System.Threading.Tasks; using Microsoft.AspNetCore.Analyzer.Testing; using Microsoft.CodeAnalysis; @@ -20,7 +24,28 @@ public MvcDiagnosticAnalyzerRunner(DiagnosticAnalyzer analyzer) public Task GetDiagnosticsAsync(string source) { - return GetDiagnosticsAsync(sources: new[] { source }, Analyzer, Array.Empty()); + var project = CreateProjectWithReferencesInBinDir(GetType().Assembly, source); + + return GetDiagnosticsAsync(project); + } + + public static Project CreateProjectWithReferencesInBinDir(Assembly testAssembly, params string[] source) + { + // The deps file in the project is incorrect and does not contain "compile" nodes for some references. + // However these binaries are always present in the bin output. As a "temporary" workaround, we'll add + // every dll file that's present in the test's build output as a metadatareference. + + var project = DiagnosticProject.Create(testAssembly, source); + + foreach (var assembly in Directory.EnumerateFiles(AppContext.BaseDirectory, "*.dll")) + { + if (!project.MetadataReferences.Any(c => string.Equals(Path.GetFileNameWithoutExtension(c.Display), Path.GetFileNameWithoutExtension(assembly), StringComparison.OrdinalIgnoreCase))) + { + project = project.AddMetadataReference(MetadataReference.CreateFromFile(assembly)); + } + } + + return project; } public Task GetDiagnosticsAsync(Project project) diff --git a/src/Mvc/Mvc.Analyzers/test/Mvc.Analyzers.Test.csproj b/src/Mvc/Mvc.Analyzers/test/Mvc.Analyzers.Test.csproj index bf653b69e2ab..4335457466d6 100644 --- a/src/Mvc/Mvc.Analyzers/test/Mvc.Analyzers.Test.csproj +++ b/src/Mvc/Mvc.Analyzers/test/Mvc.Analyzers.Test.csproj @@ -15,7 +15,7 @@ - + diff --git a/src/Mvc/Mvc.Analyzers/test/TopLevelParameterNameAnalyzerTest.cs b/src/Mvc/Mvc.Analyzers/test/TopLevelParameterNameAnalyzerTest.cs index 5876561098f2..8868548c4b69 100644 --- a/src/Mvc/Mvc.Analyzers/test/TopLevelParameterNameAnalyzerTest.cs +++ b/src/Mvc/Mvc.Analyzers/test/TopLevelParameterNameAnalyzerTest.cs @@ -150,7 +150,7 @@ public async Task IsProblematicParameter_IgnoresNonPublicProperties() private async Task IsProblematicParameterTest([CallerMemberName] string testMethod = "") { var testSource = MvcTestSource.Read(GetType().Name, testMethod); - var project = DiagnosticProject.Create(GetType().Assembly, new[] { testSource.Source }); + var project = MvcDiagnosticAnalyzerRunner.CreateProjectWithReferencesInBinDir(GetType().Assembly, new[] { testSource.Source }); var compilation = await project.GetCompilationAsync(); @@ -231,7 +231,7 @@ public async Task GetName_ReturnsFirstName_IfMultipleAttributesAreSpecified() private async Task GetCompilationForGetName() { var testSource = MvcTestSource.Read(GetType().Name, "GetNameTests"); - var project = DiagnosticProject.Create(GetType().Assembly, new[] { testSource.Source }); + var project = MvcDiagnosticAnalyzerRunner.CreateProjectWithReferencesInBinDir(GetType().Assembly, new[] { testSource.Source }); var compilation = await project.GetCompilationAsync(); return compilation; @@ -242,7 +242,7 @@ public async Task SpecifiesModelType_ReturnsFalse_IfModelBinderDoesNotSpecifyTyp { var testMethod = nameof(SpecifiesModelType_ReturnsFalse_IfModelBinderDoesNotSpecifyType); var testSource = MvcTestSource.Read(GetType().Name, "SpecifiesModelTypeTests"); - var project = DiagnosticProject.Create(GetType().Assembly, new[] { testSource.Source }); + var project = MvcDiagnosticAnalyzerRunner.CreateProjectWithReferencesInBinDir(GetType().Assembly, new[] { testSource.Source }); var compilation = await project.GetCompilationAsync(); Assert.True(TopLevelParameterNameAnalyzer.SymbolCache.TryCreate(compilation, out var symbolCache)); @@ -260,7 +260,7 @@ public async Task SpecifiesModelType_ReturnsTrue_IfModelBinderSpecifiesTypeFromC { var testMethod = nameof(SpecifiesModelType_ReturnsTrue_IfModelBinderSpecifiesTypeFromConstructor); var testSource = MvcTestSource.Read(GetType().Name, "SpecifiesModelTypeTests"); - var project = DiagnosticProject.Create(GetType().Assembly, new[] { testSource.Source }); + var project = MvcDiagnosticAnalyzerRunner.CreateProjectWithReferencesInBinDir(GetType().Assembly, new[] { testSource.Source }); var compilation = await project.GetCompilationAsync(); Assert.True(TopLevelParameterNameAnalyzer.SymbolCache.TryCreate(compilation, out var symbolCache)); @@ -278,7 +278,7 @@ public async Task SpecifiesModelType_ReturnsTrue_IfModelBinderSpecifiesTypeFromP { var testMethod = nameof(SpecifiesModelType_ReturnsTrue_IfModelBinderSpecifiesTypeFromProperty); var testSource = MvcTestSource.Read(GetType().Name, "SpecifiesModelTypeTests"); - var project = DiagnosticProject.Create(GetType().Assembly, new[] { testSource.Source }); + var project = MvcDiagnosticAnalyzerRunner.CreateProjectWithReferencesInBinDir(GetType().Assembly, new[] { testSource.Source }); var compilation = await project.GetCompilationAsync(); Assert.True(TopLevelParameterNameAnalyzer.SymbolCache.TryCreate(compilation, out var symbolCache)); diff --git a/src/Mvc/Mvc.Api.Analyzers/test/ActualApiResponseMetadataFactoryTest.cs b/src/Mvc/Mvc.Api.Analyzers/test/ActualApiResponseMetadataFactoryTest.cs index d9c15bddaa89..cca12582dd9c 100644 --- a/src/Mvc/Mvc.Api.Analyzers/test/ActualApiResponseMetadataFactoryTest.cs +++ b/src/Mvc/Mvc.Api.Analyzers/test/ActualApiResponseMetadataFactoryTest.cs @@ -64,7 +64,7 @@ public IActionResult Get(int id) } } }"; - var project = DiagnosticProject.Create(GetType().Assembly, new[] { source }); + var project = MvcDiagnosticAnalyzerRunner.CreateProjectWithReferencesInBinDir(GetType().Assembly, new[] { source }); var compilation = await project.GetCompilationAsync(); Assert.True(ApiControllerSymbolCache.TryCreate(compilation, out var symbolCache)); @@ -301,7 +301,7 @@ public async Task TryGetActualResponseMetadata_ActionReturningNotFoundAndModel() private async Task<(bool result, IList responseMetadatas, TestSource testSource)> TryGetActualResponseMetadata(string typeName, string methodName) { var testSource = MvcTestSource.Read(GetType().Name, "TryGetActualResponseMetadataTests"); - var project = DiagnosticProject.Create(GetType().Assembly, new[] { testSource.Source }); + var project = MvcDiagnosticAnalyzerRunner.CreateProjectWithReferencesInBinDir(GetType().Assembly, new[] { testSource.Source }); var compilation = await GetCompilation("TryGetActualResponseMetadataTests"); @@ -340,7 +340,7 @@ public async Task TryGetActualResponseMetadata_ActionReturningNotFoundAndModel() private async Task RunInspectReturnStatementSyntax(string source, string test) { - var project = DiagnosticProject.Create(GetType().Assembly, new[] { source }); + var project = MvcDiagnosticAnalyzerRunner.CreateProjectWithReferencesInBinDir(GetType().Assembly, new[] { source }); var compilation = await project.GetCompilationAsync(); Assert.True(ApiControllerSymbolCache.TryCreate(compilation, out var symbolCache)); @@ -361,7 +361,7 @@ public async Task TryGetActualResponseMetadata_ActionReturningNotFoundAndModel() private Task GetCompilation(string test) { var testSource = MvcTestSource.Read(GetType().Name, test); - var project = DiagnosticProject.Create(GetType().Assembly, new[] { testSource.Source }); + var project = MvcDiagnosticAnalyzerRunner.CreateProjectWithReferencesInBinDir(GetType().Assembly, new[] { testSource.Source }); return project.GetCompilationAsync(); } diff --git a/src/Mvc/Mvc.Api.Analyzers/test/AddResponseTypeAttributeCodeFixProviderIntegrationTest.cs b/src/Mvc/Mvc.Api.Analyzers/test/AddResponseTypeAttributeCodeFixProviderIntegrationTest.cs index 9ba677d101f5..10a77b8b42a2 100644 --- a/src/Mvc/Mvc.Api.Analyzers/test/AddResponseTypeAttributeCodeFixProviderIntegrationTest.cs +++ b/src/Mvc/Mvc.Api.Analyzers/test/AddResponseTypeAttributeCodeFixProviderIntegrationTest.cs @@ -13,7 +13,7 @@ public class AddResponseTypeAttributeCodeFixProviderIntegrationTest { private MvcDiagnosticAnalyzerRunner AnalyzerRunner { get; } = new MvcDiagnosticAnalyzerRunner(new ApiConventionAnalyzer()); - private CodeFixRunner CodeFixRunner => CodeFixRunner.Default; + private CodeFixRunner CodeFixRunner { get; } = new IgnoreCS1701WarningCodeFixRunner(); [Fact] public Task CodeFixAddsStatusCodes() => RunTest(); @@ -75,7 +75,7 @@ private async Task RunTest([CallerMemberName] string testMethod = "") private Project GetProject(string testMethod) { var testSource = Read(testMethod + ".Input"); - return DiagnosticProject.Create(GetType().Assembly, new[] { testSource }); + return MvcDiagnosticAnalyzerRunner.CreateProjectWithReferencesInBinDir(GetType().Assembly, new[] { testSource }); } private string Read(string fileName) diff --git a/src/Mvc/Mvc.Api.Analyzers/test/ApiActionsDoNotRequireExplicitModelValidationCheckCodeFixProviderTest.cs b/src/Mvc/Mvc.Api.Analyzers/test/ApiActionsDoNotRequireExplicitModelValidationCheckCodeFixProviderTest.cs index 918a04940abd..b8b096d9c947 100644 --- a/src/Mvc/Mvc.Api.Analyzers/test/ApiActionsDoNotRequireExplicitModelValidationCheckCodeFixProviderTest.cs +++ b/src/Mvc/Mvc.Api.Analyzers/test/ApiActionsDoNotRequireExplicitModelValidationCheckCodeFixProviderTest.cs @@ -13,7 +13,7 @@ public class ApiActionsDoNotRequireExplicitModelValidationCheckCodeFixProviderTe { private MvcDiagnosticAnalyzerRunner AnalyzerRunner { get; } = new MvcDiagnosticAnalyzerRunner(new ApiActionsDoNotRequireExplicitModelValidationCheckAnalyzer()); - private CodeFixRunner CodeFixRunner => CodeFixRunner.Default; + private CodeFixRunner CodeFixRunner { get; } = new IgnoreCS1701WarningCodeFixRunner(); [Fact] public Task CodeFixRemovesModelStateIsInvalidBlockWithIfNotCheck() @@ -48,7 +48,7 @@ private async Task RunTest([CallerMemberName] string testMethod = "") private Project GetProject(string testMethod) { var testSource = Read(testMethod + ".Input"); - return DiagnosticProject.Create(GetType().Assembly, new[] { testSource }); + return MvcDiagnosticAnalyzerRunner.CreateProjectWithReferencesInBinDir(GetType().Assembly, new[] { testSource }); } private string Read(string fileName) diff --git a/src/Mvc/Mvc.Api.Analyzers/test/ApiControllerFactsTest.cs b/src/Mvc/Mvc.Api.Analyzers/test/ApiControllerFactsTest.cs index 786aeeb9d758..6c2f5a81d17e 100644 --- a/src/Mvc/Mvc.Api.Analyzers/test/ApiControllerFactsTest.cs +++ b/src/Mvc/Mvc.Api.Analyzers/test/ApiControllerFactsTest.cs @@ -35,7 +35,7 @@ public DoesNotExist Get(int id) } } }"; - var project = DiagnosticProject.Create(GetType().Assembly, new[] { source }); + var project = MvcDiagnosticAnalyzerRunner.CreateProjectWithReferencesInBinDir(GetType().Assembly, new[] { source }); var compilation = await project.GetCompilationAsync(); Assert.True(ApiControllerSymbolCache.TryCreate(compilation, out var symbolCache)); var method = (IMethodSymbol)compilation.GetTypeByMetadataName("TestNamespace.TestController").GetMembers("Get").First(); @@ -130,7 +130,7 @@ public async Task IsApiControllerAction_ReturnsTrue_IfAttributeIsDeclaredOnAssem private Task GetCompilation(string testFile = "TestFile") { var testSource = MvcTestSource.Read(GetType().Name, testFile); - var project = DiagnosticProject.Create(GetType().Assembly, new[] { testSource.Source }); + var project = MvcDiagnosticAnalyzerRunner.CreateProjectWithReferencesInBinDir(GetType().Assembly, new[] { testSource.Source }); return project.GetCompilationAsync(); } diff --git a/src/Mvc/Mvc.Api.Analyzers/test/IgnoreCS1701WarningCodeFixRunner.cs b/src/Mvc/Mvc.Api.Analyzers/test/IgnoreCS1701WarningCodeFixRunner.cs new file mode 100644 index 000000000000..e46b39f1458b --- /dev/null +++ b/src/Mvc/Mvc.Api.Analyzers/test/IgnoreCS1701WarningCodeFixRunner.cs @@ -0,0 +1,18 @@ +// Copyright (c) .NET Foundation. All rights reserved. +// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. + +using System.Linq; +using Microsoft.AspNetCore.Analyzer.Testing; +using Microsoft.CodeAnalysis; + +namespace Microsoft.AspNetCore.Mvc.Api.Analyzers +{ + public class IgnoreCS1701WarningCodeFixRunner : CodeFixRunner + { + protected override CompilationOptions ConfigureCompilationOptions(CompilationOptions options) + { + options = base.ConfigureCompilationOptions(options); + return options.WithSpecificDiagnosticOptions(new[] { "CS1701" }.ToDictionary(c => c, _ => ReportDiagnostic.Suppress)); + } + } +} \ No newline at end of file diff --git a/src/Mvc/Mvc.Api.Analyzers/test/Mvc.Api.Analyzers.Test.csproj b/src/Mvc/Mvc.Api.Analyzers/test/Mvc.Api.Analyzers.Test.csproj index d0330c276e07..179e80e92b07 100644 --- a/src/Mvc/Mvc.Api.Analyzers/test/Mvc.Api.Analyzers.Test.csproj +++ b/src/Mvc/Mvc.Api.Analyzers/test/Mvc.Api.Analyzers.Test.csproj @@ -13,7 +13,7 @@ - + diff --git a/src/Mvc/Mvc.Api.Analyzers/test/MvcFactsTest.cs b/src/Mvc/Mvc.Api.Analyzers/test/MvcFactsTest.cs index 054426295190..4498d009f174 100644 --- a/src/Mvc/Mvc.Api.Analyzers/test/MvcFactsTest.cs +++ b/src/Mvc/Mvc.Api.Analyzers/test/MvcFactsTest.cs @@ -226,7 +226,7 @@ private IMethodSymbol GetDisposableDispose(Compilation compilation) private Task GetCompilation(string test) { var testSource = MvcTestSource.Read(GetType().Name, test); - var project = DiagnosticProject.Create(GetType().Assembly, new[] { testSource.Source }); + var project = MvcDiagnosticAnalyzerRunner.CreateProjectWithReferencesInBinDir(GetType().Assembly, new[] { testSource.Source }); return project.GetCompilationAsync(); } diff --git a/src/Mvc/Mvc.Api.Analyzers/test/SymbolApiConventionMatcherTest.cs b/src/Mvc/Mvc.Api.Analyzers/test/SymbolApiConventionMatcherTest.cs index 1d0ab00c1b2e..011485292c1c 100644 --- a/src/Mvc/Mvc.Api.Analyzers/test/SymbolApiConventionMatcherTest.cs +++ b/src/Mvc/Mvc.Api.Analyzers/test/SymbolApiConventionMatcherTest.cs @@ -559,7 +559,7 @@ public async Task GetTypeMatchBehavior_ReturnsValueFromAttributes() private Task GetCompilationAsync(string test = "SymbolApiConventionMatcherTestFile") { var testSource = MvcTestSource.Read(GetType().Name, test); - var project = DiagnosticProject.Create(GetType().Assembly, new[] { testSource.Source }); + var project = MvcDiagnosticAnalyzerRunner.CreateProjectWithReferencesInBinDir(GetType().Assembly, new[] { testSource.Source }); return project.GetCompilationAsync(); } diff --git a/src/Mvc/Mvc.Api.Analyzers/test/SymbolApiResponseMetadataProviderTest.cs b/src/Mvc/Mvc.Api.Analyzers/test/SymbolApiResponseMetadataProviderTest.cs index f9adfa062afc..daf18e83f179 100644 --- a/src/Mvc/Mvc.Api.Analyzers/test/SymbolApiResponseMetadataProviderTest.cs +++ b/src/Mvc/Mvc.Api.Analyzers/test/SymbolApiResponseMetadataProviderTest.cs @@ -478,7 +478,7 @@ public async Task GetErrorResponseType_ReturnsTypeDefinedAtAction() private Task GetCompilation(string test) { var testSource = MvcTestSource.Read(GetType().Name, test); - var project = DiagnosticProject.Create(GetType().Assembly, new[] { testSource.Source }); + var project = MvcDiagnosticAnalyzerRunner.CreateProjectWithReferencesInBinDir(GetType().Assembly, new[] { testSource.Source }); return project.GetCompilationAsync(); } diff --git a/src/Mvc/Mvc.ApiExplorer/ref/Microsoft.AspNetCore.Mvc.ApiExplorer.Manual.cs b/src/Mvc/Mvc.ApiExplorer/ref/Microsoft.AspNetCore.Mvc.ApiExplorer.Manual.cs index 55c1e5772792..8159e0f96994 100644 --- a/src/Mvc/Mvc.ApiExplorer/ref/Microsoft.AspNetCore.Mvc.ApiExplorer.Manual.cs +++ b/src/Mvc/Mvc.ApiExplorer/ref/Microsoft.AspNetCore.Mvc.ApiExplorer.Manual.cs @@ -1,13 +1,26 @@ // Copyright (c) .NET Foundation. All rights reserved. // Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. -using System.Runtime.CompilerServices; +namespace Microsoft.AspNetCore.Mvc.ApiExplorer +{ + internal partial class ApiResponseTypeProvider + { + public ApiResponseTypeProvider(Microsoft.AspNetCore.Mvc.ModelBinding.IModelMetadataProvider modelMetadataProvider, Microsoft.AspNetCore.Mvc.Infrastructure.IActionResultTypeMapper mapper, Microsoft.AspNetCore.Mvc.MvcOptions mvcOptions) { } + public System.Collections.Generic.ICollection GetApiResponseTypes(Microsoft.AspNetCore.Mvc.Controllers.ControllerActionDescriptor action) { throw null; } + } -[assembly: TypeForwardedTo(typeof(Microsoft.AspNetCore.Mvc.ApiExplorer.IApiDescriptionProvider))] -[assembly: TypeForwardedTo(typeof(Microsoft.AspNetCore.Mvc.ApiExplorer.ApiDescription))] -[assembly: TypeForwardedTo(typeof(Microsoft.AspNetCore.Mvc.ApiExplorer.ApiDescriptionProviderContext))] -[assembly: TypeForwardedTo(typeof(Microsoft.AspNetCore.Mvc.ApiExplorer.ApiParameterDescription))] -[assembly: TypeForwardedTo(typeof(Microsoft.AspNetCore.Mvc.ApiExplorer.ApiParameterRouteInfo))] -[assembly: TypeForwardedTo(typeof(Microsoft.AspNetCore.Mvc.ApiExplorer.ApiRequestFormat))] -[assembly: TypeForwardedTo(typeof(Microsoft.AspNetCore.Mvc.ApiExplorer.ApiResponseFormat))] -[assembly: TypeForwardedTo(typeof(Microsoft.AspNetCore.Mvc.ApiExplorer.ApiResponseType))] + internal partial class ApiParameterContext + { + public ApiParameterContext(Microsoft.AspNetCore.Mvc.ModelBinding.IModelMetadataProvider metadataProvider, Microsoft.AspNetCore.Mvc.Controllers.ControllerActionDescriptor actionDescriptor, System.Collections.Generic.IReadOnlyList routeParameters) { } + public Microsoft.AspNetCore.Mvc.Controllers.ControllerActionDescriptor ActionDescriptor { [System.Runtime.CompilerServices.CompilerGeneratedAttribute]get { throw null; } } + public Microsoft.AspNetCore.Mvc.ModelBinding.IModelMetadataProvider MetadataProvider { [System.Runtime.CompilerServices.CompilerGeneratedAttribute]get { throw null; } } + public System.Collections.Generic.IList Results { [System.Runtime.CompilerServices.CompilerGeneratedAttribute]get { throw null; } } + public System.Collections.Generic.IReadOnlyList RouteParameters { [System.Runtime.CompilerServices.CompilerGeneratedAttribute]get { throw null; } } + } + + public partial class DefaultApiDescriptionProvider : Microsoft.AspNetCore.Mvc.ApiExplorer.IApiDescriptionProvider + { + internal static void ProcessIsRequired(Microsoft.AspNetCore.Mvc.ApiExplorer.ApiParameterContext context) { } + internal static void ProcessParameterDefaultValue(Microsoft.AspNetCore.Mvc.ApiExplorer.ApiParameterContext context) { } + } +} \ No newline at end of file diff --git a/src/Mvc/Mvc.ApiExplorer/ref/Microsoft.AspNetCore.Mvc.ApiExplorer.csproj b/src/Mvc/Mvc.ApiExplorer/ref/Microsoft.AspNetCore.Mvc.ApiExplorer.csproj index 6866adbfabfe..560f12238203 100644 --- a/src/Mvc/Mvc.ApiExplorer/ref/Microsoft.AspNetCore.Mvc.ApiExplorer.csproj +++ b/src/Mvc/Mvc.ApiExplorer/ref/Microsoft.AspNetCore.Mvc.ApiExplorer.csproj @@ -6,6 +6,7 @@ - + + diff --git a/src/Mvc/Mvc.ApiExplorer/src/Microsoft.AspNetCore.Mvc.ApiExplorer.csproj b/src/Mvc/Mvc.ApiExplorer/src/Microsoft.AspNetCore.Mvc.ApiExplorer.csproj index 2736b825a878..11be402c60b3 100644 --- a/src/Mvc/Mvc.ApiExplorer/src/Microsoft.AspNetCore.Mvc.ApiExplorer.csproj +++ b/src/Mvc/Mvc.ApiExplorer/src/Microsoft.AspNetCore.Mvc.ApiExplorer.csproj @@ -6,7 +6,7 @@ true true aspnetcore;aspnetcoremvc - false + false diff --git a/src/Mvc/Mvc.Core/ref/Microsoft.AspNetCore.Mvc.Core.Manual.cs b/src/Mvc/Mvc.Core/ref/Microsoft.AspNetCore.Mvc.Core.Manual.cs index d3e44fb47120..df2524aa1b99 100644 --- a/src/Mvc/Mvc.Core/ref/Microsoft.AspNetCore.Mvc.Core.Manual.cs +++ b/src/Mvc/Mvc.Core/ref/Microsoft.AspNetCore.Mvc.Core.Manual.cs @@ -1,7 +1,1633 @@ // Copyright (c) .NET Foundation. All rights reserved. // Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. -using System.Runtime.CompilerServices; -using Microsoft.AspNetCore.Mvc.Formatters; - -[assembly: TypeForwardedTo(typeof(InputFormatterException))] +namespace Microsoft.AspNetCore.Builder +{ + public sealed partial class ControllerActionEndpointConventionBuilder : Microsoft.AspNetCore.Builder.IEndpointConventionBuilder + { + internal ControllerActionEndpointConventionBuilder(object @lock, System.Collections.Generic.List> conventions) { } + } +} +namespace Microsoft.AspNetCore.Internal +{ + internal partial class ChunkingCookieManager + { + public const int DefaultChunkSize = 4050; + public ChunkingCookieManager() { } + public int? ChunkSize { [System.Runtime.CompilerServices.CompilerGeneratedAttribute]get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute]set { } } + public bool ThrowForPartialCookies { [System.Runtime.CompilerServices.CompilerGeneratedAttribute]get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute]set { } } + public void AppendResponseCookie(Microsoft.AspNetCore.Http.HttpContext context, string key, string value, Microsoft.AspNetCore.Http.CookieOptions options) { } + public void DeleteCookie(Microsoft.AspNetCore.Http.HttpContext context, string key, Microsoft.AspNetCore.Http.CookieOptions options) { } + public string GetRequestCookie(Microsoft.AspNetCore.Http.HttpContext context, string key) { throw null; } + } + internal static partial class RangeHelper + { + internal static Microsoft.Net.Http.Headers.RangeItemHeaderValue NormalizeRange(Microsoft.Net.Http.Headers.RangeItemHeaderValue range, long length) { throw null; } + public static (bool isRangeRequest, Microsoft.Net.Http.Headers.RangeItemHeaderValue range) ParseRange(Microsoft.AspNetCore.Http.HttpContext context, Microsoft.AspNetCore.Http.Headers.RequestHeaders requestHeaders, long length, Microsoft.Extensions.Logging.ILogger logger) { throw null; } + } +} +namespace Microsoft.AspNetCore.Mvc +{ + public sealed partial class ApiConventionMethodAttribute : System.Attribute + { + internal System.Reflection.MethodInfo Method { [System.Runtime.CompilerServices.CompilerGeneratedAttribute]get { throw null; } } + } + public sealed partial class ApiConventionTypeAttribute : System.Attribute + { + internal static void EnsureValid(System.Type conventionType) { } + } + internal static partial class MvcCoreDiagnosticListenerExtensions + { + public static void AfterAction(this System.Diagnostics.DiagnosticListener diagnosticListener, Microsoft.AspNetCore.Mvc.Abstractions.ActionDescriptor actionDescriptor, Microsoft.AspNetCore.Http.HttpContext httpContext, Microsoft.AspNetCore.Routing.RouteData routeData) { } + public static void AfterActionResult(this System.Diagnostics.DiagnosticListener diagnosticListener, Microsoft.AspNetCore.Mvc.ActionContext actionContext, Microsoft.AspNetCore.Mvc.IActionResult result) { } + public static void AfterControllerActionMethod(this System.Diagnostics.DiagnosticListener diagnosticListener, Microsoft.AspNetCore.Mvc.ActionContext actionContext, System.Collections.Generic.IReadOnlyDictionary actionArguments, object controller, Microsoft.AspNetCore.Mvc.IActionResult result) { } + public static void AfterOnActionExecuted(this System.Diagnostics.DiagnosticListener diagnosticListener, Microsoft.AspNetCore.Mvc.Filters.ActionExecutedContext actionExecutedContext, Microsoft.AspNetCore.Mvc.Filters.IActionFilter filter) { } + public static void AfterOnActionExecuting(this System.Diagnostics.DiagnosticListener diagnosticListener, Microsoft.AspNetCore.Mvc.Filters.ActionExecutingContext actionExecutingContext, Microsoft.AspNetCore.Mvc.Filters.IActionFilter filter) { } + public static void AfterOnActionExecution(this System.Diagnostics.DiagnosticListener diagnosticListener, Microsoft.AspNetCore.Mvc.Filters.ActionExecutedContext actionExecutedContext, Microsoft.AspNetCore.Mvc.Filters.IAsyncActionFilter filter) { } + public static void AfterOnAuthorization(this System.Diagnostics.DiagnosticListener diagnosticListener, Microsoft.AspNetCore.Mvc.Filters.AuthorizationFilterContext authorizationContext, Microsoft.AspNetCore.Mvc.Filters.IAuthorizationFilter filter) { } + public static void AfterOnAuthorizationAsync(this System.Diagnostics.DiagnosticListener diagnosticListener, Microsoft.AspNetCore.Mvc.Filters.AuthorizationFilterContext authorizationContext, Microsoft.AspNetCore.Mvc.Filters.IAsyncAuthorizationFilter filter) { } + public static void AfterOnException(this System.Diagnostics.DiagnosticListener diagnosticListener, Microsoft.AspNetCore.Mvc.Filters.ExceptionContext exceptionContext, Microsoft.AspNetCore.Mvc.Filters.IExceptionFilter filter) { } + public static void AfterOnExceptionAsync(this System.Diagnostics.DiagnosticListener diagnosticListener, Microsoft.AspNetCore.Mvc.Filters.ExceptionContext exceptionContext, Microsoft.AspNetCore.Mvc.Filters.IAsyncExceptionFilter filter) { } + public static void AfterOnResourceExecuted(this System.Diagnostics.DiagnosticListener diagnosticListener, Microsoft.AspNetCore.Mvc.Filters.ResourceExecutedContext resourceExecutedContext, Microsoft.AspNetCore.Mvc.Filters.IResourceFilter filter) { } + public static void AfterOnResourceExecuting(this System.Diagnostics.DiagnosticListener diagnosticListener, Microsoft.AspNetCore.Mvc.Filters.ResourceExecutingContext resourceExecutingContext, Microsoft.AspNetCore.Mvc.Filters.IResourceFilter filter) { } + public static void AfterOnResourceExecution(this System.Diagnostics.DiagnosticListener diagnosticListener, Microsoft.AspNetCore.Mvc.Filters.ResourceExecutedContext resourceExecutedContext, Microsoft.AspNetCore.Mvc.Filters.IAsyncResourceFilter filter) { } + public static void AfterOnResultExecuted(this System.Diagnostics.DiagnosticListener diagnosticListener, Microsoft.AspNetCore.Mvc.Filters.ResultExecutedContext resultExecutedContext, Microsoft.AspNetCore.Mvc.Filters.IResultFilter filter) { } + public static void AfterOnResultExecuting(this System.Diagnostics.DiagnosticListener diagnosticListener, Microsoft.AspNetCore.Mvc.Filters.ResultExecutingContext resultExecutingContext, Microsoft.AspNetCore.Mvc.Filters.IResultFilter filter) { } + public static void AfterOnResultExecution(this System.Diagnostics.DiagnosticListener diagnosticListener, Microsoft.AspNetCore.Mvc.Filters.ResultExecutedContext resultExecutedContext, Microsoft.AspNetCore.Mvc.Filters.IAsyncResultFilter filter) { } + public static void BeforeAction(this System.Diagnostics.DiagnosticListener diagnosticListener, Microsoft.AspNetCore.Mvc.Abstractions.ActionDescriptor actionDescriptor, Microsoft.AspNetCore.Http.HttpContext httpContext, Microsoft.AspNetCore.Routing.RouteData routeData) { } + public static void BeforeActionResult(this System.Diagnostics.DiagnosticListener diagnosticListener, Microsoft.AspNetCore.Mvc.ActionContext actionContext, Microsoft.AspNetCore.Mvc.IActionResult result) { } + public static void BeforeControllerActionMethod(this System.Diagnostics.DiagnosticListener diagnosticListener, Microsoft.AspNetCore.Mvc.ActionContext actionContext, System.Collections.Generic.IReadOnlyDictionary actionArguments, object controller) { } + public static void BeforeOnActionExecuted(this System.Diagnostics.DiagnosticListener diagnosticListener, Microsoft.AspNetCore.Mvc.Filters.ActionExecutedContext actionExecutedContext, Microsoft.AspNetCore.Mvc.Filters.IActionFilter filter) { } + public static void BeforeOnActionExecuting(this System.Diagnostics.DiagnosticListener diagnosticListener, Microsoft.AspNetCore.Mvc.Filters.ActionExecutingContext actionExecutingContext, Microsoft.AspNetCore.Mvc.Filters.IActionFilter filter) { } + public static void BeforeOnActionExecution(this System.Diagnostics.DiagnosticListener diagnosticListener, Microsoft.AspNetCore.Mvc.Filters.ActionExecutingContext actionExecutingContext, Microsoft.AspNetCore.Mvc.Filters.IAsyncActionFilter filter) { } + public static void BeforeOnAuthorization(this System.Diagnostics.DiagnosticListener diagnosticListener, Microsoft.AspNetCore.Mvc.Filters.AuthorizationFilterContext authorizationContext, Microsoft.AspNetCore.Mvc.Filters.IAuthorizationFilter filter) { } + public static void BeforeOnAuthorizationAsync(this System.Diagnostics.DiagnosticListener diagnosticListener, Microsoft.AspNetCore.Mvc.Filters.AuthorizationFilterContext authorizationContext, Microsoft.AspNetCore.Mvc.Filters.IAsyncAuthorizationFilter filter) { } + public static void BeforeOnException(this System.Diagnostics.DiagnosticListener diagnosticListener, Microsoft.AspNetCore.Mvc.Filters.ExceptionContext exceptionContext, Microsoft.AspNetCore.Mvc.Filters.IExceptionFilter filter) { } + public static void BeforeOnExceptionAsync(this System.Diagnostics.DiagnosticListener diagnosticListener, Microsoft.AspNetCore.Mvc.Filters.ExceptionContext exceptionContext, Microsoft.AspNetCore.Mvc.Filters.IAsyncExceptionFilter filter) { } + public static void BeforeOnResourceExecuted(this System.Diagnostics.DiagnosticListener diagnosticListener, Microsoft.AspNetCore.Mvc.Filters.ResourceExecutedContext resourceExecutedContext, Microsoft.AspNetCore.Mvc.Filters.IResourceFilter filter) { } + public static void BeforeOnResourceExecuting(this System.Diagnostics.DiagnosticListener diagnosticListener, Microsoft.AspNetCore.Mvc.Filters.ResourceExecutingContext resourceExecutingContext, Microsoft.AspNetCore.Mvc.Filters.IResourceFilter filter) { } + public static void BeforeOnResourceExecution(this System.Diagnostics.DiagnosticListener diagnosticListener, Microsoft.AspNetCore.Mvc.Filters.ResourceExecutingContext resourceExecutingContext, Microsoft.AspNetCore.Mvc.Filters.IAsyncResourceFilter filter) { } + public static void BeforeOnResultExecuted(this System.Diagnostics.DiagnosticListener diagnosticListener, Microsoft.AspNetCore.Mvc.Filters.ResultExecutedContext resultExecutedContext, Microsoft.AspNetCore.Mvc.Filters.IResultFilter filter) { } + public static void BeforeOnResultExecuting(this System.Diagnostics.DiagnosticListener diagnosticListener, Microsoft.AspNetCore.Mvc.Filters.ResultExecutingContext resultExecutingContext, Microsoft.AspNetCore.Mvc.Filters.IResultFilter filter) { } + public static void BeforeOnResultExecution(this System.Diagnostics.DiagnosticListener diagnosticListener, Microsoft.AspNetCore.Mvc.Filters.ResultExecutingContext resultExecutingContext, Microsoft.AspNetCore.Mvc.Filters.IAsyncResultFilter filter) { } + } + internal static partial class MvcCoreLoggerExtensions + { + public const string ActionFilter = "Action Filter"; + public static void ActionDoesNotExplicitlySpecifyContentTypes(this Microsoft.Extensions.Logging.ILogger logger) { } + public static void ActionDoesNotSupportFormatFilterContentType(this Microsoft.Extensions.Logging.ILogger logger, string format, Microsoft.AspNetCore.Mvc.Formatters.MediaTypeCollection supportedMediaTypes) { } + public static void ActionFiltersExecutionPlan(this Microsoft.Extensions.Logging.ILogger logger, System.Collections.Generic.IEnumerable filters) { } + public static void ActionFilterShortCircuited(this Microsoft.Extensions.Logging.ILogger logger, Microsoft.AspNetCore.Mvc.Filters.IFilterMetadata filter) { } + public static void ActionMethodExecuted(this Microsoft.Extensions.Logging.ILogger logger, Microsoft.AspNetCore.Mvc.ControllerContext context, Microsoft.AspNetCore.Mvc.IActionResult result, System.TimeSpan timeSpan) { } + public static void ActionMethodExecuting(this Microsoft.Extensions.Logging.ILogger logger, Microsoft.AspNetCore.Mvc.ControllerContext context, object[] arguments) { } +#nullable enable + public static System.IDisposable ActionScope(this Microsoft.Extensions.Logging.ILogger logger, Microsoft.AspNetCore.Mvc.Abstractions.ActionDescriptor action) { throw new System.ArgumentException(); } +#nullable restore + public static void AfterExecutingActionResult(this Microsoft.Extensions.Logging.ILogger logger, Microsoft.AspNetCore.Mvc.IActionResult actionResult) { } + public static void AfterExecutingMethodOnFilter(this Microsoft.Extensions.Logging.ILogger logger, string filterType, string methodName, Microsoft.AspNetCore.Mvc.Filters.IFilterMetadata filter) { } + public static void AmbiguousActions(this Microsoft.Extensions.Logging.ILogger logger, string actionNames) { } + public static void AppliedRequestFormLimits(this Microsoft.Extensions.Logging.ILogger logger) { } + public static void AttemptingToBindCollectionUsingIndices(this Microsoft.Extensions.Logging.ILogger logger, Microsoft.AspNetCore.Mvc.ModelBinding.ModelBindingContext bindingContext) { } + public static void AttemptingToBindModel(this Microsoft.Extensions.Logging.ILogger logger, Microsoft.AspNetCore.Mvc.ModelBinding.ModelBindingContext bindingContext) { } + public static void AttemptingToBindParameterOrProperty(this Microsoft.Extensions.Logging.ILogger logger, Microsoft.AspNetCore.Mvc.Abstractions.ParameterDescriptor parameter, Microsoft.AspNetCore.Mvc.ModelBinding.ModelMetadata modelMetadata) { } + public static void AttemptingToValidateParameterOrProperty(this Microsoft.Extensions.Logging.ILogger logger, Microsoft.AspNetCore.Mvc.Abstractions.ParameterDescriptor parameter, Microsoft.AspNetCore.Mvc.ModelBinding.ModelMetadata modelMetadata) { } + public static void AuthorizationFailure(this Microsoft.Extensions.Logging.ILogger logger, Microsoft.AspNetCore.Mvc.Filters.IFilterMetadata filter) { } + public static void AuthorizationFiltersExecutionPlan(this Microsoft.Extensions.Logging.ILogger logger, System.Collections.Generic.IEnumerable filters) { } + public static void BeforeExecutingActionResult(this Microsoft.Extensions.Logging.ILogger logger, Microsoft.AspNetCore.Mvc.IActionResult actionResult) { } + public static void BeforeExecutingMethodOnFilter(this Microsoft.Extensions.Logging.ILogger logger, string filterType, string methodName, Microsoft.AspNetCore.Mvc.Filters.IFilterMetadata filter) { } + public static void CannotApplyFormatFilterContentType(this Microsoft.Extensions.Logging.ILogger logger, string format) { } + public static void CannotApplyRequestFormLimits(this Microsoft.Extensions.Logging.ILogger logger) { } + public static void CannotBindToComplexType(this Microsoft.Extensions.Logging.ILogger logger, Microsoft.AspNetCore.Mvc.ModelBinding.ModelBindingContext bindingContext) { } + public static void CannotBindToFilesCollectionDueToUnsupportedContentType(this Microsoft.Extensions.Logging.ILogger logger, Microsoft.AspNetCore.Mvc.ModelBinding.ModelBindingContext bindingContext) { } + public static void CannotCreateHeaderModelBinder(this Microsoft.Extensions.Logging.ILogger logger, System.Type modelType) { } + public static void CannotCreateHeaderModelBinderCompatVersion_2_0(this Microsoft.Extensions.Logging.ILogger logger, System.Type modelType) { } + public static void ChallengeResultExecuting(this Microsoft.Extensions.Logging.ILogger logger, System.Collections.Generic.IList schemes) { } + public static void ConstraintMismatch(this Microsoft.Extensions.Logging.ILogger logger, string actionName, string actionId, Microsoft.AspNetCore.Mvc.ActionConstraints.IActionConstraint actionConstraint) { } + public static void ContentResultExecuting(this Microsoft.Extensions.Logging.ILogger logger, string contentType) { } + public static void DoneAttemptingToBindModel(this Microsoft.Extensions.Logging.ILogger logger, Microsoft.AspNetCore.Mvc.ModelBinding.ModelBindingContext bindingContext) { } + public static void DoneAttemptingToBindParameterOrProperty(this Microsoft.Extensions.Logging.ILogger logger, Microsoft.AspNetCore.Mvc.Abstractions.ParameterDescriptor parameter, Microsoft.AspNetCore.Mvc.ModelBinding.ModelMetadata modelMetadata) { } + public static void DoneAttemptingToValidateParameterOrProperty(this Microsoft.Extensions.Logging.ILogger logger, Microsoft.AspNetCore.Mvc.Abstractions.ParameterDescriptor parameter, Microsoft.AspNetCore.Mvc.ModelBinding.ModelMetadata modelMetadata) { } + public static void ExceptionFiltersExecutionPlan(this Microsoft.Extensions.Logging.ILogger logger, System.Collections.Generic.IEnumerable filters) { } + public static void ExceptionFilterShortCircuited(this Microsoft.Extensions.Logging.ILogger logger, Microsoft.AspNetCore.Mvc.Filters.IFilterMetadata filter) { } + public static void ExecutedAction(this Microsoft.Extensions.Logging.ILogger logger, Microsoft.AspNetCore.Mvc.Abstractions.ActionDescriptor action, System.TimeSpan timeSpan) { } + public static void ExecutedControllerFactory(this Microsoft.Extensions.Logging.ILogger logger, Microsoft.AspNetCore.Mvc.ControllerContext context) { } + public static void ExecutingAction(this Microsoft.Extensions.Logging.ILogger logger, Microsoft.AspNetCore.Mvc.Abstractions.ActionDescriptor action) { } + public static void ExecutingControllerFactory(this Microsoft.Extensions.Logging.ILogger logger, Microsoft.AspNetCore.Mvc.ControllerContext context) { } + public static void ExecutingFileResult(this Microsoft.Extensions.Logging.ILogger logger, Microsoft.AspNetCore.Mvc.FileResult fileResult) { } + public static void ExecutingFileResult(this Microsoft.Extensions.Logging.ILogger logger, Microsoft.AspNetCore.Mvc.FileResult fileResult, string fileName) { } + public static void FeatureIsReadOnly(this Microsoft.Extensions.Logging.ILogger logger) { } + public static void FeatureNotFound(this Microsoft.Extensions.Logging.ILogger logger) { } + public static void ForbidResultExecuting(this Microsoft.Extensions.Logging.ILogger logger, System.Collections.Generic.IList authenticationSchemes) { } + public static void FormatterSelected(this Microsoft.Extensions.Logging.ILogger logger, Microsoft.AspNetCore.Mvc.Formatters.IOutputFormatter outputFormatter, Microsoft.AspNetCore.Mvc.Formatters.OutputFormatterCanWriteContext context) { } + public static void FoundNoValueInRequest(this Microsoft.Extensions.Logging.ILogger logger, Microsoft.AspNetCore.Mvc.ModelBinding.ModelBindingContext bindingContext) { } + public static void HttpStatusCodeResultExecuting(this Microsoft.Extensions.Logging.ILogger logger, int statusCode) { } + public static void IfMatchPreconditionFailed(this Microsoft.Extensions.Logging.ILogger logger, Microsoft.Net.Http.Headers.EntityTagHeaderValue etag) { } + public static void IfRangeETagPreconditionFailed(this Microsoft.Extensions.Logging.ILogger logger, Microsoft.Net.Http.Headers.EntityTagHeaderValue currentETag, Microsoft.Net.Http.Headers.EntityTagHeaderValue ifRangeTag) { } + public static void IfRangeLastModifiedPreconditionFailed(this Microsoft.Extensions.Logging.ILogger logger, System.DateTimeOffset? lastModified, System.DateTimeOffset? ifRangeLastModifiedDate) { } + public static void IfUnmodifiedSincePreconditionFailed(this Microsoft.Extensions.Logging.ILogger logger, System.DateTimeOffset? lastModified, System.DateTimeOffset? ifUnmodifiedSinceDate) { } + public static void InferredParameterBindingSource(this Microsoft.Extensions.Logging.ILogger logger, Microsoft.AspNetCore.Mvc.ApplicationModels.ParameterModel parameterModel, Microsoft.AspNetCore.Mvc.ModelBinding.BindingSource bindingSource) { } + public static void InputFormatterRejected(this Microsoft.Extensions.Logging.ILogger logger, Microsoft.AspNetCore.Mvc.Formatters.IInputFormatter inputFormatter, Microsoft.AspNetCore.Mvc.Formatters.InputFormatterContext formatterContext) { } + public static void InputFormatterSelected(this Microsoft.Extensions.Logging.ILogger logger, Microsoft.AspNetCore.Mvc.Formatters.IInputFormatter inputFormatter, Microsoft.AspNetCore.Mvc.Formatters.InputFormatterContext formatterContext) { } + public static void LocalRedirectResultExecuting(this Microsoft.Extensions.Logging.ILogger logger, string destination) { } + public static void MaxRequestBodySizeSet(this Microsoft.Extensions.Logging.ILogger logger, string requestSize) { } + public static void ModelStateInvalidFilterExecuting(this Microsoft.Extensions.Logging.ILogger logger) { } + public static void NoAcceptForNegotiation(this Microsoft.Extensions.Logging.ILogger logger) { } + public static void NoActionsMatched(this Microsoft.Extensions.Logging.ILogger logger, System.Collections.Generic.IDictionary routeValueDictionary) { } + public static void NoFilesFoundInRequest(this Microsoft.Extensions.Logging.ILogger logger) { } + public static void NoFormatter(this Microsoft.Extensions.Logging.ILogger logger, Microsoft.AspNetCore.Mvc.Formatters.OutputFormatterCanWriteContext context, Microsoft.AspNetCore.Mvc.Formatters.MediaTypeCollection contentTypes) { } + public static void NoFormatterFromNegotiation(this Microsoft.Extensions.Logging.ILogger logger, System.Collections.Generic.IList acceptTypes) { } + public static void NoInputFormatterSelected(this Microsoft.Extensions.Logging.ILogger logger, Microsoft.AspNetCore.Mvc.Formatters.InputFormatterContext formatterContext) { } + public static void NoKeyValueFormatForDictionaryModelBinder(this Microsoft.Extensions.Logging.ILogger logger, Microsoft.AspNetCore.Mvc.ModelBinding.ModelBindingContext bindingContext) { } + public static void NoNonIndexBasedFormatFoundForCollection(this Microsoft.Extensions.Logging.ILogger logger, Microsoft.AspNetCore.Mvc.ModelBinding.ModelBindingContext bindingContext) { } + public static void NoPublicSettableProperties(this Microsoft.Extensions.Logging.ILogger logger, Microsoft.AspNetCore.Mvc.ModelBinding.ModelBindingContext bindingContext) { } + public static void NotEnabledForRangeProcessing(this Microsoft.Extensions.Logging.ILogger logger) { } + public static void NotMostEffectiveFilter(this Microsoft.Extensions.Logging.ILogger logger, System.Type overridenFilter, System.Type overridingFilter, System.Type policyType) { } + public static void ObjectResultExecuting(this Microsoft.Extensions.Logging.ILogger logger, object value) { } + public static void ParameterBinderRequestPredicateShortCircuit(this Microsoft.Extensions.Logging.ILogger logger, Microsoft.AspNetCore.Mvc.Abstractions.ParameterDescriptor parameter, Microsoft.AspNetCore.Mvc.ModelBinding.ModelMetadata modelMetadata) { } + public static void RedirectResultExecuting(this Microsoft.Extensions.Logging.ILogger logger, string destination) { } + public static void RedirectToActionResultExecuting(this Microsoft.Extensions.Logging.ILogger logger, string destination) { } + public static void RedirectToPageResultExecuting(this Microsoft.Extensions.Logging.ILogger logger, string page) { } + public static void RedirectToRouteResultExecuting(this Microsoft.Extensions.Logging.ILogger logger, string destination, string routeName) { } + public static void RegisteredModelBinderProviders(this Microsoft.Extensions.Logging.ILogger logger, Microsoft.AspNetCore.Mvc.ModelBinding.IModelBinderProvider[] providers) { } + public static void RegisteredOutputFormatters(this Microsoft.Extensions.Logging.ILogger logger, System.Collections.Generic.IEnumerable outputFormatters) { } + public static void RequestBodySizeLimitDisabled(this Microsoft.Extensions.Logging.ILogger logger) { } + public static void ResourceFiltersExecutionPlan(this Microsoft.Extensions.Logging.ILogger logger, System.Collections.Generic.IEnumerable filters) { } + public static void ResourceFilterShortCircuited(this Microsoft.Extensions.Logging.ILogger logger, Microsoft.AspNetCore.Mvc.Filters.IFilterMetadata filter) { } + public static void ResultFiltersExecutionPlan(this Microsoft.Extensions.Logging.ILogger logger, System.Collections.Generic.IEnumerable filters) { } + public static void ResultFilterShortCircuited(this Microsoft.Extensions.Logging.ILogger logger, Microsoft.AspNetCore.Mvc.Filters.IFilterMetadata filter) { } + public static void SelectFirstCanWriteFormatter(this Microsoft.Extensions.Logging.ILogger logger) { } + public static void SelectingOutputFormatterUsingAcceptHeader(this Microsoft.Extensions.Logging.ILogger logger, System.Collections.Generic.IEnumerable acceptHeader) { } + public static void SelectingOutputFormatterUsingAcceptHeaderAndExplicitContentTypes(this Microsoft.Extensions.Logging.ILogger logger, System.Collections.Generic.IEnumerable acceptHeader, Microsoft.AspNetCore.Mvc.Formatters.MediaTypeCollection mediaTypeCollection) { } + public static void SelectingOutputFormatterUsingContentTypes(this Microsoft.Extensions.Logging.ILogger logger, Microsoft.AspNetCore.Mvc.Formatters.MediaTypeCollection mediaTypeCollection) { } + public static void SelectingOutputFormatterWithoutUsingContentTypes(this Microsoft.Extensions.Logging.ILogger logger) { } + public static void SignInResultExecuting(this Microsoft.Extensions.Logging.ILogger logger, string authenticationScheme, System.Security.Claims.ClaimsPrincipal principal) { } + public static void SignOutResultExecuting(this Microsoft.Extensions.Logging.ILogger logger, System.Collections.Generic.IList authenticationSchemes) { } + public static void SkippedContentNegotiation(this Microsoft.Extensions.Logging.ILogger logger, string contentType) { } + public static void TransformingClientError(this Microsoft.Extensions.Logging.ILogger logger, System.Type initialType, System.Type replacedType, int? statusCode) { } + public static void UnsupportedFormatFilterContentType(this Microsoft.Extensions.Logging.ILogger logger, string format) { } + public static void WritingRangeToBody(this Microsoft.Extensions.Logging.ILogger logger) { } + } + internal partial class MvcCoreMvcOptionsSetup : Microsoft.Extensions.Options.IConfigureOptions, Microsoft.Extensions.Options.IPostConfigureOptions + { + public MvcCoreMvcOptionsSetup(Microsoft.AspNetCore.Mvc.Infrastructure.IHttpRequestStreamReaderFactory readerFactory) { } + public MvcCoreMvcOptionsSetup(Microsoft.AspNetCore.Mvc.Infrastructure.IHttpRequestStreamReaderFactory readerFactory, Microsoft.Extensions.Logging.ILoggerFactory loggerFactory, Microsoft.Extensions.Options.IOptions jsonOptions) { } + public void Configure(Microsoft.AspNetCore.Mvc.MvcOptions options) { } + internal static void ConfigureAdditionalModelMetadataDetailsProviders(System.Collections.Generic.IList modelMetadataDetailsProviders) { } + public void PostConfigure(string name, Microsoft.AspNetCore.Mvc.MvcOptions options) { } + } + public partial class MvcOptions : System.Collections.Generic.IEnumerable, System.Collections.IEnumerable + { + internal const int DefaultMaxModelBindingCollectionSize = 1024; + internal const int DefaultMaxModelBindingRecursionDepth = 32; + } + public partial class RequestFormLimitsAttribute : System.Attribute, Microsoft.AspNetCore.Mvc.Filters.IFilterFactory, Microsoft.AspNetCore.Mvc.Filters.IFilterMetadata, Microsoft.AspNetCore.Mvc.Filters.IOrderedFilter + { + internal Microsoft.AspNetCore.Http.Features.FormOptions FormOptions { [System.Runtime.CompilerServices.CompilerGeneratedAttribute]get { throw null; } } + } +} +namespace Microsoft.AspNetCore.Mvc.ActionConstraints +{ + internal partial class ActionConstraintCache + { + public ActionConstraintCache(Microsoft.AspNetCore.Mvc.Infrastructure.IActionDescriptorCollectionProvider collectionProvider, System.Collections.Generic.IEnumerable actionConstraintProviders) { } + internal Microsoft.AspNetCore.Mvc.ActionConstraints.ActionConstraintCache.InnerCache CurrentCache { get { throw null; } } + public System.Collections.Generic.IReadOnlyList GetActionConstraints(Microsoft.AspNetCore.Http.HttpContext httpContext, Microsoft.AspNetCore.Mvc.Abstractions.ActionDescriptor action) { throw null; } + [System.Runtime.InteropServices.StructLayoutAttribute(System.Runtime.InteropServices.LayoutKind.Sequential)] + internal readonly partial struct CacheEntry + { + private readonly object _dummy; + public CacheEntry(System.Collections.Generic.IReadOnlyList actionConstraints) { throw null; } + public CacheEntry(System.Collections.Generic.List items) { throw null; } + public System.Collections.Generic.IReadOnlyList ActionConstraints { [System.Runtime.CompilerServices.CompilerGeneratedAttribute]get { throw null; } } + public System.Collections.Generic.List Items { [System.Runtime.CompilerServices.CompilerGeneratedAttribute]get { throw null; } } + } + internal partial class InnerCache + { + public InnerCache(Microsoft.AspNetCore.Mvc.Infrastructure.ActionDescriptorCollection actions) { } + public System.Collections.Concurrent.ConcurrentDictionary Entries { [System.Runtime.CompilerServices.CompilerGeneratedAttribute]get { throw null; } } + public int Version { get { throw null; } } + } + } + internal partial class DefaultActionConstraintProvider : Microsoft.AspNetCore.Mvc.ActionConstraints.IActionConstraintProvider + { + public DefaultActionConstraintProvider() { } + public int Order { get { throw null; } } + public void OnProvidersExecuted(Microsoft.AspNetCore.Mvc.ActionConstraints.ActionConstraintProviderContext context) { } + public void OnProvidersExecuting(Microsoft.AspNetCore.Mvc.ActionConstraints.ActionConstraintProviderContext context) { } + } + internal partial interface IConsumesActionConstraint : Microsoft.AspNetCore.Mvc.ActionConstraints.IActionConstraint, Microsoft.AspNetCore.Mvc.ActionConstraints.IActionConstraintMetadata + { + } +} +namespace Microsoft.AspNetCore.Mvc.ApiExplorer +{ + internal static partial class ApiConventionMatcher + { + internal static Microsoft.AspNetCore.Mvc.ApiExplorer.ApiConventionNameMatchBehavior GetNameMatchBehavior(System.Reflection.ICustomAttributeProvider attributeProvider) { throw null; } + internal static Microsoft.AspNetCore.Mvc.ApiExplorer.ApiConventionTypeMatchBehavior GetTypeMatchBehavior(System.Reflection.ICustomAttributeProvider attributeProvider) { throw null; } + internal static bool IsMatch(System.Reflection.MethodInfo methodInfo, System.Reflection.MethodInfo conventionMethod) { throw null; } + internal static bool IsNameMatch(string name, string conventionName, Microsoft.AspNetCore.Mvc.ApiExplorer.ApiConventionNameMatchBehavior nameMatchBehavior) { throw null; } + internal static bool IsTypeMatch(System.Type type, System.Type conventionType, Microsoft.AspNetCore.Mvc.ApiExplorer.ApiConventionTypeMatchBehavior typeMatchBehavior) { throw null; } + } + public sealed partial class ApiConventionResult + { + internal static bool TryGetApiConvention(System.Reflection.MethodInfo method, Microsoft.AspNetCore.Mvc.ApiConventionTypeAttribute[] apiConventionAttributes, out Microsoft.AspNetCore.Mvc.ApiExplorer.ApiConventionResult result) { throw null; } + } +} +namespace Microsoft.AspNetCore.Mvc.ApplicationModels +{ + internal static partial class ActionAttributeRouteModel + { + public static System.Collections.Generic.IEnumerable FlattenSelectors(Microsoft.AspNetCore.Mvc.ApplicationModels.ActionModel actionModel) { throw null; } + public static System.Collections.Generic.IEnumerable> GetAttributeRoutes(Microsoft.AspNetCore.Mvc.ApplicationModels.ActionModel actionModel) { throw null; } + } + internal partial class ApiBehaviorApplicationModelProvider : Microsoft.AspNetCore.Mvc.ApplicationModels.IApplicationModelProvider + { + public ApiBehaviorApplicationModelProvider(Microsoft.Extensions.Options.IOptions apiBehaviorOptions, Microsoft.AspNetCore.Mvc.ModelBinding.IModelMetadataProvider modelMetadataProvider, Microsoft.AspNetCore.Mvc.Infrastructure.IClientErrorFactory clientErrorFactory, Microsoft.Extensions.Logging.ILoggerFactory loggerFactory) { } + public System.Collections.Generic.List ActionModelConventions { [System.Runtime.CompilerServices.CompilerGeneratedAttribute]get { throw null; } } + public int Order { get { throw null; } } + public void OnProvidersExecuted(Microsoft.AspNetCore.Mvc.ApplicationModels.ApplicationModelProviderContext context) { } + public void OnProvidersExecuting(Microsoft.AspNetCore.Mvc.ApplicationModels.ApplicationModelProviderContext context) { } + } + internal static partial class ApplicationModelConventions + { + public static void ApplyConventions(Microsoft.AspNetCore.Mvc.ApplicationModels.ApplicationModel applicationModel, System.Collections.Generic.IEnumerable conventions) { } + } + internal partial class ApplicationModelFactory + { + public ApplicationModelFactory(System.Collections.Generic.IEnumerable applicationModelProviders, Microsoft.Extensions.Options.IOptions options) { } + public Microsoft.AspNetCore.Mvc.ApplicationModels.ApplicationModel CreateApplicationModel(System.Collections.Generic.IEnumerable controllerTypes) { throw null; } + public static System.Collections.Generic.List Flatten(Microsoft.AspNetCore.Mvc.ApplicationModels.ApplicationModel application, System.Func flattener) { throw null; } + } + internal partial class AuthorizationApplicationModelProvider : Microsoft.AspNetCore.Mvc.ApplicationModels.IApplicationModelProvider + { + public AuthorizationApplicationModelProvider(Microsoft.AspNetCore.Authorization.IAuthorizationPolicyProvider policyProvider, Microsoft.Extensions.Options.IOptions mvcOptions) { } + public int Order { get { throw null; } } + public static Microsoft.AspNetCore.Mvc.Authorization.AuthorizeFilter GetFilter(Microsoft.AspNetCore.Authorization.IAuthorizationPolicyProvider policyProvider, System.Collections.Generic.IEnumerable authData) { throw null; } + public void OnProvidersExecuted(Microsoft.AspNetCore.Mvc.ApplicationModels.ApplicationModelProviderContext context) { } + public void OnProvidersExecuting(Microsoft.AspNetCore.Mvc.ApplicationModels.ApplicationModelProviderContext context) { } + } + public partial class ConsumesConstraintForFormFileParameterConvention : Microsoft.AspNetCore.Mvc.ApplicationModels.IActionModelConvention + { + internal void AddMultipartFormDataConsumesAttribute(Microsoft.AspNetCore.Mvc.ApplicationModels.ActionModel action) { } + } + internal static partial class ControllerActionDescriptorBuilder + { + public static void AddRouteValues(Microsoft.AspNetCore.Mvc.Controllers.ControllerActionDescriptor actionDescriptor, Microsoft.AspNetCore.Mvc.ApplicationModels.ControllerModel controller, Microsoft.AspNetCore.Mvc.ApplicationModels.ActionModel action) { } + public static System.Collections.Generic.IList Build(Microsoft.AspNetCore.Mvc.ApplicationModels.ApplicationModel application) { throw null; } + } + internal partial class ControllerActionDescriptorProvider : Microsoft.AspNetCore.Mvc.Abstractions.IActionDescriptorProvider + { + public ControllerActionDescriptorProvider(Microsoft.AspNetCore.Mvc.ApplicationParts.ApplicationPartManager partManager, Microsoft.AspNetCore.Mvc.ApplicationModels.ApplicationModelFactory applicationModelFactory) { } + public int Order { get { throw null; } } + internal System.Collections.Generic.IEnumerable GetDescriptors() { throw null; } + public void OnProvidersExecuted(Microsoft.AspNetCore.Mvc.Abstractions.ActionDescriptorProviderContext context) { } + public void OnProvidersExecuting(Microsoft.AspNetCore.Mvc.Abstractions.ActionDescriptorProviderContext context) { } + } + internal partial class DefaultApplicationModelProvider : Microsoft.AspNetCore.Mvc.ApplicationModels.IApplicationModelProvider + { + public DefaultApplicationModelProvider(Microsoft.Extensions.Options.IOptions mvcOptionsAccessor, Microsoft.AspNetCore.Mvc.ModelBinding.IModelMetadataProvider modelMetadataProvider) { } + public int Order { get { throw null; } } + internal Microsoft.AspNetCore.Mvc.ApplicationModels.ActionModel CreateActionModel(System.Reflection.TypeInfo typeInfo, System.Reflection.MethodInfo methodInfo) { throw null; } + internal Microsoft.AspNetCore.Mvc.ApplicationModels.ControllerModel CreateControllerModel(System.Reflection.TypeInfo typeInfo) { throw null; } + internal Microsoft.AspNetCore.Mvc.ApplicationModels.ParameterModel CreateParameterModel(System.Reflection.ParameterInfo parameterInfo) { throw null; } + internal Microsoft.AspNetCore.Mvc.ApplicationModels.PropertyModel CreatePropertyModel(System.Reflection.PropertyInfo propertyInfo) { throw null; } + internal bool IsAction(System.Reflection.TypeInfo typeInfo, System.Reflection.MethodInfo methodInfo) { throw null; } + public void OnProvidersExecuted(Microsoft.AspNetCore.Mvc.ApplicationModels.ApplicationModelProviderContext context) { } + public void OnProvidersExecuting(Microsoft.AspNetCore.Mvc.ApplicationModels.ApplicationModelProviderContext context) { } + } + public partial class InferParameterBindingInfoConvention : Microsoft.AspNetCore.Mvc.ApplicationModels.IActionModelConvention + { + internal Microsoft.AspNetCore.Mvc.ModelBinding.BindingSource InferBindingSourceForParameter(Microsoft.AspNetCore.Mvc.ApplicationModels.ParameterModel parameter) { throw null; } + internal void InferParameterBindingSources(Microsoft.AspNetCore.Mvc.ApplicationModels.ActionModel action) { } + } +} +namespace Microsoft.AspNetCore.Mvc.ApplicationParts +{ + public partial class ApplicationPartManager + { + internal void PopulateDefaultParts(string entryAssemblyName) { } + } + public sealed partial class RelatedAssemblyAttribute : System.Attribute + { + internal static string GetAssemblyLocation(System.Reflection.Assembly assembly) { throw null; } + internal static System.Collections.Generic.IReadOnlyList GetRelatedAssemblies(System.Reflection.Assembly assembly, bool throwOnError, System.Func fileExists, System.Func loadFile) { throw null; } + } +} +namespace Microsoft.AspNetCore.Mvc.Authorization +{ + public partial class AuthorizeFilter : Microsoft.AspNetCore.Mvc.Filters.IAsyncAuthorizationFilter, Microsoft.AspNetCore.Mvc.Filters.IFilterFactory, Microsoft.AspNetCore.Mvc.Filters.IFilterMetadata + { + [System.Diagnostics.DebuggerStepThroughAttribute] + internal System.Threading.Tasks.Task GetEffectivePolicyAsync(Microsoft.AspNetCore.Mvc.Filters.AuthorizationFilterContext context) { throw null; } + } +} +namespace Microsoft.AspNetCore.Mvc.Controllers +{ + internal delegate System.Threading.Tasks.Task ControllerBinderDelegate(Microsoft.AspNetCore.Mvc.ControllerContext controllerContext, object controller, System.Collections.Generic.Dictionary arguments); + internal static partial class ControllerBinderDelegateProvider + { + public static Microsoft.AspNetCore.Mvc.Controllers.ControllerBinderDelegate CreateBinderDelegate(Microsoft.AspNetCore.Mvc.ModelBinding.ParameterBinder parameterBinder, Microsoft.AspNetCore.Mvc.ModelBinding.IModelBinderFactory modelBinderFactory, Microsoft.AspNetCore.Mvc.ModelBinding.IModelMetadataProvider modelMetadataProvider, Microsoft.AspNetCore.Mvc.Controllers.ControllerActionDescriptor actionDescriptor, Microsoft.AspNetCore.Mvc.MvcOptions mvcOptions) { throw null; } + } + internal partial class ControllerFactoryProvider : Microsoft.AspNetCore.Mvc.Controllers.IControllerFactoryProvider + { + public ControllerFactoryProvider(Microsoft.AspNetCore.Mvc.Controllers.IControllerActivatorProvider activatorProvider, Microsoft.AspNetCore.Mvc.Controllers.IControllerFactory controllerFactory, System.Collections.Generic.IEnumerable propertyActivators) { } + public System.Func CreateControllerFactory(Microsoft.AspNetCore.Mvc.Controllers.ControllerActionDescriptor descriptor) { throw null; } + public System.Action CreateControllerReleaser(Microsoft.AspNetCore.Mvc.Controllers.ControllerActionDescriptor descriptor) { throw null; } + } + internal partial class DefaultControllerActivator : Microsoft.AspNetCore.Mvc.Controllers.IControllerActivator + { + public DefaultControllerActivator(Microsoft.AspNetCore.Mvc.Infrastructure.ITypeActivatorCache typeActivatorCache) { } + public object Create(Microsoft.AspNetCore.Mvc.ControllerContext controllerContext) { throw null; } + public void Release(Microsoft.AspNetCore.Mvc.ControllerContext context, object controller) { } + } + internal partial class DefaultControllerFactory : Microsoft.AspNetCore.Mvc.Controllers.IControllerFactory + { + public DefaultControllerFactory(Microsoft.AspNetCore.Mvc.Controllers.IControllerActivator controllerActivator, System.Collections.Generic.IEnumerable propertyActivators) { } + public object CreateController(Microsoft.AspNetCore.Mvc.ControllerContext context) { throw null; } + public void ReleaseController(Microsoft.AspNetCore.Mvc.ControllerContext context, object controller) { } + } + internal partial class DefaultControllerPropertyActivator : Microsoft.AspNetCore.Mvc.Controllers.IControllerPropertyActivator + { + public DefaultControllerPropertyActivator() { } + public void Activate(Microsoft.AspNetCore.Mvc.ControllerContext context, object controller) { } + public System.Action GetActivatorDelegate(Microsoft.AspNetCore.Mvc.Controllers.ControllerActionDescriptor actionDescriptor) { throw null; } + } + internal partial interface IControllerPropertyActivator + { + void Activate(Microsoft.AspNetCore.Mvc.ControllerContext context, object controller); + System.Action GetActivatorDelegate(Microsoft.AspNetCore.Mvc.Controllers.ControllerActionDescriptor actionDescriptor); + } +} +namespace Microsoft.AspNetCore.Mvc.Core +{ + internal static partial class Resources + { + internal static string AcceptHeaderParser_ParseAcceptHeader_InvalidValues { get { throw null; } } + internal static string ActionDescriptorMustBeBasedOnControllerAction { get { throw null; } } + internal static string ActionExecutor_UnexpectedTaskInstance { get { throw null; } } + internal static string ActionExecutor_WrappedTaskInstance { get { throw null; } } + internal static string ActionInvokerFactory_CouldNotCreateInvoker { get { throw null; } } + internal static string ActionResult_ActionReturnValueCannotBeNull { get { throw null; } } + internal static string ApiController_AttributeRouteRequired { get { throw null; } } + internal static string ApiController_MultipleBodyParametersFound { get { throw null; } } + internal static string ApiConventionMethod_AmbiguousMethodName { get { throw null; } } + internal static string ApiConventionMethod_NoMethodFound { get { throw null; } } + internal static string ApiConventionMustBeStatic { get { throw null; } } + internal static string ApiConventions_Title_400 { get { throw null; } } + internal static string ApiConventions_Title_401 { get { throw null; } } + internal static string ApiConventions_Title_403 { get { throw null; } } + internal static string ApiConventions_Title_404 { get { throw null; } } + internal static string ApiConventions_Title_406 { get { throw null; } } + internal static string ApiConventions_Title_409 { get { throw null; } } + internal static string ApiConventions_Title_415 { get { throw null; } } + internal static string ApiConventions_Title_422 { get { throw null; } } + internal static string ApiConventions_Title_500 { get { throw null; } } + internal static string ApiConvention_UnsupportedAttributesOnConvention { get { throw null; } } + internal static string ApiExplorer_UnsupportedAction { get { throw null; } } + internal static string ApplicationAssembliesProvider_DuplicateRelatedAssembly { get { throw null; } } + internal static string ApplicationAssembliesProvider_RelatedAssemblyCannotDefineAdditional { get { throw null; } } + internal static string ApplicationPartFactory_InvalidFactoryType { get { throw null; } } + internal static string ArgumentCannotBeNullOrEmpty { get { throw null; } } + internal static string Argument_InvalidOffsetLength { get { throw null; } } + internal static string AsyncActionFilter_InvalidShortCircuit { get { throw null; } } + internal static string AsyncResourceFilter_InvalidShortCircuit { get { throw null; } } + internal static string AsyncResultFilter_InvalidShortCircuit { get { throw null; } } + internal static string AttributeRoute_AggregateErrorMessage { get { throw null; } } + internal static string AttributeRoute_AggregateErrorMessage_ErrorNumber { get { throw null; } } + internal static string AttributeRoute_CannotContainParameter { get { throw null; } } + internal static string AttributeRoute_DuplicateNames { get { throw null; } } + internal static string AttributeRoute_DuplicateNames_Item { get { throw null; } } + internal static string AttributeRoute_IndividualErrorMessage { get { throw null; } } + internal static string AttributeRoute_MixedAttributeAndConventionallyRoutedActions_ForMethod { get { throw null; } } + internal static string AttributeRoute_MixedAttributeAndConventionallyRoutedActions_ForMethod_Item { get { throw null; } } + internal static string AttributeRoute_NullTemplateRepresentation { get { throw null; } } + internal static string AttributeRoute_TokenReplacement_EmptyTokenNotAllowed { get { throw null; } } + internal static string AttributeRoute_TokenReplacement_ImbalancedSquareBrackets { get { throw null; } } + internal static string AttributeRoute_TokenReplacement_InvalidSyntax { get { throw null; } } + internal static string AttributeRoute_TokenReplacement_ReplacementValueNotFound { get { throw null; } } + internal static string AttributeRoute_TokenReplacement_UnclosedToken { get { throw null; } } + internal static string AttributeRoute_TokenReplacement_UnescapedBraceInToken { get { throw null; } } + internal static string AuthorizeFilter_AuthorizationPolicyCannotBeCreated { get { throw null; } } + internal static string BinderType_MustBeIModelBinder { get { throw null; } } + internal static string BindingSource_CannotBeComposite { get { throw null; } } + internal static string BindingSource_CannotBeGreedy { get { throw null; } } + internal static string CacheProfileNotFound { get { throw null; } } + internal static string CandidateResolver_DifferentCasedReference { get { throw null; } } + internal static string Common_PropertyNotFound { get { throw null; } } + internal static string ComplexTypeModelBinder_NoParameterlessConstructor_ForParameter { get { throw null; } } + internal static string ComplexTypeModelBinder_NoParameterlessConstructor_ForProperty { get { throw null; } } + internal static string ComplexTypeModelBinder_NoParameterlessConstructor_ForType { get { throw null; } } + internal static string CouldNotCreateIModelBinder { get { throw null; } } + internal static System.Globalization.CultureInfo Culture { [System.Runtime.CompilerServices.CompilerGeneratedAttribute]get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute]set { } } + internal static string DefaultActionSelector_AmbiguousActions { get { throw null; } } + internal static string FileResult_InvalidPath { get { throw null; } } + internal static string FileResult_PathNotRooted { get { throw null; } } + internal static string FilterFactoryAttribute_TypeMustImplementIFilter { get { throw null; } } + internal static string FormatFormatterMappings_GetMediaTypeMappingForFormat_InvalidFormat { get { throw null; } } + internal static string FormatterMappings_NotValidMediaType { get { throw null; } } + internal static string Formatter_NoMediaTypes { get { throw null; } } + internal static string Format_NotValid { get { throw null; } } + internal static string FormCollectionModelBinder_CannotBindToFormCollection { get { throw null; } } + internal static string HtmlGeneration_NonPropertyValueMustBeNumber { get { throw null; } } + internal static string HtmlGeneration_ValueIsInvalid { get { throw null; } } + internal static string HtmlGeneration_ValueMustBeNumber { get { throw null; } } + internal static string InputFormatterNoEncoding { get { throw null; } } + internal static string InputFormattersAreRequired { get { throw null; } } + internal static string InvalidTypeTForActionResultOfT { get { throw null; } } + internal static string Invalid_IncludePropertyExpression { get { throw null; } } + internal static string JQueryFormValueProviderFactory_MissingClosingBracket { get { throw null; } } + internal static string KeyValuePair_BothKeyAndValueMustBePresent { get { throw null; } } + internal static string MatchAllContentTypeIsNotAllowed { get { throw null; } } + internal static string MiddewareFilter_ConfigureMethodOverload { get { throw null; } } + internal static string MiddewareFilter_NoConfigureMethod { get { throw null; } } + internal static string MiddlewareFilterBuilder_NoMiddlewareFeature { get { throw null; } } + internal static string MiddlewareFilterBuilder_NullApplicationBuilder { get { throw null; } } + internal static string MiddlewareFilterConfigurationProvider_CreateConfigureDelegate_CannotCreateType { get { throw null; } } + internal static string MiddlewareFilter_InvalidConfigureReturnType { get { throw null; } } + internal static string MiddlewareFilter_ServiceResolutionFail { get { throw null; } } + internal static string ModelBinderProvidersAreRequired { get { throw null; } } + internal static string ModelBinderUtil_ModelCannotBeNull { get { throw null; } } + internal static string ModelBinderUtil_ModelInstanceIsWrong { get { throw null; } } + internal static string ModelBinderUtil_ModelMetadataCannotBeNull { get { throw null; } } + internal static string ModelBinding_ExceededMaxModelBindingCollectionSize { get { throw null; } } + internal static string ModelBinding_ExceededMaxModelBindingRecursionDepth { get { throw null; } } + internal static string ModelBinding_MissingBindRequiredMember { get { throw null; } } + internal static string ModelBinding_MissingRequestBodyRequiredMember { get { throw null; } } + internal static string ModelBinding_NullValueNotValid { get { throw null; } } + internal static string ModelState_AttemptedValueIsInvalid { get { throw null; } } + internal static string ModelState_NonPropertyAttemptedValueIsInvalid { get { throw null; } } + internal static string ModelState_NonPropertyUnknownValueIsInvalid { get { throw null; } } + internal static string ModelState_UnknownValueIsInvalid { get { throw null; } } + internal static string ModelType_WrongType { get { throw null; } } + internal static string NoRoutesMatched { get { throw null; } } + internal static string NoRoutesMatchedForPage { get { throw null; } } + internal static string ObjectResultExecutor_MaxEnumerationExceeded { get { throw null; } } + internal static string ObjectResult_MatchAllContentType { get { throw null; } } + internal static string OutputFormatterNoMediaType { get { throw null; } } + internal static string OutputFormattersAreRequired { get { throw null; } } + internal static string PropertyOfTypeCannotBeNull { get { throw null; } } + internal static string Property_MustBeInstanceOfType { get { throw null; } } + internal static string ReferenceToNewtonsoftJsonRequired { get { throw null; } } + internal static string RelatedAssemblyAttribute_AssemblyCannotReferenceSelf { get { throw null; } } + internal static string RelatedAssemblyAttribute_CouldNotBeFound { get { throw null; } } + internal static System.Resources.ResourceManager ResourceManager { get { throw null; } } + internal static string ResponseCache_SpecifyDuration { get { throw null; } } + internal static string SerializableError_DefaultError { get { throw null; } } + internal static string TextInputFormatter_SupportedEncodingsMustNotBeEmpty { get { throw null; } } + internal static string TextOutputFormatter_SupportedEncodingsMustNotBeEmpty { get { throw null; } } + internal static string TextOutputFormatter_WriteResponseBodyAsyncNotSupported { get { throw null; } } + internal static string TypeMethodMustReturnNotNullValue { get { throw null; } } + internal static string TypeMustDeriveFromType { get { throw null; } } + internal static string UnableToFindServices { get { throw null; } } + internal static string UnexpectedJsonEnd { get { throw null; } } + internal static string UnsupportedContentType { get { throw null; } } + internal static string UrlHelper_RelativePagePathIsNotSupported { get { throw null; } } + internal static string UrlNotLocal { get { throw null; } } + internal static string ValidationProblemDescription_Title { get { throw null; } } + internal static string ValidationVisitor_ExceededMaxDepth { get { throw null; } } + internal static string ValidationVisitor_ExceededMaxDepthFix { get { throw null; } } + internal static string ValidationVisitor_ExceededMaxPropertyDepth { get { throw null; } } + internal static string ValueInterfaceAbstractOrOpenGenericTypesCannotBeActivated { get { throw null; } } + internal static string ValueProviderResult_NoConverterExists { get { throw null; } } + internal static string VaryByQueryKeys_Requires_ResponseCachingMiddleware { get { throw null; } } + internal static string VirtualFileResultExecutor_NoFileProviderConfigured { get { throw null; } } + internal static string FormatAcceptHeaderParser_ParseAcceptHeader_InvalidValues(object p0) { throw null; } + internal static string FormatActionDescriptorMustBeBasedOnControllerAction(object p0) { throw null; } + internal static string FormatActionExecutor_UnexpectedTaskInstance(object p0, object p1) { throw null; } + internal static string FormatActionExecutor_WrappedTaskInstance(object p0, object p1, object p2) { throw null; } + internal static string FormatActionInvokerFactory_CouldNotCreateInvoker(object p0) { throw null; } + internal static string FormatActionResult_ActionReturnValueCannotBeNull(object p0) { throw null; } + internal static string FormatApiController_AttributeRouteRequired(object p0, object p1) { throw null; } + internal static string FormatApiController_MultipleBodyParametersFound(object p0, object p1, object p2, object p3) { throw null; } + internal static string FormatApiConventionMethod_AmbiguousMethodName(object p0, object p1) { throw null; } + internal static string FormatApiConventionMethod_NoMethodFound(object p0, object p1) { throw null; } + internal static string FormatApiConventionMustBeStatic(object p0) { throw null; } + internal static string FormatApiConvention_UnsupportedAttributesOnConvention(object p0, object p1, object p2) { throw null; } + internal static string FormatApiExplorer_UnsupportedAction(object p0) { throw null; } + internal static string FormatApplicationAssembliesProvider_DuplicateRelatedAssembly(object p0) { throw null; } + internal static string FormatApplicationAssembliesProvider_RelatedAssemblyCannotDefineAdditional(object p0, object p1) { throw null; } + internal static string FormatApplicationPartFactory_InvalidFactoryType(object p0, object p1, object p2) { throw null; } + internal static string FormatArgument_InvalidOffsetLength(object p0, object p1) { throw null; } + internal static string FormatAsyncActionFilter_InvalidShortCircuit(object p0, object p1, object p2, object p3) { throw null; } + internal static string FormatAsyncResourceFilter_InvalidShortCircuit(object p0, object p1, object p2, object p3) { throw null; } + internal static string FormatAsyncResultFilter_InvalidShortCircuit(object p0, object p1, object p2, object p3) { throw null; } + internal static string FormatAttributeRoute_AggregateErrorMessage(object p0, object p1) { throw null; } + internal static string FormatAttributeRoute_AggregateErrorMessage_ErrorNumber(object p0, object p1, object p2) { throw null; } + internal static string FormatAttributeRoute_CannotContainParameter(object p0, object p1, object p2) { throw null; } + internal static string FormatAttributeRoute_DuplicateNames(object p0, object p1, object p2) { throw null; } + internal static string FormatAttributeRoute_DuplicateNames_Item(object p0, object p1) { throw null; } + internal static string FormatAttributeRoute_IndividualErrorMessage(object p0, object p1, object p2) { throw null; } + internal static string FormatAttributeRoute_MixedAttributeAndConventionallyRoutedActions_ForMethod(object p0, object p1, object p2) { throw null; } + internal static string FormatAttributeRoute_MixedAttributeAndConventionallyRoutedActions_ForMethod_Item(object p0, object p1, object p2) { throw null; } + internal static string FormatAttributeRoute_TokenReplacement_InvalidSyntax(object p0, object p1) { throw null; } + internal static string FormatAttributeRoute_TokenReplacement_ReplacementValueNotFound(object p0, object p1, object p2) { throw null; } + internal static string FormatAuthorizeFilter_AuthorizationPolicyCannotBeCreated(object p0, object p1) { throw null; } + internal static string FormatBinderType_MustBeIModelBinder(object p0, object p1) { throw null; } + internal static string FormatBindingSource_CannotBeComposite(object p0, object p1) { throw null; } + internal static string FormatBindingSource_CannotBeGreedy(object p0, object p1) { throw null; } + internal static string FormatCacheProfileNotFound(object p0) { throw null; } + internal static string FormatCandidateResolver_DifferentCasedReference(object p0) { throw null; } + internal static string FormatCommon_PropertyNotFound(object p0, object p1) { throw null; } + internal static string FormatComplexTypeModelBinder_NoParameterlessConstructor_ForParameter(object p0, object p1) { throw null; } + internal static string FormatComplexTypeModelBinder_NoParameterlessConstructor_ForProperty(object p0, object p1, object p2) { throw null; } + internal static string FormatComplexTypeModelBinder_NoParameterlessConstructor_ForType(object p0) { throw null; } + internal static string FormatCouldNotCreateIModelBinder(object p0) { throw null; } + internal static string FormatDefaultActionSelector_AmbiguousActions(object p0, object p1) { throw null; } + internal static string FormatFileResult_InvalidPath(object p0) { throw null; } + internal static string FormatFileResult_PathNotRooted(object p0) { throw null; } + internal static string FormatFilterFactoryAttribute_TypeMustImplementIFilter(object p0, object p1) { throw null; } + internal static string FormatFormatFormatterMappings_GetMediaTypeMappingForFormat_InvalidFormat(object p0) { throw null; } + internal static string FormatFormatterMappings_NotValidMediaType(object p0) { throw null; } + internal static string FormatFormatter_NoMediaTypes(object p0, object p1) { throw null; } + internal static string FormatFormat_NotValid(object p0) { throw null; } + internal static string FormatFormCollectionModelBinder_CannotBindToFormCollection(object p0, object p1, object p2) { throw null; } + internal static string FormatHtmlGeneration_ValueIsInvalid(object p0) { throw null; } + internal static string FormatHtmlGeneration_ValueMustBeNumber(object p0) { throw null; } + internal static string FormatInputFormatterNoEncoding(object p0) { throw null; } + internal static string FormatInputFormattersAreRequired(object p0, object p1, object p2) { throw null; } + internal static string FormatInvalidTypeTForActionResultOfT(object p0, object p1) { throw null; } + internal static string FormatInvalid_IncludePropertyExpression(object p0) { throw null; } + internal static string FormatJQueryFormValueProviderFactory_MissingClosingBracket(object p0) { throw null; } + internal static string FormatMatchAllContentTypeIsNotAllowed(object p0) { throw null; } + internal static string FormatMiddewareFilter_ConfigureMethodOverload(object p0) { throw null; } + internal static string FormatMiddewareFilter_NoConfigureMethod(object p0, object p1) { throw null; } + internal static string FormatMiddlewareFilterBuilder_NoMiddlewareFeature(object p0) { throw null; } + internal static string FormatMiddlewareFilterBuilder_NullApplicationBuilder(object p0) { throw null; } + internal static string FormatMiddlewareFilterConfigurationProvider_CreateConfigureDelegate_CannotCreateType(object p0, object p1) { throw null; } + internal static string FormatMiddlewareFilter_InvalidConfigureReturnType(object p0, object p1, object p2) { throw null; } + internal static string FormatMiddlewareFilter_ServiceResolutionFail(object p0, object p1, object p2, object p3) { throw null; } + internal static string FormatModelBinderProvidersAreRequired(object p0, object p1, object p2) { throw null; } + internal static string FormatModelBinderUtil_ModelCannotBeNull(object p0) { throw null; } + internal static string FormatModelBinderUtil_ModelInstanceIsWrong(object p0, object p1) { throw null; } + internal static string FormatModelBinding_ExceededMaxModelBindingCollectionSize(object p0, object p1, object p2, object p3, object p4) { throw null; } + internal static string FormatModelBinding_ExceededMaxModelBindingRecursionDepth(object p0, object p1, object p2, object p3) { throw null; } + internal static string FormatModelBinding_MissingBindRequiredMember(object p0) { throw null; } + internal static string FormatModelBinding_NullValueNotValid(object p0) { throw null; } + internal static string FormatModelState_AttemptedValueIsInvalid(object p0, object p1) { throw null; } + internal static string FormatModelState_NonPropertyAttemptedValueIsInvalid(object p0) { throw null; } + internal static string FormatModelState_UnknownValueIsInvalid(object p0) { throw null; } + internal static string FormatModelType_WrongType(object p0, object p1) { throw null; } + internal static string FormatNoRoutesMatchedForPage(object p0) { throw null; } + internal static string FormatObjectResultExecutor_MaxEnumerationExceeded(object p0, object p1) { throw null; } + internal static string FormatObjectResult_MatchAllContentType(object p0, object p1) { throw null; } + internal static string FormatOutputFormatterNoMediaType(object p0) { throw null; } + internal static string FormatOutputFormattersAreRequired(object p0, object p1, object p2) { throw null; } + internal static string FormatPropertyOfTypeCannotBeNull(object p0, object p1) { throw null; } + internal static string FormatProperty_MustBeInstanceOfType(object p0, object p1, object p2) { throw null; } + internal static string FormatReferenceToNewtonsoftJsonRequired(object p0, object p1, object p2, object p3, object p4) { throw null; } + internal static string FormatRelatedAssemblyAttribute_AssemblyCannotReferenceSelf(object p0, object p1) { throw null; } + internal static string FormatRelatedAssemblyAttribute_CouldNotBeFound(object p0, object p1, object p2) { throw null; } + internal static string FormatResponseCache_SpecifyDuration(object p0, object p1) { throw null; } + internal static string FormatTextInputFormatter_SupportedEncodingsMustNotBeEmpty(object p0) { throw null; } + internal static string FormatTextOutputFormatter_SupportedEncodingsMustNotBeEmpty(object p0) { throw null; } + internal static string FormatTextOutputFormatter_WriteResponseBodyAsyncNotSupported(object p0, object p1, object p2) { throw null; } + internal static string FormatTypeMethodMustReturnNotNullValue(object p0, object p1) { throw null; } + internal static string FormatTypeMustDeriveFromType(object p0, object p1) { throw null; } + internal static string FormatUnableToFindServices(object p0, object p1, object p2) { throw null; } + internal static string FormatUnsupportedContentType(object p0) { throw null; } + internal static string FormatUrlHelper_RelativePagePathIsNotSupported(object p0, object p1, object p2) { throw null; } + internal static string FormatValidationVisitor_ExceededMaxDepth(object p0, object p1, object p2) { throw null; } + internal static string FormatValidationVisitor_ExceededMaxDepthFix(object p0, object p1) { throw null; } + internal static string FormatValidationVisitor_ExceededMaxPropertyDepth(object p0, object p1, object p2, object p3) { throw null; } + internal static string FormatValueInterfaceAbstractOrOpenGenericTypesCannotBeActivated(object p0, object p1) { throw null; } + internal static string FormatValueProviderResult_NoConverterExists(object p0, object p1) { throw null; } + internal static string FormatVaryByQueryKeys_Requires_ResponseCachingMiddleware(object p0) { throw null; } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)]internal static string GetResourceString(string resourceKey, string defaultValue = null) { throw null; } + } +} +namespace Microsoft.AspNetCore.Mvc.Filters +{ + internal partial class ControllerActionFilter : Microsoft.AspNetCore.Mvc.Filters.IAsyncActionFilter, Microsoft.AspNetCore.Mvc.Filters.IFilterMetadata, Microsoft.AspNetCore.Mvc.Filters.IOrderedFilter + { + public ControllerActionFilter() { } + public int Order { [System.Runtime.CompilerServices.CompilerGeneratedAttribute]get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute]set { } } + public System.Threading.Tasks.Task OnActionExecutionAsync(Microsoft.AspNetCore.Mvc.Filters.ActionExecutingContext context, Microsoft.AspNetCore.Mvc.Filters.ActionExecutionDelegate next) { throw null; } + } + internal partial class ControllerResultFilter : Microsoft.AspNetCore.Mvc.Filters.IAsyncResultFilter, Microsoft.AspNetCore.Mvc.Filters.IFilterMetadata, Microsoft.AspNetCore.Mvc.Filters.IOrderedFilter + { + public ControllerResultFilter() { } + public int Order { [System.Runtime.CompilerServices.CompilerGeneratedAttribute]get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute]set { } } + public System.Threading.Tasks.Task OnResultExecutionAsync(Microsoft.AspNetCore.Mvc.Filters.ResultExecutingContext context, Microsoft.AspNetCore.Mvc.Filters.ResultExecutionDelegate next) { throw null; } + } + internal partial class DefaultFilterProvider : Microsoft.AspNetCore.Mvc.Filters.IFilterProvider + { + public DefaultFilterProvider() { } + public int Order { get { throw null; } } + public void OnProvidersExecuted(Microsoft.AspNetCore.Mvc.Filters.FilterProviderContext context) { } + public void OnProvidersExecuting(Microsoft.AspNetCore.Mvc.Filters.FilterProviderContext context) { } + public void ProvideFilter(Microsoft.AspNetCore.Mvc.Filters.FilterProviderContext context, Microsoft.AspNetCore.Mvc.Filters.FilterItem filterItem) { } + } + internal partial class DisableRequestSizeLimitFilter : Microsoft.AspNetCore.Mvc.Filters.IAuthorizationFilter, Microsoft.AspNetCore.Mvc.Filters.IFilterMetadata, Microsoft.AspNetCore.Mvc.IRequestSizePolicy + { + public DisableRequestSizeLimitFilter(Microsoft.Extensions.Logging.ILoggerFactory loggerFactory) { } + public void OnAuthorization(Microsoft.AspNetCore.Mvc.Filters.AuthorizationFilterContext context) { } + } + [System.Runtime.InteropServices.StructLayoutAttribute(System.Runtime.InteropServices.LayoutKind.Sequential)] + internal partial struct FilterCursor + { + private object _dummy; + private int _dummyPrimitive; + public FilterCursor(Microsoft.AspNetCore.Mvc.Filters.IFilterMetadata[] filters) { throw null; } + public Microsoft.AspNetCore.Mvc.Filters.FilterCursorItem GetNextFilter() where TFilter : class where TFilterAsync : class { throw null; } + public void Reset() { } + } + [System.Runtime.InteropServices.StructLayoutAttribute(System.Runtime.InteropServices.LayoutKind.Sequential)] + internal readonly partial struct FilterCursorItem + { + [System.Diagnostics.DebuggerBrowsableAttribute(System.Diagnostics.DebuggerBrowsableState.Never)] + [System.Runtime.CompilerServices.CompilerGeneratedAttribute] + private readonly TFilter _Filter_k__BackingField; + [System.Diagnostics.DebuggerBrowsableAttribute(System.Diagnostics.DebuggerBrowsableState.Never)] + [System.Runtime.CompilerServices.CompilerGeneratedAttribute] + private readonly TFilterAsync _FilterAsync_k__BackingField; + private readonly int _dummyPrimitive; + public FilterCursorItem(TFilter filter, TFilterAsync filterAsync) { throw null; } + public TFilter Filter { [System.Runtime.CompilerServices.CompilerGeneratedAttribute]get { throw null; } } + public TFilterAsync FilterAsync { [System.Runtime.CompilerServices.CompilerGeneratedAttribute]get { throw null; } } + } + internal partial class FilterDescriptorOrderComparer : System.Collections.Generic.IComparer + { + public FilterDescriptorOrderComparer() { } + public static Microsoft.AspNetCore.Mvc.Filters.FilterDescriptorOrderComparer Comparer { [System.Runtime.CompilerServices.CompilerGeneratedAttribute]get { throw null; } } + public int Compare(Microsoft.AspNetCore.Mvc.Filters.FilterDescriptor x, Microsoft.AspNetCore.Mvc.Filters.FilterDescriptor y) { throw null; } + } + internal static partial class FilterFactory + { + public static Microsoft.AspNetCore.Mvc.Filters.IFilterMetadata[] CreateUncachedFilters(Microsoft.AspNetCore.Mvc.Filters.IFilterProvider[] filterProviders, Microsoft.AspNetCore.Mvc.ActionContext actionContext, Microsoft.AspNetCore.Mvc.Filters.FilterItem[] cachedFilterItems) { throw null; } + public static Microsoft.AspNetCore.Mvc.Filters.FilterFactoryResult GetAllFilters(Microsoft.AspNetCore.Mvc.Filters.IFilterProvider[] filterProviders, Microsoft.AspNetCore.Mvc.ActionContext actionContext) { throw null; } + } + [System.Runtime.InteropServices.StructLayoutAttribute(System.Runtime.InteropServices.LayoutKind.Sequential)] + internal readonly partial struct FilterFactoryResult + { + private readonly object _dummy; + public FilterFactoryResult(Microsoft.AspNetCore.Mvc.Filters.FilterItem[] cacheableFilters, Microsoft.AspNetCore.Mvc.Filters.IFilterMetadata[] filters) { throw null; } + public Microsoft.AspNetCore.Mvc.Filters.FilterItem[] CacheableFilters { [System.Runtime.CompilerServices.CompilerGeneratedAttribute]get { throw null; } } + public Microsoft.AspNetCore.Mvc.Filters.IFilterMetadata[] Filters { [System.Runtime.CompilerServices.CompilerGeneratedAttribute]get { throw null; } } + } + internal partial interface IMiddlewareFilterFeature + { + Microsoft.AspNetCore.Mvc.Filters.ResourceExecutingContext ResourceExecutingContext { get; } + Microsoft.AspNetCore.Mvc.Filters.ResourceExecutionDelegate ResourceExecutionDelegate { get; } + } + internal partial interface IResponseCacheFilter : Microsoft.AspNetCore.Mvc.Filters.IFilterMetadata + { + } + internal partial class MiddlewareFilter : Microsoft.AspNetCore.Mvc.Filters.IAsyncResourceFilter, Microsoft.AspNetCore.Mvc.Filters.IFilterMetadata + { + public MiddlewareFilter(Microsoft.AspNetCore.Http.RequestDelegate middlewarePipeline) { } + public System.Threading.Tasks.Task OnResourceExecutionAsync(Microsoft.AspNetCore.Mvc.Filters.ResourceExecutingContext context, Microsoft.AspNetCore.Mvc.Filters.ResourceExecutionDelegate next) { throw null; } + } + internal partial class MiddlewareFilterBuilder + { + public MiddlewareFilterBuilder(Microsoft.AspNetCore.Mvc.Filters.MiddlewareFilterConfigurationProvider configurationProvider) { } + public Microsoft.AspNetCore.Builder.IApplicationBuilder ApplicationBuilder { [System.Runtime.CompilerServices.CompilerGeneratedAttribute]get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute]set { } } + public Microsoft.AspNetCore.Http.RequestDelegate GetPipeline(System.Type configurationType) { throw null; } + } + internal partial class MiddlewareFilterBuilderStartupFilter : Microsoft.AspNetCore.Hosting.IStartupFilter + { + public MiddlewareFilterBuilderStartupFilter() { } + public System.Action Configure(System.Action next) { throw null; } + } + internal partial class MiddlewareFilterConfigurationProvider + { + public MiddlewareFilterConfigurationProvider() { } + public System.Action CreateConfigureDelegate(System.Type configurationType) { throw null; } + } + internal partial class MiddlewareFilterFeature : Microsoft.AspNetCore.Mvc.Filters.IMiddlewareFilterFeature + { + public MiddlewareFilterFeature() { } + public Microsoft.AspNetCore.Mvc.Filters.ResourceExecutingContext ResourceExecutingContext { [System.Runtime.CompilerServices.CompilerGeneratedAttribute]get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute]set { } } + public Microsoft.AspNetCore.Mvc.Filters.ResourceExecutionDelegate ResourceExecutionDelegate { [System.Runtime.CompilerServices.CompilerGeneratedAttribute]get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute]set { } } + } + internal partial class RequestFormLimitsFilter : Microsoft.AspNetCore.Mvc.Filters.IAuthorizationFilter, Microsoft.AspNetCore.Mvc.Filters.IFilterMetadata, Microsoft.AspNetCore.Mvc.IRequestFormLimitsPolicy + { + public RequestFormLimitsFilter(Microsoft.Extensions.Logging.ILoggerFactory loggerFactory) { } + public Microsoft.AspNetCore.Http.Features.FormOptions FormOptions { [System.Runtime.CompilerServices.CompilerGeneratedAttribute]get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute]set { } } + public void OnAuthorization(Microsoft.AspNetCore.Mvc.Filters.AuthorizationFilterContext context) { } + } + internal partial class RequestSizeLimitFilter : Microsoft.AspNetCore.Mvc.Filters.IAuthorizationFilter, Microsoft.AspNetCore.Mvc.Filters.IFilterMetadata, Microsoft.AspNetCore.Mvc.IRequestSizePolicy + { + public RequestSizeLimitFilter(Microsoft.Extensions.Logging.ILoggerFactory loggerFactory) { } + public long Bytes { [System.Runtime.CompilerServices.CompilerGeneratedAttribute]get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute]set { } } + public void OnAuthorization(Microsoft.AspNetCore.Mvc.Filters.AuthorizationFilterContext context) { } + } + internal partial class ResponseCacheFilter : Microsoft.AspNetCore.Mvc.Filters.IActionFilter, Microsoft.AspNetCore.Mvc.Filters.IFilterMetadata, Microsoft.AspNetCore.Mvc.Filters.IResponseCacheFilter + { + public ResponseCacheFilter(Microsoft.AspNetCore.Mvc.CacheProfile cacheProfile, Microsoft.Extensions.Logging.ILoggerFactory loggerFactory) { } + public int Duration { get { throw null; } set { } } + public Microsoft.AspNetCore.Mvc.ResponseCacheLocation Location { get { throw null; } set { } } + public bool NoStore { get { throw null; } set { } } + public string VaryByHeader { get { throw null; } set { } } + public string[] VaryByQueryKeys { get { throw null; } set { } } + public void OnActionExecuted(Microsoft.AspNetCore.Mvc.Filters.ActionExecutedContext context) { } + public void OnActionExecuting(Microsoft.AspNetCore.Mvc.Filters.ActionExecutingContext context) { } + } + internal partial class ResponseCacheFilterExecutor + { + public ResponseCacheFilterExecutor(Microsoft.AspNetCore.Mvc.CacheProfile cacheProfile) { } + public int Duration { get { throw null; } set { } } + public Microsoft.AspNetCore.Mvc.ResponseCacheLocation Location { get { throw null; } set { } } + public bool NoStore { get { throw null; } set { } } + public string VaryByHeader { get { throw null; } set { } } + public string[] VaryByQueryKeys { get { throw null; } set { } } + public void Execute(Microsoft.AspNetCore.Mvc.Filters.FilterContext context) { } + } +} +namespace Microsoft.AspNetCore.Mvc.Formatters +{ + internal static partial class AcceptHeaderParser + { + public static System.Collections.Generic.IList ParseAcceptHeader(System.Collections.Generic.IList acceptHeaders) { throw null; } + public static void ParseAcceptHeader(System.Collections.Generic.IList acceptHeaders, System.Collections.Generic.IList parsedValues) { } + } + internal enum HttpParseResult + { + Parsed = 0, + NotParsed = 1, + InvalidFormat = 2, + } + internal static partial class HttpTokenParsingRules + { + internal const char CR = '\r'; + internal static readonly System.Text.Encoding DefaultHttpEncoding; + internal const char LF = '\n'; + internal const int MaxInt32Digits = 10; + internal const int MaxInt64Digits = 19; + internal const char SP = ' '; + internal const char Tab = '\t'; + internal static Microsoft.AspNetCore.Mvc.Formatters.HttpParseResult GetQuotedPairLength(string input, int startIndex, out int length) { throw null; } + internal static Microsoft.AspNetCore.Mvc.Formatters.HttpParseResult GetQuotedStringLength(string input, int startIndex, out int length) { throw null; } + internal static int GetTokenLength(string input, int startIndex) { throw null; } + internal static int GetWhitespaceLength(string input, int startIndex) { throw null; } + internal static bool IsTokenChar(char character) { throw null; } + } + internal partial interface IFormatFilter : Microsoft.AspNetCore.Mvc.Filters.IFilterMetadata + { + string GetFormat(Microsoft.AspNetCore.Mvc.ActionContext context); + } + internal static partial class MediaTypeHeaderValues + { + public static readonly Microsoft.Net.Http.Headers.MediaTypeHeaderValue ApplicationAnyJsonSyntax; + public static readonly Microsoft.Net.Http.Headers.MediaTypeHeaderValue ApplicationAnyXmlSyntax; + public static readonly Microsoft.Net.Http.Headers.MediaTypeHeaderValue ApplicationJson; + public static readonly Microsoft.Net.Http.Headers.MediaTypeHeaderValue ApplicationXml; + public static readonly Microsoft.Net.Http.Headers.MediaTypeHeaderValue TextJson; + public static readonly Microsoft.Net.Http.Headers.MediaTypeHeaderValue TextXml; + } + internal static partial class ResponseContentTypeHelper + { + public static void ResolveContentTypeAndEncoding(string actionResultContentType, string httpResponseContentType, string defaultContentType, out string resolvedContentType, out System.Text.Encoding resolvedContentTypeEncoding) { throw null; } + } + public partial class SystemTextJsonOutputFormatter : Microsoft.AspNetCore.Mvc.Formatters.TextOutputFormatter + { + internal static Microsoft.AspNetCore.Mvc.Formatters.SystemTextJsonOutputFormatter CreateFormatter(Microsoft.AspNetCore.Mvc.JsonOptions jsonOptions) { throw null; } + } + public abstract partial class TextOutputFormatter : Microsoft.AspNetCore.Mvc.Formatters.OutputFormatter + { + internal static System.Collections.Generic.IList GetAcceptCharsetHeaderValues(Microsoft.AspNetCore.Mvc.Formatters.OutputFormatterWriteContext context) { throw null; } + } +} +namespace Microsoft.AspNetCore.Mvc.Formatters.Json +{ + internal sealed partial class TranscodingReadStream : System.IO.Stream + { + internal const int MaxByteBufferSize = 4096; + internal const int MaxCharBufferSize = 12288; + public TranscodingReadStream(System.IO.Stream input, System.Text.Encoding sourceEncoding) { } + internal int ByteBufferCount { get { throw null; } } + public override bool CanRead { get { throw null; } } + public override bool CanSeek { get { throw null; } } + public override bool CanWrite { get { throw null; } } + internal int CharBufferCount { get { throw null; } } + public override long Length { get { throw null; } } + internal int OverflowCount { get { throw null; } } + public override long Position { get { throw null; } set { } } + protected override void Dispose(bool disposing) { } + public override void Flush() { } + public override int Read(byte[] buffer, int offset, int count) { throw null; } + [System.Diagnostics.DebuggerStepThroughAttribute] + public override System.Threading.Tasks.Task ReadAsync(byte[] buffer, int offset, int count, System.Threading.CancellationToken cancellationToken) { throw null; } + public override long Seek(long offset, System.IO.SeekOrigin origin) { throw null; } + public override void SetLength(long value) { } + public override void Write(byte[] buffer, int offset, int count) { } + } + internal sealed partial class TranscodingWriteStream : System.IO.Stream + { + internal const int MaxByteBufferSize = 16384; + internal const int MaxCharBufferSize = 4096; + public TranscodingWriteStream(System.IO.Stream stream, System.Text.Encoding targetEncoding) { } + public override bool CanRead { get { throw null; } } + public override bool CanSeek { get { throw null; } } + public override bool CanWrite { get { throw null; } } + public override long Length { get { throw null; } } + public override long Position { [System.Runtime.CompilerServices.CompilerGeneratedAttribute]get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute]set { } } + protected override void Dispose(bool disposing) { } + [System.Diagnostics.DebuggerStepThroughAttribute] + public System.Threading.Tasks.Task FinalWriteAsync(System.Threading.CancellationToken cancellationToken) { throw null; } + public override void Flush() { } + [System.Diagnostics.DebuggerStepThroughAttribute] + public override System.Threading.Tasks.Task FlushAsync(System.Threading.CancellationToken cancellationToken) { throw null; } + public override int Read(byte[] buffer, int offset, int count) { throw null; } + public override long Seek(long offset, System.IO.SeekOrigin origin) { throw null; } + public override void SetLength(long value) { } + public override void Write(byte[] buffer, int offset, int count) { } + public override System.Threading.Tasks.Task WriteAsync(byte[] buffer, int offset, int count, System.Threading.CancellationToken cancellationToken) { throw null; } + } +} +namespace Microsoft.AspNetCore.Mvc.Infrastructure +{ + public partial class ActionContextAccessor : Microsoft.AspNetCore.Mvc.Infrastructure.IActionContextAccessor + { + internal static readonly Microsoft.AspNetCore.Mvc.Infrastructure.IActionContextAccessor Null; + } + internal partial class ActionInvokerFactory : Microsoft.AspNetCore.Mvc.Infrastructure.IActionInvokerFactory + { + public ActionInvokerFactory(System.Collections.Generic.IEnumerable actionInvokerProviders) { } + public Microsoft.AspNetCore.Mvc.Abstractions.IActionInvoker CreateInvoker(Microsoft.AspNetCore.Mvc.ActionContext actionContext) { throw null; } + } + internal abstract partial class ActionMethodExecutor + { + protected ActionMethodExecutor() { } + protected abstract bool CanExecute(Microsoft.Extensions.Internal.ObjectMethodExecutor executor); + public abstract System.Threading.Tasks.ValueTask Execute(Microsoft.AspNetCore.Mvc.Infrastructure.IActionResultTypeMapper mapper, Microsoft.Extensions.Internal.ObjectMethodExecutor executor, object controller, object[] arguments); + public static Microsoft.AspNetCore.Mvc.Infrastructure.ActionMethodExecutor GetExecutor(Microsoft.Extensions.Internal.ObjectMethodExecutor executor) { throw null; } + } + internal partial class ActionResultTypeMapper : Microsoft.AspNetCore.Mvc.Infrastructure.IActionResultTypeMapper + { + public ActionResultTypeMapper() { } + public Microsoft.AspNetCore.Mvc.IActionResult Convert(object value, System.Type returnType) { throw null; } + public System.Type GetResultDataType(System.Type returnType) { throw null; } + } + internal partial class ActionSelectionTable + { + public int Version { [System.Runtime.CompilerServices.CompilerGeneratedAttribute]get { throw null; } } + public static Microsoft.AspNetCore.Mvc.Infrastructure.ActionSelectionTable Create(Microsoft.AspNetCore.Mvc.Infrastructure.ActionDescriptorCollection actions) { throw null; } + public static Microsoft.AspNetCore.Mvc.Infrastructure.ActionSelectionTable Create(System.Collections.Generic.IEnumerable endpoints) { throw null; } + public System.Collections.Generic.IReadOnlyList Select(Microsoft.AspNetCore.Routing.RouteValueDictionary values) { throw null; } + } + internal partial class ActionSelector : Microsoft.AspNetCore.Mvc.Infrastructure.IActionSelector + { + public ActionSelector(Microsoft.AspNetCore.Mvc.Infrastructure.IActionDescriptorCollectionProvider actionDescriptorCollectionProvider, Microsoft.AspNetCore.Mvc.ActionConstraints.ActionConstraintCache actionConstraintCache, Microsoft.Extensions.Logging.ILoggerFactory loggerFactory) { } + public Microsoft.AspNetCore.Mvc.Abstractions.ActionDescriptor SelectBestCandidate(Microsoft.AspNetCore.Routing.RouteContext context, System.Collections.Generic.IReadOnlyList candidates) { throw null; } + public System.Collections.Generic.IReadOnlyList SelectCandidates(Microsoft.AspNetCore.Routing.RouteContext context) { throw null; } + } + internal sealed partial class AsyncEnumerableReader + { + public AsyncEnumerableReader(Microsoft.AspNetCore.Mvc.MvcOptions mvcOptions) { } + public bool TryGetReader(System.Type type, out System.Func> reader) { throw null; } + } + internal partial class ClientErrorResultFilter : Microsoft.AspNetCore.Mvc.Filters.IAlwaysRunResultFilter, Microsoft.AspNetCore.Mvc.Filters.IFilterMetadata, Microsoft.AspNetCore.Mvc.Filters.IOrderedFilter, Microsoft.AspNetCore.Mvc.Filters.IResultFilter + { + internal const int FilterOrder = -2000; + public ClientErrorResultFilter(Microsoft.AspNetCore.Mvc.Infrastructure.IClientErrorFactory clientErrorFactory, Microsoft.Extensions.Logging.ILogger logger) { } + public int Order { get { throw null; } } + public void OnResultExecuted(Microsoft.AspNetCore.Mvc.Filters.ResultExecutedContext context) { } + public void OnResultExecuting(Microsoft.AspNetCore.Mvc.Filters.ResultExecutingContext context) { } + } + internal sealed partial class ClientErrorResultFilterFactory : Microsoft.AspNetCore.Mvc.Filters.IFilterFactory, Microsoft.AspNetCore.Mvc.Filters.IFilterMetadata, Microsoft.AspNetCore.Mvc.Filters.IOrderedFilter + { + public ClientErrorResultFilterFactory() { } + public bool IsReusable { get { throw null; } } + public int Order { get { throw null; } } + public Microsoft.AspNetCore.Mvc.Filters.IFilterMetadata CreateInstance(System.IServiceProvider serviceProvider) { throw null; } + } + internal partial class ControllerActionInvoker : Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker, Microsoft.AspNetCore.Mvc.Abstractions.IActionInvoker + { + internal ControllerActionInvoker(Microsoft.Extensions.Logging.ILogger logger, System.Diagnostics.DiagnosticListener diagnosticListener, Microsoft.AspNetCore.Mvc.Infrastructure.IActionContextAccessor actionContextAccessor, Microsoft.AspNetCore.Mvc.Infrastructure.IActionResultTypeMapper mapper, Microsoft.AspNetCore.Mvc.ControllerContext controllerContext, Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvokerCacheEntry cacheEntry, Microsoft.AspNetCore.Mvc.Filters.IFilterMetadata[] filters) : base (default(System.Diagnostics.DiagnosticListener), default(Microsoft.Extensions.Logging.ILogger), default(Microsoft.AspNetCore.Mvc.Infrastructure.IActionContextAccessor), default(Microsoft.AspNetCore.Mvc.Infrastructure.IActionResultTypeMapper), default(Microsoft.AspNetCore.Mvc.ActionContext), default(Microsoft.AspNetCore.Mvc.Filters.IFilterMetadata[]), default(System.Collections.Generic.IList)) { } + internal Microsoft.AspNetCore.Mvc.ControllerContext ControllerContext { get { throw null; } } + protected override System.Threading.Tasks.Task InvokeInnerFilterAsync() { throw null; } + protected override void ReleaseResources() { } + } + internal partial class ControllerActionInvokerCache + { + public ControllerActionInvokerCache(Microsoft.AspNetCore.Mvc.Infrastructure.IActionDescriptorCollectionProvider collectionProvider, Microsoft.AspNetCore.Mvc.ModelBinding.ParameterBinder parameterBinder, Microsoft.AspNetCore.Mvc.ModelBinding.IModelBinderFactory modelBinderFactory, Microsoft.AspNetCore.Mvc.ModelBinding.IModelMetadataProvider modelMetadataProvider, System.Collections.Generic.IEnumerable filterProviders, Microsoft.AspNetCore.Mvc.Controllers.IControllerFactoryProvider factoryProvider, Microsoft.Extensions.Options.IOptions mvcOptions) { } + public (Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvokerCacheEntry cacheEntry, Microsoft.AspNetCore.Mvc.Filters.IFilterMetadata[] filters) GetCachedResult(Microsoft.AspNetCore.Mvc.ControllerContext controllerContext) { throw null; } + } + internal partial class ControllerActionInvokerCacheEntry + { + internal ControllerActionInvokerCacheEntry(Microsoft.AspNetCore.Mvc.Filters.FilterItem[] cachedFilters, System.Func controllerFactory, System.Action controllerReleaser, Microsoft.AspNetCore.Mvc.Controllers.ControllerBinderDelegate controllerBinderDelegate, Microsoft.Extensions.Internal.ObjectMethodExecutor objectMethodExecutor, Microsoft.AspNetCore.Mvc.Infrastructure.ActionMethodExecutor actionMethodExecutor) { } + internal Microsoft.AspNetCore.Mvc.Infrastructure.ActionMethodExecutor ActionMethodExecutor { [System.Runtime.CompilerServices.CompilerGeneratedAttribute]get { throw null; } } + public Microsoft.AspNetCore.Mvc.Filters.FilterItem[] CachedFilters { [System.Runtime.CompilerServices.CompilerGeneratedAttribute]get { throw null; } } + public Microsoft.AspNetCore.Mvc.Controllers.ControllerBinderDelegate ControllerBinderDelegate { [System.Runtime.CompilerServices.CompilerGeneratedAttribute]get { throw null; } } + public System.Func ControllerFactory { [System.Runtime.CompilerServices.CompilerGeneratedAttribute]get { throw null; } } + public System.Action ControllerReleaser { [System.Runtime.CompilerServices.CompilerGeneratedAttribute]get { throw null; } } + internal Microsoft.Extensions.Internal.ObjectMethodExecutor ObjectMethodExecutor { [System.Runtime.CompilerServices.CompilerGeneratedAttribute]get { throw null; } } + } + internal partial class ControllerActionInvokerProvider : Microsoft.AspNetCore.Mvc.Abstractions.IActionInvokerProvider + { + public ControllerActionInvokerProvider(Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvokerCache controllerActionInvokerCache, Microsoft.Extensions.Options.IOptions optionsAccessor, Microsoft.Extensions.Logging.ILoggerFactory loggerFactory, System.Diagnostics.DiagnosticListener diagnosticListener, Microsoft.AspNetCore.Mvc.Infrastructure.IActionResultTypeMapper mapper) { } + public ControllerActionInvokerProvider(Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvokerCache controllerActionInvokerCache, Microsoft.Extensions.Options.IOptions optionsAccessor, Microsoft.Extensions.Logging.ILoggerFactory loggerFactory, System.Diagnostics.DiagnosticListener diagnosticListener, Microsoft.AspNetCore.Mvc.Infrastructure.IActionResultTypeMapper mapper, Microsoft.AspNetCore.Mvc.Infrastructure.IActionContextAccessor actionContextAccessor) { } + public int Order { get { throw null; } } + public void OnProvidersExecuted(Microsoft.AspNetCore.Mvc.Abstractions.ActionInvokerProviderContext context) { } + public void OnProvidersExecuting(Microsoft.AspNetCore.Mvc.Abstractions.ActionInvokerProviderContext context) { } + } + internal partial class CopyOnWriteList : System.Collections.Generic.ICollection, System.Collections.Generic.IEnumerable, System.Collections.Generic.IList, System.Collections.IEnumerable + { + public CopyOnWriteList(System.Collections.Generic.IReadOnlyList source) { } + public int Count { get { throw null; } } + public bool IsReadOnly { get { throw null; } } + public T this[int index] { get { throw null; } set { } } + public void Add(T item) { } + public void Clear() { } + public bool Contains(T item) { throw null; } + public void CopyTo(T[] array, int arrayIndex) { } + public System.Collections.Generic.IEnumerator GetEnumerator() { throw null; } + public int IndexOf(T item) { throw null; } + public void Insert(int index, T item) { } + public bool Remove(T item) { throw null; } + public void RemoveAt(int index) { } + System.Collections.IEnumerator System.Collections.IEnumerable.GetEnumerator() { throw null; } + } + internal partial class DefaultActionDescriptorCollectionProvider : Microsoft.AspNetCore.Mvc.Infrastructure.ActionDescriptorCollectionProvider + { + public DefaultActionDescriptorCollectionProvider(System.Collections.Generic.IEnumerable actionDescriptorProviders, System.Collections.Generic.IEnumerable actionDescriptorChangeProviders) { } + public override Microsoft.AspNetCore.Mvc.Infrastructure.ActionDescriptorCollection ActionDescriptors { get { throw null; } } + public override Microsoft.Extensions.Primitives.IChangeToken GetChangeToken() { throw null; } + } + internal sealed partial class DefaultProblemDetailsFactory : Microsoft.AspNetCore.Mvc.Infrastructure.ProblemDetailsFactory + { + public DefaultProblemDetailsFactory(Microsoft.Extensions.Options.IOptions options) { } + public override Microsoft.AspNetCore.Mvc.ProblemDetails CreateProblemDetails(Microsoft.AspNetCore.Http.HttpContext httpContext, int? statusCode = default(int?), string title = null, string type = null, string detail = null, string instance = null) { throw null; } + public override Microsoft.AspNetCore.Mvc.ValidationProblemDetails CreateValidationProblemDetails(Microsoft.AspNetCore.Http.HttpContext httpContext, Microsoft.AspNetCore.Mvc.ModelBinding.ModelStateDictionary modelStateDictionary, int? statusCode = default(int?), string title = null, string type = null, string detail = null, string instance = null) { throw null; } + } + public partial class FileResultExecutorBase + { + internal Microsoft.AspNetCore.Mvc.Infrastructure.FileResultExecutorBase.PreconditionState GetPreconditionState(Microsoft.AspNetCore.Http.Headers.RequestHeaders httpRequestHeaders, System.DateTimeOffset? lastModified = default(System.DateTimeOffset?), Microsoft.Net.Http.Headers.EntityTagHeaderValue etag = null) { throw null; } + internal bool IfRangeValid(Microsoft.AspNetCore.Http.Headers.RequestHeaders httpRequestHeaders, System.DateTimeOffset? lastModified = default(System.DateTimeOffset?), Microsoft.Net.Http.Headers.EntityTagHeaderValue etag = null) { throw null; } + internal enum PreconditionState + { + Unspecified = 0, + NotModified = 1, + ShouldProcess = 2, + PreconditionFailed = 3, + } + } + internal partial interface ITypeActivatorCache + { + TInstance CreateInstance(System.IServiceProvider serviceProvider, System.Type optionType); + } + internal partial class MemoryPoolHttpRequestStreamReaderFactory : Microsoft.AspNetCore.Mvc.Infrastructure.IHttpRequestStreamReaderFactory + { + public static readonly int DefaultBufferSize; + public MemoryPoolHttpRequestStreamReaderFactory(System.Buffers.ArrayPool bytePool, System.Buffers.ArrayPool charPool) { } + public System.IO.TextReader CreateReader(System.IO.Stream stream, System.Text.Encoding encoding) { throw null; } + } + internal partial class MemoryPoolHttpResponseStreamWriterFactory : Microsoft.AspNetCore.Mvc.Infrastructure.IHttpResponseStreamWriterFactory + { + public static readonly int DefaultBufferSize; + public MemoryPoolHttpResponseStreamWriterFactory(System.Buffers.ArrayPool bytePool, System.Buffers.ArrayPool charPool) { } + public System.IO.TextWriter CreateWriter(System.IO.Stream stream, System.Text.Encoding encoding) { throw null; } + } + public partial class ModelStateInvalidFilter : Microsoft.AspNetCore.Mvc.Filters.IActionFilter, Microsoft.AspNetCore.Mvc.Filters.IFilterMetadata, Microsoft.AspNetCore.Mvc.Filters.IOrderedFilter + { + internal const int FilterOrder = -2000; + } + internal partial class ModelStateInvalidFilterFactory : Microsoft.AspNetCore.Mvc.Filters.IFilterFactory, Microsoft.AspNetCore.Mvc.Filters.IFilterMetadata, Microsoft.AspNetCore.Mvc.Filters.IOrderedFilter + { + public ModelStateInvalidFilterFactory() { } + public bool IsReusable { get { throw null; } } + public int Order { get { throw null; } } + public Microsoft.AspNetCore.Mvc.Filters.IFilterMetadata CreateInstance(System.IServiceProvider serviceProvider) { throw null; } + } + internal partial class MvcOptionsConfigureCompatibilityOptions : Microsoft.AspNetCore.Mvc.Infrastructure.ConfigureCompatibilityOptions + { + public MvcOptionsConfigureCompatibilityOptions(Microsoft.Extensions.Logging.ILoggerFactory loggerFactory, Microsoft.Extensions.Options.IOptions compatibilityOptions) : base (default(Microsoft.Extensions.Logging.ILoggerFactory), default(Microsoft.Extensions.Options.IOptions)) { } + protected override System.Collections.Generic.IReadOnlyDictionary DefaultValues { get { throw null; } } + } + internal partial class NonDisposableStream : System.IO.Stream + { + public NonDisposableStream(System.IO.Stream innerStream) { } + public override bool CanRead { get { throw null; } } + public override bool CanSeek { get { throw null; } } + public override bool CanTimeout { get { throw null; } } + public override bool CanWrite { get { throw null; } } + public override long Length { get { throw null; } } + public override long Position { get { throw null; } set { } } + public override int ReadTimeout { get { throw null; } set { } } + public override int WriteTimeout { get { throw null; } set { } } + public override System.IAsyncResult BeginRead(byte[] buffer, int offset, int count, System.AsyncCallback callback, object state) { throw null; } + public override System.IAsyncResult BeginWrite(byte[] buffer, int offset, int count, System.AsyncCallback callback, object state) { throw null; } + public override void Close() { } + public override System.Threading.Tasks.Task CopyToAsync(System.IO.Stream destination, int bufferSize, System.Threading.CancellationToken cancellationToken) { throw null; } + protected override void Dispose(bool disposing) { } + public override int EndRead(System.IAsyncResult asyncResult) { throw null; } + public override void EndWrite(System.IAsyncResult asyncResult) { } + public override void Flush() { } + public override System.Threading.Tasks.Task FlushAsync(System.Threading.CancellationToken cancellationToken) { throw null; } + public override int Read(byte[] buffer, int offset, int count) { throw null; } + public override System.Threading.Tasks.Task ReadAsync(byte[] buffer, int offset, int count, System.Threading.CancellationToken cancellationToken) { throw null; } + public override int ReadByte() { throw null; } + public override long Seek(long offset, System.IO.SeekOrigin origin) { throw null; } + public override void SetLength(long value) { } + public override void Write(byte[] buffer, int offset, int count) { } + public override System.Threading.Tasks.Task WriteAsync(byte[] buffer, int offset, int count, System.Threading.CancellationToken cancellationToken) { throw null; } + public override void WriteByte(byte value) { } + } + internal partial class NullableCompatibilitySwitch : Microsoft.AspNetCore.Mvc.Infrastructure.ICompatibilitySwitch where TValue : struct + { + public NullableCompatibilitySwitch(string name) { } + public bool IsValueSet { [System.Runtime.CompilerServices.CompilerGeneratedAttribute]get { throw null; } } + object Microsoft.AspNetCore.Mvc.Infrastructure.ICompatibilitySwitch.Value { get { throw null; } set { } } + public string Name { [System.Runtime.CompilerServices.CompilerGeneratedAttribute]get { throw null; } } + public TValue? Value { get { throw null; } set { } } + } + internal static partial class ParameterDefaultValues + { + public static object[] GetParameterDefaultValues(System.Reflection.MethodInfo methodInfo) { throw null; } + public static bool TryGetDeclaredParameterDefaultValue(System.Reflection.ParameterInfo parameterInfo, out object defaultValue) { throw null; } + } + internal partial class ProblemDetailsClientErrorFactory : Microsoft.AspNetCore.Mvc.Infrastructure.IClientErrorFactory + { + public ProblemDetailsClientErrorFactory(Microsoft.AspNetCore.Mvc.Infrastructure.ProblemDetailsFactory problemDetailsFactory) { } + public Microsoft.AspNetCore.Mvc.IActionResult GetClientError(Microsoft.AspNetCore.Mvc.ActionContext actionContext, Microsoft.AspNetCore.Mvc.Infrastructure.IClientErrorActionResult clientError) { throw null; } + } + internal partial class ProblemDetailsJsonConverter : System.Text.Json.Serialization.JsonConverter + { + public ProblemDetailsJsonConverter() { } + public override Microsoft.AspNetCore.Mvc.ProblemDetails Read(ref System.Text.Json.Utf8JsonReader reader, System.Type typeToConvert, System.Text.Json.JsonSerializerOptions options) { throw null; } + internal static void ReadValue(ref System.Text.Json.Utf8JsonReader reader, Microsoft.AspNetCore.Mvc.ProblemDetails value, System.Text.Json.JsonSerializerOptions options) { } + internal static bool TryReadStringProperty(ref System.Text.Json.Utf8JsonReader reader, System.Text.Json.JsonEncodedText propertyName, out string value) { throw null; } + public override void Write(System.Text.Json.Utf8JsonWriter writer, Microsoft.AspNetCore.Mvc.ProblemDetails value, System.Text.Json.JsonSerializerOptions options) { } + internal static void WriteProblemDetails(System.Text.Json.Utf8JsonWriter writer, Microsoft.AspNetCore.Mvc.ProblemDetails value, System.Text.Json.JsonSerializerOptions options) { } + } +#nullable enable + internal abstract partial class ResourceInvoker + { + protected readonly Microsoft.AspNetCore.Mvc.ActionContext _actionContext; + protected readonly Microsoft.AspNetCore.Mvc.Infrastructure.IActionContextAccessor _actionContextAccessor; + protected Microsoft.AspNetCore.Mvc.Filters.FilterCursor _cursor; + protected readonly System.Diagnostics.DiagnosticListener _diagnosticListener; + protected readonly Microsoft.AspNetCore.Mvc.Filters.IFilterMetadata[] _filters; + protected object? _instance; + protected readonly Microsoft.Extensions.Logging.ILogger _logger; + protected readonly Microsoft.AspNetCore.Mvc.Infrastructure.IActionResultTypeMapper _mapper; + protected Microsoft.AspNetCore.Mvc.IActionResult? _result; + protected readonly System.Collections.Generic.IList _valueProviderFactories; + public ResourceInvoker(System.Diagnostics.DiagnosticListener diagnosticListener, Microsoft.Extensions.Logging.ILogger logger, Microsoft.AspNetCore.Mvc.Infrastructure.IActionContextAccessor actionContextAccessor, Microsoft.AspNetCore.Mvc.Infrastructure.IActionResultTypeMapper mapper, Microsoft.AspNetCore.Mvc.ActionContext actionContext, Microsoft.AspNetCore.Mvc.Filters.IFilterMetadata[] filters, System.Collections.Generic.IList valueProviderFactories) + { + _actionContext = actionContext; + _actionContextAccessor = actionContextAccessor; + _diagnosticListener = diagnosticListener; + _filters = filters; + _logger = logger; + _mapper = mapper; + _valueProviderFactories = valueProviderFactories; + } + public virtual System.Threading.Tasks.Task InvokeAsync() { throw new System.ArgumentException(); } + protected abstract System.Threading.Tasks.Task InvokeInnerFilterAsync(); + protected virtual System.Threading.Tasks.Task InvokeResultAsync(Microsoft.AspNetCore.Mvc.IActionResult result) { throw new System.ArgumentException(); } + protected abstract void ReleaseResources(); + } +#nullable restore + internal partial class StringArrayComparer : System.Collections.Generic.IEqualityComparer + { + public static readonly Microsoft.AspNetCore.Mvc.Infrastructure.StringArrayComparer Ordinal; + public static readonly Microsoft.AspNetCore.Mvc.Infrastructure.StringArrayComparer OrdinalIgnoreCase; + public bool Equals(string[] x, string[] y) { throw null; } + public int GetHashCode(string[] obj) { throw null; } + } + internal sealed partial class SystemTextJsonResultExecutor : Microsoft.AspNetCore.Mvc.Infrastructure.IActionResultExecutor + { + public SystemTextJsonResultExecutor(Microsoft.Extensions.Options.IOptions options, Microsoft.Extensions.Logging.ILogger logger, Microsoft.Extensions.Options.IOptions mvcOptions) { } + [System.Diagnostics.DebuggerStepThroughAttribute] + public System.Threading.Tasks.Task ExecuteAsync(Microsoft.AspNetCore.Mvc.ActionContext context, Microsoft.AspNetCore.Mvc.JsonResult result) { throw null; } + } + internal partial class TypeActivatorCache : Microsoft.AspNetCore.Mvc.Infrastructure.ITypeActivatorCache + { + public TypeActivatorCache() { } + public TInstance CreateInstance(System.IServiceProvider serviceProvider, System.Type implementationType) { throw null; } + } + internal partial class ValidationProblemDetailsJsonConverter : System.Text.Json.Serialization.JsonConverter + { + public ValidationProblemDetailsJsonConverter() { } + public override Microsoft.AspNetCore.Mvc.ValidationProblemDetails Read(ref System.Text.Json.Utf8JsonReader reader, System.Type typeToConvert, System.Text.Json.JsonSerializerOptions options) { throw null; } + public override void Write(System.Text.Json.Utf8JsonWriter writer, Microsoft.AspNetCore.Mvc.ValidationProblemDetails value, System.Text.Json.JsonSerializerOptions options) { } + } +} +namespace Microsoft.AspNetCore.Mvc.ModelBinding +{ + public partial class CompositeValueProvider : System.Collections.ObjectModel.Collection, Microsoft.AspNetCore.Mvc.ModelBinding.IBindingSourceValueProvider, Microsoft.AspNetCore.Mvc.ModelBinding.IEnumerableValueProvider, Microsoft.AspNetCore.Mvc.ModelBinding.IKeyRewriterValueProvider, Microsoft.AspNetCore.Mvc.ModelBinding.IValueProvider + { + [System.Diagnostics.DebuggerStepThroughAttribute] + internal static System.Threading.Tasks.ValueTask> TryCreateAsync(Microsoft.AspNetCore.Mvc.ActionContext actionContext, System.Collections.Generic.IList factories) { throw null; } + } + internal partial class ElementalValueProvider : Microsoft.AspNetCore.Mvc.ModelBinding.IValueProvider + { + public ElementalValueProvider(string key, string value, System.Globalization.CultureInfo culture) { } + public System.Globalization.CultureInfo Culture { [System.Runtime.CompilerServices.CompilerGeneratedAttribute]get { throw null; } } + public string Key { [System.Runtime.CompilerServices.CompilerGeneratedAttribute]get { throw null; } } + public string Value { [System.Runtime.CompilerServices.CompilerGeneratedAttribute]get { throw null; } } + public bool ContainsPrefix(string prefix) { throw null; } + public Microsoft.AspNetCore.Mvc.ModelBinding.ValueProviderResult GetValue(string key) { throw null; } + } + public partial class ModelAttributes + { + internal ModelAttributes(System.Collections.Generic.IEnumerable typeAttributes, System.Collections.Generic.IEnumerable propertyAttributes, System.Collections.Generic.IEnumerable parameterAttributes) { } + } + internal static partial class ModelBindingHelper + { + public static bool CanGetCompatibleCollection(Microsoft.AspNetCore.Mvc.ModelBinding.ModelBindingContext bindingContext) { throw null; } + internal static TModel CastOrDefault(object model) { throw null; } + public static void ClearValidationStateForModel(Microsoft.AspNetCore.Mvc.ModelBinding.ModelMetadata modelMetadata, Microsoft.AspNetCore.Mvc.ModelBinding.ModelStateDictionary modelState, string modelKey) { } + public static void ClearValidationStateForModel(System.Type modelType, Microsoft.AspNetCore.Mvc.ModelBinding.ModelStateDictionary modelState, Microsoft.AspNetCore.Mvc.ModelBinding.IModelMetadataProvider metadataProvider, string modelKey) { } + public static object ConvertTo(object value, System.Type type, System.Globalization.CultureInfo culture) { throw null; } + public static T ConvertTo(object value, System.Globalization.CultureInfo culture) { throw null; } + public static System.Collections.Generic.ICollection GetCompatibleCollection(Microsoft.AspNetCore.Mvc.ModelBinding.ModelBindingContext bindingContext) { throw null; } + public static System.Collections.Generic.ICollection GetCompatibleCollection(Microsoft.AspNetCore.Mvc.ModelBinding.ModelBindingContext bindingContext, int capacity) { throw null; } + public static System.Linq.Expressions.Expression> GetPropertyFilterExpression(System.Linq.Expressions.Expression>[] expressions) { throw null; } + internal static string GetPropertyName(System.Linq.Expressions.Expression expression) { throw null; } + public static System.Threading.Tasks.Task TryUpdateModelAsync(object model, System.Type modelType, string prefix, Microsoft.AspNetCore.Mvc.ActionContext actionContext, Microsoft.AspNetCore.Mvc.ModelBinding.IModelMetadataProvider metadataProvider, Microsoft.AspNetCore.Mvc.ModelBinding.IModelBinderFactory modelBinderFactory, Microsoft.AspNetCore.Mvc.ModelBinding.IValueProvider valueProvider, Microsoft.AspNetCore.Mvc.ModelBinding.Validation.IObjectModelValidator objectModelValidator) { throw null; } + [System.Diagnostics.DebuggerStepThroughAttribute] + public static System.Threading.Tasks.Task TryUpdateModelAsync(object model, System.Type modelType, string prefix, Microsoft.AspNetCore.Mvc.ActionContext actionContext, Microsoft.AspNetCore.Mvc.ModelBinding.IModelMetadataProvider metadataProvider, Microsoft.AspNetCore.Mvc.ModelBinding.IModelBinderFactory modelBinderFactory, Microsoft.AspNetCore.Mvc.ModelBinding.IValueProvider valueProvider, Microsoft.AspNetCore.Mvc.ModelBinding.Validation.IObjectModelValidator objectModelValidator, System.Func propertyFilter) { throw null; } + public static System.Threading.Tasks.Task TryUpdateModelAsync(TModel model, string prefix, Microsoft.AspNetCore.Mvc.ActionContext actionContext, Microsoft.AspNetCore.Mvc.ModelBinding.IModelMetadataProvider metadataProvider, Microsoft.AspNetCore.Mvc.ModelBinding.IModelBinderFactory modelBinderFactory, Microsoft.AspNetCore.Mvc.ModelBinding.IValueProvider valueProvider, Microsoft.AspNetCore.Mvc.ModelBinding.Validation.IObjectModelValidator objectModelValidator) where TModel : class { throw null; } + public static System.Threading.Tasks.Task TryUpdateModelAsync(TModel model, string prefix, Microsoft.AspNetCore.Mvc.ActionContext actionContext, Microsoft.AspNetCore.Mvc.ModelBinding.IModelMetadataProvider metadataProvider, Microsoft.AspNetCore.Mvc.ModelBinding.IModelBinderFactory modelBinderFactory, Microsoft.AspNetCore.Mvc.ModelBinding.IValueProvider valueProvider, Microsoft.AspNetCore.Mvc.ModelBinding.Validation.IObjectModelValidator objectModelValidator, System.Func propertyFilter) where TModel : class { throw null; } + public static System.Threading.Tasks.Task TryUpdateModelAsync(TModel model, string prefix, Microsoft.AspNetCore.Mvc.ActionContext actionContext, Microsoft.AspNetCore.Mvc.ModelBinding.IModelMetadataProvider metadataProvider, Microsoft.AspNetCore.Mvc.ModelBinding.IModelBinderFactory modelBinderFactory, Microsoft.AspNetCore.Mvc.ModelBinding.IValueProvider valueProvider, Microsoft.AspNetCore.Mvc.ModelBinding.Validation.IObjectModelValidator objectModelValidator, params System.Linq.Expressions.Expression>[] includeExpressions) where TModel : class { throw null; } + } + internal partial class NoOpBinder : Microsoft.AspNetCore.Mvc.ModelBinding.IModelBinder + { + public static readonly Microsoft.AspNetCore.Mvc.ModelBinding.IModelBinder Instance; + public NoOpBinder() { } + public System.Threading.Tasks.Task BindModelAsync(Microsoft.AspNetCore.Mvc.ModelBinding.ModelBindingContext bindingContext) { throw null; } + } + internal partial class PlaceholderBinder : Microsoft.AspNetCore.Mvc.ModelBinding.IModelBinder + { + public PlaceholderBinder() { } + public Microsoft.AspNetCore.Mvc.ModelBinding.IModelBinder Inner { [System.Runtime.CompilerServices.CompilerGeneratedAttribute]get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute]set { } } + public System.Threading.Tasks.Task BindModelAsync(Microsoft.AspNetCore.Mvc.ModelBinding.ModelBindingContext bindingContext) { throw null; } + } + internal static partial class PropertyValueSetter + { + public static void SetValue(Microsoft.AspNetCore.Mvc.ModelBinding.ModelMetadata metadata, object instance, object value) { } + } + internal partial class ReferenceEqualityComparer : System.Collections.Generic.IEqualityComparer + { + public ReferenceEqualityComparer() { } + public static Microsoft.AspNetCore.Mvc.ModelBinding.ReferenceEqualityComparer Instance { [System.Runtime.CompilerServices.CompilerGeneratedAttribute]get { throw null; } } + public new bool Equals(object x, object y) { throw null; } + public int GetHashCode(object obj) { throw null; } + } +} +namespace Microsoft.AspNetCore.Mvc.ModelBinding.Binders +{ + public partial class CollectionModelBinder : Microsoft.AspNetCore.Mvc.ModelBinding.ICollectionModelBinder, Microsoft.AspNetCore.Mvc.ModelBinding.IModelBinder + { + internal bool AllowValidatingTopLevelNodes { [System.Runtime.CompilerServices.CompilerGeneratedAttribute]get { throw null; } } + [System.Diagnostics.DebuggerStepThroughAttribute] + internal System.Threading.Tasks.Task.CollectionResult> BindComplexCollectionFromIndexes(Microsoft.AspNetCore.Mvc.ModelBinding.ModelBindingContext bindingContext, System.Collections.Generic.IEnumerable indexNames) { throw null; } + [System.Diagnostics.DebuggerStepThroughAttribute] + internal System.Threading.Tasks.Task.CollectionResult> BindSimpleCollection(Microsoft.AspNetCore.Mvc.ModelBinding.ModelBindingContext bindingContext, Microsoft.AspNetCore.Mvc.ModelBinding.ValueProviderResult values) { throw null; } + internal partial class CollectionResult + { + public CollectionResult() { } + public System.Collections.Generic.IEnumerable Model { [System.Runtime.CompilerServices.CompilerGeneratedAttribute]get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute]set { } } + public Microsoft.AspNetCore.Mvc.ModelBinding.Validation.IValidationStrategy ValidationStrategy { [System.Runtime.CompilerServices.CompilerGeneratedAttribute]get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute]set { } } + } + } + public partial class ComplexTypeModelBinder : Microsoft.AspNetCore.Mvc.ModelBinding.IModelBinder + { + internal const int GreedyPropertiesMayHaveData = 1; + internal const int NoDataAvailable = 0; + internal const int ValueProviderDataAvailable = 2; + internal int CanCreateModel(Microsoft.AspNetCore.Mvc.ModelBinding.ModelBindingContext bindingContext) { throw null; } + internal static bool CanUpdatePropertyInternal(Microsoft.AspNetCore.Mvc.ModelBinding.ModelMetadata propertyMetadata) { throw null; } + } + public partial class FloatingPointTypeModelBinderProvider : Microsoft.AspNetCore.Mvc.ModelBinding.IModelBinderProvider + { + internal static readonly System.Globalization.NumberStyles SupportedStyles; + } + public partial class HeaderModelBinder : Microsoft.AspNetCore.Mvc.ModelBinding.IModelBinder + { + internal Microsoft.AspNetCore.Mvc.ModelBinding.IModelBinder InnerModelBinder { [System.Runtime.CompilerServices.CompilerGeneratedAttribute]get { throw null; } } + } + public partial class KeyValuePairModelBinder : Microsoft.AspNetCore.Mvc.ModelBinding.IModelBinder + { + [System.Diagnostics.DebuggerStepThroughAttribute] + internal System.Threading.Tasks.Task TryBindStrongModel(Microsoft.AspNetCore.Mvc.ModelBinding.ModelBindingContext bindingContext, Microsoft.AspNetCore.Mvc.ModelBinding.IModelBinder binder, string propertyName, string propertyModelName) { throw null; } + } +} +namespace Microsoft.AspNetCore.Mvc.ModelBinding.Metadata +{ + internal partial class DefaultBindingMetadataProvider : Microsoft.AspNetCore.Mvc.ModelBinding.Metadata.IBindingMetadataProvider, Microsoft.AspNetCore.Mvc.ModelBinding.Metadata.IMetadataDetailsProvider + { + public DefaultBindingMetadataProvider() { } + public void CreateBindingMetadata(Microsoft.AspNetCore.Mvc.ModelBinding.Metadata.BindingMetadataProviderContext context) { } + } + internal partial class DefaultCompositeMetadataDetailsProvider : Microsoft.AspNetCore.Mvc.ModelBinding.Metadata.IBindingMetadataProvider, Microsoft.AspNetCore.Mvc.ModelBinding.Metadata.ICompositeMetadataDetailsProvider, Microsoft.AspNetCore.Mvc.ModelBinding.Metadata.IDisplayMetadataProvider, Microsoft.AspNetCore.Mvc.ModelBinding.Metadata.IMetadataDetailsProvider, Microsoft.AspNetCore.Mvc.ModelBinding.Metadata.IValidationMetadataProvider + { + public DefaultCompositeMetadataDetailsProvider(System.Collections.Generic.IEnumerable providers) { } + public void CreateBindingMetadata(Microsoft.AspNetCore.Mvc.ModelBinding.Metadata.BindingMetadataProviderContext context) { } + public void CreateDisplayMetadata(Microsoft.AspNetCore.Mvc.ModelBinding.Metadata.DisplayMetadataProviderContext context) { } + public void CreateValidationMetadata(Microsoft.AspNetCore.Mvc.ModelBinding.Metadata.ValidationMetadataProviderContext context) { } + } + public partial class DefaultModelMetadata : Microsoft.AspNetCore.Mvc.ModelBinding.ModelMetadata + { + internal static bool CalculateHasValidators(System.Collections.Generic.HashSet visited, Microsoft.AspNetCore.Mvc.ModelBinding.ModelMetadata metadata) { throw null; } + } + internal partial class DefaultValidationMetadataProvider : Microsoft.AspNetCore.Mvc.ModelBinding.Metadata.IMetadataDetailsProvider, Microsoft.AspNetCore.Mvc.ModelBinding.Metadata.IValidationMetadataProvider + { + public DefaultValidationMetadataProvider() { } + public void CreateValidationMetadata(Microsoft.AspNetCore.Mvc.ModelBinding.Metadata.ValidationMetadataProviderContext context) { } + } +} +namespace Microsoft.AspNetCore.Mvc.ModelBinding.Validation +{ + internal partial class DefaultCollectionValidationStrategy : Microsoft.AspNetCore.Mvc.ModelBinding.Validation.IValidationStrategy + { + public static readonly Microsoft.AspNetCore.Mvc.ModelBinding.Validation.DefaultCollectionValidationStrategy Instance; + public System.Collections.Generic.IEnumerator GetChildren(Microsoft.AspNetCore.Mvc.ModelBinding.ModelMetadata metadata, string key, object model) { throw null; } + public System.Collections.IEnumerator GetEnumeratorForElementType(Microsoft.AspNetCore.Mvc.ModelBinding.ModelMetadata metadata, object model) { throw null; } + } + internal partial class DefaultComplexObjectValidationStrategy : Microsoft.AspNetCore.Mvc.ModelBinding.Validation.IValidationStrategy + { + public static readonly Microsoft.AspNetCore.Mvc.ModelBinding.Validation.IValidationStrategy Instance; + public System.Collections.Generic.IEnumerator GetChildren(Microsoft.AspNetCore.Mvc.ModelBinding.ModelMetadata metadata, string key, object model) { throw null; } + } + internal partial class DefaultModelValidatorProvider : Microsoft.AspNetCore.Mvc.ModelBinding.Validation.IMetadataBasedModelValidatorProvider, Microsoft.AspNetCore.Mvc.ModelBinding.Validation.IModelValidatorProvider + { + public DefaultModelValidatorProvider() { } + public void CreateValidators(Microsoft.AspNetCore.Mvc.ModelBinding.Validation.ModelValidatorProviderContext context) { } + public bool HasValidators(System.Type modelType, System.Collections.Generic.IList validatorMetadata) { throw null; } + } + internal partial class DefaultObjectValidator : Microsoft.AspNetCore.Mvc.ModelBinding.ObjectModelValidator + { + public DefaultObjectValidator(Microsoft.AspNetCore.Mvc.ModelBinding.IModelMetadataProvider modelMetadataProvider, System.Collections.Generic.IList validatorProviders, Microsoft.AspNetCore.Mvc.MvcOptions mvcOptions) : base (default(Microsoft.AspNetCore.Mvc.ModelBinding.IModelMetadataProvider), default(System.Collections.Generic.IList)) { } + public override Microsoft.AspNetCore.Mvc.ModelBinding.Validation.ValidationVisitor GetValidationVisitor(Microsoft.AspNetCore.Mvc.ActionContext actionContext, Microsoft.AspNetCore.Mvc.ModelBinding.Validation.IModelValidatorProvider validatorProvider, Microsoft.AspNetCore.Mvc.ModelBinding.Validation.ValidatorCache validatorCache, Microsoft.AspNetCore.Mvc.ModelBinding.IModelMetadataProvider metadataProvider, Microsoft.AspNetCore.Mvc.ModelBinding.Validation.ValidationStateDictionary validationState) { throw null; } + } + internal partial class ExplicitIndexCollectionValidationStrategy : Microsoft.AspNetCore.Mvc.ModelBinding.Validation.IValidationStrategy + { + public ExplicitIndexCollectionValidationStrategy(System.Collections.Generic.IEnumerable elementKeys) { } + public System.Collections.Generic.IEnumerable ElementKeys { [System.Runtime.CompilerServices.CompilerGeneratedAttribute]get { throw null; } } + public System.Collections.Generic.IEnumerator GetChildren(Microsoft.AspNetCore.Mvc.ModelBinding.ModelMetadata metadata, string key, object model) { throw null; } + } + internal partial class HasValidatorsValidationMetadataProvider : Microsoft.AspNetCore.Mvc.ModelBinding.Metadata.IMetadataDetailsProvider, Microsoft.AspNetCore.Mvc.ModelBinding.Metadata.IValidationMetadataProvider + { + public HasValidatorsValidationMetadataProvider(System.Collections.Generic.IList modelValidatorProviders) { } + public void CreateValidationMetadata(Microsoft.AspNetCore.Mvc.ModelBinding.Metadata.ValidationMetadataProviderContext context) { } + } + internal partial class ShortFormDictionaryValidationStrategy : Microsoft.AspNetCore.Mvc.ModelBinding.Validation.IValidationStrategy + { + public ShortFormDictionaryValidationStrategy(System.Collections.Generic.IEnumerable> keyMappings, Microsoft.AspNetCore.Mvc.ModelBinding.ModelMetadata valueMetadata) { } + public System.Collections.Generic.IEnumerable> KeyMappings { [System.Runtime.CompilerServices.CompilerGeneratedAttribute]get { throw null; } } + public System.Collections.Generic.IEnumerator GetChildren(Microsoft.AspNetCore.Mvc.ModelBinding.ModelMetadata metadata, string key, object model) { throw null; } + } + internal partial class ValidationStack + { + internal const int CutOff = 20; + public ValidationStack() { } + public int Count { get { throw null; } } + internal System.Collections.Generic.HashSet HashSet { [System.Runtime.CompilerServices.CompilerGeneratedAttribute]get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute]set { } } + internal System.Collections.Generic.List List { [System.Runtime.CompilerServices.CompilerGeneratedAttribute]get { throw null; } } + public void Pop(object model) { } + public bool Push(object model) { throw null; } + } +} +namespace Microsoft.AspNetCore.Mvc.Routing +{ + internal partial class ActionConstraintMatcherPolicy : Microsoft.AspNetCore.Routing.MatcherPolicy, Microsoft.AspNetCore.Routing.Matching.IEndpointSelectorPolicy + { + internal static readonly Microsoft.AspNetCore.Mvc.Abstractions.ActionDescriptor NonAction; + public ActionConstraintMatcherPolicy(Microsoft.AspNetCore.Mvc.ActionConstraints.ActionConstraintCache actionConstraintCache) { } + public override int Order { get { throw null; } } + public bool AppliesToEndpoints(System.Collections.Generic.IReadOnlyList endpoints) { throw null; } + public System.Threading.Tasks.Task ApplyAsync(Microsoft.AspNetCore.Http.HttpContext httpContext, Microsoft.AspNetCore.Routing.Matching.CandidateSet candidateSet) { throw null; } + } + internal abstract partial class ActionEndpointDataSourceBase : Microsoft.AspNetCore.Routing.EndpointDataSource, System.IDisposable + { + protected readonly System.Collections.Generic.List> Conventions; + protected readonly object Lock; + public ActionEndpointDataSourceBase(Microsoft.AspNetCore.Mvc.Infrastructure.IActionDescriptorCollectionProvider actions) { } + public override System.Collections.Generic.IReadOnlyList Endpoints { get { throw null; } } + protected abstract System.Collections.Generic.List CreateEndpoints(System.Collections.Generic.IReadOnlyList actions, System.Collections.Generic.IReadOnlyList> conventions); + public void Dispose() { } + public override Microsoft.Extensions.Primitives.IChangeToken GetChangeToken() { throw null; } + protected void Subscribe() { } + } + internal partial class ActionEndpointFactory + { + public ActionEndpointFactory(Microsoft.AspNetCore.Routing.Patterns.RoutePatternTransformer routePatternTransformer) { } + public void AddConventionalLinkGenerationRoute(System.Collections.Generic.List endpoints, System.Collections.Generic.HashSet routeNames, System.Collections.Generic.HashSet keys, Microsoft.AspNetCore.Mvc.Routing.ConventionalRouteEntry route, System.Collections.Generic.IReadOnlyList> conventions) { } + public void AddEndpoints(System.Collections.Generic.List endpoints, System.Collections.Generic.HashSet routeNames, Microsoft.AspNetCore.Mvc.Abstractions.ActionDescriptor action, System.Collections.Generic.IReadOnlyList routes, System.Collections.Generic.IReadOnlyList> conventions, bool createInertEndpoints) { } + } + internal partial class AttributeRoute : Microsoft.AspNetCore.Routing.IRouter + { + public AttributeRoute(Microsoft.AspNetCore.Mvc.Infrastructure.IActionDescriptorCollectionProvider actionDescriptorCollectionProvider, System.IServiceProvider services, System.Func handlerFactory) { } + internal void AddEntries(Microsoft.AspNetCore.Routing.Tree.TreeRouteBuilder builder, Microsoft.AspNetCore.Mvc.Infrastructure.ActionDescriptorCollection actions) { } + public Microsoft.AspNetCore.Routing.VirtualPathData GetVirtualPath(Microsoft.AspNetCore.Routing.VirtualPathContext context) { throw null; } + public System.Threading.Tasks.Task RouteAsync(Microsoft.AspNetCore.Routing.RouteContext context) { throw null; } + } + internal static partial class AttributeRouting + { + public static Microsoft.AspNetCore.Routing.IRouter CreateAttributeMegaRoute(System.IServiceProvider services) { throw null; } + } + internal partial class ConsumesMatcherPolicy : Microsoft.AspNetCore.Routing.MatcherPolicy, Microsoft.AspNetCore.Routing.Matching.IEndpointComparerPolicy, Microsoft.AspNetCore.Routing.Matching.IEndpointSelectorPolicy, Microsoft.AspNetCore.Routing.Matching.INodeBuilderPolicy + { + internal const string AnyContentType = "*/*"; + internal const string Http415EndpointDisplayName = "415 HTTP Unsupported Media Type"; + public ConsumesMatcherPolicy() { } + public System.Collections.Generic.IComparer Comparer { [System.Runtime.CompilerServices.CompilerGeneratedAttribute]get { throw null; } } + public override int Order { [System.Runtime.CompilerServices.CompilerGeneratedAttribute]get { throw null; } } + public System.Threading.Tasks.Task ApplyAsync(Microsoft.AspNetCore.Http.HttpContext httpContext, Microsoft.AspNetCore.Routing.Matching.CandidateSet candidates) { throw null; } + public Microsoft.AspNetCore.Routing.Matching.PolicyJumpTable BuildJumpTable(int exitDestination, System.Collections.Generic.IReadOnlyList edges) { throw null; } + public System.Collections.Generic.IReadOnlyList GetEdges(System.Collections.Generic.IReadOnlyList endpoints) { throw null; } + bool Microsoft.AspNetCore.Routing.Matching.IEndpointSelectorPolicy.AppliesToEndpoints(System.Collections.Generic.IReadOnlyList endpoints) { throw null; } + bool Microsoft.AspNetCore.Routing.Matching.INodeBuilderPolicy.AppliesToEndpoints(System.Collections.Generic.IReadOnlyList endpoints) { throw null; } + } + internal partial class ConsumesMetadata : Microsoft.AspNetCore.Mvc.Routing.IConsumesMetadata + { + public ConsumesMetadata(string[] contentTypes) { } + public System.Collections.Generic.IReadOnlyList ContentTypes { [System.Runtime.CompilerServices.CompilerGeneratedAttribute]get { throw null; } } + } + internal partial class ControllerActionEndpointDataSource : Microsoft.AspNetCore.Mvc.Routing.ActionEndpointDataSourceBase + { + public ControllerActionEndpointDataSource(Microsoft.AspNetCore.Mvc.Infrastructure.IActionDescriptorCollectionProvider actions, Microsoft.AspNetCore.Mvc.Routing.ActionEndpointFactory endpointFactory) : base (default(Microsoft.AspNetCore.Mvc.Infrastructure.IActionDescriptorCollectionProvider)) { } + public bool CreateInertEndpoints { [System.Runtime.CompilerServices.CompilerGeneratedAttribute]get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute]set { } } + public Microsoft.AspNetCore.Builder.ControllerActionEndpointConventionBuilder DefaultBuilder { [System.Runtime.CompilerServices.CompilerGeneratedAttribute]get { throw null; } } + public Microsoft.AspNetCore.Builder.ControllerActionEndpointConventionBuilder AddRoute(string routeName, string pattern, Microsoft.AspNetCore.Routing.RouteValueDictionary defaults, System.Collections.Generic.IDictionary constraints, Microsoft.AspNetCore.Routing.RouteValueDictionary dataTokens) { throw null; } + protected override System.Collections.Generic.List CreateEndpoints(System.Collections.Generic.IReadOnlyList actions, System.Collections.Generic.IReadOnlyList> conventions) { throw null; } + } + [System.Runtime.InteropServices.StructLayoutAttribute(System.Runtime.InteropServices.LayoutKind.Sequential)] + internal readonly partial struct ConventionalRouteEntry + { + public readonly Microsoft.AspNetCore.Routing.Patterns.RoutePattern Pattern; + public readonly string RouteName; + public readonly Microsoft.AspNetCore.Routing.RouteValueDictionary DataTokens; + public readonly int Order; + public readonly System.Collections.Generic.IReadOnlyList> Conventions; + public ConventionalRouteEntry(string routeName, string pattern, Microsoft.AspNetCore.Routing.RouteValueDictionary defaults, System.Collections.Generic.IDictionary constraints, Microsoft.AspNetCore.Routing.RouteValueDictionary dataTokens, int order, System.Collections.Generic.List> conventions) { throw null; } + } + internal partial class DynamicControllerEndpointMatcherPolicy : Microsoft.AspNetCore.Routing.MatcherPolicy, Microsoft.AspNetCore.Routing.Matching.IEndpointSelectorPolicy + { + public DynamicControllerEndpointMatcherPolicy(Microsoft.AspNetCore.Mvc.Routing.DynamicControllerEndpointSelector selector, Microsoft.AspNetCore.Routing.Matching.EndpointMetadataComparer comparer) { } + public override int Order { get { throw null; } } + public bool AppliesToEndpoints(System.Collections.Generic.IReadOnlyList endpoints) { throw null; } + [System.Diagnostics.DebuggerStepThroughAttribute] + public System.Threading.Tasks.Task ApplyAsync(Microsoft.AspNetCore.Http.HttpContext httpContext, Microsoft.AspNetCore.Routing.Matching.CandidateSet candidates) { throw null; } + } + internal partial class DynamicControllerEndpointSelector : System.IDisposable + { + public DynamicControllerEndpointSelector(Microsoft.AspNetCore.Mvc.Routing.ControllerActionEndpointDataSource dataSource) { } + protected DynamicControllerEndpointSelector(Microsoft.AspNetCore.Routing.EndpointDataSource dataSource) { } + public void Dispose() { } + public System.Collections.Generic.IReadOnlyList SelectEndpoints(Microsoft.AspNetCore.Routing.RouteValueDictionary values) { throw null; } + } + internal partial class DynamicControllerMetadata : Microsoft.AspNetCore.Routing.IDynamicEndpointMetadata + { + public DynamicControllerMetadata(Microsoft.AspNetCore.Routing.RouteValueDictionary values) { } + public bool IsDynamic { get { throw null; } } + public Microsoft.AspNetCore.Routing.RouteValueDictionary Values { [System.Runtime.CompilerServices.CompilerGeneratedAttribute]get { throw null; } } + } + internal partial class DynamicControllerRouteValueTransformerMetadata : Microsoft.AspNetCore.Routing.IDynamicEndpointMetadata + { + public DynamicControllerRouteValueTransformerMetadata(System.Type selectorType) { } + public bool IsDynamic { get { throw null; } } + public System.Type SelectorType { [System.Runtime.CompilerServices.CompilerGeneratedAttribute]get { throw null; } } + } + internal partial class EndpointRoutingUrlHelper : Microsoft.AspNetCore.Mvc.Routing.UrlHelperBase + { + public EndpointRoutingUrlHelper(Microsoft.AspNetCore.Mvc.ActionContext actionContext, Microsoft.AspNetCore.Routing.LinkGenerator linkGenerator, Microsoft.Extensions.Logging.ILogger logger) : base (default(Microsoft.AspNetCore.Mvc.ActionContext)) { } + public override string Action(Microsoft.AspNetCore.Mvc.Routing.UrlActionContext urlActionContext) { throw null; } + public override string RouteUrl(Microsoft.AspNetCore.Mvc.Routing.UrlRouteContext routeContext) { throw null; } + } + internal partial interface IConsumesMetadata + { + System.Collections.Generic.IReadOnlyList ContentTypes { get; } + } + internal partial class MvcAttributeRouteHandler : Microsoft.AspNetCore.Routing.IRouter + { + public MvcAttributeRouteHandler(Microsoft.AspNetCore.Mvc.Infrastructure.IActionInvokerFactory actionInvokerFactory, Microsoft.AspNetCore.Mvc.Infrastructure.IActionSelector actionSelector, System.Diagnostics.DiagnosticListener diagnosticListener, Microsoft.Extensions.Logging.ILoggerFactory loggerFactory) { } + public Microsoft.AspNetCore.Mvc.Abstractions.ActionDescriptor[] Actions { [System.Runtime.CompilerServices.CompilerGeneratedAttribute]get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute]set { } } + public Microsoft.AspNetCore.Routing.VirtualPathData GetVirtualPath(Microsoft.AspNetCore.Routing.VirtualPathContext context) { throw null; } + public System.Threading.Tasks.Task RouteAsync(Microsoft.AspNetCore.Routing.RouteContext context) { throw null; } + } + internal partial class MvcRouteHandler : Microsoft.AspNetCore.Routing.IRouter + { + public MvcRouteHandler(Microsoft.AspNetCore.Mvc.Infrastructure.IActionInvokerFactory actionInvokerFactory, Microsoft.AspNetCore.Mvc.Infrastructure.IActionSelector actionSelector, System.Diagnostics.DiagnosticListener diagnosticListener, Microsoft.Extensions.Logging.ILoggerFactory loggerFactory) { } + public Microsoft.AspNetCore.Routing.VirtualPathData GetVirtualPath(Microsoft.AspNetCore.Routing.VirtualPathContext context) { throw null; } + public System.Threading.Tasks.Task RouteAsync(Microsoft.AspNetCore.Routing.RouteContext context) { throw null; } + } + internal static partial class NormalizedRouteValue + { + public static string GetNormalizedRouteValue(Microsoft.AspNetCore.Mvc.ActionContext context, string key) { throw null; } + } + internal partial class NullRouter : Microsoft.AspNetCore.Routing.IRouter + { + public static Microsoft.AspNetCore.Routing.IRouter Instance; + public Microsoft.AspNetCore.Routing.VirtualPathData GetVirtualPath(Microsoft.AspNetCore.Routing.VirtualPathContext context) { throw null; } + public System.Threading.Tasks.Task RouteAsync(Microsoft.AspNetCore.Routing.RouteContext context) { throw null; } + } + internal static partial class RoutePatternWriter + { + public static void WriteString(System.Text.StringBuilder sb, System.Collections.Generic.IEnumerable routeSegments) { } + } + public abstract partial class UrlHelperBase : Microsoft.AspNetCore.Mvc.IUrlHelper + { + internal static void AppendPathAndFragment(System.Text.StringBuilder builder, Microsoft.AspNetCore.Http.PathString pathBase, string virtualPath, string fragment) { } + internal static void NormalizeRouteValuesForAction(string action, string controller, Microsoft.AspNetCore.Routing.RouteValueDictionary values, Microsoft.AspNetCore.Routing.RouteValueDictionary ambientValues) { } + internal static void NormalizeRouteValuesForPage(Microsoft.AspNetCore.Mvc.ActionContext context, string page, string handler, Microsoft.AspNetCore.Routing.RouteValueDictionary values, Microsoft.AspNetCore.Routing.RouteValueDictionary ambientValues) { } + } + internal static partial class ViewEnginePath + { + public static readonly char[] PathSeparators; + public static string CombinePath(string first, string second) { throw null; } + public static string ResolvePath(string path) { throw null; } + } +} +namespace Microsoft.AspNetCore.Routing +{ + internal sealed partial class DataSourceDependentCache : System.IDisposable where T : class + { + public DataSourceDependentCache(Microsoft.AspNetCore.Routing.EndpointDataSource dataSource, System.Func, T> initialize) { } + public T Value { get { throw null; } } + public void Dispose() { } + public T EnsureInitialized() { throw null; } + } +} +namespace Microsoft.Extensions.DependencyInjection +{ + internal partial class ApiBehaviorOptionsSetup : Microsoft.Extensions.Options.IConfigureOptions + { + public ApiBehaviorOptionsSetup() { } + public void Configure(Microsoft.AspNetCore.Mvc.ApiBehaviorOptions options) { } + internal static void ConfigureClientErrorMapping(Microsoft.AspNetCore.Mvc.ApiBehaviorOptions options) { } + internal static Microsoft.AspNetCore.Mvc.IActionResult ProblemDetailsInvalidModelStateResponse(Microsoft.AspNetCore.Mvc.Infrastructure.ProblemDetailsFactory problemDetailsFactory, Microsoft.AspNetCore.Mvc.ActionContext context) { throw null; } + } + internal partial class MvcBuilder : Microsoft.Extensions.DependencyInjection.IMvcBuilder + { + public MvcBuilder(Microsoft.Extensions.DependencyInjection.IServiceCollection services, Microsoft.AspNetCore.Mvc.ApplicationParts.ApplicationPartManager manager) { } + public Microsoft.AspNetCore.Mvc.ApplicationParts.ApplicationPartManager PartManager { [System.Runtime.CompilerServices.CompilerGeneratedAttribute]get { throw null; } } + public Microsoft.Extensions.DependencyInjection.IServiceCollection Services { [System.Runtime.CompilerServices.CompilerGeneratedAttribute]get { throw null; } } + } + internal partial class MvcCoreBuilder : Microsoft.Extensions.DependencyInjection.IMvcCoreBuilder + { + public MvcCoreBuilder(Microsoft.Extensions.DependencyInjection.IServiceCollection services, Microsoft.AspNetCore.Mvc.ApplicationParts.ApplicationPartManager manager) { } + public Microsoft.AspNetCore.Mvc.ApplicationParts.ApplicationPartManager PartManager { [System.Runtime.CompilerServices.CompilerGeneratedAttribute]get { throw null; } } + public Microsoft.Extensions.DependencyInjection.IServiceCollection Services { [System.Runtime.CompilerServices.CompilerGeneratedAttribute]get { throw null; } } + } + public static partial class MvcCoreMvcCoreBuilderExtensions + { + internal static void AddAuthorizationServices(Microsoft.Extensions.DependencyInjection.IServiceCollection services) { } + internal static void AddFormatterMappingsServices(Microsoft.Extensions.DependencyInjection.IServiceCollection services) { } + } + internal partial class MvcCoreRouteOptionsSetup : Microsoft.Extensions.Options.IConfigureOptions + { + public MvcCoreRouteOptionsSetup() { } + public void Configure(Microsoft.AspNetCore.Routing.RouteOptions options) { } + } + public static partial class MvcCoreServiceCollectionExtensions + { + internal static void AddMvcCoreServices(Microsoft.Extensions.DependencyInjection.IServiceCollection services) { } + } + internal partial class MvcMarkerService + { + public MvcMarkerService() { } + } +} +namespace Microsoft.Extensions.Internal +{ + [System.Runtime.InteropServices.StructLayoutAttribute(System.Runtime.InteropServices.LayoutKind.Sequential)] + internal readonly partial struct AwaitableInfo + { + private readonly object _dummy; + public AwaitableInfo(System.Type awaiterType, System.Reflection.PropertyInfo awaiterIsCompletedProperty, System.Reflection.MethodInfo awaiterGetResultMethod, System.Reflection.MethodInfo awaiterOnCompletedMethod, System.Reflection.MethodInfo awaiterUnsafeOnCompletedMethod, System.Type resultType, System.Reflection.MethodInfo getAwaiterMethod) { throw null; } + public System.Reflection.MethodInfo AwaiterGetResultMethod { [System.Runtime.CompilerServices.CompilerGeneratedAttribute]get { throw null; } } + public System.Reflection.PropertyInfo AwaiterIsCompletedProperty { [System.Runtime.CompilerServices.CompilerGeneratedAttribute]get { throw null; } } + public System.Reflection.MethodInfo AwaiterOnCompletedMethod { [System.Runtime.CompilerServices.CompilerGeneratedAttribute]get { throw null; } } + public System.Type AwaiterType { [System.Runtime.CompilerServices.CompilerGeneratedAttribute]get { throw null; } } + public System.Reflection.MethodInfo AwaiterUnsafeOnCompletedMethod { [System.Runtime.CompilerServices.CompilerGeneratedAttribute]get { throw null; } } + public System.Reflection.MethodInfo GetAwaiterMethod { [System.Runtime.CompilerServices.CompilerGeneratedAttribute]get { throw null; } } + public System.Type ResultType { [System.Runtime.CompilerServices.CompilerGeneratedAttribute]get { throw null; } } + public static bool IsTypeAwaitable(System.Type type, out Microsoft.Extensions.Internal.AwaitableInfo awaitableInfo) { throw null; } + } + [System.Runtime.InteropServices.StructLayoutAttribute(System.Runtime.InteropServices.LayoutKind.Sequential)] + internal readonly partial struct CoercedAwaitableInfo + { + private readonly object _dummy; + public CoercedAwaitableInfo(Microsoft.Extensions.Internal.AwaitableInfo awaitableInfo) { throw null; } + public CoercedAwaitableInfo(System.Linq.Expressions.Expression coercerExpression, System.Type coercerResultType, Microsoft.Extensions.Internal.AwaitableInfo coercedAwaitableInfo) { throw null; } + public Microsoft.Extensions.Internal.AwaitableInfo AwaitableInfo { [System.Runtime.CompilerServices.CompilerGeneratedAttribute]get { throw null; } } + public System.Linq.Expressions.Expression CoercerExpression { [System.Runtime.CompilerServices.CompilerGeneratedAttribute]get { throw null; } } + public System.Type CoercerResultType { [System.Runtime.CompilerServices.CompilerGeneratedAttribute]get { throw null; } } + public bool RequiresCoercion { get { throw null; } } + public static bool IsTypeAwaitable(System.Type type, out Microsoft.Extensions.Internal.CoercedAwaitableInfo info) { throw null; } + } + [System.Runtime.InteropServices.StructLayoutAttribute(System.Runtime.InteropServices.LayoutKind.Sequential)] + internal partial struct CopyOnWriteDictionaryHolder + { + private object _dummy; + public CopyOnWriteDictionaryHolder(Microsoft.Extensions.Internal.CopyOnWriteDictionaryHolder source) { throw null; } + public CopyOnWriteDictionaryHolder(System.Collections.Generic.Dictionary source) { throw null; } + public int Count { get { throw null; } } + public bool HasBeenCopied { get { throw null; } } + public bool IsReadOnly { get { throw null; } } + public TValue this[TKey key] { get { throw null; } set { } } + public System.Collections.Generic.Dictionary.KeyCollection Keys { get { throw null; } } + public System.Collections.Generic.Dictionary ReadDictionary { get { throw null; } } + public System.Collections.Generic.Dictionary.ValueCollection Values { get { throw null; } } + public System.Collections.Generic.Dictionary WriteDictionary { get { throw null; } } + public void Add(System.Collections.Generic.KeyValuePair item) { } + public void Add(TKey key, TValue value) { } + public void Clear() { } + public bool Contains(System.Collections.Generic.KeyValuePair item) { throw null; } + public bool ContainsKey(TKey key) { throw null; } + public void CopyTo(System.Collections.Generic.KeyValuePair[] array, int arrayIndex) { } + public System.Collections.Generic.Dictionary.Enumerator GetEnumerator() { throw null; } + public bool Remove(System.Collections.Generic.KeyValuePair item) { throw null; } + public bool Remove(TKey key) { throw null; } + public bool TryGetValue(TKey key, out TValue value) { throw null; } + } + internal partial class CopyOnWriteDictionary : System.Collections.Generic.ICollection>, System.Collections.Generic.IDictionary, System.Collections.Generic.IEnumerable>, System.Collections.IEnumerable + { + public CopyOnWriteDictionary(System.Collections.Generic.IDictionary sourceDictionary, System.Collections.Generic.IEqualityComparer comparer) { } + public virtual int Count { get { throw null; } } + public virtual bool IsReadOnly { get { throw null; } } + public virtual TValue this[TKey key] { get { throw null; } set { } } + public virtual System.Collections.Generic.ICollection Keys { get { throw null; } } + public virtual System.Collections.Generic.ICollection Values { get { throw null; } } + public virtual void Add(System.Collections.Generic.KeyValuePair item) { } + public virtual void Add(TKey key, TValue value) { } + public virtual void Clear() { } + public virtual bool Contains(System.Collections.Generic.KeyValuePair item) { throw null; } + public virtual bool ContainsKey(TKey key) { throw null; } + public virtual void CopyTo(System.Collections.Generic.KeyValuePair[] array, int arrayIndex) { } + public virtual System.Collections.Generic.IEnumerator> GetEnumerator() { throw null; } + public bool Remove(System.Collections.Generic.KeyValuePair item) { throw null; } + public virtual bool Remove(TKey key) { throw null; } + System.Collections.IEnumerator System.Collections.IEnumerable.GetEnumerator() { throw null; } + public virtual bool TryGetValue(TKey key, out TValue value) { throw null; } + } + internal partial class ObjectMethodExecutor + { + public System.Type AsyncResultType { [System.Runtime.CompilerServices.CompilerGeneratedAttribute]get { throw null; } } + public bool IsMethodAsync { [System.Runtime.CompilerServices.CompilerGeneratedAttribute]get { throw null; } } + public System.Reflection.MethodInfo MethodInfo { [System.Runtime.CompilerServices.CompilerGeneratedAttribute]get { throw null; } } + public System.Reflection.ParameterInfo[] MethodParameters { [System.Runtime.CompilerServices.CompilerGeneratedAttribute]get { throw null; } } + public System.Type MethodReturnType { [System.Runtime.CompilerServices.CompilerGeneratedAttribute]get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute]internal set { } } + public System.Reflection.TypeInfo TargetTypeInfo { [System.Runtime.CompilerServices.CompilerGeneratedAttribute]get { throw null; } } + public static Microsoft.Extensions.Internal.ObjectMethodExecutor Create(System.Reflection.MethodInfo methodInfo, System.Reflection.TypeInfo targetTypeInfo) { throw null; } + public static Microsoft.Extensions.Internal.ObjectMethodExecutor Create(System.Reflection.MethodInfo methodInfo, System.Reflection.TypeInfo targetTypeInfo, object[] parameterDefaultValues) { throw null; } + public object Execute(object target, object[] parameters) { throw null; } + public Microsoft.Extensions.Internal.ObjectMethodExecutorAwaitable ExecuteAsync(object target, object[] parameters) { throw null; } + public object GetDefaultValueForParameter(int index) { throw null; } + } + [System.Runtime.InteropServices.StructLayoutAttribute(System.Runtime.InteropServices.LayoutKind.Sequential)] + internal readonly partial struct ObjectMethodExecutorAwaitable + { + private readonly object _dummy; + public ObjectMethodExecutorAwaitable(object customAwaitable, System.Func getAwaiterMethod, System.Func isCompletedMethod, System.Func getResultMethod, System.Action onCompletedMethod, System.Action unsafeOnCompletedMethod) { throw null; } + public Microsoft.Extensions.Internal.ObjectMethodExecutorAwaitable.Awaiter GetAwaiter() { throw null; } + [System.Runtime.InteropServices.StructLayoutAttribute(System.Runtime.InteropServices.LayoutKind.Sequential)] + public readonly partial struct Awaiter : System.Runtime.CompilerServices.ICriticalNotifyCompletion, System.Runtime.CompilerServices.INotifyCompletion + { + private readonly object _dummy; + public Awaiter(object customAwaiter, System.Func isCompletedMethod, System.Func getResultMethod, System.Action onCompletedMethod, System.Action unsafeOnCompletedMethod) { throw null; } + public bool IsCompleted { get { throw null; } } + public object GetResult() { throw null; } + public void OnCompleted(System.Action continuation) { } + public void UnsafeOnCompleted(System.Action continuation) { } + } + } + internal static partial class ObjectMethodExecutorFSharpSupport + { + public static bool TryBuildCoercerFromFSharpAsyncToAwaitable(System.Type possibleFSharpAsyncType, out System.Linq.Expressions.Expression coerceToAwaitableExpression, out System.Type awaitableType) { throw null; } + } + internal partial class PropertyActivator + { + public PropertyActivator(System.Reflection.PropertyInfo propertyInfo, System.Func valueAccessor) { } + public System.Reflection.PropertyInfo PropertyInfo { [System.Runtime.CompilerServices.CompilerGeneratedAttribute]get { throw null; } } + public object Activate(object instance, TContext context) { throw null; } + public static Microsoft.Extensions.Internal.PropertyActivator[] GetPropertiesToActivate(System.Type type, System.Type activateAttributeType, System.Func> createActivateInfo) { throw null; } + public static Microsoft.Extensions.Internal.PropertyActivator[] GetPropertiesToActivate(System.Type type, System.Type activateAttributeType, System.Func> createActivateInfo, bool includeNonPublic) { throw null; } + } + internal partial class PropertyHelper + { + public PropertyHelper(System.Reflection.PropertyInfo property) { } + public virtual string Name { [System.Runtime.CompilerServices.CompilerGeneratedAttribute]get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute]protected set { } } + public System.Reflection.PropertyInfo Property { [System.Runtime.CompilerServices.CompilerGeneratedAttribute]get { throw null; } } + public System.Func ValueGetter { get { throw null; } } + public System.Action ValueSetter { get { throw null; } } + public static Microsoft.Extensions.Internal.PropertyHelper[] GetProperties(System.Reflection.TypeInfo typeInfo) { throw null; } + public static Microsoft.Extensions.Internal.PropertyHelper[] GetProperties(System.Type type) { throw null; } + protected static Microsoft.Extensions.Internal.PropertyHelper[] GetProperties(System.Type type, System.Func createPropertyHelper, System.Collections.Concurrent.ConcurrentDictionary cache) { throw null; } + public object GetValue(object instance) { throw null; } + public static Microsoft.Extensions.Internal.PropertyHelper[] GetVisibleProperties(System.Reflection.TypeInfo typeInfo) { throw null; } + public static Microsoft.Extensions.Internal.PropertyHelper[] GetVisibleProperties(System.Type type) { throw null; } + protected static Microsoft.Extensions.Internal.PropertyHelper[] GetVisibleProperties(System.Type type, System.Func createPropertyHelper, System.Collections.Concurrent.ConcurrentDictionary allPropertiesCache, System.Collections.Concurrent.ConcurrentDictionary visiblePropertiesCache) { throw null; } + public static System.Func MakeFastPropertyGetter(System.Reflection.PropertyInfo propertyInfo) { throw null; } + public static System.Action MakeFastPropertySetter(System.Reflection.PropertyInfo propertyInfo) { throw null; } + public static System.Func MakeNullSafeFastPropertyGetter(System.Reflection.PropertyInfo propertyInfo) { throw null; } + public static System.Collections.Generic.IDictionary ObjectToDictionary(object value) { throw null; } + public void SetValue(object instance, object value) { } + } + internal static partial class SecurityHelper + { + public static System.Security.Claims.ClaimsPrincipal MergeUserPrincipal(System.Security.Claims.ClaimsPrincipal existingPrincipal, System.Security.Claims.ClaimsPrincipal additionalPrincipal) { throw null; } + } +} +namespace System.Text.Json +{ + internal static partial class JsonSerializerOptionsCopyConstructor + { + public static System.Text.Json.JsonSerializerOptions Copy(this System.Text.Json.JsonSerializerOptions serializerOptions, System.Text.Encodings.Web.JavaScriptEncoder encoder) { throw null; } + } +} diff --git a/src/Mvc/Mvc.Core/ref/Microsoft.AspNetCore.Mvc.Core.csproj b/src/Mvc/Mvc.Core/ref/Microsoft.AspNetCore.Mvc.Core.csproj index 670de5a7d7b3..9453d101d8f7 100644 --- a/src/Mvc/Mvc.Core/ref/Microsoft.AspNetCore.Mvc.Core.csproj +++ b/src/Mvc/Mvc.Core/ref/Microsoft.AspNetCore.Mvc.Core.csproj @@ -6,20 +6,21 @@ - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + diff --git a/src/Mvc/Mvc.Core/src/Microsoft.AspNetCore.Mvc.Core.csproj b/src/Mvc/Mvc.Core/src/Microsoft.AspNetCore.Mvc.Core.csproj index 1d1eaa6448ee..4c3e760a90fd 100644 --- a/src/Mvc/Mvc.Core/src/Microsoft.AspNetCore.Mvc.Core.csproj +++ b/src/Mvc/Mvc.Core/src/Microsoft.AspNetCore.Mvc.Core.csproj @@ -15,7 +15,7 @@ Microsoft.AspNetCore.Mvc.RouteAttribute $(NoWarn);CS1591 true aspnetcore;aspnetcoremvc - false + false diff --git a/src/Mvc/Mvc.Cors/ref/Microsoft.AspNetCore.Mvc.Cors.Manual.cs b/src/Mvc/Mvc.Cors/ref/Microsoft.AspNetCore.Mvc.Cors.Manual.cs new file mode 100644 index 000000000000..641495d93c73 --- /dev/null +++ b/src/Mvc/Mvc.Cors/ref/Microsoft.AspNetCore.Mvc.Cors.Manual.cs @@ -0,0 +1,34 @@ +// Copyright (c) .NET Foundation. All rights reserved. +// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. + +namespace Microsoft.AspNetCore.Mvc.Cors +{ + internal partial interface ICorsAuthorizationFilter : Microsoft.AspNetCore.Mvc.Filters.IAsyncAuthorizationFilter, Microsoft.AspNetCore.Mvc.Filters.IFilterMetadata, Microsoft.AspNetCore.Mvc.Filters.IOrderedFilter + { + } + internal partial class CorsHttpMethodActionConstraint : Microsoft.AspNetCore.Mvc.ActionConstraints.HttpMethodActionConstraint + { + public CorsHttpMethodActionConstraint(Microsoft.AspNetCore.Mvc.ActionConstraints.HttpMethodActionConstraint constraint) : base (default(System.Collections.Generic.IEnumerable)) { } + public override bool Accept(Microsoft.AspNetCore.Mvc.ActionConstraints.ActionConstraintContext context) { throw null; } + } + internal partial class DisableCorsAuthorizationFilter : Microsoft.AspNetCore.Mvc.Cors.ICorsAuthorizationFilter, Microsoft.AspNetCore.Mvc.Filters.IAsyncAuthorizationFilter, Microsoft.AspNetCore.Mvc.Filters.IFilterMetadata, Microsoft.AspNetCore.Mvc.Filters.IOrderedFilter + { + public DisableCorsAuthorizationFilter() { } + public int Order { get { throw null; } } + public System.Threading.Tasks.Task OnAuthorizationAsync(Microsoft.AspNetCore.Mvc.Filters.AuthorizationFilterContext context) { throw null; } + } + internal partial class CorsApplicationModelProvider : Microsoft.AspNetCore.Mvc.ApplicationModels.IApplicationModelProvider + { + public CorsApplicationModelProvider(Microsoft.Extensions.Options.IOptions mvcOptions) { } + public int Order { get { throw null; } } + public void OnProvidersExecuted(Microsoft.AspNetCore.Mvc.ApplicationModels.ApplicationModelProviderContext context) { } + public void OnProvidersExecuting(Microsoft.AspNetCore.Mvc.ApplicationModels.ApplicationModelProviderContext context) { } + } + internal partial class CorsAuthorizationFilterFactory : Microsoft.AspNetCore.Mvc.Filters.IFilterFactory, Microsoft.AspNetCore.Mvc.Filters.IFilterMetadata, Microsoft.AspNetCore.Mvc.Filters.IOrderedFilter + { + public CorsAuthorizationFilterFactory(string policyName) { } + public bool IsReusable { get { throw null; } } + public int Order { get { throw null; } } + public Microsoft.AspNetCore.Mvc.Filters.IFilterMetadata CreateInstance(System.IServiceProvider serviceProvider) { throw null; } + } +} diff --git a/src/Mvc/Mvc.Cors/ref/Microsoft.AspNetCore.Mvc.Cors.csproj b/src/Mvc/Mvc.Cors/ref/Microsoft.AspNetCore.Mvc.Cors.csproj index a7573bfcb7e1..f168dc6859e6 100644 --- a/src/Mvc/Mvc.Cors/ref/Microsoft.AspNetCore.Mvc.Cors.csproj +++ b/src/Mvc/Mvc.Cors/ref/Microsoft.AspNetCore.Mvc.Cors.csproj @@ -5,7 +5,9 @@ - - + + + + diff --git a/src/Mvc/Mvc.Cors/src/Microsoft.AspNetCore.Mvc.Cors.csproj b/src/Mvc/Mvc.Cors/src/Microsoft.AspNetCore.Mvc.Cors.csproj index c498ea42e8a2..6409a547e451 100644 --- a/src/Mvc/Mvc.Cors/src/Microsoft.AspNetCore.Mvc.Cors.csproj +++ b/src/Mvc/Mvc.Cors/src/Microsoft.AspNetCore.Mvc.Cors.csproj @@ -6,7 +6,7 @@ true true aspnetcore;aspnetcoremvc;cors - false + false diff --git a/src/Mvc/Mvc.DataAnnotations/ref/Microsoft.AspNetCore.Mvc.DataAnnotations.Manual.cs b/src/Mvc/Mvc.DataAnnotations/ref/Microsoft.AspNetCore.Mvc.DataAnnotations.Manual.cs new file mode 100644 index 000000000000..3e175d1fb75c --- /dev/null +++ b/src/Mvc/Mvc.DataAnnotations/ref/Microsoft.AspNetCore.Mvc.DataAnnotations.Manual.cs @@ -0,0 +1,112 @@ +// Copyright (c) .NET Foundation. All rights reserved. +// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. + +namespace Microsoft.AspNetCore.Mvc.DataAnnotations +{ + internal partial class RegularExpressionAttributeAdapter : Microsoft.AspNetCore.Mvc.DataAnnotations.AttributeAdapterBase + { + public RegularExpressionAttributeAdapter(System.ComponentModel.DataAnnotations.RegularExpressionAttribute attribute, Microsoft.Extensions.Localization.IStringLocalizer stringLocalizer) : base (default(System.ComponentModel.DataAnnotations.RegularExpressionAttribute), default(Microsoft.Extensions.Localization.IStringLocalizer)) { } + public override void AddValidation(Microsoft.AspNetCore.Mvc.ModelBinding.Validation.ClientModelValidationContext context) { } + public override string GetErrorMessage(Microsoft.AspNetCore.Mvc.ModelBinding.Validation.ModelValidationContextBase validationContext) { throw null; } + } + internal partial class MaxLengthAttributeAdapter : Microsoft.AspNetCore.Mvc.DataAnnotations.AttributeAdapterBase + { + public MaxLengthAttributeAdapter(System.ComponentModel.DataAnnotations.MaxLengthAttribute attribute, Microsoft.Extensions.Localization.IStringLocalizer stringLocalizer) : base (default(System.ComponentModel.DataAnnotations.MaxLengthAttribute), default(Microsoft.Extensions.Localization.IStringLocalizer)) { } + public override void AddValidation(Microsoft.AspNetCore.Mvc.ModelBinding.Validation.ClientModelValidationContext context) { } + public override string GetErrorMessage(Microsoft.AspNetCore.Mvc.ModelBinding.Validation.ModelValidationContextBase validationContext) { throw null; } + } + internal partial class MinLengthAttributeAdapter : Microsoft.AspNetCore.Mvc.DataAnnotations.AttributeAdapterBase + { + public MinLengthAttributeAdapter(System.ComponentModel.DataAnnotations.MinLengthAttribute attribute, Microsoft.Extensions.Localization.IStringLocalizer stringLocalizer) : base (default(System.ComponentModel.DataAnnotations.MinLengthAttribute), default(Microsoft.Extensions.Localization.IStringLocalizer)) { } + public override void AddValidation(Microsoft.AspNetCore.Mvc.ModelBinding.Validation.ClientModelValidationContext context) { } + public override string GetErrorMessage(Microsoft.AspNetCore.Mvc.ModelBinding.Validation.ModelValidationContextBase validationContext) { throw null; } + } + internal partial class RangeAttributeAdapter : Microsoft.AspNetCore.Mvc.DataAnnotations.AttributeAdapterBase + { + public RangeAttributeAdapter(System.ComponentModel.DataAnnotations.RangeAttribute attribute, Microsoft.Extensions.Localization.IStringLocalizer stringLocalizer) : base (default(System.ComponentModel.DataAnnotations.RangeAttribute), default(Microsoft.Extensions.Localization.IStringLocalizer)) { } + public override void AddValidation(Microsoft.AspNetCore.Mvc.ModelBinding.Validation.ClientModelValidationContext context) { } + public override string GetErrorMessage(Microsoft.AspNetCore.Mvc.ModelBinding.Validation.ModelValidationContextBase validationContext) { throw null; } + } + internal partial class CompareAttributeAdapter : Microsoft.AspNetCore.Mvc.DataAnnotations.AttributeAdapterBase + { + public CompareAttributeAdapter(System.ComponentModel.DataAnnotations.CompareAttribute attribute, Microsoft.Extensions.Localization.IStringLocalizer stringLocalizer) : base (default(System.ComponentModel.DataAnnotations.CompareAttribute), default(Microsoft.Extensions.Localization.IStringLocalizer)) { } + public override void AddValidation(Microsoft.AspNetCore.Mvc.ModelBinding.Validation.ClientModelValidationContext context) { } + public override string GetErrorMessage(Microsoft.AspNetCore.Mvc.ModelBinding.Validation.ModelValidationContextBase validationContext) { throw null; } + } + internal partial class FileExtensionsAttributeAdapter : Microsoft.AspNetCore.Mvc.DataAnnotations.AttributeAdapterBase + { + public FileExtensionsAttributeAdapter(System.ComponentModel.DataAnnotations.FileExtensionsAttribute attribute, Microsoft.Extensions.Localization.IStringLocalizer stringLocalizer) : base (default(System.ComponentModel.DataAnnotations.FileExtensionsAttribute), default(Microsoft.Extensions.Localization.IStringLocalizer)) { } + public override void AddValidation(Microsoft.AspNetCore.Mvc.ModelBinding.Validation.ClientModelValidationContext context) { } + public override string GetErrorMessage(Microsoft.AspNetCore.Mvc.ModelBinding.Validation.ModelValidationContextBase validationContext) { throw null; } + } + internal partial class DataTypeAttributeAdapter : Microsoft.AspNetCore.Mvc.DataAnnotations.AttributeAdapterBase + { + public DataTypeAttributeAdapter(System.ComponentModel.DataAnnotations.DataTypeAttribute attribute, string ruleName, Microsoft.Extensions.Localization.IStringLocalizer stringLocalizer) : base (default(System.ComponentModel.DataAnnotations.DataTypeAttribute), default(Microsoft.Extensions.Localization.IStringLocalizer)) { } + public string RuleName { [System.Runtime.CompilerServices.CompilerGeneratedAttribute]get { throw null; } } + public override void AddValidation(Microsoft.AspNetCore.Mvc.ModelBinding.Validation.ClientModelValidationContext context) { } + public override string GetErrorMessage(Microsoft.AspNetCore.Mvc.ModelBinding.Validation.ModelValidationContextBase validationContext) { throw null; } + } + internal partial class NumericClientModelValidator : Microsoft.AspNetCore.Mvc.ModelBinding.Validation.IClientModelValidator + { + public NumericClientModelValidator() { } + public void AddValidation(Microsoft.AspNetCore.Mvc.ModelBinding.Validation.ClientModelValidationContext context) { } + } + internal partial class DataAnnotationsMetadataProvider : Microsoft.AspNetCore.Mvc.ModelBinding.Metadata.IBindingMetadataProvider, Microsoft.AspNetCore.Mvc.ModelBinding.Metadata.IDisplayMetadataProvider, Microsoft.AspNetCore.Mvc.ModelBinding.Metadata.IMetadataDetailsProvider, Microsoft.AspNetCore.Mvc.ModelBinding.Metadata.IValidationMetadataProvider + { + public DataAnnotationsMetadataProvider(Microsoft.AspNetCore.Mvc.MvcOptions options, Microsoft.Extensions.Options.IOptions localizationOptions, Microsoft.Extensions.Localization.IStringLocalizerFactory stringLocalizerFactory) { } + public void CreateBindingMetadata(Microsoft.AspNetCore.Mvc.ModelBinding.Metadata.BindingMetadataProviderContext context) { } + public void CreateDisplayMetadata(Microsoft.AspNetCore.Mvc.ModelBinding.Metadata.DisplayMetadataProviderContext context) { } + public void CreateValidationMetadata(Microsoft.AspNetCore.Mvc.ModelBinding.Metadata.ValidationMetadataProviderContext context) { } + internal static bool HasNullableAttribute(System.Collections.Generic.IEnumerable attributes, out bool isNullable) { throw null; } + internal static bool IsNullableBasedOnContext(System.Type containingType, System.Reflection.MemberInfo member) { throw null; } + internal static bool IsNullableReferenceType(System.Type containingType, System.Reflection.MemberInfo member, System.Collections.Generic.IEnumerable attributes) { throw null; } + } + internal partial class DefaultClientModelValidatorProvider : Microsoft.AspNetCore.Mvc.ModelBinding.Validation.IClientModelValidatorProvider + { + public DefaultClientModelValidatorProvider() { } + public void CreateValidators(Microsoft.AspNetCore.Mvc.ModelBinding.Validation.ClientValidatorProviderContext context) { } + } + internal partial class DataAnnotationsClientModelValidatorProvider : Microsoft.AspNetCore.Mvc.ModelBinding.Validation.IClientModelValidatorProvider + { + public DataAnnotationsClientModelValidatorProvider(Microsoft.AspNetCore.Mvc.DataAnnotations.IValidationAttributeAdapterProvider validationAttributeAdapterProvider, Microsoft.Extensions.Options.IOptions options, Microsoft.Extensions.Localization.IStringLocalizerFactory stringLocalizerFactory) { } + public void CreateValidators(Microsoft.AspNetCore.Mvc.ModelBinding.Validation.ClientValidatorProviderContext context) { } + } + internal partial class NumericClientModelValidatorProvider : Microsoft.AspNetCore.Mvc.ModelBinding.Validation.IClientModelValidatorProvider + { + public NumericClientModelValidatorProvider() { } + public void CreateValidators(Microsoft.AspNetCore.Mvc.ModelBinding.Validation.ClientValidatorProviderContext context) { } + } + internal sealed partial class DataAnnotationsModelValidatorProvider : Microsoft.AspNetCore.Mvc.ModelBinding.Validation.IMetadataBasedModelValidatorProvider, Microsoft.AspNetCore.Mvc.ModelBinding.Validation.IModelValidatorProvider + { + public DataAnnotationsModelValidatorProvider(Microsoft.AspNetCore.Mvc.DataAnnotations.IValidationAttributeAdapterProvider validationAttributeAdapterProvider, Microsoft.Extensions.Options.IOptions options, Microsoft.Extensions.Localization.IStringLocalizerFactory stringLocalizerFactory) { } + public void CreateValidators(Microsoft.AspNetCore.Mvc.ModelBinding.Validation.ModelValidatorProviderContext context) { } + public bool HasValidators(System.Type modelType, System.Collections.Generic.IList validatorMetadata) { throw null; } + } + internal partial class StringLengthAttributeAdapter : Microsoft.AspNetCore.Mvc.DataAnnotations.AttributeAdapterBase + { + public StringLengthAttributeAdapter(System.ComponentModel.DataAnnotations.StringLengthAttribute attribute, Microsoft.Extensions.Localization.IStringLocalizer stringLocalizer) : base (default(System.ComponentModel.DataAnnotations.StringLengthAttribute), default(Microsoft.Extensions.Localization.IStringLocalizer)) { } + public override void AddValidation(Microsoft.AspNetCore.Mvc.ModelBinding.Validation.ClientModelValidationContext context) { } + public override string GetErrorMessage(Microsoft.AspNetCore.Mvc.ModelBinding.Validation.ModelValidationContextBase validationContext) { throw null; } + } + internal partial class DataAnnotationsModelValidator : Microsoft.AspNetCore.Mvc.ModelBinding.Validation.IModelValidator + { + public DataAnnotationsModelValidator(Microsoft.AspNetCore.Mvc.DataAnnotations.IValidationAttributeAdapterProvider validationAttributeAdapterProvider, System.ComponentModel.DataAnnotations.ValidationAttribute attribute, Microsoft.Extensions.Localization.IStringLocalizer stringLocalizer) { } + public System.ComponentModel.DataAnnotations.ValidationAttribute Attribute { [System.Runtime.CompilerServices.CompilerGeneratedAttribute]get { throw null; } } + public System.Collections.Generic.IEnumerable Validate(Microsoft.AspNetCore.Mvc.ModelBinding.Validation.ModelValidationContext validationContext) { throw null; } + } + internal partial class ValidatableObjectAdapter : Microsoft.AspNetCore.Mvc.ModelBinding.Validation.IModelValidator + { + public ValidatableObjectAdapter() { } + public System.Collections.Generic.IEnumerable Validate(Microsoft.AspNetCore.Mvc.ModelBinding.Validation.ModelValidationContext context) { throw null; } + } +} + +namespace Microsoft.Extensions.DependencyInjection +{ + internal partial class MvcDataAnnotationsMvcOptionsSetup : Microsoft.Extensions.Options.IConfigureOptions + { + public MvcDataAnnotationsMvcOptionsSetup(Microsoft.AspNetCore.Mvc.DataAnnotations.IValidationAttributeAdapterProvider validationAttributeAdapterProvider, Microsoft.Extensions.Options.IOptions dataAnnotationLocalizationOptions) { } + public MvcDataAnnotationsMvcOptionsSetup(Microsoft.AspNetCore.Mvc.DataAnnotations.IValidationAttributeAdapterProvider validationAttributeAdapterProvider, Microsoft.Extensions.Options.IOptions dataAnnotationLocalizationOptions, Microsoft.Extensions.Localization.IStringLocalizerFactory stringLocalizerFactory) { } + public void Configure(Microsoft.AspNetCore.Mvc.MvcOptions options) { } + } +} diff --git a/src/Mvc/Mvc.DataAnnotations/ref/Microsoft.AspNetCore.Mvc.DataAnnotations.csproj b/src/Mvc/Mvc.DataAnnotations/ref/Microsoft.AspNetCore.Mvc.DataAnnotations.csproj index b7ee4b1bf2ea..9a90a255a608 100644 --- a/src/Mvc/Mvc.DataAnnotations/ref/Microsoft.AspNetCore.Mvc.DataAnnotations.csproj +++ b/src/Mvc/Mvc.DataAnnotations/ref/Microsoft.AspNetCore.Mvc.DataAnnotations.csproj @@ -5,7 +5,9 @@ - - + + + + diff --git a/src/Mvc/Mvc.DataAnnotations/src/Microsoft.AspNetCore.Mvc.DataAnnotations.csproj b/src/Mvc/Mvc.DataAnnotations/src/Microsoft.AspNetCore.Mvc.DataAnnotations.csproj index 714aee50902e..dcd837d20bec 100644 --- a/src/Mvc/Mvc.DataAnnotations/src/Microsoft.AspNetCore.Mvc.DataAnnotations.csproj +++ b/src/Mvc/Mvc.DataAnnotations/src/Microsoft.AspNetCore.Mvc.DataAnnotations.csproj @@ -6,7 +6,7 @@ true true aspnetcore;aspnetcoremvc - false + false diff --git a/src/Mvc/Mvc.Formatters.Json/ref/Microsoft.AspNetCore.Mvc.Formatters.Json.csproj b/src/Mvc/Mvc.Formatters.Json/ref/Microsoft.AspNetCore.Mvc.Formatters.Json.csproj index 2faf4d47ebb0..6eb08a1080a7 100644 --- a/src/Mvc/Mvc.Formatters.Json/ref/Microsoft.AspNetCore.Mvc.Formatters.Json.csproj +++ b/src/Mvc/Mvc.Formatters.Json/ref/Microsoft.AspNetCore.Mvc.Formatters.Json.csproj @@ -5,7 +5,7 @@ - - + + diff --git a/src/Mvc/Mvc.Formatters.Json/src/Microsoft.AspNetCore.Mvc.Formatters.Json.csproj b/src/Mvc/Mvc.Formatters.Json/src/Microsoft.AspNetCore.Mvc.Formatters.Json.csproj index 55dd4b35c0c8..47b10f6ba843 100644 --- a/src/Mvc/Mvc.Formatters.Json/src/Microsoft.AspNetCore.Mvc.Formatters.Json.csproj +++ b/src/Mvc/Mvc.Formatters.Json/src/Microsoft.AspNetCore.Mvc.Formatters.Json.csproj @@ -6,7 +6,7 @@ true true aspnetcore;aspnetcoremvc;json - false + false diff --git a/src/Mvc/Mvc.Formatters.Xml/ref/Microsoft.AspNetCore.Mvc.Formatters.Xml.Manual.cs b/src/Mvc/Mvc.Formatters.Xml/ref/Microsoft.AspNetCore.Mvc.Formatters.Xml.Manual.cs new file mode 100644 index 000000000000..1133d2a605dd --- /dev/null +++ b/src/Mvc/Mvc.Formatters.Xml/ref/Microsoft.AspNetCore.Mvc.Formatters.Xml.Manual.cs @@ -0,0 +1,40 @@ +// Copyright (c) .NET Foundation. All rights reserved. +// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. + +namespace Microsoft.AspNetCore.Mvc.Formatters.Xml +{ + public partial class ProblemDetailsWrapper : Microsoft.AspNetCore.Mvc.Formatters.Xml.IUnwrappable, System.Xml.Serialization.IXmlSerializable + { + internal Microsoft.AspNetCore.Mvc.ProblemDetails ProblemDetails { [System.Runtime.CompilerServices.CompilerGeneratedAttribute]get { throw null; } } + } + public partial class ValidationProblemDetailsWrapper : Microsoft.AspNetCore.Mvc.Formatters.Xml.ProblemDetailsWrapper, Microsoft.AspNetCore.Mvc.Formatters.Xml.IUnwrappable + { + internal new Microsoft.AspNetCore.Mvc.ValidationProblemDetails ProblemDetails { [System.Runtime.CompilerServices.CompilerGeneratedAttribute]get { throw null; } } + } + internal partial class ProblemDetailsWrapperProviderFactory : Microsoft.AspNetCore.Mvc.Formatters.Xml.IWrapperProviderFactory + { + public ProblemDetailsWrapperProviderFactory() { } + public Microsoft.AspNetCore.Mvc.Formatters.Xml.IWrapperProvider GetProvider(Microsoft.AspNetCore.Mvc.Formatters.Xml.WrapperProviderContext context) { throw null; } + } + internal static partial class FormattingUtilities + { + public static readonly int DefaultMaxDepth; + public static readonly System.Runtime.Serialization.XsdDataContractExporter XsdDataContractExporter; + public static System.Xml.XmlDictionaryReaderQuotas GetDefaultXmlReaderQuotas() { throw null; } + public static System.Xml.XmlWriterSettings GetDefaultXmlWriterSettings() { throw null; } + } +} + +namespace Microsoft.Extensions.DependencyInjection +{ + internal sealed partial class XmlDataContractSerializerMvcOptionsSetup : Microsoft.Extensions.Options.IConfigureOptions + { + public XmlDataContractSerializerMvcOptionsSetup(Microsoft.Extensions.Logging.ILoggerFactory loggerFactory) { } + public void Configure(Microsoft.AspNetCore.Mvc.MvcOptions options) { } + } + internal sealed partial class XmlSerializerMvcOptionsSetup : Microsoft.Extensions.Options.IConfigureOptions + { + public XmlSerializerMvcOptionsSetup(Microsoft.Extensions.Logging.ILoggerFactory loggerFactory) { } + public void Configure(Microsoft.AspNetCore.Mvc.MvcOptions options) { } + } +} \ No newline at end of file diff --git a/src/Mvc/Mvc.Formatters.Xml/ref/Microsoft.AspNetCore.Mvc.Formatters.Xml.csproj b/src/Mvc/Mvc.Formatters.Xml/ref/Microsoft.AspNetCore.Mvc.Formatters.Xml.csproj index 6e1345e58a7d..c6f627c5043d 100644 --- a/src/Mvc/Mvc.Formatters.Xml/ref/Microsoft.AspNetCore.Mvc.Formatters.Xml.csproj +++ b/src/Mvc/Mvc.Formatters.Xml/ref/Microsoft.AspNetCore.Mvc.Formatters.Xml.csproj @@ -5,6 +5,8 @@ - + + + diff --git a/src/Mvc/Mvc.Formatters.Xml/src/Microsoft.AspNetCore.Mvc.Formatters.Xml.csproj b/src/Mvc/Mvc.Formatters.Xml/src/Microsoft.AspNetCore.Mvc.Formatters.Xml.csproj index 64682adc8edb..b42ee3913914 100644 --- a/src/Mvc/Mvc.Formatters.Xml/src/Microsoft.AspNetCore.Mvc.Formatters.Xml.csproj +++ b/src/Mvc/Mvc.Formatters.Xml/src/Microsoft.AspNetCore.Mvc.Formatters.Xml.csproj @@ -7,7 +7,7 @@ $(NoWarn);CS1591 true aspnetcore;aspnetcoremvc;xml - false + false diff --git a/src/Mvc/Mvc.Localization/ref/Microsoft.AspNetCore.Mvc.Localization.Manual.cs b/src/Mvc/Mvc.Localization/ref/Microsoft.AspNetCore.Mvc.Localization.Manual.cs new file mode 100644 index 000000000000..69cfbdb07238 --- /dev/null +++ b/src/Mvc/Mvc.Localization/ref/Microsoft.AspNetCore.Mvc.Localization.Manual.cs @@ -0,0 +1,11 @@ +// Copyright (c) .NET Foundation. All rights reserved. +// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. + +namespace Microsoft.AspNetCore.Mvc.Localization +{ + internal static partial class MvcLocalizationServices + { + public static void AddLocalizationServices(Microsoft.Extensions.DependencyInjection.IServiceCollection services, Microsoft.AspNetCore.Mvc.Razor.LanguageViewLocationExpanderFormat format, System.Action setupAction) { } + public static void AddMvcViewLocalizationServices(Microsoft.Extensions.DependencyInjection.IServiceCollection services, Microsoft.AspNetCore.Mvc.Razor.LanguageViewLocationExpanderFormat format) { } + } +} \ No newline at end of file diff --git a/src/Mvc/Mvc.Localization/ref/Microsoft.AspNetCore.Mvc.Localization.csproj b/src/Mvc/Mvc.Localization/ref/Microsoft.AspNetCore.Mvc.Localization.csproj index 27c1f74bf143..a91ae5d9ea9d 100644 --- a/src/Mvc/Mvc.Localization/ref/Microsoft.AspNetCore.Mvc.Localization.csproj +++ b/src/Mvc/Mvc.Localization/ref/Microsoft.AspNetCore.Mvc.Localization.csproj @@ -5,9 +5,11 @@ - - - - + + + + + + diff --git a/src/Mvc/Mvc.Localization/src/Microsoft.AspNetCore.Mvc.Localization.csproj b/src/Mvc/Mvc.Localization/src/Microsoft.AspNetCore.Mvc.Localization.csproj index 00f740f18b9d..e3f4cfd3c8a3 100644 --- a/src/Mvc/Mvc.Localization/src/Microsoft.AspNetCore.Mvc.Localization.csproj +++ b/src/Mvc/Mvc.Localization/src/Microsoft.AspNetCore.Mvc.Localization.csproj @@ -9,7 +9,7 @@ Microsoft.AspNetCore.Mvc.Localization.IViewLocalizer true true aspnetcore;aspnetcoremvc;localization - false + false diff --git a/src/Mvc/Mvc.NewtonsoftJson/ref/Microsoft.AspNetCore.Mvc.NewtonsoftJson.csproj b/src/Mvc/Mvc.NewtonsoftJson/ref/Microsoft.AspNetCore.Mvc.NewtonsoftJson.csproj deleted file mode 100644 index 397d31f63e65..000000000000 --- a/src/Mvc/Mvc.NewtonsoftJson/ref/Microsoft.AspNetCore.Mvc.NewtonsoftJson.csproj +++ /dev/null @@ -1,13 +0,0 @@ - - - - $(DefaultNetCoreTargetFramework) - - - - - - - - - diff --git a/src/Mvc/Mvc.NewtonsoftJson/ref/Microsoft.AspNetCore.Mvc.NewtonsoftJson.netcoreapp.cs b/src/Mvc/Mvc.NewtonsoftJson/ref/Microsoft.AspNetCore.Mvc.NewtonsoftJson.netcoreapp.cs deleted file mode 100644 index 1fdaa0ae9705..000000000000 --- a/src/Mvc/Mvc.NewtonsoftJson/ref/Microsoft.AspNetCore.Mvc.NewtonsoftJson.netcoreapp.cs +++ /dev/null @@ -1,97 +0,0 @@ -// Copyright (c) .NET Foundation. All rights reserved. -// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. - -namespace Microsoft.AspNetCore.Mvc -{ - public static partial class JsonPatchExtensions - { - public static void ApplyTo(this Microsoft.AspNetCore.JsonPatch.JsonPatchDocument patchDoc, T objectToApplyTo, Microsoft.AspNetCore.Mvc.ModelBinding.ModelStateDictionary modelState) where T : class { } - public static void ApplyTo(this Microsoft.AspNetCore.JsonPatch.JsonPatchDocument patchDoc, T objectToApplyTo, Microsoft.AspNetCore.Mvc.ModelBinding.ModelStateDictionary modelState, string prefix) where T : class { } - } - public partial class MvcNewtonsoftJsonOptions : System.Collections.Generic.IEnumerable, System.Collections.IEnumerable - { - public MvcNewtonsoftJsonOptions() { } - public bool AllowInputFormatterExceptionMessages { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute] set { } } - public Newtonsoft.Json.JsonSerializerSettings SerializerSettings { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } } - System.Collections.Generic.IEnumerator System.Collections.Generic.IEnumerable.GetEnumerator() { throw null; } - System.Collections.IEnumerator System.Collections.IEnumerable.GetEnumerator() { throw null; } - } -} -namespace Microsoft.AspNetCore.Mvc.Formatters -{ - public partial class NewtonsoftJsonInputFormatter : Microsoft.AspNetCore.Mvc.Formatters.TextInputFormatter, Microsoft.AspNetCore.Mvc.Formatters.IInputFormatterExceptionPolicy - { - public NewtonsoftJsonInputFormatter(Microsoft.Extensions.Logging.ILogger logger, Newtonsoft.Json.JsonSerializerSettings serializerSettings, System.Buffers.ArrayPool charPool, Microsoft.Extensions.ObjectPool.ObjectPoolProvider objectPoolProvider, Microsoft.AspNetCore.Mvc.MvcOptions options, Microsoft.AspNetCore.Mvc.MvcNewtonsoftJsonOptions jsonOptions) { } - public virtual Microsoft.AspNetCore.Mvc.Formatters.InputFormatterExceptionPolicy ExceptionPolicy { get { throw null; } } - protected Newtonsoft.Json.JsonSerializerSettings SerializerSettings { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } } - protected virtual Newtonsoft.Json.JsonSerializer CreateJsonSerializer() { throw null; } - protected virtual Newtonsoft.Json.JsonSerializer CreateJsonSerializer(Microsoft.AspNetCore.Mvc.Formatters.InputFormatterContext context) { throw null; } - [System.Diagnostics.DebuggerStepThroughAttribute] - public override System.Threading.Tasks.Task ReadRequestBodyAsync(Microsoft.AspNetCore.Mvc.Formatters.InputFormatterContext context, System.Text.Encoding encoding) { throw null; } - protected virtual void ReleaseJsonSerializer(Newtonsoft.Json.JsonSerializer serializer) { } - } - public partial class NewtonsoftJsonOutputFormatter : Microsoft.AspNetCore.Mvc.Formatters.TextOutputFormatter - { - public NewtonsoftJsonOutputFormatter(Newtonsoft.Json.JsonSerializerSettings serializerSettings, System.Buffers.ArrayPool charPool, Microsoft.AspNetCore.Mvc.MvcOptions mvcOptions) { } - protected Newtonsoft.Json.JsonSerializerSettings SerializerSettings { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } } - protected virtual Newtonsoft.Json.JsonSerializer CreateJsonSerializer() { throw null; } - protected virtual Newtonsoft.Json.JsonSerializer CreateJsonSerializer(Microsoft.AspNetCore.Mvc.Formatters.OutputFormatterWriteContext context) { throw null; } - protected virtual Newtonsoft.Json.JsonWriter CreateJsonWriter(System.IO.TextWriter writer) { throw null; } - [System.Diagnostics.DebuggerStepThroughAttribute] - public override System.Threading.Tasks.Task WriteResponseBodyAsync(Microsoft.AspNetCore.Mvc.Formatters.OutputFormatterWriteContext context, System.Text.Encoding selectedEncoding) { throw null; } - } - public partial class NewtonsoftJsonPatchInputFormatter : Microsoft.AspNetCore.Mvc.Formatters.NewtonsoftJsonInputFormatter - { - public NewtonsoftJsonPatchInputFormatter(Microsoft.Extensions.Logging.ILogger logger, Newtonsoft.Json.JsonSerializerSettings serializerSettings, System.Buffers.ArrayPool charPool, Microsoft.Extensions.ObjectPool.ObjectPoolProvider objectPoolProvider, Microsoft.AspNetCore.Mvc.MvcOptions options, Microsoft.AspNetCore.Mvc.MvcNewtonsoftJsonOptions jsonOptions) : base (default(Microsoft.Extensions.Logging.ILogger), default(Newtonsoft.Json.JsonSerializerSettings), default(System.Buffers.ArrayPool), default(Microsoft.Extensions.ObjectPool.ObjectPoolProvider), default(Microsoft.AspNetCore.Mvc.MvcOptions), default(Microsoft.AspNetCore.Mvc.MvcNewtonsoftJsonOptions)) { } - public override Microsoft.AspNetCore.Mvc.Formatters.InputFormatterExceptionPolicy ExceptionPolicy { get { throw null; } } - public override bool CanRead(Microsoft.AspNetCore.Mvc.Formatters.InputFormatterContext context) { throw null; } - [System.Diagnostics.DebuggerStepThroughAttribute] - public override System.Threading.Tasks.Task ReadRequestBodyAsync(Microsoft.AspNetCore.Mvc.Formatters.InputFormatterContext context, System.Text.Encoding encoding) { throw null; } - } -} -namespace Microsoft.AspNetCore.Mvc.NewtonsoftJson -{ - public static partial class JsonSerializerSettingsProvider - { - public static Newtonsoft.Json.JsonSerializerSettings CreateSerializerSettings() { throw null; } - } - public sealed partial class ProblemDetailsConverter : Newtonsoft.Json.JsonConverter - { - public ProblemDetailsConverter() { } - public override bool CanConvert(System.Type objectType) { throw null; } - public override object ReadJson(Newtonsoft.Json.JsonReader reader, System.Type objectType, object existingValue, Newtonsoft.Json.JsonSerializer serializer) { throw null; } - public override void WriteJson(Newtonsoft.Json.JsonWriter writer, object value, Newtonsoft.Json.JsonSerializer serializer) { } - } - public sealed partial class ValidationProblemDetailsConverter : Newtonsoft.Json.JsonConverter - { - public ValidationProblemDetailsConverter() { } - public override bool CanConvert(System.Type objectType) { throw null; } - public override object ReadJson(Newtonsoft.Json.JsonReader reader, System.Type objectType, object existingValue, Newtonsoft.Json.JsonSerializer serializer) { throw null; } - public override void WriteJson(Newtonsoft.Json.JsonWriter writer, object value, Newtonsoft.Json.JsonSerializer serializer) { } - } -} -namespace Microsoft.AspNetCore.Mvc.Rendering -{ - public static partial class JsonHelperExtensions - { - public static Microsoft.AspNetCore.Html.IHtmlContent Serialize(this Microsoft.AspNetCore.Mvc.Rendering.IJsonHelper jsonHelper, object value, Newtonsoft.Json.JsonSerializerSettings serializerSettings) { throw null; } - } -} -namespace Microsoft.Extensions.DependencyInjection -{ - public static partial class MvcNewtonsoftJsonOptionsExtensions - { - public static Microsoft.AspNetCore.Mvc.MvcNewtonsoftJsonOptions UseCamelCasing(this Microsoft.AspNetCore.Mvc.MvcNewtonsoftJsonOptions options, bool processDictionaryKeys) { throw null; } - public static Microsoft.AspNetCore.Mvc.MvcNewtonsoftJsonOptions UseMemberCasing(this Microsoft.AspNetCore.Mvc.MvcNewtonsoftJsonOptions options) { throw null; } - } - public static partial class NewtonsoftJsonMvcBuilderExtensions - { - public static Microsoft.Extensions.DependencyInjection.IMvcBuilder AddNewtonsoftJson(this Microsoft.Extensions.DependencyInjection.IMvcBuilder builder) { throw null; } - public static Microsoft.Extensions.DependencyInjection.IMvcBuilder AddNewtonsoftJson(this Microsoft.Extensions.DependencyInjection.IMvcBuilder builder, System.Action setupAction) { throw null; } - } - public static partial class NewtonsoftJsonMvcCoreBuilderExtensions - { - public static Microsoft.Extensions.DependencyInjection.IMvcCoreBuilder AddNewtonsoftJson(this Microsoft.Extensions.DependencyInjection.IMvcCoreBuilder builder) { throw null; } - public static Microsoft.Extensions.DependencyInjection.IMvcCoreBuilder AddNewtonsoftJson(this Microsoft.Extensions.DependencyInjection.IMvcCoreBuilder builder, System.Action setupAction) { throw null; } - } -} diff --git a/src/Mvc/Mvc.NewtonsoftJson/src/Microsoft.AspNetCore.Mvc.NewtonsoftJson.csproj b/src/Mvc/Mvc.NewtonsoftJson/src/Microsoft.AspNetCore.Mvc.NewtonsoftJson.csproj index c8739145a958..b6374dbe75cd 100644 --- a/src/Mvc/Mvc.NewtonsoftJson/src/Microsoft.AspNetCore.Mvc.NewtonsoftJson.csproj +++ b/src/Mvc/Mvc.NewtonsoftJson/src/Microsoft.AspNetCore.Mvc.NewtonsoftJson.csproj @@ -5,7 +5,7 @@ $(DefaultNetCoreTargetFramework) true aspnetcore;aspnetcoremvc;json - true + true $(DefineConstants);JSONNET diff --git a/src/Mvc/Mvc.Razor.RuntimeCompilation/ref/Microsoft.AspNetCore.Mvc.Razor.RuntimeCompilation.csproj b/src/Mvc/Mvc.Razor.RuntimeCompilation/ref/Microsoft.AspNetCore.Mvc.Razor.RuntimeCompilation.csproj deleted file mode 100644 index d6f2a9ffb715..000000000000 --- a/src/Mvc/Mvc.Razor.RuntimeCompilation/ref/Microsoft.AspNetCore.Mvc.Razor.RuntimeCompilation.csproj +++ /dev/null @@ -1,14 +0,0 @@ - - - - $(DefaultNetCoreTargetFramework) - - - - - - - - - - diff --git a/src/Mvc/Mvc.Razor.RuntimeCompilation/ref/Microsoft.AspNetCore.Mvc.Razor.RuntimeCompilation.netcoreapp.cs b/src/Mvc/Mvc.Razor.RuntimeCompilation/ref/Microsoft.AspNetCore.Mvc.Razor.RuntimeCompilation.netcoreapp.cs deleted file mode 100644 index 286620cf6649..000000000000 --- a/src/Mvc/Mvc.Razor.RuntimeCompilation/ref/Microsoft.AspNetCore.Mvc.Razor.RuntimeCompilation.netcoreapp.cs +++ /dev/null @@ -1,45 +0,0 @@ -// Copyright (c) .NET Foundation. All rights reserved. -// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. - -namespace Microsoft.AspNetCore.Mvc.ApplicationParts -{ - public static partial class AssemblyPartExtensions - { - public static System.Collections.Generic.IEnumerable GetReferencePaths(this Microsoft.AspNetCore.Mvc.ApplicationParts.AssemblyPart assemblyPart) { throw null; } - } -} -namespace Microsoft.AspNetCore.Mvc.Razor.RuntimeCompilation -{ - public partial class FileProviderRazorProjectItem : Microsoft.AspNetCore.Razor.Language.RazorProjectItem - { - public FileProviderRazorProjectItem(Microsoft.Extensions.FileProviders.IFileInfo fileInfo, string basePath, string filePath, string root) { } - public FileProviderRazorProjectItem(Microsoft.Extensions.FileProviders.IFileInfo fileInfo, string basePath, string filePath, string root, string fileKind) { } - public override string BasePath { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } } - public override bool Exists { get { throw null; } } - public Microsoft.Extensions.FileProviders.IFileInfo FileInfo { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } } - public override string FileKind { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } } - public override string FilePath { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } } - public override string PhysicalPath { get { throw null; } } - public override string RelativePhysicalPath { get { throw null; } } - public override System.IO.Stream Read() { throw null; } - } - public partial class MvcRazorRuntimeCompilationOptions - { - public MvcRazorRuntimeCompilationOptions() { } - public System.Collections.Generic.IList AdditionalReferencePaths { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } } - public System.Collections.Generic.IList FileProviders { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } } - } -} -namespace Microsoft.Extensions.DependencyInjection -{ - public static partial class RazorRuntimeCompilationMvcBuilderExtensions - { - public static Microsoft.Extensions.DependencyInjection.IMvcBuilder AddRazorRuntimeCompilation(this Microsoft.Extensions.DependencyInjection.IMvcBuilder builder) { throw null; } - public static Microsoft.Extensions.DependencyInjection.IMvcBuilder AddRazorRuntimeCompilation(this Microsoft.Extensions.DependencyInjection.IMvcBuilder builder, System.Action setupAction) { throw null; } - } - public static partial class RazorRuntimeCompilationMvcCoreBuilderExtensions - { - public static Microsoft.Extensions.DependencyInjection.IMvcCoreBuilder AddRazorRuntimeCompilation(this Microsoft.Extensions.DependencyInjection.IMvcCoreBuilder builder) { throw null; } - public static Microsoft.Extensions.DependencyInjection.IMvcCoreBuilder AddRazorRuntimeCompilation(this Microsoft.Extensions.DependencyInjection.IMvcCoreBuilder builder, System.Action setupAction) { throw null; } - } -} diff --git a/src/Mvc/Mvc.Razor.RuntimeCompilation/src/Microsoft.AspNetCore.Mvc.Razor.RuntimeCompilation.csproj b/src/Mvc/Mvc.Razor.RuntimeCompilation/src/Microsoft.AspNetCore.Mvc.Razor.RuntimeCompilation.csproj index 1476267dfc1b..5e95e71c89f5 100644 --- a/src/Mvc/Mvc.Razor.RuntimeCompilation/src/Microsoft.AspNetCore.Mvc.Razor.RuntimeCompilation.csproj +++ b/src/Mvc/Mvc.Razor.RuntimeCompilation/src/Microsoft.AspNetCore.Mvc.Razor.RuntimeCompilation.csproj @@ -6,12 +6,13 @@ $(NoWarn);CS1591 true aspnetcore;aspnetcoremvc;razor - true + true + diff --git a/src/Mvc/Mvc.Razor.RuntimeCompilation/src/Properties/AssemblyInfo.cs b/src/Mvc/Mvc.Razor.RuntimeCompilation/src/Properties/AssemblyInfo.cs index 472b09032a65..bb42a1ab3807 100644 --- a/src/Mvc/Mvc.Razor.RuntimeCompilation/src/Properties/AssemblyInfo.cs +++ b/src/Mvc/Mvc.Razor.RuntimeCompilation/src/Properties/AssemblyInfo.cs @@ -2,6 +2,10 @@ // Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. using System.Runtime.CompilerServices; +using Microsoft.AspNetCore.Hosting; +using Microsoft.AspNetCore.Mvc.Razor.RuntimeCompilation; [assembly: InternalsVisibleTo("Microsoft.AspNetCore.Mvc.Razor.RuntimeCompilation.Test, PublicKey=0024000004800000940000000602000000240000525341310004000001000100f33a29044fa9d740c9b3213a93e57c84b472c84e0b8a0e1ae48e67a9f8f6de9d5f7f3d52ac23e48ac51801f1dc950abe901da34d2a9e3baadb141a17c77ef3c565dd5ee5054b91cf63bb3c6ab83f72ab3aafe93d0fc3c2348b764fafb0b1c0733de51459aeab46580384bf9d74c4e28164b7cde247f891ba07891c9d872ad2bb")] [assembly: InternalsVisibleTo("DynamicProxyGenAssembly2, PublicKey=0024000004800000940000000602000000240000525341310004000001000100c547cac37abd99c8db225ef2f6c8a3602f3b3606cc9891605d02baa56104f4cfc0734aa39b93bf7852f7d9266654753cc297e7d2edfe0bac1cdcf9f717241550e0a7b191195b7667bb4f64bcb8e2121380fd1d9d46ad2d92d2d15605093924cceaf74c4861eff62abf69b9291ed0a340e113be11e6a7d3113e92484cf7045cc7")] + +[assembly: HostingStartup(typeof(RazorRuntimeCompilationHostingStartup))] \ No newline at end of file diff --git a/src/Mvc/Mvc.Razor.RuntimeCompilation/src/RazorRuntimeCompilationHostingStartup.cs b/src/Mvc/Mvc.Razor.RuntimeCompilation/src/RazorRuntimeCompilationHostingStartup.cs new file mode 100644 index 000000000000..62eee8072a5b --- /dev/null +++ b/src/Mvc/Mvc.Razor.RuntimeCompilation/src/RazorRuntimeCompilationHostingStartup.cs @@ -0,0 +1,17 @@ +// Copyright (c) .NET Foundation. All rights reserved. +// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. + +using Microsoft.AspNetCore.Hosting; +using Microsoft.Extensions.DependencyInjection; + +namespace Microsoft.AspNetCore.Mvc.Razor.RuntimeCompilation +{ + internal sealed class RazorRuntimeCompilationHostingStartup : IHostingStartup + { + public void Configure(IWebHostBuilder builder) + { + // Add Razor services + builder.ConfigureServices(services => RazorRuntimeCompilationMvcCoreBuilderExtensions.AddServices(services)); + } + } +} diff --git a/src/Mvc/Mvc.Razor/ref/Microsoft.AspNetCore.Mvc.Razor.Manual.cs b/src/Mvc/Mvc.Razor/ref/Microsoft.AspNetCore.Mvc.Razor.Manual.cs new file mode 100644 index 000000000000..af64509fadeb --- /dev/null +++ b/src/Mvc/Mvc.Razor/ref/Microsoft.AspNetCore.Mvc.Razor.Manual.cs @@ -0,0 +1,194 @@ +// Copyright (c) .NET Foundation. All rights reserved. +// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. + +namespace Microsoft.AspNetCore.Mvc.ApplicationParts +{ + internal partial class RazorCompiledItemFeatureProvider + { + public RazorCompiledItemFeatureProvider() { } + public void PopulateFeature(System.Collections.Generic.IEnumerable parts, Microsoft.AspNetCore.Mvc.Razor.Compilation.ViewsFeature feature) { } + } +} + +namespace Microsoft.AspNetCore.Mvc.Razor +{ + public partial class RazorPageActivator : Microsoft.AspNetCore.Mvc.Razor.IRazorPageActivator + { + internal Microsoft.AspNetCore.Mvc.Razor.RazorPagePropertyActivator GetOrAddCacheEntry(Microsoft.AspNetCore.Mvc.Razor.IRazorPage page) { throw null; } + } + internal partial class DefaultTagHelperFactory : Microsoft.AspNetCore.Mvc.Razor.ITagHelperFactory + { + public DefaultTagHelperFactory(Microsoft.AspNetCore.Mvc.Razor.ITagHelperActivator activator) { } + public TTagHelper CreateTagHelper(Microsoft.AspNetCore.Mvc.Rendering.ViewContext context) where TTagHelper : Microsoft.AspNetCore.Razor.TagHelpers.ITagHelper { throw null; } + } + public partial class RazorView + { + internal System.Action OnAfterPageActivated { get { throw null; } set { } } + } + internal partial class RazorPagePropertyActivator + { + public RazorPagePropertyActivator(System.Type pageType, System.Type declaredModelType, Microsoft.AspNetCore.Mvc.ModelBinding.IModelMetadataProvider metadataProvider, Microsoft.AspNetCore.Mvc.Razor.RazorPagePropertyActivator.PropertyValueAccessors propertyValueAccessors) { } + public void Activate(object page, Microsoft.AspNetCore.Mvc.Rendering.ViewContext context) { } + internal Microsoft.AspNetCore.Mvc.ViewFeatures.ViewDataDictionary CreateViewDataDictionary(Microsoft.AspNetCore.Mvc.Rendering.ViewContext context) { throw null; } + public partial class PropertyValueAccessors + { + public PropertyValueAccessors() { } + public System.Func DiagnosticSourceAccessor { get { throw null; } set { } } + public System.Func HtmlEncoderAccessor { get { throw null; } set { } } + public System.Func JsonHelperAccessor { get { throw null; } set { } } + public System.Func ModelExpressionProviderAccessor { get { throw null; } set { } } + public System.Func UrlHelperAccessor { get { throw null; } set { } } + } + } + internal partial interface IModelTypeProvider + { + System.Type GetModelType(); + } + internal static partial class RazorFileHierarchy + { + public static System.Collections.Generic.IEnumerable GetViewStartPaths(string path) { throw null; } + } + internal partial class RazorViewEngineOptionsSetup + { + public RazorViewEngineOptionsSetup() { } + public void Configure(Microsoft.AspNetCore.Mvc.Razor.RazorViewEngineOptions options) { } + } + internal partial class DefaultViewCompiler : Microsoft.AspNetCore.Mvc.Razor.Compilation.IViewCompiler + { + public DefaultViewCompiler(System.Collections.Generic.IList compiledViews, Microsoft.Extensions.Logging.ILogger logger) { } + public System.Threading.Tasks.Task CompileAsync(string relativePath) { throw null; } + } + internal static partial class ViewPath + { + public static string NormalizePath(string path) { throw null; } + } + internal partial class ServiceBasedTagHelperActivator : Microsoft.AspNetCore.Mvc.Razor.ITagHelperActivator + { + public ServiceBasedTagHelperActivator() { } + public TTagHelper Create(Microsoft.AspNetCore.Mvc.Rendering.ViewContext context) where TTagHelper : Microsoft.AspNetCore.Razor.TagHelpers.ITagHelper { throw null; } + } + internal partial class TagHelperComponentManager : Microsoft.AspNetCore.Mvc.Razor.TagHelpers.ITagHelperComponentManager + { + public TagHelperComponentManager(System.Collections.Generic.IEnumerable tagHelperComponents) { } + public System.Collections.Generic.ICollection Components { get { throw null; } } + } + internal static partial class Resources + { + internal static string ArgumentCannotBeNullOrEmpty { get { throw null; } } + internal static string CompilationFailed { get { throw null; } } + internal static string Compilation_MissingReferences { get { throw null; } } + internal static string CompiledViewDescriptor_NoData { get { throw null; } } + internal static string CouldNotResolveApplicationRelativeUrl_TagHelper { get { throw null; } } + internal static System.Globalization.CultureInfo Culture { get { throw null; } set { } } + internal static string FileProvidersAreRequired { get { throw null; } } + internal static string FlushPointCannotBeInvoked { get { throw null; } } + internal static string GeneratedCodeFileName { get { throw null; } } + internal static string LayoutCannotBeLocated { get { throw null; } } + internal static string LayoutCannotBeRendered { get { throw null; } } + internal static string LayoutHasCircularReference { get { throw null; } } + internal static string PropertyMustBeSet { get { throw null; } } + internal static string RazorPage_CannotFlushWhileInAWritingScope { get { throw null; } } + internal static string RazorPage_InvalidTagHelperIndexerAssignment { get { throw null; } } + internal static string RazorPage_MethodCannotBeCalled { get { throw null; } } + internal static string RazorPage_NestingAttributeWritingScopesNotSupported { get { throw null; } } + internal static string RazorPage_ThereIsNoActiveWritingScopeToEnd { get { throw null; } } + internal static string RazorProject_PathMustStartWithForwardSlash { get { throw null; } } + internal static string RazorViewCompiler_ViewPathsDifferOnlyInCase { get { throw null; } } + internal static string RenderBodyNotCalled { get { throw null; } } + internal static System.Resources.ResourceManager ResourceManager { get { throw null; } } + internal static string SectionAlreadyDefined { get { throw null; } } + internal static string SectionAlreadyRendered { get { throw null; } } + internal static string SectionNotDefined { get { throw null; } } + internal static string SectionsNotRendered { get { throw null; } } + internal static string UnsupportedDebugInformationFormat { get { throw null; } } + internal static string ViewContextMustBeSet { get { throw null; } } + internal static string ViewLocationFormatsIsRequired { get { throw null; } } + internal static string FormatCompilation_MissingReferences(object p0) { throw null; } + internal static string FormatCompiledViewDescriptor_NoData(object p0, object p1) { throw null; } + internal static string FormatCouldNotResolveApplicationRelativeUrl_TagHelper(object p0, object p1, object p2, object p3, object p4, object p5) { throw null; } + internal static string FormatFileProvidersAreRequired(object p0, object p1, object p2) { throw null; } + internal static string FormatFlushPointCannotBeInvoked(object p0) { throw null; } + internal static string FormatLayoutCannotBeLocated(object p0, object p1) { throw null; } + internal static string FormatLayoutCannotBeRendered(object p0, object p1) { throw null; } + internal static string FormatLayoutHasCircularReference(object p0, object p1) { throw null; } + internal static string FormatPropertyMustBeSet(object p0, object p1) { throw null; } + internal static string FormatRazorPage_CannotFlushWhileInAWritingScope(object p0, object p1) { throw null; } + internal static string FormatRazorPage_InvalidTagHelperIndexerAssignment(object p0, object p1, object p2) { throw null; } + internal static string FormatRazorPage_MethodCannotBeCalled(object p0, object p1) { throw null; } + internal static string FormatRenderBodyNotCalled(object p0, object p1, object p2) { throw null; } + internal static string FormatSectionAlreadyDefined(object p0) { throw null; } + internal static string FormatSectionAlreadyRendered(object p0, object p1, object p2) { throw null; } + internal static string FormatSectionNotDefined(object p0, object p1, object p2) { throw null; } + internal static string FormatSectionsNotRendered(object p0, object p1, object p2) { throw null; } + internal static string FormatUnsupportedDebugInformationFormat(object p0) { throw null; } + internal static string FormatViewContextMustBeSet(object p0, object p1) { throw null; } + internal static string FormatViewLocationFormatsIsRequired(object p0) { throw null; } + internal static string GetResourceString(string resourceKey, string defaultValue = null) { throw null; } + } + public partial class RazorViewEngine : Microsoft.AspNetCore.Mvc.Razor.IRazorViewEngine + { + internal System.Collections.Generic.IEnumerable GetViewLocationFormats(Microsoft.AspNetCore.Mvc.Razor.ViewLocationExpanderContext context) { throw null; } + } +} + +namespace Microsoft.AspNetCore.Mvc.Razor.Compilation +{ + internal partial class DefaultRazorPageFactoryProvider : Microsoft.AspNetCore.Mvc.Razor.IRazorPageFactoryProvider + { + public DefaultRazorPageFactoryProvider(Microsoft.AspNetCore.Mvc.Razor.Compilation.IViewCompilerProvider viewCompilerProvider) { } + public Microsoft.AspNetCore.Mvc.Razor.RazorPageFactoryResult CreateFactory(string relativePath) { throw null; } + } +} + +namespace Microsoft.AspNetCore.Mvc.Razor.Infrastructure +{ + internal static partial class CryptographyAlgorithms + { + public static System.Security.Cryptography.SHA256 CreateSHA256() { throw null; } + } + + internal partial class DefaultFileVersionProvider : Microsoft.AspNetCore.Mvc.ViewFeatures.IFileVersionProvider + { + public DefaultFileVersionProvider(Microsoft.AspNetCore.Hosting.IWebHostEnvironment hostingEnvironment, Microsoft.AspNetCore.Mvc.Razor.Infrastructure.TagHelperMemoryCacheProvider cacheProvider) { } + public Microsoft.Extensions.Caching.Memory.IMemoryCache Cache { get { throw null; } } + public Microsoft.Extensions.FileProviders.IFileProvider FileProvider { get { throw null; } } + public string AddFileVersionToPath(Microsoft.AspNetCore.Http.PathString requestPathBase, string path) { throw null; } + } + internal partial class DefaultTagHelperActivator : Microsoft.AspNetCore.Mvc.Razor.ITagHelperActivator + { + public DefaultTagHelperActivator(Microsoft.AspNetCore.Mvc.Infrastructure.ITypeActivatorCache typeActivatorCache) { } + public TTagHelper Create(Microsoft.AspNetCore.Mvc.Rendering.ViewContext context) where TTagHelper : Microsoft.AspNetCore.Razor.TagHelpers.ITagHelper { throw null; } + } +} + +namespace Microsoft.AspNetCore.Mvc.Razor.TagHelpers +{ + internal partial class TagHelperComponentPropertyActivator : Microsoft.AspNetCore.Mvc.Razor.TagHelpers.ITagHelperComponentPropertyActivator + { + public TagHelperComponentPropertyActivator() { } + public void Activate(Microsoft.AspNetCore.Mvc.Rendering.ViewContext context, Microsoft.AspNetCore.Razor.TagHelpers.ITagHelperComponent tagHelperComponent) { } + } +} + +namespace Microsoft.AspNetCore.Mvc.Razor.Compilation +{ + internal partial class DefaultViewCompilerProvider : Microsoft.AspNetCore.Mvc.Razor.Compilation.IViewCompilerProvider + { + public DefaultViewCompilerProvider(Microsoft.AspNetCore.Mvc.ApplicationParts.ApplicationPartManager applicationPartManager, Microsoft.Extensions.Logging.ILoggerFactory loggerFactory) { } + public Microsoft.AspNetCore.Mvc.Razor.Compilation.IViewCompiler GetCompiler() { throw null; } + } + internal partial class DefaultViewCompiler : Microsoft.AspNetCore.Mvc.Razor.Compilation.IViewCompiler + { + public DefaultViewCompiler(System.Collections.Generic.IList compiledViews, Microsoft.Extensions.Logging.ILogger logger) { } + public System.Threading.Tasks.Task CompileAsync(string relativePath) { throw null; } + } +} + +namespace Microsoft.Extensions.DependencyInjection +{ + internal partial class MvcRazorMvcViewOptionsSetup + { + public MvcRazorMvcViewOptionsSetup(Microsoft.AspNetCore.Mvc.Razor.IRazorViewEngine razorViewEngine) { } + public void Configure(Microsoft.AspNetCore.Mvc.MvcViewOptions options) { } + } +} diff --git a/src/Mvc/Mvc.Razor/ref/Microsoft.AspNetCore.Mvc.Razor.csproj b/src/Mvc/Mvc.Razor/ref/Microsoft.AspNetCore.Mvc.Razor.csproj index efa2947eb8dd..7895de2729ce 100644 --- a/src/Mvc/Mvc.Razor/ref/Microsoft.AspNetCore.Mvc.Razor.csproj +++ b/src/Mvc/Mvc.Razor/ref/Microsoft.AspNetCore.Mvc.Razor.csproj @@ -5,9 +5,11 @@ - - - - + + + + + + diff --git a/src/Mvc/Mvc.Razor/src/Microsoft.AspNetCore.Mvc.Razor.csproj b/src/Mvc/Mvc.Razor/src/Microsoft.AspNetCore.Mvc.Razor.csproj index 77ae07bc3b77..e9fc306a9e5e 100644 --- a/src/Mvc/Mvc.Razor/src/Microsoft.AspNetCore.Mvc.Razor.csproj +++ b/src/Mvc/Mvc.Razor/src/Microsoft.AspNetCore.Mvc.Razor.csproj @@ -7,7 +7,7 @@ $(NoWarn);CS1591 true aspnetcore;aspnetcoremvc;cshtml;razor - false + false diff --git a/src/Mvc/Mvc.RazorPages/ref/Directory.Build.props b/src/Mvc/Mvc.RazorPages/ref/Directory.Build.props deleted file mode 100644 index 6cab2bf950a4..000000000000 --- a/src/Mvc/Mvc.RazorPages/ref/Directory.Build.props +++ /dev/null @@ -1,9 +0,0 @@ - - - - - - - - - diff --git a/src/Mvc/Mvc.RazorPages/ref/Microsoft.AspNetCore.Mvc.RazorPages.Manual.cs b/src/Mvc/Mvc.RazorPages/ref/Microsoft.AspNetCore.Mvc.RazorPages.Manual.cs new file mode 100644 index 000000000000..a22df01730db --- /dev/null +++ b/src/Mvc/Mvc.RazorPages/ref/Microsoft.AspNetCore.Mvc.RazorPages.Manual.cs @@ -0,0 +1,340 @@ +// Copyright (c) .NET Foundation. All rights reserved. +// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. + +namespace Microsoft.AspNetCore.Mvc.ApplicationModels +{ + internal partial class CompiledPageRouteModelProvider : Microsoft.AspNetCore.Mvc.ApplicationModels.IPageRouteModelProvider + { + public CompiledPageRouteModelProvider(Microsoft.AspNetCore.Mvc.ApplicationParts.ApplicationPartManager applicationManager, Microsoft.Extensions.Options.IOptions pagesOptionsAccessor, Microsoft.Extensions.Logging.ILogger logger) { } + public int Order { get { throw null; } } + internal static string GetRouteTemplate(Microsoft.AspNetCore.Mvc.Razor.Compilation.CompiledViewDescriptor viewDescriptor) { throw null; } + protected virtual Microsoft.AspNetCore.Mvc.Razor.Compilation.ViewsFeature GetViewFeature(Microsoft.AspNetCore.Mvc.ApplicationParts.ApplicationPartManager applicationManager) { throw null; } + public void OnProvidersExecuted(Microsoft.AspNetCore.Mvc.ApplicationModels.PageRouteModelProviderContext context) { } + public void OnProvidersExecuting(Microsoft.AspNetCore.Mvc.ApplicationModels.PageRouteModelProviderContext context) { } + } + internal partial class DefaultPageApplicationModelPartsProvider : Microsoft.AspNetCore.Mvc.ApplicationModels.IPageApplicationModelPartsProvider + { + public DefaultPageApplicationModelPartsProvider(Microsoft.AspNetCore.Mvc.ModelBinding.IModelMetadataProvider modelMetadataProvider) { } + public Microsoft.AspNetCore.Mvc.ApplicationModels.PageHandlerModel CreateHandlerModel(System.Reflection.MethodInfo method) { throw null; } + public Microsoft.AspNetCore.Mvc.ApplicationModels.PageParameterModel CreateParameterModel(System.Reflection.ParameterInfo parameter) { throw null; } + public Microsoft.AspNetCore.Mvc.ApplicationModels.PagePropertyModel CreatePropertyModel(System.Reflection.PropertyInfo property) { throw null; } + public bool IsHandler(System.Reflection.MethodInfo methodInfo) { throw null; } + internal static bool TryParseHandlerMethod(string methodName, out string httpMethod, out string handler) { throw null; } + } + public partial class PageConventionCollection : System.Collections.ObjectModel.Collection + { + internal PageConventionCollection(System.IServiceProvider serviceProvider) { } + internal Microsoft.AspNetCore.Mvc.MvcOptions MvcOptions { get { throw null; } } + internal static void EnsureValidFolderPath(string folderPath) { } + internal static void EnsureValidPageName(string pageName, string argumentName = "pageName") { } + internal static bool PathBelongsToFolder(string folderPath, string viewEnginePath) { throw null; } + } + internal static partial class CompiledPageActionDescriptorBuilder + { + public static Microsoft.AspNetCore.Mvc.RazorPages.CompiledPageActionDescriptor Build(Microsoft.AspNetCore.Mvc.ApplicationModels.PageApplicationModel applicationModel, Microsoft.AspNetCore.Mvc.Filters.FilterCollection globalFilters) { throw null; } + internal static Microsoft.AspNetCore.Mvc.RazorPages.Infrastructure.PageBoundPropertyDescriptor[] CreateBoundProperties(Microsoft.AspNetCore.Mvc.ApplicationModels.PageApplicationModel applicationModel) { throw null; } + internal static Microsoft.AspNetCore.Mvc.RazorPages.Infrastructure.HandlerMethodDescriptor[] CreateHandlerMethods(Microsoft.AspNetCore.Mvc.ApplicationModels.PageApplicationModel applicationModel) { throw null; } + internal static Microsoft.AspNetCore.Mvc.RazorPages.Infrastructure.HandlerParameterDescriptor[] CreateHandlerParameters(Microsoft.AspNetCore.Mvc.ApplicationModels.PageHandlerModel handlerModel) { throw null; } + } + internal partial class AutoValidateAntiforgeryPageApplicationModelProvider : Microsoft.AspNetCore.Mvc.ApplicationModels.IPageApplicationModelProvider + { + public AutoValidateAntiforgeryPageApplicationModelProvider() { } + public int Order { get { throw null; } } + public void OnProvidersExecuted(Microsoft.AspNetCore.Mvc.ApplicationModels.PageApplicationModelProviderContext context) { } + public void OnProvidersExecuting(Microsoft.AspNetCore.Mvc.ApplicationModels.PageApplicationModelProviderContext context) { } + } + // https://github.com/dotnet/arcade/issues/2066 + [System.Diagnostics.DebuggerDisplayAttribute("PageParameterModel: Name={ParameterName}")] + public partial class PageParameterModel : Microsoft.AspNetCore.Mvc.ApplicationModels.ParameterModelBase, Microsoft.AspNetCore.Mvc.ApplicationModels.IBindingModel, Microsoft.AspNetCore.Mvc.ApplicationModels.ICommonModel, Microsoft.AspNetCore.Mvc.ApplicationModels.IPropertyModel + { + public PageParameterModel(Microsoft.AspNetCore.Mvc.ApplicationModels.PageParameterModel other) : base (default(System.Type), default(System.Collections.Generic.IReadOnlyList)) { } + public PageParameterModel(System.Reflection.ParameterInfo parameterInfo, System.Collections.Generic.IReadOnlyList attributes) : base (default(System.Type), default(System.Collections.Generic.IReadOnlyList)) { } + public Microsoft.AspNetCore.Mvc.ApplicationModels.PageHandlerModel Handler { [System.Runtime.CompilerServices.CompilerGeneratedAttribute]get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute]set { } } + System.Reflection.MemberInfo Microsoft.AspNetCore.Mvc.ApplicationModels.ICommonModel.MemberInfo { get { throw null; } } + public System.Reflection.ParameterInfo ParameterInfo { [System.Runtime.CompilerServices.CompilerGeneratedAttribute]get { throw null; } } + public string ParameterName { get { throw null; } set { } } + System.Collections.Generic.IReadOnlyList Microsoft.AspNetCore.Mvc.ApplicationModels.ICommonModel.Attributes { get { throw null; } } + System.Collections.Generic.IDictionary Microsoft.AspNetCore.Mvc.ApplicationModels.IPropertyModel.Properties { get { throw null; } } + } + [System.Diagnostics.DebuggerDisplayAttribute("PagePropertyModel: Name={PropertyName}")] + public partial class PagePropertyModel : Microsoft.AspNetCore.Mvc.ApplicationModels.ParameterModelBase, Microsoft.AspNetCore.Mvc.ApplicationModels.ICommonModel, Microsoft.AspNetCore.Mvc.ApplicationModels.IPropertyModel + { + public PagePropertyModel(Microsoft.AspNetCore.Mvc.ApplicationModels.PagePropertyModel other) : base (default(System.Type), default(System.Collections.Generic.IReadOnlyList)) { } + public PagePropertyModel(System.Reflection.PropertyInfo propertyInfo, System.Collections.Generic.IReadOnlyList attributes) : base (default(System.Type), default(System.Collections.Generic.IReadOnlyList)) { } + System.Reflection.MemberInfo Microsoft.AspNetCore.Mvc.ApplicationModels.ICommonModel.MemberInfo { get { throw null; } } + public Microsoft.AspNetCore.Mvc.ApplicationModels.PageApplicationModel Page { [System.Runtime.CompilerServices.CompilerGeneratedAttribute]get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute]set { } } + public System.Reflection.PropertyInfo PropertyInfo { [System.Runtime.CompilerServices.CompilerGeneratedAttribute]get { throw null; } } + public string PropertyName { get { throw null; } set { } } + System.Collections.Generic.IReadOnlyList Microsoft.AspNetCore.Mvc.ApplicationModels.ICommonModel.Attributes { get { throw null; } } + System.Collections.Generic.IDictionary Microsoft.AspNetCore.Mvc.ApplicationModels.IPropertyModel.Properties { get { throw null; } } + } + internal partial class PageRouteModelFactory + { + public PageRouteModelFactory(Microsoft.AspNetCore.Mvc.RazorPages.RazorPagesOptions options, Microsoft.Extensions.Logging.ILogger logger) { } + public Microsoft.AspNetCore.Mvc.ApplicationModels.PageRouteModel CreateAreaRouteModel(string relativePath, string routeTemplate) { throw null; } + public Microsoft.AspNetCore.Mvc.ApplicationModels.PageRouteModel CreateRouteModel(string relativePath, string routeTemplate) { throw null; } + internal bool TryParseAreaPath(string relativePath, out (string areaName, string viewEnginePath) result) { throw null; } + } + internal partial class AuthorizationPageApplicationModelProvider : Microsoft.AspNetCore.Mvc.ApplicationModels.IPageApplicationModelProvider + { + public AuthorizationPageApplicationModelProvider(Microsoft.AspNetCore.Authorization.IAuthorizationPolicyProvider policyProvider, Microsoft.Extensions.Options.IOptions mvcOptions) { } + public int Order { get { throw null; } } + public void OnProvidersExecuted(Microsoft.AspNetCore.Mvc.ApplicationModels.PageApplicationModelProviderContext context) { } + public void OnProvidersExecuting(Microsoft.AspNetCore.Mvc.ApplicationModels.PageApplicationModelProviderContext context) { } + } + internal partial class DefaultPageApplicationModelProvider : Microsoft.AspNetCore.Mvc.ApplicationModels.IPageApplicationModelProvider + { + public DefaultPageApplicationModelProvider(Microsoft.AspNetCore.Mvc.ModelBinding.IModelMetadataProvider modelMetadataProvider, Microsoft.Extensions.Options.IOptions razorPagesOptions, Microsoft.AspNetCore.Mvc.ApplicationModels.IPageApplicationModelPartsProvider pageApplicationModelPartsProvider) { } + public int Order { get { throw null; } } + protected virtual Microsoft.AspNetCore.Mvc.ApplicationModels.PageApplicationModel CreateModel(Microsoft.AspNetCore.Mvc.RazorPages.PageActionDescriptor actionDescriptor, System.Reflection.TypeInfo pageTypeInfo) { throw null; } + public void OnProvidersExecuted(Microsoft.AspNetCore.Mvc.ApplicationModels.PageApplicationModelProviderContext context) { } + public void OnProvidersExecuting(Microsoft.AspNetCore.Mvc.ApplicationModels.PageApplicationModelProviderContext context) { } + internal void PopulateFilters(Microsoft.AspNetCore.Mvc.ApplicationModels.PageApplicationModel pageModel) { } + internal void PopulateHandlerMethods(Microsoft.AspNetCore.Mvc.ApplicationModels.PageApplicationModel pageModel) { } + internal void PopulateHandlerProperties(Microsoft.AspNetCore.Mvc.ApplicationModels.PageApplicationModel pageModel) { } + } + internal partial class TempDataFilterPageApplicationModelProvider : Microsoft.AspNetCore.Mvc.ApplicationModels.IPageApplicationModelProvider + { + public TempDataFilterPageApplicationModelProvider(Microsoft.AspNetCore.Mvc.ViewFeatures.Infrastructure.TempDataSerializer tempDataSerializer) { } + public int Order { get { throw null; } } + public void OnProvidersExecuted(Microsoft.AspNetCore.Mvc.ApplicationModels.PageApplicationModelProviderContext context) { } + public void OnProvidersExecuting(Microsoft.AspNetCore.Mvc.ApplicationModels.PageApplicationModelProviderContext context) { } + } + internal partial class ViewDataAttributePageApplicationModelProvider : Microsoft.AspNetCore.Mvc.ApplicationModels.IPageApplicationModelProvider + { + public ViewDataAttributePageApplicationModelProvider() { } + public int Order { get { throw null; } } + public void OnProvidersExecuted(Microsoft.AspNetCore.Mvc.ApplicationModels.PageApplicationModelProviderContext context) { } + public void OnProvidersExecuting(Microsoft.AspNetCore.Mvc.ApplicationModels.PageApplicationModelProviderContext context) { } + } + internal partial class ResponseCacheFilterApplicationModelProvider : Microsoft.AspNetCore.Mvc.ApplicationModels.IPageApplicationModelProvider + { + public ResponseCacheFilterApplicationModelProvider(Microsoft.Extensions.Options.IOptions mvcOptionsAccessor, Microsoft.Extensions.Logging.ILoggerFactory loggerFactory) { } + public int Order { get { throw null; } } + public void OnProvidersExecuted(Microsoft.AspNetCore.Mvc.ApplicationModels.PageApplicationModelProviderContext context) { } + public void OnProvidersExecuting(Microsoft.AspNetCore.Mvc.ApplicationModels.PageApplicationModelProviderContext context) { } + } +} +namespace Microsoft.AspNetCore.Mvc.Filters +{ + internal partial class PageViewDataAttributeFilterFactory : Microsoft.AspNetCore.Mvc.Filters.IFilterFactory, Microsoft.AspNetCore.Mvc.Filters.IFilterMetadata + { + public PageViewDataAttributeFilterFactory(System.Collections.Generic.IReadOnlyList properties) { } + public bool IsReusable { get { throw null; } } + public System.Collections.Generic.IReadOnlyList Properties { [System.Runtime.CompilerServices.CompilerGeneratedAttribute]get { throw null; } } + public Microsoft.AspNetCore.Mvc.Filters.IFilterMetadata CreateInstance(System.IServiceProvider serviceProvider) { throw null; } + } + internal partial class PageResponseCacheFilter : Microsoft.AspNetCore.Mvc.Filters.IFilterMetadata, Microsoft.AspNetCore.Mvc.Filters.IPageFilter, Microsoft.AspNetCore.Mvc.Filters.IResponseCacheFilter + { + public PageResponseCacheFilter(Microsoft.AspNetCore.Mvc.CacheProfile cacheProfile, Microsoft.Extensions.Logging.ILoggerFactory loggerFactory) { } + public int Duration { get { throw null; } set { } } + public Microsoft.AspNetCore.Mvc.ResponseCacheLocation Location { get { throw null; } set { } } + public bool NoStore { get { throw null; } set { } } + public string VaryByHeader { get { throw null; } set { } } + public string[] VaryByQueryKeys { get { throw null; } set { } } + public void OnPageHandlerExecuted(Microsoft.AspNetCore.Mvc.Filters.PageHandlerExecutedContext context) { } + public void OnPageHandlerExecuting(Microsoft.AspNetCore.Mvc.Filters.PageHandlerExecutingContext context) { } + public void OnPageHandlerSelected(Microsoft.AspNetCore.Mvc.Filters.PageHandlerSelectedContext context) { } + } + internal partial class PageViewDataAttributeFilter : Microsoft.AspNetCore.Mvc.Filters.IFilterMetadata, Microsoft.AspNetCore.Mvc.Filters.IPageFilter, Microsoft.AspNetCore.Mvc.ViewFeatures.Filters.IViewDataValuesProviderFeature + { + public PageViewDataAttributeFilter(System.Collections.Generic.IReadOnlyList properties) { } + public System.Collections.Generic.IReadOnlyList Properties { [System.Runtime.CompilerServices.CompilerGeneratedAttribute]get { throw null; } } + public object Subject { [System.Runtime.CompilerServices.CompilerGeneratedAttribute]get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute]set { } } + public void OnPageHandlerExecuted(Microsoft.AspNetCore.Mvc.Filters.PageHandlerExecutedContext context) { } + public void OnPageHandlerExecuting(Microsoft.AspNetCore.Mvc.Filters.PageHandlerExecutingContext context) { } + public void OnPageHandlerSelected(Microsoft.AspNetCore.Mvc.Filters.PageHandlerSelectedContext context) { } + public void ProvideViewDataValues(Microsoft.AspNetCore.Mvc.ViewFeatures.ViewDataDictionary viewData) { } + } + internal partial class PageSaveTempDataPropertyFilterFactory : Microsoft.AspNetCore.Mvc.Filters.IFilterFactory, Microsoft.AspNetCore.Mvc.Filters.IFilterMetadata + { + public PageSaveTempDataPropertyFilterFactory(System.Collections.Generic.IReadOnlyList properties) { } + public bool IsReusable { get { throw null; } } + public System.Collections.Generic.IReadOnlyList Properties { [System.Runtime.CompilerServices.CompilerGeneratedAttribute]get { throw null; } } + public Microsoft.AspNetCore.Mvc.Filters.IFilterMetadata CreateInstance(System.IServiceProvider serviceProvider) { throw null; } + } + internal partial class PageSaveTempDataPropertyFilter : Microsoft.AspNetCore.Mvc.ViewFeatures.Filters.SaveTempDataPropertyFilterBase, Microsoft.AspNetCore.Mvc.Filters.IFilterMetadata, Microsoft.AspNetCore.Mvc.Filters.IPageFilter + { + public PageSaveTempDataPropertyFilter(Microsoft.AspNetCore.Mvc.ViewFeatures.ITempDataDictionaryFactory factory) : base (default(Microsoft.AspNetCore.Mvc.ViewFeatures.ITempDataDictionaryFactory)) { } + public void OnPageHandlerExecuted(Microsoft.AspNetCore.Mvc.Filters.PageHandlerExecutedContext context) { } + public void OnPageHandlerExecuting(Microsoft.AspNetCore.Mvc.Filters.PageHandlerExecutingContext context) { } + public void OnPageHandlerSelected(Microsoft.AspNetCore.Mvc.Filters.PageHandlerSelectedContext context) { } + } + internal partial class PageHandlerPageFilter : Microsoft.AspNetCore.Mvc.Filters.IAsyncPageFilter, Microsoft.AspNetCore.Mvc.Filters.IFilterMetadata, Microsoft.AspNetCore.Mvc.Filters.IOrderedFilter + { + public PageHandlerPageFilter() { } + public int Order { get { throw null; } } + public System.Threading.Tasks.Task OnPageHandlerExecutionAsync(Microsoft.AspNetCore.Mvc.Filters.PageHandlerExecutingContext context, Microsoft.AspNetCore.Mvc.Filters.PageHandlerExecutionDelegate next) { throw null; } + public System.Threading.Tasks.Task OnPageHandlerSelectionAsync(Microsoft.AspNetCore.Mvc.Filters.PageHandlerSelectedContext context) { throw null; } + } + internal partial class PageHandlerResultFilter : Microsoft.AspNetCore.Mvc.Filters.IAsyncResultFilter, Microsoft.AspNetCore.Mvc.Filters.IFilterMetadata, Microsoft.AspNetCore.Mvc.Filters.IOrderedFilter + { + public PageHandlerResultFilter() { } + public int Order { get { throw null; } } + public System.Threading.Tasks.Task OnResultExecutionAsync(Microsoft.AspNetCore.Mvc.Filters.ResultExecutingContext context, Microsoft.AspNetCore.Mvc.Filters.ResultExecutionDelegate next) { throw null; } + } +} +namespace Microsoft.AspNetCore.Mvc.RazorPages.Infrastructure +{ + internal partial class DynamicPageRouteValueTransformerMetadata : Microsoft.AspNetCore.Routing.IDynamicEndpointMetadata + { + public DynamicPageRouteValueTransformerMetadata(System.Type selectorType) { } + public bool IsDynamic { get { throw null; } } + public System.Type SelectorType { [System.Runtime.CompilerServices.CompilerGeneratedAttribute]get { throw null; } } + } + internal partial class DefaultPageModelActivatorProvider : Microsoft.AspNetCore.Mvc.RazorPages.IPageModelActivatorProvider + { + public DefaultPageModelActivatorProvider() { } + public virtual System.Func CreateActivator(Microsoft.AspNetCore.Mvc.RazorPages.CompiledPageActionDescriptor actionDescriptor) { throw null; } + public virtual System.Action CreateReleaser(Microsoft.AspNetCore.Mvc.RazorPages.CompiledPageActionDescriptor actionDescriptor) { throw null; } + } + internal partial class PageLoaderMatcherPolicy : Microsoft.AspNetCore.Routing.MatcherPolicy, Microsoft.AspNetCore.Routing.Matching.IEndpointSelectorPolicy + { + public PageLoaderMatcherPolicy(Microsoft.AspNetCore.Mvc.RazorPages.Infrastructure.PageLoader loader) { } + public override int Order { get { throw null; } } + public bool AppliesToEndpoints(System.Collections.Generic.IReadOnlyList endpoints) { throw null; } + public System.Threading.Tasks.Task ApplyAsync(Microsoft.AspNetCore.Http.HttpContext httpContext, Microsoft.AspNetCore.Routing.Matching.CandidateSet candidates) { throw null; } + } + internal partial class DefaultPageActivatorProvider : Microsoft.AspNetCore.Mvc.RazorPages.IPageActivatorProvider + { + public DefaultPageActivatorProvider() { } + public System.Func CreateActivator(Microsoft.AspNetCore.Mvc.RazorPages.CompiledPageActionDescriptor actionDescriptor) { throw null; } + public System.Action CreateReleaser(Microsoft.AspNetCore.Mvc.RazorPages.CompiledPageActionDescriptor actionDescriptor) { throw null; } + } + internal partial class DynamicPageEndpointMatcherPolicy : Microsoft.AspNetCore.Routing.MatcherPolicy, Microsoft.AspNetCore.Routing.Matching.IEndpointSelectorPolicy + { + public DynamicPageEndpointMatcherPolicy(Microsoft.AspNetCore.Mvc.RazorPages.Infrastructure.DynamicPageEndpointSelector selector, Microsoft.AspNetCore.Mvc.RazorPages.Infrastructure.PageLoader loader, Microsoft.AspNetCore.Routing.Matching.EndpointMetadataComparer comparer) { } + public override int Order { get { throw null; } } + public bool AppliesToEndpoints(System.Collections.Generic.IReadOnlyList endpoints) { throw null; } + public System.Threading.Tasks.Task ApplyAsync(Microsoft.AspNetCore.Http.HttpContext httpContext, Microsoft.AspNetCore.Routing.Matching.CandidateSet candidates) { throw null; } + } + internal partial class PageActionInvoker : Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker, Microsoft.AspNetCore.Mvc.Abstractions.IActionInvoker + { + public PageActionInvoker(Microsoft.AspNetCore.Mvc.RazorPages.Infrastructure.IPageHandlerMethodSelector handlerMethodSelector, System.Diagnostics.DiagnosticListener diagnosticListener, Microsoft.Extensions.Logging.ILogger logger, Microsoft.AspNetCore.Mvc.Infrastructure.IActionContextAccessor actionContextAccessor, Microsoft.AspNetCore.Mvc.Infrastructure.IActionResultTypeMapper mapper, Microsoft.AspNetCore.Mvc.RazorPages.PageContext pageContext, Microsoft.AspNetCore.Mvc.Filters.IFilterMetadata[] filterMetadata, Microsoft.AspNetCore.Mvc.RazorPages.Infrastructure.PageActionInvokerCacheEntry cacheEntry, Microsoft.AspNetCore.Mvc.ModelBinding.ParameterBinder parameterBinder, Microsoft.AspNetCore.Mvc.ViewFeatures.ITempDataDictionaryFactory tempDataFactory, Microsoft.AspNetCore.Mvc.ViewFeatures.HtmlHelperOptions htmlHelperOptions) : base (default(System.Diagnostics.DiagnosticListener), default(Microsoft.Extensions.Logging.ILogger), default(Microsoft.AspNetCore.Mvc.Infrastructure.IActionContextAccessor), default(Microsoft.AspNetCore.Mvc.Infrastructure.IActionResultTypeMapper), default(Microsoft.AspNetCore.Mvc.ActionContext), default(Microsoft.AspNetCore.Mvc.Filters.IFilterMetadata[]), default(System.Collections.Generic.IList)) { } + internal Microsoft.AspNetCore.Mvc.RazorPages.Infrastructure.PageActionInvokerCacheEntry CacheEntry { [System.Runtime.CompilerServices.CompilerGeneratedAttribute]get { throw null; } } + internal Microsoft.AspNetCore.Mvc.RazorPages.PageContext PageContext { get { throw null; } } + protected override System.Threading.Tasks.Task InvokeInnerFilterAsync() { throw null; } + protected override System.Threading.Tasks.Task InvokeResultAsync(Microsoft.AspNetCore.Mvc.IActionResult result) { throw null; } + protected override void ReleaseResources() { } + } + internal static partial class ExecutorFactory + { + public static Microsoft.AspNetCore.Mvc.RazorPages.Infrastructure.PageHandlerExecutorDelegate CreateExecutor(Microsoft.AspNetCore.Mvc.RazorPages.Infrastructure.HandlerMethodDescriptor handlerDescriptor) { throw null; } + } + internal partial class DefaultPageLoader : Microsoft.AspNetCore.Mvc.RazorPages.Infrastructure.PageLoader + { + public DefaultPageLoader(Microsoft.AspNetCore.Mvc.Infrastructure.IActionDescriptorCollectionProvider actionDescriptorCollectionProvider, System.Collections.Generic.IEnumerable applicationModelProviders, Microsoft.AspNetCore.Mvc.Razor.Compilation.IViewCompilerProvider viewCompilerProvider, Microsoft.AspNetCore.Mvc.Routing.ActionEndpointFactory endpointFactory, Microsoft.Extensions.Options.IOptions pageOptions, Microsoft.Extensions.Options.IOptions mvcOptions) { } + internal static void ApplyConventions(Microsoft.AspNetCore.Mvc.ApplicationModels.PageConventionCollection conventions, Microsoft.AspNetCore.Mvc.ApplicationModels.PageApplicationModel pageApplicationModel) { } + public override System.Threading.Tasks.Task LoadAsync(Microsoft.AspNetCore.Mvc.RazorPages.PageActionDescriptor actionDescriptor) { throw null; } + } + internal partial class PageActionEndpointDataSource : Microsoft.AspNetCore.Mvc.Routing.ActionEndpointDataSourceBase + { + public PageActionEndpointDataSource(Microsoft.AspNetCore.Mvc.Infrastructure.IActionDescriptorCollectionProvider actions, Microsoft.AspNetCore.Mvc.Routing.ActionEndpointFactory endpointFactory) : base (default(Microsoft.AspNetCore.Mvc.Infrastructure.IActionDescriptorCollectionProvider)) { } + public bool CreateInertEndpoints { [System.Runtime.CompilerServices.CompilerGeneratedAttribute]get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute]set { } } + public Microsoft.AspNetCore.Builder.PageActionEndpointConventionBuilder DefaultBuilder { [System.Runtime.CompilerServices.CompilerGeneratedAttribute]get { throw null; } } + protected override System.Collections.Generic.List CreateEndpoints(System.Collections.Generic.IReadOnlyList actions, System.Collections.Generic.IReadOnlyList> conventions) { throw null; } + } + internal partial class DynamicPageEndpointSelector : System.IDisposable + { + public DynamicPageEndpointSelector(Microsoft.AspNetCore.Mvc.RazorPages.Infrastructure.PageActionEndpointDataSource dataSource) { } + protected DynamicPageEndpointSelector(Microsoft.AspNetCore.Routing.EndpointDataSource dataSource) { } + public void Dispose() { } + public System.Collections.Generic.IReadOnlyList SelectEndpoints(Microsoft.AspNetCore.Routing.RouteValueDictionary values) { throw null; } + } + internal partial class DefaultPageModelFactoryProvider : Microsoft.AspNetCore.Mvc.RazorPages.IPageModelFactoryProvider + { + public DefaultPageModelFactoryProvider(Microsoft.AspNetCore.Mvc.RazorPages.IPageModelActivatorProvider modelActivator) { } + public System.Action CreateModelDisposer(Microsoft.AspNetCore.Mvc.RazorPages.CompiledPageActionDescriptor descriptor) { throw null; } + public System.Func CreateModelFactory(Microsoft.AspNetCore.Mvc.RazorPages.CompiledPageActionDescriptor descriptor) { throw null; } + } + internal partial class DefaultPageFactoryProvider : Microsoft.AspNetCore.Mvc.RazorPages.IPageFactoryProvider + { + public DefaultPageFactoryProvider(Microsoft.AspNetCore.Mvc.RazorPages.IPageActivatorProvider pageActivator, Microsoft.AspNetCore.Mvc.ModelBinding.IModelMetadataProvider metadataProvider, Microsoft.AspNetCore.Mvc.Routing.IUrlHelperFactory urlHelperFactory, Microsoft.AspNetCore.Mvc.Rendering.IJsonHelper jsonHelper, System.Diagnostics.DiagnosticListener diagnosticListener, System.Text.Encodings.Web.HtmlEncoder htmlEncoder, Microsoft.AspNetCore.Mvc.ViewFeatures.IModelExpressionProvider modelExpressionProvider) { } + public System.Action CreatePageDisposer(Microsoft.AspNetCore.Mvc.RazorPages.CompiledPageActionDescriptor descriptor) { throw null; } + public System.Func CreatePageFactory(Microsoft.AspNetCore.Mvc.RazorPages.CompiledPageActionDescriptor actionDescriptor) { throw null; } + } + internal partial class DefaultPageHandlerMethodSelector : Microsoft.AspNetCore.Mvc.RazorPages.Infrastructure.IPageHandlerMethodSelector + { + public DefaultPageHandlerMethodSelector() { } + public Microsoft.AspNetCore.Mvc.RazorPages.Infrastructure.HandlerMethodDescriptor Select(Microsoft.AspNetCore.Mvc.RazorPages.PageContext context) { throw null; } + } + internal sealed partial class HandleOptionsRequestsPageFilter : Microsoft.AspNetCore.Mvc.Filters.IFilterMetadata, Microsoft.AspNetCore.Mvc.Filters.IOrderedFilter, Microsoft.AspNetCore.Mvc.Filters.IPageFilter + { + public HandleOptionsRequestsPageFilter() { } + public int Order { get { throw null; } } + public void OnPageHandlerExecuted(Microsoft.AspNetCore.Mvc.Filters.PageHandlerExecutedContext context) { } + public void OnPageHandlerExecuting(Microsoft.AspNetCore.Mvc.Filters.PageHandlerExecutingContext context) { } + public void OnPageHandlerSelected(Microsoft.AspNetCore.Mvc.Filters.PageHandlerSelectedContext context) { } + } + internal delegate System.Threading.Tasks.Task PageHandlerExecutorDelegate(object handler, object[] arguments); + internal partial class PageActionInvokerCacheEntry + { + public PageActionInvokerCacheEntry(Microsoft.AspNetCore.Mvc.RazorPages.CompiledPageActionDescriptor actionDescriptor, System.Func viewDataFactory, System.Func pageFactory, System.Action releasePage, System.Func modelFactory, System.Action releaseModel, System.Func propertyBinder, Microsoft.AspNetCore.Mvc.RazorPages.Infrastructure.PageHandlerExecutorDelegate[] handlerExecutors, Microsoft.AspNetCore.Mvc.RazorPages.Infrastructure.PageHandlerBinderDelegate[] handlerBinders, System.Collections.Generic.IReadOnlyList> viewStartFactories, Microsoft.AspNetCore.Mvc.Filters.FilterItem[] cacheableFilters) { } + public Microsoft.AspNetCore.Mvc.RazorPages.CompiledPageActionDescriptor ActionDescriptor { [System.Runtime.CompilerServices.CompilerGeneratedAttribute]get { throw null; } } + public Microsoft.AspNetCore.Mvc.Filters.FilterItem[] CacheableFilters { [System.Runtime.CompilerServices.CompilerGeneratedAttribute]get { throw null; } } + public Microsoft.AspNetCore.Mvc.RazorPages.Infrastructure.PageHandlerBinderDelegate[] HandlerBinders { [System.Runtime.CompilerServices.CompilerGeneratedAttribute]get { throw null; } } + public Microsoft.AspNetCore.Mvc.RazorPages.Infrastructure.PageHandlerExecutorDelegate[] HandlerExecutors { [System.Runtime.CompilerServices.CompilerGeneratedAttribute]get { throw null; } } + public System.Func ModelFactory { [System.Runtime.CompilerServices.CompilerGeneratedAttribute]get { throw null; } } + public System.Func PageFactory { [System.Runtime.CompilerServices.CompilerGeneratedAttribute]get { throw null; } } + public System.Func PropertyBinder { [System.Runtime.CompilerServices.CompilerGeneratedAttribute]get { throw null; } } + public System.Action ReleaseModel { [System.Runtime.CompilerServices.CompilerGeneratedAttribute]get { throw null; } } + public System.Action ReleasePage { [System.Runtime.CompilerServices.CompilerGeneratedAttribute]get { throw null; } } + public System.Func ViewDataFactory { [System.Runtime.CompilerServices.CompilerGeneratedAttribute]get { throw null; } } + public System.Collections.Generic.IReadOnlyList> ViewStartFactories { [System.Runtime.CompilerServices.CompilerGeneratedAttribute]get { throw null; } } + } + internal partial class PageActionInvokerProvider : Microsoft.AspNetCore.Mvc.Abstractions.IActionInvokerProvider + { + public PageActionInvokerProvider(Microsoft.AspNetCore.Mvc.RazorPages.Infrastructure.PageLoader loader, Microsoft.AspNetCore.Mvc.RazorPages.IPageFactoryProvider pageFactoryProvider, Microsoft.AspNetCore.Mvc.RazorPages.IPageModelFactoryProvider modelFactoryProvider, Microsoft.AspNetCore.Mvc.Razor.IRazorPageFactoryProvider razorPageFactoryProvider, Microsoft.AspNetCore.Mvc.Infrastructure.IActionDescriptorCollectionProvider collectionProvider, System.Collections.Generic.IEnumerable filterProviders, Microsoft.AspNetCore.Mvc.ModelBinding.ParameterBinder parameterBinder, Microsoft.AspNetCore.Mvc.ModelBinding.IModelMetadataProvider modelMetadataProvider, Microsoft.AspNetCore.Mvc.ModelBinding.IModelBinderFactory modelBinderFactory, Microsoft.AspNetCore.Mvc.ViewFeatures.ITempDataDictionaryFactory tempDataFactory, Microsoft.Extensions.Options.IOptions mvcOptions, Microsoft.Extensions.Options.IOptions mvcViewOptions, Microsoft.AspNetCore.Mvc.RazorPages.Infrastructure.IPageHandlerMethodSelector selector, System.Diagnostics.DiagnosticListener diagnosticListener, Microsoft.Extensions.Logging.ILoggerFactory loggerFactory, Microsoft.AspNetCore.Mvc.Infrastructure.IActionResultTypeMapper mapper) { } + public PageActionInvokerProvider(Microsoft.AspNetCore.Mvc.RazorPages.Infrastructure.PageLoader loader, Microsoft.AspNetCore.Mvc.RazorPages.IPageFactoryProvider pageFactoryProvider, Microsoft.AspNetCore.Mvc.RazorPages.IPageModelFactoryProvider modelFactoryProvider, Microsoft.AspNetCore.Mvc.Razor.IRazorPageFactoryProvider razorPageFactoryProvider, Microsoft.AspNetCore.Mvc.Infrastructure.IActionDescriptorCollectionProvider collectionProvider, System.Collections.Generic.IEnumerable filterProviders, Microsoft.AspNetCore.Mvc.ModelBinding.ParameterBinder parameterBinder, Microsoft.AspNetCore.Mvc.ModelBinding.IModelMetadataProvider modelMetadataProvider, Microsoft.AspNetCore.Mvc.ModelBinding.IModelBinderFactory modelBinderFactory, Microsoft.AspNetCore.Mvc.ViewFeatures.ITempDataDictionaryFactory tempDataFactory, Microsoft.Extensions.Options.IOptions mvcOptions, Microsoft.Extensions.Options.IOptions mvcViewOptions, Microsoft.AspNetCore.Mvc.RazorPages.Infrastructure.IPageHandlerMethodSelector selector, System.Diagnostics.DiagnosticListener diagnosticListener, Microsoft.Extensions.Logging.ILoggerFactory loggerFactory, Microsoft.AspNetCore.Mvc.Infrastructure.IActionResultTypeMapper mapper, Microsoft.AspNetCore.Mvc.Infrastructure.IActionContextAccessor actionContextAccessor) { } + public int Order { [System.Runtime.CompilerServices.CompilerGeneratedAttribute]get { throw null; } } + internal System.Collections.Generic.List> GetViewStartFactories(Microsoft.AspNetCore.Mvc.RazorPages.CompiledPageActionDescriptor descriptor) { throw null; } + public void OnProvidersExecuted(Microsoft.AspNetCore.Mvc.Abstractions.ActionInvokerProviderContext context) { } + public void OnProvidersExecuting(Microsoft.AspNetCore.Mvc.Abstractions.ActionInvokerProviderContext context) { } + internal partial class InnerCache + { + public InnerCache(int version) { } + public System.Collections.Concurrent.ConcurrentDictionary Entries { [System.Runtime.CompilerServices.CompilerGeneratedAttribute]get { throw null; } } + public int Version { [System.Runtime.CompilerServices.CompilerGeneratedAttribute]get { throw null; } } + } + } + internal static partial class PageBinderFactory + { + internal static readonly Microsoft.AspNetCore.Mvc.RazorPages.Infrastructure.PageHandlerBinderDelegate NullHandlerBinder = (context, arguments) => System.Threading.Tasks.Task.CompletedTask; + internal static readonly System.Func NullPropertyBinder = (context, arguments) => System.Threading.Tasks.Task.CompletedTask; + public static Microsoft.AspNetCore.Mvc.RazorPages.Infrastructure.PageHandlerBinderDelegate CreateHandlerBinder(Microsoft.AspNetCore.Mvc.ModelBinding.ParameterBinder parameterBinder, Microsoft.AspNetCore.Mvc.ModelBinding.IModelMetadataProvider modelMetadataProvider, Microsoft.AspNetCore.Mvc.ModelBinding.IModelBinderFactory modelBinderFactory, Microsoft.AspNetCore.Mvc.RazorPages.CompiledPageActionDescriptor actionDescriptor, Microsoft.AspNetCore.Mvc.RazorPages.Infrastructure.HandlerMethodDescriptor handler, Microsoft.AspNetCore.Mvc.MvcOptions mvcOptions) { throw null; } + public static System.Func CreatePropertyBinder(Microsoft.AspNetCore.Mvc.ModelBinding.ParameterBinder parameterBinder, Microsoft.AspNetCore.Mvc.ModelBinding.IModelMetadataProvider modelMetadataProvider, Microsoft.AspNetCore.Mvc.ModelBinding.IModelBinderFactory modelBinderFactory, Microsoft.AspNetCore.Mvc.RazorPages.CompiledPageActionDescriptor actionDescriptor) { throw null; } + } + internal delegate System.Threading.Tasks.Task PageHandlerBinderDelegate(Microsoft.AspNetCore.Mvc.RazorPages.PageContext pageContext, System.Collections.Generic.IDictionary arguments); +} +namespace Microsoft.Extensions.DependencyInjection +{ + internal partial class RazorPagesRazorViewEngineOptionsSetup : Microsoft.Extensions.Options.IConfigureOptions + { + public RazorPagesRazorViewEngineOptionsSetup(Microsoft.Extensions.Options.IOptions pagesOptions) { } + public void Configure(Microsoft.AspNetCore.Mvc.Razor.RazorViewEngineOptions options) { } + } + internal partial class RazorPagesOptionsSetup : Microsoft.Extensions.Options.IConfigureOptions + { + public RazorPagesOptionsSetup(System.IServiceProvider serviceProvider) { } + public void Configure(Microsoft.AspNetCore.Mvc.RazorPages.RazorPagesOptions options) { } + } +} +namespace Microsoft.AspNetCore.Mvc.RazorPages +{ + internal static partial class PageLoggerExtensions + { + public const string PageFilter = "Page Filter"; + public static void AfterExecutingMethodOnFilter(this Microsoft.Extensions.Logging.ILogger logger, string filterType, string methodName, Microsoft.AspNetCore.Mvc.Filters.IFilterMetadata filter) { } + public static void BeforeExecutingMethodOnFilter(this Microsoft.Extensions.Logging.ILogger logger, string filterType, string methodName, Microsoft.AspNetCore.Mvc.Filters.IFilterMetadata filter) { } + public static void ExecutedHandlerMethod(this Microsoft.Extensions.Logging.ILogger logger, Microsoft.AspNetCore.Mvc.RazorPages.PageContext context, Microsoft.AspNetCore.Mvc.RazorPages.Infrastructure.HandlerMethodDescriptor handler, Microsoft.AspNetCore.Mvc.IActionResult result) { } + public static void ExecutedImplicitHandlerMethod(this Microsoft.Extensions.Logging.ILogger logger, Microsoft.AspNetCore.Mvc.IActionResult result) { } + public static void ExecutedPageFactory(this Microsoft.Extensions.Logging.ILogger logger, Microsoft.AspNetCore.Mvc.RazorPages.PageContext context) { } + public static void ExecutedPageModelFactory(this Microsoft.Extensions.Logging.ILogger logger, Microsoft.AspNetCore.Mvc.RazorPages.PageContext context) { } + public static void ExecutingHandlerMethod(this Microsoft.Extensions.Logging.ILogger logger, Microsoft.AspNetCore.Mvc.RazorPages.PageContext context, Microsoft.AspNetCore.Mvc.RazorPages.Infrastructure.HandlerMethodDescriptor handler, object[] arguments) { } + public static void ExecutingImplicitHandlerMethod(this Microsoft.Extensions.Logging.ILogger logger, Microsoft.AspNetCore.Mvc.RazorPages.PageContext context) { } + public static void ExecutingPageFactory(this Microsoft.Extensions.Logging.ILogger logger, Microsoft.AspNetCore.Mvc.RazorPages.PageContext context) { } + public static void ExecutingPageModelFactory(this Microsoft.Extensions.Logging.ILogger logger, Microsoft.AspNetCore.Mvc.RazorPages.PageContext context) { } + public static void NotMostEffectiveFilter(this Microsoft.Extensions.Logging.ILogger logger, System.Type policyType) { } + public static void PageFilterShortCircuited(this Microsoft.Extensions.Logging.ILogger logger, Microsoft.AspNetCore.Mvc.Filters.IFilterMetadata filter) { } + } +} \ No newline at end of file diff --git a/src/Mvc/Mvc.RazorPages/ref/Microsoft.AspNetCore.Mvc.RazorPages.csproj b/src/Mvc/Mvc.RazorPages/ref/Microsoft.AspNetCore.Mvc.RazorPages.csproj index d60794192842..3b1a22efdf38 100644 --- a/src/Mvc/Mvc.RazorPages/ref/Microsoft.AspNetCore.Mvc.RazorPages.csproj +++ b/src/Mvc/Mvc.RazorPages/ref/Microsoft.AspNetCore.Mvc.RazorPages.csproj @@ -5,6 +5,8 @@ - + + + diff --git a/src/Mvc/Mvc.RazorPages/ref/Microsoft.AspNetCore.Mvc.RazorPages.netcoreapp5.0.Manual.cs b/src/Mvc/Mvc.RazorPages/ref/Microsoft.AspNetCore.Mvc.RazorPages.netcoreapp5.0.Manual.cs deleted file mode 100644 index 64141594e443..000000000000 --- a/src/Mvc/Mvc.RazorPages/ref/Microsoft.AspNetCore.Mvc.RazorPages.netcoreapp5.0.Manual.cs +++ /dev/null @@ -1,31 +0,0 @@ -// Copyright (c) .NET Foundation. All rights reserved. -// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. - -namespace Microsoft.AspNetCore.Mvc.ApplicationModels -{ - // https://github.com/dotnet/arcade/issues/2066 - [System.Diagnostics.DebuggerDisplayAttribute("PageParameterModel: Name={ParameterName}")] - public partial class PageParameterModel : Microsoft.AspNetCore.Mvc.ApplicationModels.ParameterModelBase, Microsoft.AspNetCore.Mvc.ApplicationModels.IBindingModel, Microsoft.AspNetCore.Mvc.ApplicationModels.ICommonModel, Microsoft.AspNetCore.Mvc.ApplicationModels.IPropertyModel - { - public PageParameterModel(Microsoft.AspNetCore.Mvc.ApplicationModels.PageParameterModel other) : base (default(System.Type), default(System.Collections.Generic.IReadOnlyList)) { } - public PageParameterModel(System.Reflection.ParameterInfo parameterInfo, System.Collections.Generic.IReadOnlyList attributes) : base (default(System.Type), default(System.Collections.Generic.IReadOnlyList)) { } - public Microsoft.AspNetCore.Mvc.ApplicationModels.PageHandlerModel Handler { [System.Runtime.CompilerServices.CompilerGeneratedAttribute]get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute]set { } } - System.Reflection.MemberInfo Microsoft.AspNetCore.Mvc.ApplicationModels.ICommonModel.MemberInfo { get { throw null; } } - public System.Reflection.ParameterInfo ParameterInfo { [System.Runtime.CompilerServices.CompilerGeneratedAttribute]get { throw null; } } - public string ParameterName { get { throw null; } set { } } - System.Collections.Generic.IReadOnlyList Microsoft.AspNetCore.Mvc.ApplicationModels.ICommonModel.Attributes { get { throw null; } } - System.Collections.Generic.IDictionary Microsoft.AspNetCore.Mvc.ApplicationModels.IPropertyModel.Properties { get { throw null; } } - } - [System.Diagnostics.DebuggerDisplayAttribute("PagePropertyModel: Name={PropertyName}")] - public partial class PagePropertyModel : Microsoft.AspNetCore.Mvc.ApplicationModels.ParameterModelBase, Microsoft.AspNetCore.Mvc.ApplicationModels.ICommonModel, Microsoft.AspNetCore.Mvc.ApplicationModels.IPropertyModel - { - public PagePropertyModel(Microsoft.AspNetCore.Mvc.ApplicationModels.PagePropertyModel other) : base (default(System.Type), default(System.Collections.Generic.IReadOnlyList)) { } - public PagePropertyModel(System.Reflection.PropertyInfo propertyInfo, System.Collections.Generic.IReadOnlyList attributes) : base (default(System.Type), default(System.Collections.Generic.IReadOnlyList)) { } - System.Reflection.MemberInfo Microsoft.AspNetCore.Mvc.ApplicationModels.ICommonModel.MemberInfo { get { throw null; } } - public Microsoft.AspNetCore.Mvc.ApplicationModels.PageApplicationModel Page { [System.Runtime.CompilerServices.CompilerGeneratedAttribute]get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute]set { } } - public System.Reflection.PropertyInfo PropertyInfo { [System.Runtime.CompilerServices.CompilerGeneratedAttribute]get { throw null; } } - public string PropertyName { get { throw null; } set { } } - System.Collections.Generic.IReadOnlyList Microsoft.AspNetCore.Mvc.ApplicationModels.ICommonModel.Attributes { get { throw null; } } - System.Collections.Generic.IDictionary Microsoft.AspNetCore.Mvc.ApplicationModels.IPropertyModel.Properties { get { throw null; } } - } -} diff --git a/src/Mvc/Mvc.RazorPages/src/Infrastructure/DefaultPageLoader.cs b/src/Mvc/Mvc.RazorPages/src/Infrastructure/DefaultPageLoader.cs index 32472186e2a2..370df5baee62 100644 --- a/src/Mvc/Mvc.RazorPages/src/Infrastructure/DefaultPageLoader.cs +++ b/src/Mvc/Mvc.RazorPages/src/Infrastructure/DefaultPageLoader.cs @@ -67,6 +67,9 @@ private ConcurrentDictionary LoadAsync(PageActionDescriptor actionDescriptor) + => LoadAsync(actionDescriptor, EndpointMetadataCollection.Empty); + + internal Task LoadAsync(PageActionDescriptor actionDescriptor, EndpointMetadataCollection endpointMetadata) { if (actionDescriptor == null) { @@ -79,10 +82,10 @@ public override Task LoadAsync(PageActionDescripto return compiledDescriptorTask; } - return cache.GetOrAdd(actionDescriptor, LoadAsyncCore(actionDescriptor)); + return cache.GetOrAdd(actionDescriptor, LoadAsyncCore(actionDescriptor, endpointMetadata)); } - private async Task LoadAsyncCore(PageActionDescriptor actionDescriptor) + private async Task LoadAsyncCore(PageActionDescriptor actionDescriptor, EndpointMetadataCollection endpointMetadata) { var viewDescriptor = await Compiler.CompileAsync(actionDescriptor.RelativePath); var context = new PageApplicationModelProviderContext(actionDescriptor, viewDescriptor.Type.GetTypeInfo()); @@ -110,7 +113,18 @@ private async Task LoadAsyncCore(PageActionDescrip routeNames: new HashSet(StringComparer.OrdinalIgnoreCase), action: compiled, routes: Array.Empty(), - conventions: Array.Empty>(), + conventions: new Action[] + { + b => + { + // Metadata from PageActionDescriptor is less significant than the one discovered from the compiled type. + // Consequently, we'll insert it at the beginning. + for (var i = endpointMetadata.Count - 1; i >=0; i--) + { + b.Metadata.Insert(0, endpointMetadata[i]); + } + }, + }, createInertEndpoints: false); // In some test scenarios there's no route so the endpoint isn't created. This is fine because diff --git a/src/Mvc/Mvc.RazorPages/src/Infrastructure/DynamicPageEndpointMatcherPolicy.cs b/src/Mvc/Mvc.RazorPages/src/Infrastructure/DynamicPageEndpointMatcherPolicy.cs index ea68558d4b95..9f1faa2baa3e 100644 --- a/src/Mvc/Mvc.RazorPages/src/Infrastructure/DynamicPageEndpointMatcherPolicy.cs +++ b/src/Mvc/Mvc.RazorPages/src/Infrastructure/DynamicPageEndpointMatcherPolicy.cs @@ -160,7 +160,19 @@ public async Task ApplyAsync(HttpContext httpContext, CandidateSet candidates) var loadedEndpoints = new List(endpoints); for (var j = 0; j < loadedEndpoints.Count; j++) { - var compiled = await _loader.LoadAsync(loadedEndpoints[j].Metadata.GetMetadata()); + var metadata = loadedEndpoints[j].Metadata; + var pageActionDescriptor = metadata.GetMetadata(); + + CompiledPageActionDescriptor compiled; + if (_loader is DefaultPageLoader defaultPageLoader) + { + compiled = await defaultPageLoader.LoadAsync(pageActionDescriptor, endpoint.Metadata); + } + else + { + compiled = await _loader.LoadAsync(pageActionDescriptor); + } + loadedEndpoints[j] = compiled.Endpoint; } diff --git a/src/Mvc/Mvc.RazorPages/src/Infrastructure/PageLoaderMatcherPolicy.cs b/src/Mvc/Mvc.RazorPages/src/Infrastructure/PageLoaderMatcherPolicy.cs index 3d2acb23e8b3..18c14db7c61d 100644 --- a/src/Mvc/Mvc.RazorPages/src/Infrastructure/PageLoaderMatcherPolicy.cs +++ b/src/Mvc/Mvc.RazorPages/src/Infrastructure/PageLoaderMatcherPolicy.cs @@ -78,7 +78,16 @@ public Task ApplyAsync(HttpContext httpContext, CandidateSet candidates) { // We found an endpoint instance that has a PageActionDescriptor, but not a // CompiledPageActionDescriptor. Update the CandidateSet. - var compiled = _loader.LoadAsync(page); + Task compiled; + if (_loader is DefaultPageLoader defaultPageLoader) + { + compiled = defaultPageLoader.LoadAsync(page, endpoint.Metadata); + } + else + { + compiled = _loader.LoadAsync(page); + } + if (compiled.IsCompletedSuccessfully) { candidates.ReplaceEndpoint(i, compiled.Result.Endpoint, candidate.Values); diff --git a/src/Mvc/Mvc.RazorPages/src/Microsoft.AspNetCore.Mvc.RazorPages.csproj b/src/Mvc/Mvc.RazorPages/src/Microsoft.AspNetCore.Mvc.RazorPages.csproj index 341722c22826..b38018a13bb9 100644 --- a/src/Mvc/Mvc.RazorPages/src/Microsoft.AspNetCore.Mvc.RazorPages.csproj +++ b/src/Mvc/Mvc.RazorPages/src/Microsoft.AspNetCore.Mvc.RazorPages.csproj @@ -7,7 +7,7 @@ $(NoWarn);CS1591 true aspnetcore;aspnetcoremvc;cshtml;razor - false + false diff --git a/src/Mvc/Mvc.TagHelpers/ref/Microsoft.AspNetCore.Mvc.TagHelpers.Manual.cs b/src/Mvc/Mvc.TagHelpers/ref/Microsoft.AspNetCore.Mvc.TagHelpers.Manual.cs new file mode 100644 index 000000000000..6db194970160 --- /dev/null +++ b/src/Mvc/Mvc.TagHelpers/ref/Microsoft.AspNetCore.Mvc.TagHelpers.Manual.cs @@ -0,0 +1,114 @@ +// Copyright (c) .NET Foundation. All rights reserved. +// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. + +namespace Microsoft.AspNetCore.Mvc.TagHelpers +{ + [Microsoft.AspNetCore.Razor.TagHelpers.HtmlTargetElementAttribute("script", Attributes="asp-append-version")] + [Microsoft.AspNetCore.Razor.TagHelpers.HtmlTargetElementAttribute("script", Attributes="asp-fallback-src")] + [Microsoft.AspNetCore.Razor.TagHelpers.HtmlTargetElementAttribute("script", Attributes="asp-fallback-src-exclude")] + [Microsoft.AspNetCore.Razor.TagHelpers.HtmlTargetElementAttribute("script", Attributes="asp-fallback-src-include")] + [Microsoft.AspNetCore.Razor.TagHelpers.HtmlTargetElementAttribute("script", Attributes="asp-fallback-test")] + [Microsoft.AspNetCore.Razor.TagHelpers.HtmlTargetElementAttribute("script", Attributes="asp-src-exclude")] + [Microsoft.AspNetCore.Razor.TagHelpers.HtmlTargetElementAttribute("script", Attributes="asp-src-include")] + public partial class ScriptTagHelper : Microsoft.AspNetCore.Mvc.Razor.TagHelpers.UrlResolutionTagHelper + { + internal Microsoft.AspNetCore.Mvc.ViewFeatures.IFileVersionProvider FileVersionProvider { [System.Runtime.CompilerServices.CompilerGeneratedAttribute]get { throw null; } } + } + internal partial class ModeAttributes + { + public ModeAttributes(TMode mode, string[] attributes) { } + public string[] Attributes { [System.Runtime.CompilerServices.CompilerGeneratedAttribute]get { throw null; } } + public TMode Mode { [System.Runtime.CompilerServices.CompilerGeneratedAttribute]get { throw null; } } + } + public partial class CacheTagHelperMemoryCacheFactory + { + internal CacheTagHelperMemoryCacheFactory(Microsoft.Extensions.Caching.Memory.IMemoryCache cache) { } + } + internal static partial class AttributeMatcher + { + public static bool TryDetermineMode(Microsoft.AspNetCore.Razor.TagHelpers.TagHelperContext context, System.Collections.Generic.IReadOnlyList> modeInfos, System.Func compare, out TMode result) { throw null; } + } + [Microsoft.AspNetCore.Razor.TagHelpers.HtmlTargetElementAttribute("link", Attributes="asp-append-version", TagStructure=Microsoft.AspNetCore.Razor.TagHelpers.TagStructure.WithoutEndTag)] + [Microsoft.AspNetCore.Razor.TagHelpers.HtmlTargetElementAttribute("link", Attributes="asp-fallback-href", TagStructure=Microsoft.AspNetCore.Razor.TagHelpers.TagStructure.WithoutEndTag)] + [Microsoft.AspNetCore.Razor.TagHelpers.HtmlTargetElementAttribute("link", Attributes="asp-fallback-href-exclude", TagStructure=Microsoft.AspNetCore.Razor.TagHelpers.TagStructure.WithoutEndTag)] + [Microsoft.AspNetCore.Razor.TagHelpers.HtmlTargetElementAttribute("link", Attributes="asp-fallback-href-include", TagStructure=Microsoft.AspNetCore.Razor.TagHelpers.TagStructure.WithoutEndTag)] + [Microsoft.AspNetCore.Razor.TagHelpers.HtmlTargetElementAttribute("link", Attributes="asp-fallback-test-class", TagStructure=Microsoft.AspNetCore.Razor.TagHelpers.TagStructure.WithoutEndTag)] + [Microsoft.AspNetCore.Razor.TagHelpers.HtmlTargetElementAttribute("link", Attributes="asp-fallback-test-property", TagStructure=Microsoft.AspNetCore.Razor.TagHelpers.TagStructure.WithoutEndTag)] + [Microsoft.AspNetCore.Razor.TagHelpers.HtmlTargetElementAttribute("link", Attributes="asp-fallback-test-value", TagStructure=Microsoft.AspNetCore.Razor.TagHelpers.TagStructure.WithoutEndTag)] + [Microsoft.AspNetCore.Razor.TagHelpers.HtmlTargetElementAttribute("link", Attributes="asp-href-exclude", TagStructure=Microsoft.AspNetCore.Razor.TagHelpers.TagStructure.WithoutEndTag)] + [Microsoft.AspNetCore.Razor.TagHelpers.HtmlTargetElementAttribute("link", Attributes="asp-href-include", TagStructure=Microsoft.AspNetCore.Razor.TagHelpers.TagStructure.WithoutEndTag)] + public partial class LinkTagHelper : Microsoft.AspNetCore.Mvc.Razor.TagHelpers.UrlResolutionTagHelper + { + internal Microsoft.AspNetCore.Mvc.ViewFeatures.IFileVersionProvider FileVersionProvider { [System.Runtime.CompilerServices.CompilerGeneratedAttribute]get { throw null; } } + } + public partial class CacheTagHelper : Microsoft.AspNetCore.Mvc.TagHelpers.CacheTagHelperBase + { + internal Microsoft.Extensions.Caching.Memory.MemoryCacheEntryOptions GetMemoryCacheEntryOptions() { throw null; } + } + [Microsoft.AspNetCore.Razor.TagHelpers.HtmlTargetElementAttribute("distributed-cache", Attributes="name")] + public partial class DistributedCacheTagHelper : Microsoft.AspNetCore.Mvc.TagHelpers.CacheTagHelperBase + { + internal Microsoft.Extensions.Caching.Distributed.DistributedCacheEntryOptions GetDistributedCacheEntryOptions() { throw null; } + } + public partial class GlobbingUrlBuilder + { + internal System.Func MatcherBuilder { [System.Runtime.CompilerServices.CompilerGeneratedAttribute]get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute]set { } } + } + internal static partial class JavaScriptResources + { + public static string GetEmbeddedJavaScript(string resourceName) { throw null; } + internal static string GetEmbeddedJavaScript(string resourceName, System.Func getManifestResourceStream, System.Collections.Concurrent.ConcurrentDictionary cache) { throw null; } + } + internal static partial class Resources + { + internal static string AnchorTagHelper_CannotOverrideHref { get { throw null; } } + internal static string ArgumentCannotContainHtmlSpace { get { throw null; } } + internal static string CannotDetermineAttributeFor { get { throw null; } } + internal static System.Globalization.CultureInfo Culture { [System.Runtime.CompilerServices.CompilerGeneratedAttribute]get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute]set { } } + internal static string FormActionTagHelper_CannotOverrideFormAction { get { throw null; } } + internal static string FormTagHelper_CannotOverrideAction { get { throw null; } } + internal static string InputTagHelper_InvalidExpressionResult { get { throw null; } } + internal static string InputTagHelper_InvalidStringResult { get { throw null; } } + internal static string InputTagHelper_ValueRequired { get { throw null; } } + internal static string InvalidEnumArgument { get { throw null; } } + internal static string PartialTagHelper_InvalidModelAttributes { get { throw null; } } + internal static string PropertyOfTypeCannotBeNull { get { throw null; } } + internal static System.Resources.ResourceManager ResourceManager { get { throw null; } } + internal static string TagHelperOutput_AttributeDoesNotExist { get { throw null; } } + internal static string TagHelpers_NoProvidedMetadata { get { throw null; } } + internal static string ViewEngine_FallbackViewNotFound { get { throw null; } } + internal static string ViewEngine_PartialViewNotFound { get { throw null; } } + internal static string FormatAnchorTagHelper_CannotOverrideHref(object p0, object p1, object p2, object p3, object p4, object p5, object p6, object p7, object p8, object p9, object p10, object p11) { throw null; } + internal static string FormatCannotDetermineAttributeFor(object p0, object p1) { throw null; } + internal static string FormatFormActionTagHelper_CannotOverrideFormAction(object p0, object p1, object p2, object p3, object p4, object p5, object p6, object p7, object p8, object p9) { throw null; } + internal static string FormatFormTagHelper_CannotOverrideAction(object p0, object p1, object p2, object p3, object p4, object p5, object p6, object p7, object p8, object p9) { throw null; } + internal static string FormatInputTagHelper_InvalidExpressionResult(object p0, object p1, object p2, object p3, object p4, object p5, object p6) { throw null; } + internal static string FormatInputTagHelper_InvalidStringResult(object p0, object p1, object p2) { throw null; } + internal static string FormatInputTagHelper_ValueRequired(object p0, object p1, object p2, object p3) { throw null; } + internal static string FormatInvalidEnumArgument(object p0, object p1, object p2) { throw null; } + internal static string FormatPartialTagHelper_InvalidModelAttributes(object p0, object p1, object p2) { throw null; } + internal static string FormatPropertyOfTypeCannotBeNull(object p0, object p1) { throw null; } + internal static string FormatTagHelperOutput_AttributeDoesNotExist(object p0, object p1) { throw null; } + internal static string FormatTagHelpers_NoProvidedMetadata(object p0, object p1, object p2, object p3) { throw null; } + internal static string FormatViewEngine_FallbackViewNotFound(object p0, object p1) { throw null; } + internal static string FormatViewEngine_PartialViewNotFound(object p0, object p1) { throw null; } + } + [Microsoft.AspNetCore.Razor.TagHelpers.HtmlTargetElementAttribute("partial", Attributes="name", TagStructure=Microsoft.AspNetCore.Razor.TagHelpers.TagStructure.WithoutEndTag)] + public partial class PartialTagHelper : Microsoft.AspNetCore.Razor.TagHelpers.TagHelper + { + internal object ResolveModel() { throw null; } + } + internal partial class CurrentValues + { + public CurrentValues(System.Collections.Generic.ICollection values) { } + public System.Collections.Generic.ICollection Values { [System.Runtime.CompilerServices.CompilerGeneratedAttribute]get { throw null; } } + public System.Collections.Generic.ICollection ValuesAndEncodedValues { [System.Runtime.CompilerServices.CompilerGeneratedAttribute]get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute]set { } } + } +} +namespace Microsoft.AspNetCore.Mvc.TagHelpers.Cache +{ + public partial class CacheTagKey : System.IEquatable + { + internal string Key { [System.Runtime.CompilerServices.CompilerGeneratedAttribute]get { throw null; } } + } +} \ No newline at end of file diff --git a/src/Mvc/Mvc.TagHelpers/ref/Microsoft.AspNetCore.Mvc.TagHelpers.csproj b/src/Mvc/Mvc.TagHelpers/ref/Microsoft.AspNetCore.Mvc.TagHelpers.csproj index ea02c2ce35af..10a1f3dd6df7 100644 --- a/src/Mvc/Mvc.TagHelpers/ref/Microsoft.AspNetCore.Mvc.TagHelpers.csproj +++ b/src/Mvc/Mvc.TagHelpers/ref/Microsoft.AspNetCore.Mvc.TagHelpers.csproj @@ -5,11 +5,13 @@ - - - - - - + + + + + + + + diff --git a/src/Mvc/Mvc.TagHelpers/src/Microsoft.AspNetCore.Mvc.TagHelpers.csproj b/src/Mvc/Mvc.TagHelpers/src/Microsoft.AspNetCore.Mvc.TagHelpers.csproj index ccf1d5e424aa..4d31ad0585f0 100644 --- a/src/Mvc/Mvc.TagHelpers/src/Microsoft.AspNetCore.Mvc.TagHelpers.csproj +++ b/src/Mvc/Mvc.TagHelpers/src/Microsoft.AspNetCore.Mvc.TagHelpers.csproj @@ -6,7 +6,7 @@ true aspnetcore;aspnetcoremvc;taghelper;taghelpers true - false + false diff --git a/src/Mvc/Mvc.Testing/ref/Microsoft.AspNetCore.Mvc.Testing.csproj b/src/Mvc/Mvc.Testing/ref/Microsoft.AspNetCore.Mvc.Testing.csproj deleted file mode 100644 index cb3241a4fa2d..000000000000 --- a/src/Mvc/Mvc.Testing/ref/Microsoft.AspNetCore.Mvc.Testing.csproj +++ /dev/null @@ -1,14 +0,0 @@ - - - - $(DefaultNetCoreTargetFramework) - - - - - - - - - - diff --git a/src/Mvc/Mvc.Testing/ref/Microsoft.AspNetCore.Mvc.Testing.netcoreapp.cs b/src/Mvc/Mvc.Testing/ref/Microsoft.AspNetCore.Mvc.Testing.netcoreapp.cs deleted file mode 100644 index 4efc53b0022e..000000000000 --- a/src/Mvc/Mvc.Testing/ref/Microsoft.AspNetCore.Mvc.Testing.netcoreapp.cs +++ /dev/null @@ -1,65 +0,0 @@ -// Copyright (c) .NET Foundation. All rights reserved. -// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. - -namespace Microsoft.AspNetCore.Mvc.Testing -{ - public partial class WebApplicationFactoryClientOptions - { - public WebApplicationFactoryClientOptions() { } - public bool AllowAutoRedirect { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute] set { } } - public System.Uri BaseAddress { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute] set { } } - public bool HandleCookies { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute] set { } } - public int MaxAutomaticRedirections { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute] set { } } - } - [System.AttributeUsageAttribute(System.AttributeTargets.Assembly, Inherited=false, AllowMultiple=true)] - public sealed partial class WebApplicationFactoryContentRootAttribute : System.Attribute - { - public WebApplicationFactoryContentRootAttribute(string key, string contentRootPath, string contentRootTest, string priority) { } - public string ContentRootPath { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } } - public string ContentRootTest { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } } - public string Key { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } } - public int Priority { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } } - } - public partial class WebApplicationFactory : System.IDisposable where TEntryPoint : class - { - public WebApplicationFactory() { } - public Microsoft.AspNetCore.Mvc.Testing.WebApplicationFactoryClientOptions ClientOptions { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } } - public System.Collections.Generic.IReadOnlyList> Factories { get { throw null; } } - public Microsoft.AspNetCore.TestHost.TestServer Server { get { throw null; } } - public virtual System.IServiceProvider Services { get { throw null; } } - protected virtual void ConfigureClient(System.Net.Http.HttpClient client) { } - protected virtual void ConfigureWebHost(Microsoft.AspNetCore.Hosting.IWebHostBuilder builder) { } - public System.Net.Http.HttpClient CreateClient() { throw null; } - public System.Net.Http.HttpClient CreateClient(Microsoft.AspNetCore.Mvc.Testing.WebApplicationFactoryClientOptions options) { throw null; } - public System.Net.Http.HttpClient CreateDefaultClient(params System.Net.Http.DelegatingHandler[] handlers) { throw null; } - public System.Net.Http.HttpClient CreateDefaultClient(System.Uri baseAddress, params System.Net.Http.DelegatingHandler[] handlers) { throw null; } - protected virtual Microsoft.Extensions.Hosting.IHost CreateHost(Microsoft.Extensions.Hosting.IHostBuilder builder) { throw null; } - protected virtual Microsoft.Extensions.Hosting.IHostBuilder CreateHostBuilder() { throw null; } - protected virtual Microsoft.AspNetCore.TestHost.TestServer CreateServer(Microsoft.AspNetCore.Hosting.IWebHostBuilder builder) { throw null; } - protected virtual Microsoft.AspNetCore.Hosting.IWebHostBuilder CreateWebHostBuilder() { throw null; } - public void Dispose() { } - protected virtual void Dispose(bool disposing) { } - ~WebApplicationFactory() { } - protected virtual System.Collections.Generic.IEnumerable GetTestAssemblies() { throw null; } - public Microsoft.AspNetCore.Mvc.Testing.WebApplicationFactory WithWebHostBuilder(System.Action configuration) { throw null; } - } -} -namespace Microsoft.AspNetCore.Mvc.Testing.Handlers -{ - public partial class CookieContainerHandler : System.Net.Http.DelegatingHandler - { - public CookieContainerHandler() { } - public CookieContainerHandler(System.Net.CookieContainer cookieContainer) { } - public System.Net.CookieContainer Container { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } } - [System.Diagnostics.DebuggerStepThroughAttribute] - protected override System.Threading.Tasks.Task SendAsync(System.Net.Http.HttpRequestMessage request, System.Threading.CancellationToken cancellationToken) { throw null; } - } - public partial class RedirectHandler : System.Net.Http.DelegatingHandler - { - public RedirectHandler() { } - public RedirectHandler(int maxRedirects) { } - public int MaxRedirects { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } } - [System.Diagnostics.DebuggerStepThroughAttribute] - protected override System.Threading.Tasks.Task SendAsync(System.Net.Http.HttpRequestMessage request, System.Threading.CancellationToken cancellationToken) { throw null; } - } -} diff --git a/src/Mvc/Mvc.Testing/src/Microsoft.AspNetCore.Mvc.Testing.csproj b/src/Mvc/Mvc.Testing/src/Microsoft.AspNetCore.Mvc.Testing.csproj index 0df3b51ffa3e..33ecce17c4b8 100644 --- a/src/Mvc/Mvc.Testing/src/Microsoft.AspNetCore.Mvc.Testing.csproj +++ b/src/Mvc/Mvc.Testing/src/Microsoft.AspNetCore.Mvc.Testing.csproj @@ -6,7 +6,7 @@ $(NoWarn);CS1591 true aspnetcore;aspnetcoremvc;aspnetcoremvctesting - true + true diff --git a/src/Mvc/Mvc.ViewFeatures/ref/Microsoft.AspNetCore.Mvc.ViewFeatures.Manual.cs b/src/Mvc/Mvc.ViewFeatures/ref/Microsoft.AspNetCore.Mvc.ViewFeatures.Manual.cs new file mode 100644 index 000000000000..95ab268f5851 --- /dev/null +++ b/src/Mvc/Mvc.ViewFeatures/ref/Microsoft.AspNetCore.Mvc.ViewFeatures.Manual.cs @@ -0,0 +1,612 @@ +// Copyright (c) .NET Foundation. All rights reserved. +// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. + +namespace Microsoft.AspNetCore.Components +{ + [System.Runtime.InteropServices.StructLayoutAttribute(System.Runtime.InteropServices.LayoutKind.Sequential)] + internal partial struct ComponentParameter + { + private object _dummy; + public string Assembly { [System.Runtime.CompilerServices.CompilerGeneratedAttribute]get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute]set { } } + public string Name { [System.Runtime.CompilerServices.CompilerGeneratedAttribute]get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute]set { } } + public string TypeName { [System.Runtime.CompilerServices.CompilerGeneratedAttribute]get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute]set { } } + public static (System.Collections.Generic.IList parameterDefinitions, System.Collections.Generic.IList parameterValues) FromParameterView(Microsoft.AspNetCore.Components.ParameterView parameters) { throw null; } + } + [System.Runtime.InteropServices.StructLayoutAttribute(System.Runtime.InteropServices.LayoutKind.Sequential)] + internal partial struct ServerComponent + { + private object _dummy; + private int _dummyPrimitive; + public ServerComponent(int sequence, string assemblyName, string typeName, System.Collections.Generic.IList parametersDefinitions, System.Collections.Generic.IList parameterValues, System.Guid invocationId) { throw null; } + public string AssemblyName { [System.Runtime.CompilerServices.CompilerGeneratedAttribute]get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute]set { } } + public System.Guid InvocationId { [System.Runtime.CompilerServices.CompilerGeneratedAttribute]get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute]set { } } + public System.Collections.Generic.IList ParameterDefinitions { [System.Runtime.CompilerServices.CompilerGeneratedAttribute]get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute]set { } } + public System.Collections.Generic.IList ParameterValues { [System.Runtime.CompilerServices.CompilerGeneratedAttribute]get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute]set { } } + public int Sequence { [System.Runtime.CompilerServices.CompilerGeneratedAttribute]get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute]set { } } + public string TypeName { [System.Runtime.CompilerServices.CompilerGeneratedAttribute]get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute]set { } } + } + [System.Runtime.InteropServices.StructLayoutAttribute(System.Runtime.InteropServices.LayoutKind.Sequential)] + internal partial struct ServerComponentMarker + { + public const string ServerMarkerType = "server"; + private object _dummy; + private int _dummyPrimitive; + public string Descriptor { [System.Runtime.CompilerServices.CompilerGeneratedAttribute]get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute]set { } } + public string PrerenderId { [System.Runtime.CompilerServices.CompilerGeneratedAttribute]get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute]set { } } + public int? Sequence { [System.Runtime.CompilerServices.CompilerGeneratedAttribute]get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute]set { } } + public string Type { [System.Runtime.CompilerServices.CompilerGeneratedAttribute]get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute]set { } } + public Microsoft.AspNetCore.Components.ServerComponentMarker GetEndRecord() { throw null; } + public static Microsoft.AspNetCore.Components.ServerComponentMarker NonPrerendered(int sequence, string descriptor) { throw null; } + public static Microsoft.AspNetCore.Components.ServerComponentMarker Prerendered(int sequence, string descriptor) { throw null; } + } + internal static partial class ServerComponentSerializationSettings + { + public static readonly System.TimeSpan DataExpiration; + public const string DataProtectionProviderPurpose = "Microsoft.AspNetCore.Components.ComponentDescriptorSerializer,V1"; + public static readonly System.Text.Json.JsonSerializerOptions JsonSerializationOptions; + } +} +namespace Microsoft.AspNetCore.Mvc.ViewComponents +{ + internal partial class DefaultViewComponentActivator : Microsoft.AspNetCore.Mvc.ViewComponents.IViewComponentActivator + { + public DefaultViewComponentActivator(Microsoft.AspNetCore.Mvc.Infrastructure.ITypeActivatorCache typeActivatorCache) { } + public object Create(Microsoft.AspNetCore.Mvc.ViewComponents.ViewComponentContext context) { throw null; } + public void Release(Microsoft.AspNetCore.Mvc.ViewComponents.ViewComponentContext context, object viewComponent) { } + } + public partial class DefaultViewComponentHelper : Microsoft.AspNetCore.Mvc.IViewComponentHelper, Microsoft.AspNetCore.Mvc.ViewFeatures.IViewContextAware + { + internal System.Collections.Generic.IDictionary GetArgumentDictionary(Microsoft.AspNetCore.Mvc.ViewComponents.ViewComponentDescriptor descriptor, object arguments) { throw null; } + } + internal partial class DefaultViewComponentInvokerFactory : Microsoft.AspNetCore.Mvc.ViewComponents.IViewComponentInvokerFactory + { + public DefaultViewComponentInvokerFactory(Microsoft.AspNetCore.Mvc.ViewComponents.IViewComponentFactory viewComponentFactory, Microsoft.AspNetCore.Mvc.ViewComponents.ViewComponentInvokerCache viewComponentInvokerCache, System.Diagnostics.DiagnosticListener diagnosticListener, Microsoft.Extensions.Logging.ILoggerFactory loggerFactory) { } + public Microsoft.AspNetCore.Mvc.ViewComponents.IViewComponentInvoker CreateInstance(Microsoft.AspNetCore.Mvc.ViewComponents.ViewComponentContext context) { throw null; } + } + internal partial class ViewComponentInvokerCache + { + public ViewComponentInvokerCache(Microsoft.AspNetCore.Mvc.ViewComponents.IViewComponentDescriptorCollectionProvider collectionProvider) { } + internal Microsoft.Extensions.Internal.ObjectMethodExecutor GetViewComponentMethodExecutor(Microsoft.AspNetCore.Mvc.ViewComponents.ViewComponentContext viewComponentContext) { throw null; } + } +} +namespace Microsoft.AspNetCore.Mvc.ViewFeatures.Buffers +{ + internal partial class PagedBufferedTextWriter : System.IO.TextWriter + { + public PagedBufferedTextWriter(System.Buffers.ArrayPool pool, System.IO.TextWriter inner) { } + public override System.Text.Encoding Encoding { get { throw null; } } + protected override void Dispose(bool disposing) { } + public override void Flush() { } + public override System.Threading.Tasks.Task FlushAsync() { throw null; } + public override void Write(char value) { } + public override void Write(char[] buffer) { } + public override void Write(char[] buffer, int index, int count) { } + public override void Write(string value) { } + public override System.Threading.Tasks.Task WriteAsync(char value) { throw null; } + public override System.Threading.Tasks.Task WriteAsync(char[] buffer, int index, int count) { throw null; } + public override System.Threading.Tasks.Task WriteAsync(string value) { throw null; } + } + internal partial class CharArrayBufferSource : Microsoft.AspNetCore.Mvc.ViewFeatures.Buffers.ICharBufferSource + { + public static readonly Microsoft.AspNetCore.Mvc.ViewFeatures.Buffers.CharArrayBufferSource Instance; + public CharArrayBufferSource() { } + public char[] Rent(int bufferSize) { throw null; } + public void Return(char[] buffer) { } + } + internal partial interface ICharBufferSource + { + char[] Rent(int bufferSize); + void Return(char[] buffer); + } + internal partial class PagedCharBuffer + { + public const int PageSize = 1024; + public PagedCharBuffer(Microsoft.AspNetCore.Mvc.ViewFeatures.Buffers.ICharBufferSource bufferSource) { } + public Microsoft.AspNetCore.Mvc.ViewFeatures.Buffers.ICharBufferSource BufferSource { get { throw null; } } + public int Length { get { throw null; } } + public System.Collections.Generic.List Pages { get { throw null; } } + public void Append(char value) { } + public void Append(char[] buffer, int index, int count) { } + public void Append(string value) { } + public void Clear() { } + public void Dispose() { } + } + internal partial class ViewBuffer : Microsoft.AspNetCore.Html.IHtmlContentBuilder + { + public static readonly int PartialViewPageSize; + public static readonly int TagHelperPageSize; + public static readonly int ViewComponentPageSize; + public static readonly int ViewPageSize; + public ViewBuffer(Microsoft.AspNetCore.Mvc.ViewFeatures.Buffers.IViewBufferScope bufferScope, string name, int pageSize) { } + public int Count { get { throw null; } } + public Microsoft.AspNetCore.Mvc.ViewFeatures.Buffers.ViewBufferPage this[int index] { get { throw null; } } + public Microsoft.AspNetCore.Html.IHtmlContentBuilder Append(string unencoded) { throw null; } + public Microsoft.AspNetCore.Html.IHtmlContentBuilder AppendHtml(Microsoft.AspNetCore.Html.IHtmlContent content) { throw null; } + public Microsoft.AspNetCore.Html.IHtmlContentBuilder AppendHtml(string encoded) { throw null; } + public Microsoft.AspNetCore.Html.IHtmlContentBuilder Clear() { throw null; } + public void CopyTo(Microsoft.AspNetCore.Html.IHtmlContentBuilder destination) { } + public void MoveTo(Microsoft.AspNetCore.Html.IHtmlContentBuilder destination) { } + public void WriteTo(System.IO.TextWriter writer, System.Text.Encodings.Web.HtmlEncoder encoder) { } + public System.Threading.Tasks.Task WriteToAsync(System.IO.TextWriter writer, System.Text.Encodings.Web.HtmlEncoder encoder) { throw null; } + } + internal partial class ViewBufferTextWriter : System.IO.TextWriter + { + public ViewBufferTextWriter(Microsoft.AspNetCore.Mvc.ViewFeatures.Buffers.ViewBuffer buffer, System.Text.Encoding encoding) { } + public ViewBufferTextWriter(Microsoft.AspNetCore.Mvc.ViewFeatures.Buffers.ViewBuffer buffer, System.Text.Encoding encoding, System.Text.Encodings.Web.HtmlEncoder htmlEncoder, System.IO.TextWriter inner) { } + public Microsoft.AspNetCore.Mvc.ViewFeatures.Buffers.ViewBuffer Buffer { get { throw null; } } + public override System.Text.Encoding Encoding { get { throw null; } } + public bool Flushed { get { throw null; } } + public override void Flush() { } + public override System.Threading.Tasks.Task FlushAsync() { throw null; } + public void Write(Microsoft.AspNetCore.Html.IHtmlContent value) { } + public void Write(Microsoft.AspNetCore.Html.IHtmlContentContainer value) { } + public override void Write(char value) { } + public override void Write(char[] buffer, int index, int count) { } + public override void Write(object value) { } + public override void Write(string value) { } + public override System.Threading.Tasks.Task WriteAsync(char value) { throw null; } + public override System.Threading.Tasks.Task WriteAsync(char[] buffer, int index, int count) { throw null; } + public override System.Threading.Tasks.Task WriteAsync(string value) { throw null; } + public override void WriteLine() { } + public override void WriteLine(object value) { } + public override void WriteLine(string value) { } + public override System.Threading.Tasks.Task WriteLineAsync() { throw null; } + public override System.Threading.Tasks.Task WriteLineAsync(char value) { throw null; } + public override System.Threading.Tasks.Task WriteLineAsync(char[] value, int start, int offset) { throw null; } + public override System.Threading.Tasks.Task WriteLineAsync(string value) { throw null; } + } + internal partial class ViewBufferPage + { + public ViewBufferPage(Microsoft.AspNetCore.Mvc.ViewFeatures.Buffers.ViewBufferValue[] buffer) { } + public Microsoft.AspNetCore.Mvc.ViewFeatures.Buffers.ViewBufferValue[] Buffer { get { throw null; } } + public int Capacity { get { throw null; } } + public int Count { get { throw null; } set { } } + public bool IsFull { get { throw null; } } + public void Append(Microsoft.AspNetCore.Mvc.ViewFeatures.Buffers.ViewBufferValue value) { } + } +} +namespace Microsoft.AspNetCore.Mvc.ViewFeatures.Filters +{ + internal partial class AutoValidateAntiforgeryTokenAuthorizationFilter : Microsoft.AspNetCore.Mvc.ViewFeatures.Filters.ValidateAntiforgeryTokenAuthorizationFilter + { + public AutoValidateAntiforgeryTokenAuthorizationFilter(Microsoft.AspNetCore.Antiforgery.IAntiforgery antiforgery, Microsoft.Extensions.Logging.ILoggerFactory loggerFactory) : base (default(Microsoft.AspNetCore.Antiforgery.IAntiforgery), default(Microsoft.Extensions.Logging.ILoggerFactory)) { } + protected override bool ShouldValidate(Microsoft.AspNetCore.Mvc.Filters.AuthorizationFilterContext context) { throw null; } + } + internal partial class ControllerSaveTempDataPropertyFilterFactory : Microsoft.AspNetCore.Mvc.Filters.IFilterFactory, Microsoft.AspNetCore.Mvc.Filters.IFilterMetadata + { + public ControllerSaveTempDataPropertyFilterFactory(System.Collections.Generic.IReadOnlyList properties) { } + public bool IsReusable { get { throw null; } } + public System.Collections.Generic.IReadOnlyList TempDataProperties { [System.Runtime.CompilerServices.CompilerGeneratedAttribute]get { throw null; } } + public Microsoft.AspNetCore.Mvc.Filters.IFilterMetadata CreateInstance(System.IServiceProvider serviceProvider) { throw null; } + } + internal partial class ControllerViewDataAttributeFilter : Microsoft.AspNetCore.Mvc.Filters.IActionFilter, Microsoft.AspNetCore.Mvc.Filters.IFilterMetadata, Microsoft.AspNetCore.Mvc.ViewFeatures.Filters.IViewDataValuesProviderFeature + { + public ControllerViewDataAttributeFilter(System.Collections.Generic.IReadOnlyList properties) { } + public System.Collections.Generic.IReadOnlyList Properties { [System.Runtime.CompilerServices.CompilerGeneratedAttribute]get { throw null; } } + public object Subject { [System.Runtime.CompilerServices.CompilerGeneratedAttribute]get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute]set { } } + public void OnActionExecuted(Microsoft.AspNetCore.Mvc.Filters.ActionExecutedContext context) { } + public void OnActionExecuting(Microsoft.AspNetCore.Mvc.Filters.ActionExecutingContext context) { } + public void ProvideViewDataValues(Microsoft.AspNetCore.Mvc.ViewFeatures.ViewDataDictionary viewData) { } + } + internal partial class ControllerViewDataAttributeFilterFactory : Microsoft.AspNetCore.Mvc.Filters.IFilterFactory, Microsoft.AspNetCore.Mvc.Filters.IFilterMetadata + { + public ControllerViewDataAttributeFilterFactory(System.Collections.Generic.IReadOnlyList properties) { } + public bool IsReusable { get { throw null; } } + public System.Collections.Generic.IReadOnlyList Properties { [System.Runtime.CompilerServices.CompilerGeneratedAttribute]get { throw null; } } + public Microsoft.AspNetCore.Mvc.Filters.IFilterMetadata CreateInstance(System.IServiceProvider serviceProvider) { throw null; } + } + internal partial class SaveTempDataFilter : Microsoft.AspNetCore.Mvc.Filters.IFilterMetadata, Microsoft.AspNetCore.Mvc.Filters.IResourceFilter, Microsoft.AspNetCore.Mvc.Filters.IResultFilter + { + internal static readonly object SaveTempDataFilterContextKey; + public SaveTempDataFilter(Microsoft.AspNetCore.Mvc.ViewFeatures.ITempDataDictionaryFactory factory) { } + public void OnResourceExecuted(Microsoft.AspNetCore.Mvc.Filters.ResourceExecutedContext context) { } + public void OnResourceExecuting(Microsoft.AspNetCore.Mvc.Filters.ResourceExecutingContext context) { } + public void OnResultExecuted(Microsoft.AspNetCore.Mvc.Filters.ResultExecutedContext context) { } + public void OnResultExecuting(Microsoft.AspNetCore.Mvc.Filters.ResultExecutingContext context) { } + internal partial class SaveTempDataContext + { + public SaveTempDataContext() { } + public System.Collections.Generic.IList Filters { [System.Runtime.CompilerServices.CompilerGeneratedAttribute]get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute]set { } } + public bool RequestHasUnhandledException { [System.Runtime.CompilerServices.CompilerGeneratedAttribute]get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute]set { } } + public Microsoft.AspNetCore.Mvc.ViewFeatures.ITempDataDictionaryFactory TempDataDictionaryFactory { [System.Runtime.CompilerServices.CompilerGeneratedAttribute]get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute]set { } } + public bool TempDataSaved { [System.Runtime.CompilerServices.CompilerGeneratedAttribute]get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute]set { } } + } + } + internal partial class ControllerSaveTempDataPropertyFilter : Microsoft.AspNetCore.Mvc.ViewFeatures.Filters.SaveTempDataPropertyFilterBase, Microsoft.AspNetCore.Mvc.Filters.IActionFilter, Microsoft.AspNetCore.Mvc.Filters.IFilterMetadata + { + public ControllerSaveTempDataPropertyFilter(Microsoft.AspNetCore.Mvc.ViewFeatures.ITempDataDictionaryFactory factory) : base (default(Microsoft.AspNetCore.Mvc.ViewFeatures.ITempDataDictionaryFactory)) { } + public void OnActionExecuted(Microsoft.AspNetCore.Mvc.Filters.ActionExecutedContext context) { } + public void OnActionExecuting(Microsoft.AspNetCore.Mvc.Filters.ActionExecutingContext context) { } + } + internal partial class TempDataApplicationModelProvider + { + public TempDataApplicationModelProvider(Microsoft.AspNetCore.Mvc.ViewFeatures.Infrastructure.TempDataSerializer tempDataSerializer) { } + public int Order { get { throw null; } } + public void OnProvidersExecuted(Microsoft.AspNetCore.Mvc.ApplicationModels.ApplicationModelProviderContext context) { } + public void OnProvidersExecuting(Microsoft.AspNetCore.Mvc.ApplicationModels.ApplicationModelProviderContext context) { } + } + internal partial class ValidateAntiforgeryTokenAuthorizationFilter : Microsoft.AspNetCore.Mvc.Filters.IAsyncAuthorizationFilter, Microsoft.AspNetCore.Mvc.Filters.IFilterMetadata, Microsoft.AspNetCore.Mvc.ViewFeatures.IAntiforgeryPolicy + { + public ValidateAntiforgeryTokenAuthorizationFilter(Microsoft.AspNetCore.Antiforgery.IAntiforgery antiforgery, Microsoft.Extensions.Logging.ILoggerFactory loggerFactory) { } + [System.Diagnostics.DebuggerStepThroughAttribute] + public System.Threading.Tasks.Task OnAuthorizationAsync(Microsoft.AspNetCore.Mvc.Filters.AuthorizationFilterContext context) { throw null; } + protected virtual bool ShouldValidate(Microsoft.AspNetCore.Mvc.Filters.AuthorizationFilterContext context) { throw null; } + } + internal partial class ViewDataAttributeApplicationModelProvider + { + public ViewDataAttributeApplicationModelProvider() { } + public int Order { get { throw null; } } + public void OnProvidersExecuted(Microsoft.AspNetCore.Mvc.ApplicationModels.ApplicationModelProviderContext context) { } + public void OnProvidersExecuting(Microsoft.AspNetCore.Mvc.ApplicationModels.ApplicationModelProviderContext context) { } + } + internal static partial class ViewDataAttributePropertyProvider + { + public static System.Collections.Generic.IReadOnlyList GetViewDataProperties(System.Type type) { throw null; } + } + internal partial interface ISaveTempDataCallback + { + void OnTempDataSaving(Microsoft.AspNetCore.Mvc.ViewFeatures.ITempDataDictionary tempData); + } + internal partial interface IViewDataValuesProviderFeature + { + void ProvideViewDataValues(Microsoft.AspNetCore.Mvc.ViewFeatures.ViewDataDictionary viewData); + } + internal abstract partial class SaveTempDataPropertyFilterBase : Microsoft.AspNetCore.Mvc.ViewFeatures.Filters.ISaveTempDataCallback + { + protected readonly Microsoft.AspNetCore.Mvc.ViewFeatures.ITempDataDictionaryFactory _tempDataFactory; + public SaveTempDataPropertyFilterBase(Microsoft.AspNetCore.Mvc.ViewFeatures.ITempDataDictionaryFactory tempDataFactory) { } + public System.Collections.Generic.IDictionary OriginalValues { get { throw null; } } + public System.Collections.Generic.IReadOnlyList Properties { get { throw null; } set { } } + public object Subject { get { throw null; } set { } } + public static System.Collections.Generic.IReadOnlyList GetTempDataProperties(Microsoft.AspNetCore.Mvc.ViewFeatures.Infrastructure.TempDataSerializer tempDataSerializer, System.Type type) { throw null; } + public void OnTempDataSaving(Microsoft.AspNetCore.Mvc.ViewFeatures.ITempDataDictionary tempData) { } + protected void SetPropertyValues(Microsoft.AspNetCore.Mvc.ViewFeatures.ITempDataDictionary tempData) { } + } + [System.Runtime.InteropServices.StructLayoutAttribute(System.Runtime.InteropServices.LayoutKind.Sequential)] + internal readonly partial struct LifecycleProperty + { + private readonly object _dummy; + private readonly int _dummyPrimitive; + public LifecycleProperty(System.Reflection.PropertyInfo propertyInfo, string key) { throw null; } + public string Key { get { throw null; } } + public System.Reflection.PropertyInfo PropertyInfo { get { throw null; } } + public object GetValue(object instance) { throw null; } + public void SetValue(object instance, object value) { } + } +} +namespace Microsoft.AspNetCore.Mvc.ViewFeatures +{ + internal static partial class CachedExpressionCompiler + { + public static System.Func Process(System.Linq.Expressions.Expression> expression) { throw null; } + } + internal partial class ComponentRenderer : Microsoft.AspNetCore.Mvc.ViewFeatures.IComponentRenderer + { + public ComponentRenderer(Microsoft.AspNetCore.Mvc.ViewFeatures.StaticComponentRenderer staticComponentRenderer, Microsoft.AspNetCore.Mvc.ViewFeatures.ServerComponentSerializer serverComponentSerializer) { } + [System.Diagnostics.DebuggerStepThroughAttribute] + public System.Threading.Tasks.Task RenderComponentAsync(Microsoft.AspNetCore.Mvc.Rendering.ViewContext viewContext, System.Type componentType, Microsoft.AspNetCore.Mvc.Rendering.RenderMode renderMode, object parameters) { throw null; } + } + internal static partial class DefaultDisplayTemplates + { + public static Microsoft.AspNetCore.Html.IHtmlContent BooleanTemplate(Microsoft.AspNetCore.Mvc.Rendering.IHtmlHelper htmlHelper) { throw null; } + public static Microsoft.AspNetCore.Html.IHtmlContent CollectionTemplate(Microsoft.AspNetCore.Mvc.Rendering.IHtmlHelper htmlHelper) { throw null; } + public static Microsoft.AspNetCore.Html.IHtmlContent DecimalTemplate(Microsoft.AspNetCore.Mvc.Rendering.IHtmlHelper htmlHelper) { throw null; } + public static Microsoft.AspNetCore.Html.IHtmlContent EmailAddressTemplate(Microsoft.AspNetCore.Mvc.Rendering.IHtmlHelper htmlHelper) { throw null; } + public static Microsoft.AspNetCore.Html.IHtmlContent HiddenInputTemplate(Microsoft.AspNetCore.Mvc.Rendering.IHtmlHelper htmlHelper) { throw null; } + public static Microsoft.AspNetCore.Html.IHtmlContent HtmlTemplate(Microsoft.AspNetCore.Mvc.Rendering.IHtmlHelper htmlHelper) { throw null; } + public static Microsoft.AspNetCore.Html.IHtmlContent ObjectTemplate(Microsoft.AspNetCore.Mvc.Rendering.IHtmlHelper htmlHelper) { throw null; } + public static Microsoft.AspNetCore.Html.IHtmlContent StringTemplate(Microsoft.AspNetCore.Mvc.Rendering.IHtmlHelper htmlHelper) { throw null; } + internal static System.Collections.Generic.List TriStateValues(bool? value) { throw null; } + public static Microsoft.AspNetCore.Html.IHtmlContent UrlTemplate(Microsoft.AspNetCore.Mvc.Rendering.IHtmlHelper htmlHelper) { throw null; } + } + internal static partial class DefaultEditorTemplates + { + public static Microsoft.AspNetCore.Html.IHtmlContent BooleanTemplate(Microsoft.AspNetCore.Mvc.Rendering.IHtmlHelper htmlHelper) { throw null; } + public static Microsoft.AspNetCore.Html.IHtmlContent CollectionTemplate(Microsoft.AspNetCore.Mvc.Rendering.IHtmlHelper htmlHelper) { throw null; } + public static Microsoft.AspNetCore.Html.IHtmlContent DateInputTemplate(Microsoft.AspNetCore.Mvc.Rendering.IHtmlHelper htmlHelper) { throw null; } + public static Microsoft.AspNetCore.Html.IHtmlContent DateTimeLocalInputTemplate(Microsoft.AspNetCore.Mvc.Rendering.IHtmlHelper htmlHelper) { throw null; } + public static Microsoft.AspNetCore.Html.IHtmlContent DateTimeOffsetTemplate(Microsoft.AspNetCore.Mvc.Rendering.IHtmlHelper htmlHelper) { throw null; } + public static Microsoft.AspNetCore.Html.IHtmlContent DecimalTemplate(Microsoft.AspNetCore.Mvc.Rendering.IHtmlHelper htmlHelper) { throw null; } + public static Microsoft.AspNetCore.Html.IHtmlContent EmailAddressInputTemplate(Microsoft.AspNetCore.Mvc.Rendering.IHtmlHelper htmlHelper) { throw null; } + public static Microsoft.AspNetCore.Html.IHtmlContent FileCollectionInputTemplate(Microsoft.AspNetCore.Mvc.Rendering.IHtmlHelper htmlHelper) { throw null; } + public static Microsoft.AspNetCore.Html.IHtmlContent FileInputTemplate(Microsoft.AspNetCore.Mvc.Rendering.IHtmlHelper htmlHelper) { throw null; } + public static Microsoft.AspNetCore.Html.IHtmlContent HiddenInputTemplate(Microsoft.AspNetCore.Mvc.Rendering.IHtmlHelper htmlHelper) { throw null; } + public static Microsoft.AspNetCore.Html.IHtmlContent MonthInputTemplate(Microsoft.AspNetCore.Mvc.Rendering.IHtmlHelper htmlHelper) { throw null; } + public static Microsoft.AspNetCore.Html.IHtmlContent MultilineTemplate(Microsoft.AspNetCore.Mvc.Rendering.IHtmlHelper htmlHelper) { throw null; } + public static Microsoft.AspNetCore.Html.IHtmlContent NumberInputTemplate(Microsoft.AspNetCore.Mvc.Rendering.IHtmlHelper htmlHelper) { throw null; } + public static Microsoft.AspNetCore.Html.IHtmlContent ObjectTemplate(Microsoft.AspNetCore.Mvc.Rendering.IHtmlHelper htmlHelper) { throw null; } + public static Microsoft.AspNetCore.Html.IHtmlContent PasswordTemplate(Microsoft.AspNetCore.Mvc.Rendering.IHtmlHelper htmlHelper) { throw null; } + public static Microsoft.AspNetCore.Html.IHtmlContent PhoneNumberInputTemplate(Microsoft.AspNetCore.Mvc.Rendering.IHtmlHelper htmlHelper) { throw null; } + public static Microsoft.AspNetCore.Html.IHtmlContent StringTemplate(Microsoft.AspNetCore.Mvc.Rendering.IHtmlHelper htmlHelper) { throw null; } + public static Microsoft.AspNetCore.Html.IHtmlContent TimeInputTemplate(Microsoft.AspNetCore.Mvc.Rendering.IHtmlHelper htmlHelper) { throw null; } + public static Microsoft.AspNetCore.Html.IHtmlContent UrlInputTemplate(Microsoft.AspNetCore.Mvc.Rendering.IHtmlHelper htmlHelper) { throw null; } + public static Microsoft.AspNetCore.Html.IHtmlContent WeekInputTemplate(Microsoft.AspNetCore.Mvc.Rendering.IHtmlHelper htmlHelper) { throw null; } + } + internal static partial class ExpressionHelper + { + public static string GetExpressionText(System.Linq.Expressions.LambdaExpression expression, System.Collections.Concurrent.ConcurrentDictionary expressionTextCache) { throw null; } + public static string GetUncachedExpressionText(System.Linq.Expressions.LambdaExpression expression) { throw null; } + public static bool IsSingleArgumentIndexer(System.Linq.Expressions.Expression expression) { throw null; } + } + internal static partial class ExpressionMetadataProvider + { + public static Microsoft.AspNetCore.Mvc.ViewFeatures.ModelExplorer FromLambdaExpression(System.Linq.Expressions.Expression> expression, Microsoft.AspNetCore.Mvc.ViewFeatures.ViewDataDictionary viewData, Microsoft.AspNetCore.Mvc.ModelBinding.IModelMetadataProvider metadataProvider) { throw null; } + public static Microsoft.AspNetCore.Mvc.ViewFeatures.ModelExplorer FromStringExpression(string expression, Microsoft.AspNetCore.Mvc.ViewFeatures.ViewDataDictionary viewData, Microsoft.AspNetCore.Mvc.ModelBinding.IModelMetadataProvider metadataProvider) { throw null; } + } + internal partial class HtmlAttributePropertyHelper : Microsoft.Extensions.Internal.PropertyHelper + { + public HtmlAttributePropertyHelper(System.Reflection.PropertyInfo property) : base (default(System.Reflection.PropertyInfo)) { } + public override string Name { get { throw null; } protected set { } } + public static new Microsoft.Extensions.Internal.PropertyHelper[] GetProperties(System.Type type) { throw null; } + } + internal partial class HttpNavigationManager : Microsoft.AspNetCore.Components.NavigationManager, Microsoft.AspNetCore.Components.Routing.IHostEnvironmentNavigationManager + { + public HttpNavigationManager() { } + void Microsoft.AspNetCore.Components.Routing.IHostEnvironmentNavigationManager.Initialize(string baseUri, string uri) { } + protected override void NavigateToCore(string uri, bool forceLoad) { } + } + internal partial interface IComponentRenderer + { + System.Threading.Tasks.Task RenderComponentAsync(Microsoft.AspNetCore.Mvc.Rendering.ViewContext viewContext, System.Type componentType, Microsoft.AspNetCore.Mvc.Rendering.RenderMode renderMode, object parameters); + } + internal partial class LambdaExpressionComparer : System.Collections.Generic.IEqualityComparer + { + public static readonly Microsoft.AspNetCore.Mvc.ViewFeatures.LambdaExpressionComparer Instance; + public LambdaExpressionComparer() { } + public bool Equals(System.Linq.Expressions.LambdaExpression lambdaExpression1, System.Linq.Expressions.LambdaExpression lambdaExpression2) { throw null; } + public int GetHashCode(System.Linq.Expressions.LambdaExpression lambdaExpression) { throw null; } + } + internal partial class MemberExpressionCacheKeyComparer : System.Collections.Generic.IEqualityComparer + { + public static readonly Microsoft.AspNetCore.Mvc.ViewFeatures.MemberExpressionCacheKeyComparer Instance; + public MemberExpressionCacheKeyComparer() { } + public bool Equals(Microsoft.AspNetCore.Mvc.ViewFeatures.MemberExpressionCacheKey x, Microsoft.AspNetCore.Mvc.ViewFeatures.MemberExpressionCacheKey y) { throw null; } + public int GetHashCode(Microsoft.AspNetCore.Mvc.ViewFeatures.MemberExpressionCacheKey obj) { throw null; } + } + [System.Runtime.InteropServices.StructLayoutAttribute(System.Runtime.InteropServices.LayoutKind.Sequential)] + internal readonly partial struct MemberExpressionCacheKey + { + private readonly object _dummy; + public MemberExpressionCacheKey(System.Type modelType, System.Linq.Expressions.MemberExpression memberExpression) { throw null; } + public MemberExpressionCacheKey(System.Type modelType, System.Reflection.MemberInfo[] members) { throw null; } + public System.Linq.Expressions.MemberExpression MemberExpression { [System.Runtime.CompilerServices.CompilerGeneratedAttribute]get { throw null; } } + public System.Reflection.MemberInfo[] Members { [System.Runtime.CompilerServices.CompilerGeneratedAttribute]get { throw null; } } + public System.Type ModelType { [System.Runtime.CompilerServices.CompilerGeneratedAttribute]get { throw null; } } + public Microsoft.AspNetCore.Mvc.ViewFeatures.MemberExpressionCacheKey.Enumerator GetEnumerator() { throw null; } + public Microsoft.AspNetCore.Mvc.ViewFeatures.MemberExpressionCacheKey MakeCacheable() { throw null; } + [System.Runtime.InteropServices.StructLayoutAttribute(System.Runtime.InteropServices.LayoutKind.Sequential)] + public partial struct Enumerator + { + private readonly System.Reflection.MemberInfo[] _members; + private int _index; + public Enumerator(in Microsoft.AspNetCore.Mvc.ViewFeatures.MemberExpressionCacheKey key) { throw null; } + public System.Reflection.MemberInfo Current { [System.Runtime.CompilerServices.CompilerGeneratedAttribute]get { throw null; } } + public bool MoveNext() { throw null; } + } + } + internal static partial class Resources + { + internal static string ArgumentCannotBeNullOrEmpty { get { throw null; } } + internal static string ArgumentPropertyUnexpectedType { get { throw null; } } + internal static string Common_PartialViewNotFound { get { throw null; } } + internal static string Common_PropertyNotFound { get { throw null; } } + internal static string Common_TriState_False { get { throw null; } } + internal static string Common_TriState_NotSet { get { throw null; } } + internal static string Common_TriState_True { get { throw null; } } + internal static string CreateModelExpression_NullModelMetadata { get { throw null; } } + internal static System.Globalization.CultureInfo Culture { [System.Runtime.CompilerServices.CompilerGeneratedAttribute]get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute]set { } } + internal static string DeserializingTempData { get { throw null; } } + internal static string Dictionary_DuplicateKey { get { throw null; } } + internal static string DynamicViewData_ViewDataNull { get { throw null; } } + internal static string ExpressionHelper_InvalidIndexerExpression { get { throw null; } } + internal static string HtmlGenerator_FieldNameCannotBeNullOrEmpty { get { throw null; } } + internal static string HtmlHelper_MissingSelectData { get { throw null; } } + internal static string HtmlHelper_NotContextualized { get { throw null; } } + internal static string HtmlHelper_NullModelMetadata { get { throw null; } } + internal static string HtmlHelper_SelectExpressionNotEnumerable { get { throw null; } } + internal static string HtmlHelper_TextAreaParameterOutOfRange { get { throw null; } } + internal static string HtmlHelper_TypeNotSupported_ForGetEnumSelectList { get { throw null; } } + internal static string HtmlHelper_WrongSelectDataType { get { throw null; } } + internal static string PropertyOfTypeCannotBeNull { get { throw null; } } + internal static string RemoteAttribute_NoUrlFound { get { throw null; } } + internal static string RemoteAttribute_RemoteValidationFailed { get { throw null; } } + internal static System.Resources.ResourceManager ResourceManager { get { throw null; } } + internal static string SerializingTempData { get { throw null; } } + internal static string TempDataProperties_InvalidType { get { throw null; } } + internal static string TempDataProperties_PublicGetterSetter { get { throw null; } } + internal static string TempData_CannotDeserializeType { get { throw null; } } + internal static string TempData_CannotSerializeType { get { throw null; } } + internal static string TemplatedExpander_PopulateValuesMustBeInvokedFirst { get { throw null; } } + internal static string TemplatedExpander_ValueFactoryCannotReturnNull { get { throw null; } } + internal static string TemplatedViewLocationExpander_NoReplacementToken { get { throw null; } } + internal static string TemplateHelpers_NoTemplate { get { throw null; } } + internal static string TemplateHelpers_TemplateLimitations { get { throw null; } } + internal static string Templates_TypeMustImplementIEnumerable { get { throw null; } } + internal static string TypeMethodMustReturnNotNullValue { get { throw null; } } + internal static string TypeMustDeriveFromType { get { throw null; } } + internal static string UnobtrusiveJavascript_ValidationParameterCannotBeEmpty { get { throw null; } } + internal static string UnobtrusiveJavascript_ValidationParameterMustBeLegal { get { throw null; } } + internal static string UnobtrusiveJavascript_ValidationTypeCannotBeEmpty { get { throw null; } } + internal static string UnobtrusiveJavascript_ValidationTypeMustBeLegal { get { throw null; } } + internal static string UnobtrusiveJavascript_ValidationTypeMustBeUnique { get { throw null; } } + internal static string ValueInterfaceAbstractOrOpenGenericTypesCannotBeActivated { get { throw null; } } + internal static string ViewComponentResult_NameOrTypeMustBeSet { get { throw null; } } + internal static string ViewComponent_AmbiguousMethods { get { throw null; } } + internal static string ViewComponent_AmbiguousTypeMatch { get { throw null; } } + internal static string ViewComponent_AmbiguousTypeMatch_Item { get { throw null; } } + internal static string ViewComponent_AsyncMethod_ShouldReturnTask { get { throw null; } } + internal static string ViewComponent_CannotFindComponent { get { throw null; } } + internal static string ViewComponent_CannotFindMethod { get { throw null; } } + internal static string ViewComponent_InvalidReturnValue { get { throw null; } } + internal static string ViewComponent_IViewComponentFactory_ReturnedNull { get { throw null; } } + internal static string ViewComponent_MustReturnValue { get { throw null; } } + internal static string ViewComponent_SyncMethod_CannotReturnTask { get { throw null; } } + internal static string ViewComponent_SyncMethod_ShouldReturnValue { get { throw null; } } + internal static string ViewData_ModelCannotBeNull { get { throw null; } } + internal static string ViewData_WrongTModelType { get { throw null; } } + internal static string ViewEnginesAreRequired { get { throw null; } } + internal static string ViewEngine_PartialViewNotFound { get { throw null; } } + internal static string ViewEngine_ViewNotFound { get { throw null; } } + internal static string FormatArgumentPropertyUnexpectedType(object p0, object p1, object p2) { throw null; } + internal static string FormatCommon_PartialViewNotFound(object p0, object p1) { throw null; } + internal static string FormatCommon_PropertyNotFound(object p0, object p1) { throw null; } + internal static string FormatCreateModelExpression_NullModelMetadata(object p0, object p1) { throw null; } + internal static string FormatDictionary_DuplicateKey(object p0) { throw null; } + internal static string FormatExpressionHelper_InvalidIndexerExpression(object p0, object p1) { throw null; } + internal static string FormatHtmlGenerator_FieldNameCannotBeNullOrEmpty(object p0, object p1, object p2, object p3, object p4) { throw null; } + internal static string FormatHtmlHelper_MissingSelectData(object p0, object p1) { throw null; } + internal static string FormatHtmlHelper_NullModelMetadata(object p0) { throw null; } + internal static string FormatHtmlHelper_SelectExpressionNotEnumerable(object p0) { throw null; } + internal static string FormatHtmlHelper_TypeNotSupported_ForGetEnumSelectList(object p0, object p1, object p2) { throw null; } + internal static string FormatHtmlHelper_WrongSelectDataType(object p0, object p1, object p2) { throw null; } + internal static string FormatPropertyOfTypeCannotBeNull(object p0, object p1) { throw null; } + internal static string FormatRemoteAttribute_RemoteValidationFailed(object p0) { throw null; } + internal static string FormatTempDataProperties_InvalidType(object p0, object p1, object p2, object p3) { throw null; } + internal static string FormatTempDataProperties_PublicGetterSetter(object p0, object p1, object p2) { throw null; } + internal static string FormatTempData_CannotDeserializeType(object p0) { throw null; } + internal static string FormatTempData_CannotSerializeType(object p0, object p1) { throw null; } + internal static string FormatTemplatedExpander_PopulateValuesMustBeInvokedFirst(object p0, object p1) { throw null; } + internal static string FormatTemplatedViewLocationExpander_NoReplacementToken(object p0) { throw null; } + internal static string FormatTemplateHelpers_NoTemplate(object p0) { throw null; } + internal static string FormatTemplates_TypeMustImplementIEnumerable(object p0, object p1, object p2) { throw null; } + internal static string FormatTypeMethodMustReturnNotNullValue(object p0, object p1) { throw null; } + internal static string FormatTypeMustDeriveFromType(object p0, object p1) { throw null; } + internal static string FormatUnobtrusiveJavascript_ValidationParameterCannotBeEmpty(object p0) { throw null; } + internal static string FormatUnobtrusiveJavascript_ValidationParameterMustBeLegal(object p0, object p1) { throw null; } + internal static string FormatUnobtrusiveJavascript_ValidationTypeCannotBeEmpty(object p0) { throw null; } + internal static string FormatUnobtrusiveJavascript_ValidationTypeMustBeLegal(object p0, object p1) { throw null; } + internal static string FormatUnobtrusiveJavascript_ValidationTypeMustBeUnique(object p0) { throw null; } + internal static string FormatValueInterfaceAbstractOrOpenGenericTypesCannotBeActivated(object p0, object p1) { throw null; } + internal static string FormatViewComponentResult_NameOrTypeMustBeSet(object p0, object p1) { throw null; } + internal static string FormatViewComponent_AmbiguousMethods(object p0, object p1, object p2) { throw null; } + internal static string FormatViewComponent_AmbiguousTypeMatch(object p0, object p1, object p2) { throw null; } + internal static string FormatViewComponent_AmbiguousTypeMatch_Item(object p0, object p1) { throw null; } + internal static string FormatViewComponent_AsyncMethod_ShouldReturnTask(object p0, object p1, object p2) { throw null; } + internal static string FormatViewComponent_CannotFindComponent(object p0, object p1, object p2, object p3) { throw null; } + internal static string FormatViewComponent_CannotFindMethod(object p0, object p1, object p2) { throw null; } + internal static string FormatViewComponent_InvalidReturnValue(object p0, object p1, object p2) { throw null; } + internal static string FormatViewComponent_IViewComponentFactory_ReturnedNull(object p0) { throw null; } + internal static string FormatViewComponent_SyncMethod_CannotReturnTask(object p0, object p1, object p2) { throw null; } + internal static string FormatViewComponent_SyncMethod_ShouldReturnValue(object p0, object p1) { throw null; } + internal static string FormatViewData_ModelCannotBeNull(object p0) { throw null; } + internal static string FormatViewData_WrongTModelType(object p0, object p1) { throw null; } + internal static string FormatViewEnginesAreRequired(object p0, object p1, object p2) { throw null; } + internal static string FormatViewEngine_PartialViewNotFound(object p0, object p1) { throw null; } + internal static string FormatViewEngine_ViewNotFound(object p0, object p1) { throw null; } + } + internal partial class ServerComponentInvocationSequence + { + public ServerComponentInvocationSequence() { } + public System.Guid Value { [System.Runtime.CompilerServices.CompilerGeneratedAttribute]get { throw null; } } + public int Next() { throw null; } + } + internal partial class ServerComponentSerializer + { + public ServerComponentSerializer(Microsoft.AspNetCore.DataProtection.IDataProtectionProvider dataProtectionProvider) { } + internal System.Collections.Generic.IEnumerable GetEpilogue(Microsoft.AspNetCore.Components.ServerComponentMarker record) { throw null; } + internal System.Collections.Generic.IEnumerable GetPreamble(Microsoft.AspNetCore.Components.ServerComponentMarker record) { throw null; } + public Microsoft.AspNetCore.Components.ServerComponentMarker SerializeInvocation(Microsoft.AspNetCore.Mvc.ViewFeatures.ServerComponentInvocationSequence invocationId, System.Type type, bool prerendered) { throw null; } + } + internal partial class StaticComponentRenderer + { + public StaticComponentRenderer(System.Text.Encodings.Web.HtmlEncoder encoder) { } + [System.Diagnostics.DebuggerStepThroughAttribute] + public System.Threading.Tasks.Task> PrerenderComponentAsync(Microsoft.AspNetCore.Components.ParameterView parameters, Microsoft.AspNetCore.Http.HttpContext httpContext, System.Type componentType) { throw null; } + } + internal partial class NullView : Microsoft.AspNetCore.Mvc.ViewEngines.IView + { + public static readonly Microsoft.AspNetCore.Mvc.ViewFeatures.NullView Instance; + public NullView() { } + public string Path { get { throw null; } } + public System.Threading.Tasks.Task RenderAsync(Microsoft.AspNetCore.Mvc.Rendering.ViewContext context) { throw null; } + } + internal partial class TemplateRenderer + { + public const string IEnumerableOfIFormFileName = "IEnumerable`IFormFile"; + public TemplateRenderer(Microsoft.AspNetCore.Mvc.ViewEngines.IViewEngine viewEngine, Microsoft.AspNetCore.Mvc.ViewFeatures.Buffers.IViewBufferScope bufferScope, Microsoft.AspNetCore.Mvc.Rendering.ViewContext viewContext, Microsoft.AspNetCore.Mvc.ViewFeatures.ViewDataDictionary viewData, string templateName, bool readOnly) { } + public static System.Collections.Generic.IEnumerable GetTypeNames(Microsoft.AspNetCore.Mvc.ModelBinding.ModelMetadata modelMetadata, System.Type fieldType) { throw null; } + public Microsoft.AspNetCore.Html.IHtmlContent Render() { throw null; } + } + internal static partial class FormatWeekHelper + { + public static string GetFormattedWeek(Microsoft.AspNetCore.Mvc.ViewFeatures.ModelExplorer modelExplorer) { throw null; } + } + internal partial class UnsupportedJavaScriptRuntime : Microsoft.JSInterop.IJSRuntime + { + public UnsupportedJavaScriptRuntime() { } + public System.Threading.Tasks.ValueTask InvokeAsync(string identifier, System.Threading.CancellationToken cancellationToken, object[] args) { throw null; } + System.Threading.Tasks.ValueTask Microsoft.JSInterop.IJSRuntime.InvokeAsync(string identifier, object[] args) { throw null; } + } + public partial class ViewDataDictionary : System.Collections.Generic.ICollection>, System.Collections.Generic.IDictionary, System.Collections.Generic.IEnumerable>, System.Collections.IEnumerable + { + internal ViewDataDictionary(Microsoft.AspNetCore.Mvc.ModelBinding.IModelMetadataProvider metadataProvider) { } + internal System.Collections.Generic.IDictionary Data { get { throw null; } } + } + internal static partial class ViewDataDictionaryFactory + { + public static System.Func CreateFactory(System.Reflection.TypeInfo modelType) { throw null; } + public static System.Func CreateNestedFactory(System.Reflection.TypeInfo modelType) { throw null; } + } + public partial class ViewDataDictionary : Microsoft.AspNetCore.Mvc.ViewFeatures.ViewDataDictionary + { + internal ViewDataDictionary(Microsoft.AspNetCore.Mvc.ModelBinding.IModelMetadataProvider metadataProvider) : base (default(Microsoft.AspNetCore.Mvc.ModelBinding.IModelMetadataProvider), default(Microsoft.AspNetCore.Mvc.ModelBinding.ModelStateDictionary)) { } + } +} +namespace Microsoft.AspNetCore.Mvc.ViewFeatures.Infrastructure +{ + internal partial class DefaultTempDataSerializer : Microsoft.AspNetCore.Mvc.ViewFeatures.Infrastructure.TempDataSerializer + { + public DefaultTempDataSerializer() { } + public override bool CanSerializeType(System.Type type) { throw null; } + public override System.Collections.Generic.IDictionary Deserialize(byte[] value) { throw null; } + public override byte[] Serialize(System.Collections.Generic.IDictionary values) { throw null; } + } +} +namespace Microsoft.AspNetCore.Mvc.Rendering +{ + internal partial class SystemTextJsonHelper : Microsoft.AspNetCore.Mvc.Rendering.IJsonHelper + { + public SystemTextJsonHelper(Microsoft.Extensions.Options.IOptions options) { } + public Microsoft.AspNetCore.Html.IHtmlContent Serialize(object value) { throw null; } + } +} +namespace Microsoft.Extensions.DependencyInjection +{ + public static partial class MvcViewFeaturesMvcCoreBuilderExtensions + { + internal static void AddViewComponentApplicationPartsProviders(Microsoft.AspNetCore.Mvc.ApplicationParts.ApplicationPartManager manager) { } + internal static void AddViewServices(Microsoft.Extensions.DependencyInjection.IServiceCollection services) { } + } + internal partial class MvcViewOptionsSetup + { + public MvcViewOptionsSetup(Microsoft.Extensions.Options.IOptions dataAnnotationLocalizationOptions, Microsoft.AspNetCore.Mvc.DataAnnotations.IValidationAttributeAdapterProvider validationAttributeAdapterProvider) { } + public MvcViewOptionsSetup(Microsoft.Extensions.Options.IOptions dataAnnotationOptions, Microsoft.AspNetCore.Mvc.DataAnnotations.IValidationAttributeAdapterProvider validationAttributeAdapterProvider, Microsoft.Extensions.Localization.IStringLocalizerFactory stringLocalizerFactory) { } + public void Configure(Microsoft.AspNetCore.Mvc.MvcViewOptions options) { } + } + internal partial class TempDataMvcOptionsSetup + { + public TempDataMvcOptionsSetup() { } + public void Configure(Microsoft.AspNetCore.Mvc.MvcOptions options) { } + } +} +namespace Microsoft.AspNetCore.Components.Rendering +{ + [System.Runtime.InteropServices.StructLayoutAttribute(System.Runtime.InteropServices.LayoutKind.Sequential)] + internal readonly partial struct ComponentRenderedText + { + private readonly object _dummy; + private readonly int _dummyPrimitive; + public ComponentRenderedText(int componentId, System.Collections.Generic.IEnumerable tokens) { throw null; } + public int ComponentId { [System.Runtime.CompilerServices.CompilerGeneratedAttribute]get { throw null; } } + public System.Collections.Generic.IEnumerable Tokens { [System.Runtime.CompilerServices.CompilerGeneratedAttribute]get { throw null; } } + } + internal partial class HtmlRenderer : Microsoft.AspNetCore.Components.RenderTree.Renderer + { + public HtmlRenderer(System.IServiceProvider serviceProvider, Microsoft.Extensions.Logging.ILoggerFactory loggerFactory, System.Func htmlEncoder) : base (default(System.IServiceProvider), default(Microsoft.Extensions.Logging.ILoggerFactory)) { } + public override Microsoft.AspNetCore.Components.Dispatcher Dispatcher { [System.Runtime.CompilerServices.CompilerGeneratedAttribute]get { throw null; } } + protected override void HandleException(System.Exception exception) { } + public System.Threading.Tasks.Task RenderComponentAsync(System.Type componentType, Microsoft.AspNetCore.Components.ParameterView initialParameters) { throw null; } + public System.Threading.Tasks.Task RenderComponentAsync(Microsoft.AspNetCore.Components.ParameterView initialParameters) where TComponent : Microsoft.AspNetCore.Components.IComponent { throw null; } + protected override System.Threading.Tasks.Task UpdateDisplayAsync(in Microsoft.AspNetCore.Components.RenderTree.RenderBatch renderBatch) { throw null; } + } +} \ No newline at end of file diff --git a/src/Mvc/Mvc.ViewFeatures/ref/Microsoft.AspNetCore.Mvc.ViewFeatures.csproj b/src/Mvc/Mvc.ViewFeatures/ref/Microsoft.AspNetCore.Mvc.ViewFeatures.csproj index b6c9f4916ce7..ff1c23b2a87e 100644 --- a/src/Mvc/Mvc.ViewFeatures/ref/Microsoft.AspNetCore.Mvc.ViewFeatures.csproj +++ b/src/Mvc/Mvc.ViewFeatures/ref/Microsoft.AspNetCore.Mvc.ViewFeatures.csproj @@ -5,14 +5,16 @@ - - - - - - - - - + + + + + + + + + + + diff --git a/src/Mvc/Mvc.ViewFeatures/src/Microsoft.AspNetCore.Mvc.ViewFeatures.csproj b/src/Mvc/Mvc.ViewFeatures/src/Microsoft.AspNetCore.Mvc.ViewFeatures.csproj index 8d9b65b94bb6..56f7a3921815 100644 --- a/src/Mvc/Mvc.ViewFeatures/src/Microsoft.AspNetCore.Mvc.ViewFeatures.csproj +++ b/src/Mvc/Mvc.ViewFeatures/src/Microsoft.AspNetCore.Mvc.ViewFeatures.csproj @@ -14,7 +14,7 @@ true aspnetcore;aspnetcoremvc true - false + false @@ -31,9 +31,9 @@ - - - + + + diff --git a/src/Mvc/Mvc/ref/Microsoft.AspNetCore.Mvc.csproj b/src/Mvc/Mvc/ref/Microsoft.AspNetCore.Mvc.csproj index 6098d80e5b82..45b5b4772b74 100644 --- a/src/Mvc/Mvc/ref/Microsoft.AspNetCore.Mvc.csproj +++ b/src/Mvc/Mvc/ref/Microsoft.AspNetCore.Mvc.csproj @@ -5,15 +5,16 @@ - - - - - - - - - - + + + + + + + + + + + diff --git a/src/Mvc/Mvc/src/Microsoft.AspNetCore.Mvc.csproj b/src/Mvc/Mvc/src/Microsoft.AspNetCore.Mvc.csproj index 687b24a6f9b6..fbc44beae3c5 100644 --- a/src/Mvc/Mvc/src/Microsoft.AspNetCore.Mvc.csproj +++ b/src/Mvc/Mvc/src/Microsoft.AspNetCore.Mvc.csproj @@ -6,7 +6,7 @@ true aspnetcore;aspnetcoremvc true - false + false diff --git a/src/Mvc/Mvc/test/Microsoft.AspNetCore.Mvc.Test.csproj b/src/Mvc/Mvc/test/Microsoft.AspNetCore.Mvc.Test.csproj index 8cc541a4aeab..2b13fa1d451b 100644 --- a/src/Mvc/Mvc/test/Microsoft.AspNetCore.Mvc.Test.csproj +++ b/src/Mvc/Mvc/test/Microsoft.AspNetCore.Mvc.Test.csproj @@ -12,7 +12,6 @@ - diff --git a/src/Mvc/test/Mvc.FunctionalTests/AuthMiddlewareUsingRequireAuthTest.cs b/src/Mvc/test/Mvc.FunctionalTests/AuthMiddlewareUsingRequireAuthTest.cs new file mode 100644 index 000000000000..7c8e4fed40f7 --- /dev/null +++ b/src/Mvc/test/Mvc.FunctionalTests/AuthMiddlewareUsingRequireAuthTest.cs @@ -0,0 +1,80 @@ +// Copyright (c) .NET Foundation. All rights reserved. +// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. + +using System.Linq; +using System.Net; +using System.Net.Http; +using System.Threading.Tasks; +using Microsoft.AspNetCore.Hosting; +using Xunit; + +namespace Microsoft.AspNetCore.Mvc.FunctionalTests +{ + public class AuthMiddlewareUsingRequireAuthTest : IClassFixture> + { + public AuthMiddlewareUsingRequireAuthTest(MvcTestFixture fixture) + { + var factory = fixture.Factories.FirstOrDefault() ?? fixture.WithWebHostBuilder(ConfigureWebHostBuilder); + Client = factory.CreateDefaultClient(); + } + + private static void ConfigureWebHostBuilder(IWebHostBuilder builder) => + builder.UseStartup(); + + public HttpClient Client { get; } + + [Fact] + public async Task RequireAuthConfiguredGlobally_AppliesToControllers() + { + // Arrange + var action = "Home/Index"; + var response = await Client.GetAsync(action); + + await AssertAuthorizeResponse(response); + + // We should be able to login with ClaimA alone + var authCookie = await GetAuthCookieAsync("LoginClaimA"); + + var request = new HttpRequestMessage(HttpMethod.Get, action); + request.Headers.Add("Cookie", authCookie); + + response = await Client.SendAsync(request); + await response.AssertStatusCodeAsync(HttpStatusCode.OK); + } + + [Fact] + public async Task RequireAuthConfiguredGlobally_AppliesToRazorPages() + { + // Arrange + var action = "PagesHome"; + var response = await Client.GetAsync(action); + + await AssertAuthorizeResponse(response); + + // We should be able to login with ClaimA alone + var authCookie = await GetAuthCookieAsync("LoginClaimA"); + + var request = new HttpRequestMessage(HttpMethod.Get, action); + request.Headers.Add("Cookie", authCookie); + + response = await Client.SendAsync(request); + await response.AssertStatusCodeAsync(HttpStatusCode.OK); + } + + private async Task AssertAuthorizeResponse(HttpResponseMessage response) + { + await response.AssertStatusCodeAsync(HttpStatusCode.Redirect); + Assert.Equal("/Home/Login", response.Headers.Location.LocalPath); + } + + private async Task GetAuthCookieAsync(string action) + { + var response = await Client.PostAsync($"Login/{action}", null); + + await response.AssertStatusCodeAsync(HttpStatusCode.OK); + Assert.True(response.Headers.Contains("Set-Cookie")); + return response.Headers.GetValues("Set-Cookie").FirstOrDefault(); + } + } +} + diff --git a/src/Mvc/test/Mvc.FunctionalTests/ErrorPageTests.cs b/src/Mvc/test/Mvc.FunctionalTests/ErrorPageTests.cs index 5cd72354c6e3..6ca0e5c650fc 100644 --- a/src/Mvc/test/Mvc.FunctionalTests/ErrorPageTests.cs +++ b/src/Mvc/test/Mvc.FunctionalTests/ErrorPageTests.cs @@ -2,6 +2,7 @@ // Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. using System; +using System.IO; using System.Linq; using System.Net; using System.Net.Http; @@ -9,6 +10,8 @@ using System.Text.Encodings.Web; using System.Threading.Tasks; using Microsoft.AspNetCore.Hosting; +using Microsoft.AspNetCore.Mvc.Razor.RuntimeCompilation; +using Microsoft.AspNetCore.TestHost; using Microsoft.Extensions.DependencyInjection; using Microsoft.Extensions.Logging; using Microsoft.Extensions.Logging.Testing; @@ -27,6 +30,8 @@ public class ErrorPageTests : IClassFixture _fixture; + public ErrorPageTests( MvcTestFixture fixture, ITestOutputHelper testOutputHelper) @@ -41,6 +46,8 @@ public ErrorPageTests( .CreateDefaultClient(); // These tests want to verify runtime compilation and formatting in the HTML of the error page Client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("text/html")); + + _fixture = fixture; } public HttpClient Client { get; } @@ -49,12 +56,18 @@ public ErrorPageTests( public async Task CompilationFailuresAreListedByErrorPageMiddleware() { // Arrange + var factory = _fixture.Factories.FirstOrDefault() ?? _fixture.WithWebHostBuilder(b => b.UseStartup()); + factory = factory.WithWebHostBuilder(b => b.ConfigureTestServices(serviceCollection => serviceCollection.Configure(ConfigureRuntimeCompilationOptions))); + + var client = factory.CreateDefaultClient(); + client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("text/html")); + var action = "CompilationFailure"; var expected = "Cannot implicitly convert type 'int' to 'string'"; var expectedMediaType = MediaTypeHeaderValue.Parse("text/html; charset=utf-8"); // Act - var response = await Client.GetAsync("http://localhost/" + action); + var response = await client.GetAsync("http://localhost/" + action); // Assert Assert.Equal(HttpStatusCode.InternalServerError, response.StatusCode); @@ -63,6 +76,16 @@ public async Task CompilationFailuresAreListedByErrorPageMiddleware() Assert.Contains($"{action}.cshtml", content); Assert.Contains(expected, content); Assert.DoesNotContain(PreserveCompilationContextMessage, content); + + static void ConfigureRuntimeCompilationOptions(MvcRazorRuntimeCompilationOptions options) + { + // Workaround for incorrectly generated deps file. The build output has all of the binaries required to compile. We'll grab these and + // add it to the list of assemblies runtime compilation uses. + foreach (var path in Directory.EnumerateFiles(AppContext.BaseDirectory, "*.dll")) + { + options.AdditionalReferencePaths.Add(path); + } + } } [Fact] diff --git a/src/Mvc/test/Mvc.FunctionalTests/RazorBuildTest.cs b/src/Mvc/test/Mvc.FunctionalTests/RazorBuildTest.cs index ba90b3594767..26ba921a68ea 100644 --- a/src/Mvc/test/Mvc.FunctionalTests/RazorBuildTest.cs +++ b/src/Mvc/test/Mvc.FunctionalTests/RazorBuildTest.cs @@ -3,9 +3,15 @@ using System; using System.Collections.Generic; +using System.IO; +using System.Linq; using System.Net; using System.Net.Http; using System.Threading.Tasks; +using Microsoft.AspNetCore.Hosting; +using Microsoft.AspNetCore.Mvc.Razor.RuntimeCompilation; +using Microsoft.AspNetCore.TestHost; +using Microsoft.Extensions.DependencyInjection; using Xunit; namespace Microsoft.AspNetCore.Mvc.FunctionalTests @@ -14,7 +20,20 @@ public class RazorBuildTest : IClassFixture fixture) { - Client = fixture.CreateDefaultClient(); + var factory = fixture.Factories.FirstOrDefault() ?? fixture.WithWebHostBuilder(b => b.UseStartup()); + factory = factory.WithWebHostBuilder(b => b.ConfigureTestServices(serviceCollection => serviceCollection.Configure(ConfigureRuntimeCompilationOptions))); + + Client = factory.CreateDefaultClient(); + + static void ConfigureRuntimeCompilationOptions(MvcRazorRuntimeCompilationOptions options) + { + // Workaround for incorrectly generated deps file. The build output has all of the binaries required to compile. We'll grab these and + // add it to the list of assemblies runtime compilation uses. + foreach (var path in Directory.EnumerateFiles(AppContext.BaseDirectory, "*.dll")) + { + options.AdditionalReferencePaths.Add(path); + } + } } public HttpClient Client { get; } @@ -77,7 +96,7 @@ public async Task RazorViews_AreUpdatedOnChange() var actual2 = body.Trim(); Assert.NotEqual(expected1, actual2); - // Act - 3 + // Act - 3 // With all things being the same, expect a cached compilation body = await Client.GetStringAsync("/UpdateableViews"); diff --git a/src/Mvc/test/WebSites/SecurityWebSite/StartupWithRequireAuth.cs b/src/Mvc/test/WebSites/SecurityWebSite/StartupWithRequireAuth.cs new file mode 100644 index 000000000000..6f28bfdd3a09 --- /dev/null +++ b/src/Mvc/test/WebSites/SecurityWebSite/StartupWithRequireAuth.cs @@ -0,0 +1,44 @@ +// Copyright (c) .NET Foundation. All rights reserved. +// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. + +using Microsoft.AspNetCore.Authentication.Cookies; +using Microsoft.AspNetCore.Authorization.Policy; +using Microsoft.AspNetCore.Builder; +using Microsoft.AspNetCore.Mvc; +using Microsoft.Extensions.DependencyInjection; + +namespace SecurityWebSite +{ + public class StartupWithRequireAuth + { + // This method gets called by the runtime. Use this method to add services to the container. + public void ConfigureServices(IServiceCollection services) + { + // Add framework services. + services.AddControllersWithViews().SetCompatibilityVersion(CompatibilityVersion.Latest); + services.AddRazorPages(); + services.AddAntiforgery(); + services.AddAuthentication(CookieAuthenticationDefaults.AuthenticationScheme).AddCookie(options => + { + options.LoginPath = "/Home/Login"; + options.LogoutPath = "/Home/Logout"; + }) + .AddCookie("Cookie2"); + } + + // This method gets called by the runtime. Use this method to configure the HTTP request pipeline. + public void Configure(IApplicationBuilder app) + { + app.UseRouting(); + + app.UseAuthentication(); + app.UseAuthorization(); + + app.UseEndpoints(endpoints => + { + endpoints.MapRazorPages().RequireAuthorization(); + endpoints.MapDefaultControllerRoute().RequireAuthorization(); + }); + } + } +} diff --git a/src/ProjectTemplates/BlazorWasm.ProjectTemplates/Microsoft.AspNetCore.Blazor.Templates.csproj b/src/ProjectTemplates/BlazorWasm.ProjectTemplates/Microsoft.AspNetCore.Blazor.Templates.csproj index 65457a000d35..1cce0231243b 100644 --- a/src/ProjectTemplates/BlazorWasm.ProjectTemplates/Microsoft.AspNetCore.Blazor.Templates.csproj +++ b/src/ProjectTemplates/BlazorWasm.ProjectTemplates/Microsoft.AspNetCore.Blazor.Templates.csproj @@ -7,7 +7,8 @@ $(DefaultNetCoreTargetFramework) - true + true + false Templates for ASP.NET Core Blazor projects. $(PackageTags);blazor;spa diff --git a/src/ProjectTemplates/Web.Client.ItemTemplates/Microsoft.DotNet.Web.Client.ItemTemplates.csproj b/src/ProjectTemplates/Web.Client.ItemTemplates/Microsoft.DotNet.Web.Client.ItemTemplates.csproj index 27842cb73b11..7ea486e4b2bb 100644 --- a/src/ProjectTemplates/Web.Client.ItemTemplates/Microsoft.DotNet.Web.Client.ItemTemplates.csproj +++ b/src/ProjectTemplates/Web.Client.ItemTemplates/Microsoft.DotNet.Web.Client.ItemTemplates.csproj @@ -3,7 +3,7 @@ $(DefaultNetCoreTargetFramework) Web Client-Side File Templates for Microsoft Template Engine - true + true diff --git a/src/ProjectTemplates/Web.ItemTemplates/Microsoft.DotNet.Web.ItemTemplates.csproj b/src/ProjectTemplates/Web.ItemTemplates/Microsoft.DotNet.Web.ItemTemplates.csproj index a1f51b94f5f9..d639fb1e0ae6 100644 --- a/src/ProjectTemplates/Web.ItemTemplates/Microsoft.DotNet.Web.ItemTemplates.csproj +++ b/src/ProjectTemplates/Web.ItemTemplates/Microsoft.DotNet.Web.ItemTemplates.csproj @@ -3,7 +3,7 @@ $(DefaultNetCoreTargetFramework) Web File Templates for Microsoft Template Engine. - true + true diff --git a/src/ProjectTemplates/Web.ProjectTemplates/Microsoft.DotNet.Web.ProjectTemplates.csproj b/src/ProjectTemplates/Web.ProjectTemplates/Microsoft.DotNet.Web.ProjectTemplates.csproj index ef85eb36574a..5e3b743ff689 100644 --- a/src/ProjectTemplates/Web.ProjectTemplates/Microsoft.DotNet.Web.ProjectTemplates.csproj +++ b/src/ProjectTemplates/Web.ProjectTemplates/Microsoft.DotNet.Web.ProjectTemplates.csproj @@ -4,7 +4,7 @@ $(DefaultNetCoreTargetFramework) Microsoft.DotNet.Web.ProjectTemplates.$(AspNetCoreMajorVersion).$(AspNetCoreMinorVersion) ASP.NET Core Web Template Pack for Microsoft Template Engine - true + true diff --git a/src/ProjectTemplates/Web.ProjectTemplates/RazorPagesWeb-CSharp.csproj.in b/src/ProjectTemplates/Web.ProjectTemplates/RazorPagesWeb-CSharp.csproj.in index ab090ad09e51..5157f8936fdc 100644 --- a/src/ProjectTemplates/Web.ProjectTemplates/RazorPagesWeb-CSharp.csproj.in +++ b/src/ProjectTemplates/Web.ProjectTemplates/RazorPagesWeb-CSharp.csproj.in @@ -7,16 +7,16 @@ 1 True Company.WebApplication1 + false - - - + + + - @@ -26,6 +26,7 @@ + diff --git a/src/ProjectTemplates/Web.ProjectTemplates/StarterWeb-CSharp.csproj.in b/src/ProjectTemplates/Web.ProjectTemplates/StarterWeb-CSharp.csproj.in index 70d65ede37c8..9b38d19da0d8 100644 --- a/src/ProjectTemplates/Web.ProjectTemplates/StarterWeb-CSharp.csproj.in +++ b/src/ProjectTemplates/Web.ProjectTemplates/StarterWeb-CSharp.csproj.in @@ -7,16 +7,16 @@ 1 True Company.WebApplication1 + false - - - + + + - @@ -26,6 +26,7 @@ + diff --git a/src/ProjectTemplates/Web.ProjectTemplates/content/BlazorServerWeb-CSharp/App.razor b/src/ProjectTemplates/Web.ProjectTemplates/content/BlazorServerWeb-CSharp/App.razor index 7b58ea096f72..d3525b251fa1 100644 --- a/src/ProjectTemplates/Web.ProjectTemplates/content/BlazorServerWeb-CSharp/App.razor +++ b/src/ProjectTemplates/Web.ProjectTemplates/content/BlazorServerWeb-CSharp/App.razor @@ -1,4 +1,5 @@ -@*#if (NoAuth) + +@*#if (NoAuth) diff --git a/src/ProjectTemplates/Web.ProjectTemplates/content/BlazorServerWeb-CSharp/Pages/Index.razor b/src/ProjectTemplates/Web.ProjectTemplates/content/BlazorServerWeb-CSharp/Pages/Index.razor index 16dac3192520..e54d914390e1 100644 --- a/src/ProjectTemplates/Web.ProjectTemplates/content/BlazorServerWeb-CSharp/Pages/Index.razor +++ b/src/ProjectTemplates/Web.ProjectTemplates/content/BlazorServerWeb-CSharp/Pages/Index.razor @@ -3,3 +3,5 @@

Hello, world!

Welcome to your new app. + + diff --git a/src/ProjectTemplates/Web.ProjectTemplates/content/BlazorServerWeb-CSharp/Shared/SurveyPrompt.razor b/src/ProjectTemplates/Web.ProjectTemplates/content/BlazorServerWeb-CSharp/Shared/SurveyPrompt.razor new file mode 100644 index 000000000000..e9706c83da6a --- /dev/null +++ b/src/ProjectTemplates/Web.ProjectTemplates/content/BlazorServerWeb-CSharp/Shared/SurveyPrompt.razor @@ -0,0 +1,16 @@ + + +@code { + // Demonstrates how a parent component can supply parameters + [Parameter] + public string Title { get; set; } +} diff --git a/src/ProjectTemplates/Web.ProjectTemplates/content/RazorPagesWeb-CSharp/.template.config/dotnetcli.host.json b/src/ProjectTemplates/Web.ProjectTemplates/content/RazorPagesWeb-CSharp/.template.config/dotnetcli.host.json index c39487b5278c..324da5d6ae1b 100644 --- a/src/ProjectTemplates/Web.ProjectTemplates/content/RazorPagesWeb-CSharp/.template.config/dotnetcli.host.json +++ b/src/ProjectTemplates/Web.ProjectTemplates/content/RazorPagesWeb-CSharp/.template.config/dotnetcli.host.json @@ -67,6 +67,10 @@ "NoHttps": { "longName": "no-https", "shortName": "" + }, + "RazorRuntimeCompilation": { + "longName": "razor-runtime-compilation", + "shortName": "rrc" } }, "usageExamples": [ diff --git a/src/ProjectTemplates/Web.ProjectTemplates/content/RazorPagesWeb-CSharp/.template.config/template.json b/src/ProjectTemplates/Web.ProjectTemplates/content/RazorPagesWeb-CSharp/.template.config/template.json index 90e8b015624a..2d20ad2d4525 100644 --- a/src/ProjectTemplates/Web.ProjectTemplates/content/RazorPagesWeb-CSharp/.template.config/template.json +++ b/src/ProjectTemplates/Web.ProjectTemplates/content/RazorPagesWeb-CSharp/.template.config/template.json @@ -304,6 +304,12 @@ "defaultValue": "false", "description": "Whether to use LocalDB instead of SQLite. This option only applies if --auth Individual or --auth IndividualB2C is specified." }, + "RazorRuntimeCompilation": { + "type": "parameter", + "datatype": "bool", + "defaultValue": "false", + "description": "Determines if the project is configured to use Razor runtime compilation in Debug builds." + }, "Framework": { "type": "parameter", "description": "The target framework for the project.", diff --git a/src/ProjectTemplates/Web.ProjectTemplates/content/RazorPagesWeb-CSharp/.template.config/vs-2017.3.host.json b/src/ProjectTemplates/Web.ProjectTemplates/content/RazorPagesWeb-CSharp/.template.config/vs-2017.3.host.json index 52ba934378ba..8ee1e7b87744 100644 --- a/src/ProjectTemplates/Web.ProjectTemplates/content/RazorPagesWeb-CSharp/.template.config/vs-2017.3.host.json +++ b/src/ProjectTemplates/Web.ProjectTemplates/content/RazorPagesWeb-CSharp/.template.config/vs-2017.3.host.json @@ -59,6 +59,15 @@ "useHttps": true } ], + "symbolInfo": [ + { + "id": "RazorRuntimeCompilation", + "name": { + "text": "Enable _Razor runtime compilation" + }, + "isVisible": "true" + } + ], "excludeLaunchSettings": false, "azureReplyUrlPortName": "HttpsPort", "minFullFrameworkVersion": "4.6.1", diff --git a/src/ProjectTemplates/Web.ProjectTemplates/content/RazorPagesWeb-CSharp/Properties/launchSettings.json b/src/ProjectTemplates/Web.ProjectTemplates/content/RazorPagesWeb-CSharp/Properties/launchSettings.json index a65eda75e36f..d40962c82da1 100644 --- a/src/ProjectTemplates/Web.ProjectTemplates/content/RazorPagesWeb-CSharp/Properties/launchSettings.json +++ b/src/ProjectTemplates/Web.ProjectTemplates/content/RazorPagesWeb-CSharp/Properties/launchSettings.json @@ -1,11 +1,11 @@ { "iisSettings": { - //#if (WindowsAuth) - "windowsAuthentication": true, - "anonymousAuthentication": false, - //#else - "windowsAuthentication": false, - "anonymousAuthentication": true, + //#if (WindowsAuth) + "windowsAuthentication": true, + "anonymousAuthentication": false, + //#else + "windowsAuthentication": false, + "anonymousAuthentication": true, //#endif "iisExpress": { "applicationUrl": "http://localhost:8080", @@ -21,7 +21,12 @@ "commandName": "IISExpress", "launchBrowser": true, "environmentVariables": { + //#if(RazorRuntimeCompilation) + "ASPNETCORE_ENVIRONMENT": "Development", + "ASPNETCORE_HOSTINGSTARTUPASSEMBLIES": "Microsoft.AspNetCore.Mvc.Razor.RuntimeCompilation" + //#else "ASPNETCORE_ENVIRONMENT": "Development" + //#endif } }, "Company.WebApplication1": { @@ -33,7 +38,12 @@ "applicationUrl": "http://localhost:5000", //#endif "environmentVariables": { + //#if(RazorRuntimeCompilation) + "ASPNETCORE_ENVIRONMENT": "Development", + "ASPNETCORE_HOSTINGSTARTUPASSEMBLIES": "Microsoft.AspNetCore.Mvc.Razor.RuntimeCompilation" + //#else "ASPNETCORE_ENVIRONMENT": "Development" + //#endif } } } diff --git a/src/ProjectTemplates/Web.ProjectTemplates/content/StarterWeb-CSharp/.template.config/dotnetcli.host.json b/src/ProjectTemplates/Web.ProjectTemplates/content/StarterWeb-CSharp/.template.config/dotnetcli.host.json index 247382756857..5f4c4c45e525 100644 --- a/src/ProjectTemplates/Web.ProjectTemplates/content/StarterWeb-CSharp/.template.config/dotnetcli.host.json +++ b/src/ProjectTemplates/Web.ProjectTemplates/content/StarterWeb-CSharp/.template.config/dotnetcli.host.json @@ -67,6 +67,10 @@ "NoHttps": { "longName": "no-https", "shortName": "" + }, + "RazorRuntimeCompilation": { + "longName": "razor-runtime-compilation", + "shortName": "rrc" } }, "usageExamples": [ diff --git a/src/ProjectTemplates/Web.ProjectTemplates/content/StarterWeb-CSharp/.template.config/template.json b/src/ProjectTemplates/Web.ProjectTemplates/content/StarterWeb-CSharp/.template.config/template.json index 7f4d444645fc..b690f80effb1 100644 --- a/src/ProjectTemplates/Web.ProjectTemplates/content/StarterWeb-CSharp/.template.config/template.json +++ b/src/ProjectTemplates/Web.ProjectTemplates/content/StarterWeb-CSharp/.template.config/template.json @@ -294,6 +294,12 @@ "defaultValue": "false", "description": "Whether to use LocalDB instead of SQLite. This option only applies if --auth Individual or --auth IndividualB2C is specified." }, + "RazorRuntimeCompilation": { + "type": "parameter", + "datatype": "bool", + "defaultValue": "false", + "description": "Determines if the project is configured to use Razor runtime compilation in Debug builds." + }, "Framework": { "type": "parameter", "description": "The target framework for the project.", diff --git a/src/ProjectTemplates/Web.ProjectTemplates/content/StarterWeb-CSharp/.template.config/vs-2017.3.host.json b/src/ProjectTemplates/Web.ProjectTemplates/content/StarterWeb-CSharp/.template.config/vs-2017.3.host.json index 35b22113a696..98149ec9bae1 100644 --- a/src/ProjectTemplates/Web.ProjectTemplates/content/StarterWeb-CSharp/.template.config/vs-2017.3.host.json +++ b/src/ProjectTemplates/Web.ProjectTemplates/content/StarterWeb-CSharp/.template.config/vs-2017.3.host.json @@ -59,6 +59,15 @@ "useHttps": true } ], + "symbolInfo": [ + { + "id": "RazorRuntimeCompilation", + "name": { + "text": "Enable _Razor runtime compilation" + }, + "isVisible": "true" + } + ], "excludeLaunchSettings": false, "azureReplyUrlPortName": "HttpsPort", "minFullFrameworkVersion": "4.6.1", diff --git a/src/ProjectTemplates/Web.ProjectTemplates/content/StarterWeb-CSharp/Properties/launchSettings.json b/src/ProjectTemplates/Web.ProjectTemplates/content/StarterWeb-CSharp/Properties/launchSettings.json index a65eda75e36f..d40962c82da1 100644 --- a/src/ProjectTemplates/Web.ProjectTemplates/content/StarterWeb-CSharp/Properties/launchSettings.json +++ b/src/ProjectTemplates/Web.ProjectTemplates/content/StarterWeb-CSharp/Properties/launchSettings.json @@ -1,11 +1,11 @@ { "iisSettings": { - //#if (WindowsAuth) - "windowsAuthentication": true, - "anonymousAuthentication": false, - //#else - "windowsAuthentication": false, - "anonymousAuthentication": true, + //#if (WindowsAuth) + "windowsAuthentication": true, + "anonymousAuthentication": false, + //#else + "windowsAuthentication": false, + "anonymousAuthentication": true, //#endif "iisExpress": { "applicationUrl": "http://localhost:8080", @@ -21,7 +21,12 @@ "commandName": "IISExpress", "launchBrowser": true, "environmentVariables": { + //#if(RazorRuntimeCompilation) + "ASPNETCORE_ENVIRONMENT": "Development", + "ASPNETCORE_HOSTINGSTARTUPASSEMBLIES": "Microsoft.AspNetCore.Mvc.Razor.RuntimeCompilation" + //#else "ASPNETCORE_ENVIRONMENT": "Development" + //#endif } }, "Company.WebApplication1": { @@ -33,7 +38,12 @@ "applicationUrl": "http://localhost:5000", //#endif "environmentVariables": { + //#if(RazorRuntimeCompilation) + "ASPNETCORE_ENVIRONMENT": "Development", + "ASPNETCORE_HOSTINGSTARTUPASSEMBLIES": "Microsoft.AspNetCore.Mvc.Razor.RuntimeCompilation" + //#else "ASPNETCORE_ENVIRONMENT": "Development" + //#endif } } } diff --git a/src/ProjectTemplates/Web.Spa.ProjectTemplates/Microsoft.DotNet.Web.Spa.ProjectTemplates.csproj b/src/ProjectTemplates/Web.Spa.ProjectTemplates/Microsoft.DotNet.Web.Spa.ProjectTemplates.csproj index dba182f32b0b..e8e0653f3ca7 100644 --- a/src/ProjectTemplates/Web.Spa.ProjectTemplates/Microsoft.DotNet.Web.Spa.ProjectTemplates.csproj +++ b/src/ProjectTemplates/Web.Spa.ProjectTemplates/Microsoft.DotNet.Web.Spa.ProjectTemplates.csproj @@ -5,7 +5,7 @@ Microsoft.DotNet.Web.Spa.ProjectTemplates.$(AspNetCoreMajorVersion).$(AspNetCoreMinorVersion) Single Page Application templates for ASP.NET Core $(PackageTags);spa - true + true true diff --git a/src/ProjectTemplates/test/BlazorServerTemplateTest.cs b/src/ProjectTemplates/test/BlazorServerTemplateTest.cs index 463b710ac35b..1c6239d10ede 100644 --- a/src/ProjectTemplates/test/BlazorServerTemplateTest.cs +++ b/src/ProjectTemplates/test/BlazorServerTemplateTest.cs @@ -146,17 +146,17 @@ private void TestBasicNavigation() Browser.Equal("Hello, world!", () => Browser.FindElement(By.TagName("h1")).Text); // Can navigate to the counter page - Browser.FindElement(By.PartialLinkText("Counter")).Click(); + Browser.Click(By.PartialLinkText("Counter")); Browser.Contains("counter", () => Browser.Url); Browser.Equal("Counter", () => Browser.FindElement(By.TagName("h1")).Text); // Clicking the counter button works Browser.Equal("Current count: 0", () => Browser.FindElement(By.CssSelector("h1 + p")).Text); - Browser.FindElement(By.CssSelector("p+button")).Click(); + Browser.Click(By.CssSelector("p+button")); Browser.Equal("Current count: 1", () => Browser.FindElement(By.CssSelector("h1 + p")).Text); // Can navigate to the 'fetch data' page - Browser.FindElement(By.PartialLinkText("Fetch data")).Click(); + Browser.Click(By.PartialLinkText("Fetch data")); Browser.Contains("fetchdata", () => Browser.Url); Browser.Equal("Weather forecast", () => Browser.FindElement(By.TagName("h1")).Text); diff --git a/src/ProjectTemplates/test/BlazorWasmTemplateTest.cs b/src/ProjectTemplates/test/BlazorWasmTemplateTest.cs deleted file mode 100644 index 0a6ea40f834c..000000000000 --- a/src/ProjectTemplates/test/BlazorWasmTemplateTest.cs +++ /dev/null @@ -1,167 +0,0 @@ -// Copyright (c) .NET Foundation. All rights reserved. -// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. - -using System.IO; -using System.Net; -using System.Threading; -using System.Threading.Tasks; -using Microsoft.AspNetCore.E2ETesting; -using Microsoft.Extensions.CommandLineUtils; -using OpenQA.Selenium; -using Templates.Test.Helpers; -using Xunit; -using Xunit.Abstractions; - -namespace Templates.Test -{ - public class BlazorWasmTemplateTest : BrowserTestBase - { - public BlazorWasmTemplateTest(ProjectFactoryFixture projectFactory, BrowserFixture browserFixture, ITestOutputHelper output) - : base(browserFixture, output) - { - ProjectFactory = projectFactory; - } - - public ProjectFactoryFixture ProjectFactory { get; set; } - - [Fact(Skip = "https://github.com/dotnet/aspnetcore/issues/17681")] - public async Task BlazorWasmStandaloneTemplate_Works() - { - var project = await ProjectFactory.GetOrCreateProject("blazorstandalone", Output); - project.TargetFramework = "netstandard2.1"; - - var createResult = await project.RunDotNetNewAsync("blazorwasm"); - Assert.True(0 == createResult.ExitCode, ErrorMessages.GetFailedProcessMessage("create/restore", project, createResult)); - - var publishResult = await project.RunDotNetPublishAsync(); - Assert.True(0 == publishResult.ExitCode, ErrorMessages.GetFailedProcessMessage("publish", project, publishResult)); - - var buildResult = await project.RunDotNetBuildAsync(); - Assert.True(0 == buildResult.ExitCode, ErrorMessages.GetFailedProcessMessage("build", project, buildResult)); - - await BuildAndRunTest(project.ProjectName, project); - - var publishDir = Path.Combine(project.TemplatePublishDir, project.ProjectName, "dist"); - AspNetProcess.EnsureDevelopmentCertificates(); - - Output.WriteLine("Running dotnet serve on published output..."); - using var serveProcess = ProcessEx.Run(Output, publishDir, DotNetMuxer.MuxerPathOrDefault(), "serve -S"); - - // Todo: Use dynamic port assignment: https://github.com/natemcmaster/dotnet-serve/pull/40/files - var listeningUri = "https://localhost:8080"; - Output.WriteLine($"Opening browser at {listeningUri}..."); - Browser.Navigate().GoToUrl(listeningUri); - TestBasicNavigation(project.ProjectName); - } - - [Fact] - public async Task BlazorWasmHostedTemplate_Works() - { - var project = await ProjectFactory.GetOrCreateProject("blazorhosted", Output); - - var createResult = await project.RunDotNetNewAsync("blazorwasm", args: new[] { "--hosted" }); - Assert.True(0 == createResult.ExitCode, ErrorMessages.GetFailedProcessMessage("create/restore", project, createResult)); - - var serverProject = GetSubProject(project, "Server", $"{project.ProjectName}.Server"); - - var publishResult = await serverProject.RunDotNetPublishAsync(); - Assert.True(0 == publishResult.ExitCode, ErrorMessages.GetFailedProcessMessage("publish", serverProject, publishResult)); - - var buildResult = await serverProject.RunDotNetBuildAsync(); - Assert.True(0 == buildResult.ExitCode, ErrorMessages.GetFailedProcessMessage("build", serverProject, buildResult)); - - await BuildAndRunTest(project.ProjectName, serverProject); - - using var aspNetProcess = serverProject.StartPublishedProjectAsync(); - - Assert.False( - aspNetProcess.Process.HasExited, - ErrorMessages.GetFailedProcessMessageOrEmpty("Run published project", serverProject, aspNetProcess.Process)); - - await aspNetProcess.AssertStatusCode("/", HttpStatusCode.OK, "text/html"); - if (BrowserFixture.IsHostAutomationSupported()) - { - aspNetProcess.VisitInBrowser(Browser); - TestBasicNavigation(project.ProjectName); - } - else - { - BrowserFixture.EnforceSupportedConfigurations(); - } - } - - protected async Task BuildAndRunTest(string appName, Project project) - { - using var aspNetProcess = project.StartBuiltProjectAsync(); - - Assert.False( - aspNetProcess.Process.HasExited, - ErrorMessages.GetFailedProcessMessageOrEmpty("Run built project", project, aspNetProcess.Process)); - - await aspNetProcess.AssertStatusCode("/", HttpStatusCode.OK, "text/html"); - if (BrowserFixture.IsHostAutomationSupported()) - { - aspNetProcess.VisitInBrowser(Browser); - TestBasicNavigation(appName); - } - else - { - BrowserFixture.EnforceSupportedConfigurations(); - } - } - - private void TestBasicNavigation(string appName) - { - // Give components.server enough time to load so that it can replace - // the prerendered content before we start making assertions. - Thread.Sleep(5000); - Browser.Exists(By.TagName("ul")); - - // element gets project ID injected into it during template execution - Browser.Equal(appName.Trim(), () => Browser.Title.Trim()); - - // Initially displays the home page - Browser.Equal("Hello, world!", () => Browser.FindElement(By.TagName("h1")).Text); - - // Can navigate to the counter page - Browser.FindElement(By.PartialLinkText("Counter")).Click(); - Browser.Contains("counter", () => Browser.Url); - Browser.Equal("Counter", () => Browser.FindElement(By.TagName("h1")).Text); - - // Clicking the counter button works - Browser.Equal("Current count: 0", () => Browser.FindElement(By.CssSelector("h1 + p")).Text); - Browser.FindElement(By.CssSelector("p+button")).Click(); - Browser.Equal("Current count: 1", () => Browser.FindElement(By.CssSelector("h1 + p")).Text); - - // Can navigate to the 'fetch data' page - Browser.FindElement(By.PartialLinkText("Fetch data")).Click(); - Browser.Contains("fetchdata", () => Browser.Url); - Browser.Equal("Weather forecast", () => Browser.FindElement(By.TagName("h1")).Text); - - // Asynchronously loads and displays the table of weather forecasts - Browser.Exists(By.CssSelector("table>tbody>tr")); - Browser.Equal(5, () => Browser.FindElements(By.CssSelector("p+table>tbody>tr")).Count); - } - - private Project GetSubProject(Project project, string projectDirectory, string projectName) - { - var subProjectDirectory = Path.Combine(project.TemplateOutputDir, projectDirectory); - if (!Directory.Exists(subProjectDirectory)) - { - throw new DirectoryNotFoundException($"Directory {subProjectDirectory} was not found."); - } - - var subProject = new Project - { - DotNetNewLock = project.DotNetNewLock, - NodeLock = project.NodeLock, - Output = project.Output, - DiagnosticsMessageSink = project.DiagnosticsMessageSink, - ProjectName = projectName, - TemplateOutputDir = subProjectDirectory, - }; - - return subProject; - } - } -} diff --git a/src/ProjectTemplates/test/Helpers/TemplatePackageInstaller.cs b/src/ProjectTemplates/test/Helpers/TemplatePackageInstaller.cs index 30983a55fca0..07db888279a2 100644 --- a/src/ProjectTemplates/test/Helpers/TemplatePackageInstaller.cs +++ b/src/ProjectTemplates/test/Helpers/TemplatePackageInstaller.cs @@ -89,7 +89,7 @@ private static async Task InstallTemplatePackages(ITestOutputHelper output) .Where(p => _templatePackages.Any(t => Path.GetFileName(p).StartsWith(t, StringComparison.OrdinalIgnoreCase))) .ToArray(); - Assert.Equal(5, builtPackages.Length); + Assert.Equal(4, builtPackages.Length); /* * The templates are indexed by path, for example: diff --git a/src/ProjectTemplates/test/Infrastructure/GenerateTestProps.targets b/src/ProjectTemplates/test/Infrastructure/GenerateTestProps.targets index 4fa71306017a..948108395aaa 100644 --- a/src/ProjectTemplates/test/Infrastructure/GenerateTestProps.targets +++ b/src/ProjectTemplates/test/Infrastructure/GenerateTestProps.targets @@ -4,7 +4,7 @@ DependsOnTargets="PrepareForTest" Condition="$(DesignTimeBuild) != true"> <!-- The version of the shared framework. This is used in tests to ensure they run against the shared framework version we just built. --> - <!-- If we aren' building the targeting pack, use the baseline version --> + <!-- If we aren't building the targeting pack, use the baseline version --> <MSBuild Projects="$(RepoRoot)src\Framework\ref\Microsoft.AspNetCore.App.Ref.csproj" Targets="_GetPackageVersionInfo" SkipNonexistentProjects="false" @@ -15,7 +15,7 @@ <!-- Targeting pack version should be the one we just built, if we're building it. Otherwise we use the baseline version --> <PropertyGroup> <MicrosoftAspNetCoreAppRefPackageVersion Condition="'$(IsTargetingPackBuilding)' != 'false'">%(_TargetingPackVersionInfo.PackageVersion)</MicrosoftAspNetCoreAppRefPackageVersion> - <MicrosoftAspNetCoreAppRefPackageVersion Condition="'$(IsTargetingPackBuilding)' == 'false'">$(AspNetCoreBaselineVersion)</MicrosoftAspNetCoreAppRefPackageVersion> + <MicrosoftAspNetCoreAppRefPackageVersion Condition="'$(IsTargetingPackBuilding)' == 'false'">$(TargetingPackVersionPrefix)</MicrosoftAspNetCoreAppRefPackageVersion> </PropertyGroup> <!-- Runtime and Ref packs may have separate versions. --> diff --git a/src/ProjectTemplates/test/MvcTemplateTest.cs b/src/ProjectTemplates/test/MvcTemplateTest.cs index c810a45b6842..976eef53463f 100644 --- a/src/ProjectTemplates/test/MvcTemplateTest.cs +++ b/src/ProjectTemplates/test/MvcTemplateTest.cs @@ -219,5 +219,24 @@ public async Task MvcTemplate_IndividualAuth(bool useLocalDB) await aspNetProcess.AssertPagesOk(pages); } } + + [Fact] + public async Task MvcTemplate_RazorRuntimeCompilation_BuildsAndPublishes() + { + Project = await ProjectFactory.GetOrCreateProject("mvc_rc", Output); + + var createResult = await Project.RunDotNetNewAsync("mvc", args: new[] { "--razor-runtime-compilation" }); + Assert.True(0 == createResult.ExitCode, ErrorMessages.GetFailedProcessMessage("create/restore", Project, createResult)); + + // Verify building in debug works + var buildResult = await Project.RunDotNetBuildAsync(); + Assert.True(0 == buildResult.ExitCode, ErrorMessages.GetFailedProcessMessage("build", Project, buildResult)); + + // Publish builds in "release" configuration. Running publish should ensure we can compile in release and that we can publish without issues. + buildResult = await Project.RunDotNetPublishAsync(); + Assert.True(0 == buildResult.ExitCode, ErrorMessages.GetFailedProcessMessage("publish", Project, buildResult)); + + Assert.False(Directory.Exists(Path.Combine(Project.TemplatePublishDir, "refs")), "The refs directory should not be published."); + } } } diff --git a/src/ProjectTemplates/test/ProjectTemplates.Tests.csproj b/src/ProjectTemplates/test/ProjectTemplates.Tests.csproj index 037552d49270..10c6013823b4 100644 --- a/src/ProjectTemplates/test/ProjectTemplates.Tests.csproj +++ b/src/ProjectTemplates/test/ProjectTemplates.Tests.csproj @@ -23,6 +23,7 @@ <TestTemplateCreationFolder>TestTemplates\</TestTemplateCreationFolder> <TestPackageRestorePath>$([MSBuild]::EnsureTrailingSlash('$(RepoRoot)'))obj\template-restore\</TestPackageRestorePath> <TestTemplateTestsProps>TemplateTests.props</TestTemplateTestsProps> + <GenerateLoggingTestingAssemblyAttributes>false</GenerateLoggingTestingAssemblyAttributes> </PropertyGroup> <ItemGroup> @@ -47,7 +48,6 @@ <ProjectReference Include="../Web.ItemTemplates/Microsoft.DotNet.Web.ItemTemplates.csproj" ReferenceOutputAssembly="false" /> <ProjectReference Include="../Web.ProjectTemplates/Microsoft.DotNet.Web.ProjectTemplates.csproj" ReferenceOutputAssembly="false" /> <ProjectReference Include="../Web.Spa.ProjectTemplates/Microsoft.DotNet.Web.Spa.ProjectTemplates.csproj" ReferenceOutputAssembly="false" /> - <ProjectReference Include="../BlazorWasm.ProjectTemplates/Microsoft.AspNetCore.Blazor.Templates.csproj" ReferenceOutputAssembly="false" /> </ItemGroup> <ItemGroup> diff --git a/src/ProjectTemplates/test/RazorPagesTemplateTest.cs b/src/ProjectTemplates/test/RazorPagesTemplateTest.cs index ad7c967d48d6..818a57453643 100644 --- a/src/ProjectTemplates/test/RazorPagesTemplateTest.cs +++ b/src/ProjectTemplates/test/RazorPagesTemplateTest.cs @@ -210,6 +210,29 @@ public async Task RazorPagesTemplate_IndividualAuth(bool useLocalDB) } } + [Fact] + public async Task RazorPagesTemplate_RazorRuntimeCompilation_BuildsAndPublishes() + { + Project = await ProjectFactory.GetOrCreateProject("razorpages_rc", Output); + + var createResult = await Project.RunDotNetNewAsync("razor", args: new[] { "--razor-runtime-compilation" }); + Assert.True(0 == createResult.ExitCode, ErrorMessages.GetFailedProcessMessage("create/restore", Project, createResult)); + + // Verify building in debug works + var buildResult = await Project.RunDotNetBuildAsync(); + Assert.True(0 == buildResult.ExitCode, ErrorMessages.GetFailedProcessMessage("build", Project, buildResult)); + + // Publish builds in "release" configuration. Running publish should ensure we can compile in release and that we can publish without issues. + buildResult = await Project.RunDotNetPublishAsync(); + Assert.True(0 == buildResult.ExitCode, ErrorMessages.GetFailedProcessMessage("publish", Project, buildResult)); + + Assert.False(Directory.Exists(Path.Combine(Project.TemplatePublishDir, "refs")), "The refs directory should not be published."); + + // Verify ref assemblies isn't published + var refsDirectory = Path.Combine(Project.TemplatePublishDir, "refs"); + Assert.False(Directory.Exists(refsDirectory), $"{refsDirectory} should not be in the publish output."); + } + private string ReadFile(string basePath, string path) { diff --git a/src/ProjectTemplates/test/SpaTemplateTest/SpaTemplateTestBase.cs b/src/ProjectTemplates/test/SpaTemplateTest/SpaTemplateTestBase.cs index e630b1f5fd87..bd393b8d5865 100644 --- a/src/ProjectTemplates/test/SpaTemplateTest/SpaTemplateTestBase.cs +++ b/src/ProjectTemplates/test/SpaTemplateTest/SpaTemplateTestBase.cs @@ -2,6 +2,7 @@ // Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. using System; +using System.Diagnostics; using System.IO; using System.Linq; using System.Net; @@ -193,8 +194,11 @@ private void ValidatePackageJson(string clientAppSubdirPath) private static async Task WarmUpServer(AspNetProcess aspNetProcess) { + var intervalInSeconds = 5; var attempt = 0; - var maxAttempts = 3; + var maxAttempts = 5; + var stopwatch = new Stopwatch(); + stopwatch.Start(); do { try @@ -203,7 +207,7 @@ private static async Task WarmUpServer(AspNetProcess aspNetProcess) var response = await aspNetProcess.SendRequest("/"); if (response.StatusCode == HttpStatusCode.OK) { - break; + return; } } catch (OperationCanceledException) @@ -212,8 +216,11 @@ private static async Task WarmUpServer(AspNetProcess aspNetProcess) catch (HttpRequestException ex) when (ex.Message.StartsWith("The SSL connection could not be established")) { } - await Task.Delay(TimeSpan.FromSeconds(10 * attempt)); + var currentDelay = intervalInSeconds * attempt; + await Task.Delay(TimeSpan.FromSeconds(currentDelay)); } while (attempt < maxAttempts); + stopwatch.Stop(); + throw new TimeoutException($"Could not contact the server within {stopwatch.Elapsed.TotalSeconds} seconds"); } private void UpdatePublishedSettings() @@ -246,25 +253,25 @@ private void TestBasicNavigation(bool visitFetchData, bool usesAuth, IWebDriver browser.Equal("Hello, world!", () => browser.FindElement(By.TagName("h1")).Text); // Can navigate to the counter page - browser.FindElement(By.PartialLinkText("Counter")).Click(); + browser.Click(By.PartialLinkText("Counter")); browser.Contains("counter", () => browser.Url); browser.Equal("Counter", () => browser.FindElement(By.TagName("h1")).Text); // Clicking the counter button works browser.Equal("0", () => browser.FindElement(By.CssSelector("p>strong")).Text); - browser.FindElement(By.CssSelector("p+button")).Click(); + browser.Click(By.CssSelector("p+button")) ; browser.Equal("1", () => browser.FindElement(By.CssSelector("p>strong")).Text); if (visitFetchData) { - browser.FindElement(By.PartialLinkText("Fetch data")).Click(); + browser.Click(By.PartialLinkText("Fetch data")); if (usesAuth) { // We will be redirected to the identity UI browser.Contains("/Identity/Account/Login", () => browser.Url); - browser.FindElement(By.PartialLinkText("Register as a new user")).Click(); + browser.Click(By.PartialLinkText("Register as a new user")); var userName = $"{Guid.NewGuid()}@example.com"; var password = $"!Test.Password1$"; @@ -272,24 +279,24 @@ private void TestBasicNavigation(bool visitFetchData, bool usesAuth, IWebDriver browser.FindElement(By.Name("Input.Email")).SendKeys(userName); browser.FindElement(By.Name("Input.Password")).SendKeys(password); browser.FindElement(By.Name("Input.ConfirmPassword")).SendKeys(password); - browser.FindElement(By.Id("registerSubmit")).Click(); + browser.Click(By.Id("registerSubmit")); // We will be redirected to the RegisterConfirmation browser.Contains("/Identity/Account/RegisterConfirmation", () => browser.Url); - browser.FindElement(By.PartialLinkText("Click here to confirm your account")).Click(); + browser.Click(By.PartialLinkText("Click here to confirm your account")); // We will be redirected to the ConfirmEmail browser.Contains("/Identity/Account/ConfirmEmail", () => browser.Url); // Now we can login - browser.FindElement(By.PartialLinkText("Login")).Click(); + browser.Click(By.PartialLinkText("Login")); browser.Exists(By.Name("Input.Email")); browser.FindElement(By.Name("Input.Email")).SendKeys(userName); browser.FindElement(By.Name("Input.Password")).SendKeys(password); - browser.FindElement(By.Id("login-submit")).Click(); + browser.Click(By.Id("login-submit")); // Need to navigate to fetch page - browser.FindElement(By.PartialLinkText("Fetch data")).Click(); + browser.Click(By.PartialLinkText("Fetch data")); } // Can navigate to the 'fetch data' page diff --git a/src/ProjectTemplates/test/template-baselines.json b/src/ProjectTemplates/test/template-baselines.json index 618bb27a1f18..5d70579fb6ff 100644 --- a/src/ProjectTemplates/test/template-baselines.json +++ b/src/ProjectTemplates/test/template-baselines.json @@ -922,6 +922,7 @@ "Shared/LoginDisplay.razor", "Shared/MainLayout.razor", "Shared/NavMenu.razor", + "Shared/SurveyPrompt.razor", "wwwroot/favicon.ico", "wwwroot/css/site.css", "wwwroot/css/bootstrap/bootstrap.min.css", @@ -958,6 +959,7 @@ "Shared/LoginDisplay.razor", "Shared/MainLayout.razor", "Shared/NavMenu.razor", + "Shared/SurveyPrompt.razor", "wwwroot/favicon.ico", "wwwroot/css/site.css", "wwwroot/css/bootstrap/bootstrap.min.css", @@ -994,6 +996,7 @@ "Shared/LoginDisplay.razor", "Shared/MainLayout.razor", "Shared/NavMenu.razor", + "Shared/SurveyPrompt.razor", "wwwroot/favicon.ico", "wwwroot/css/site.css", "wwwroot/css/bootstrap/bootstrap.min.css", @@ -1029,6 +1032,7 @@ "Properties/launchSettings.json", "Shared/MainLayout.razor", "Shared/NavMenu.razor", + "Shared/SurveyPrompt.razor", "wwwroot/favicon.ico", "wwwroot/css/site.css", "wwwroot/css/bootstrap/bootstrap.min.css", @@ -1065,6 +1069,7 @@ "Shared/LoginDisplay.razor", "Shared/MainLayout.razor", "Shared/NavMenu.razor", + "Shared/SurveyPrompt.razor", "wwwroot/favicon.ico", "wwwroot/css/site.css", "wwwroot/css/bootstrap/bootstrap.min.css", @@ -1101,6 +1106,7 @@ "Shared/LoginDisplay.razor", "Shared/MainLayout.razor", "Shared/NavMenu.razor", + "Shared/SurveyPrompt.razor", "wwwroot/favicon.ico", "wwwroot/css/site.css", "wwwroot/css/bootstrap/bootstrap.min.css", diff --git a/src/Razor/Razor.Runtime/ref/Microsoft.AspNetCore.Razor.Runtime.Manual.cs b/src/Razor/Razor.Runtime/ref/Microsoft.AspNetCore.Razor.Runtime.Manual.cs deleted file mode 100644 index 8549a23cd4f4..000000000000 --- a/src/Razor/Razor.Runtime/ref/Microsoft.AspNetCore.Razor.Runtime.Manual.cs +++ /dev/null @@ -1,23 +0,0 @@ -// Copyright (c) .NET Foundation. All rights reserved. -// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. - -using System.Runtime.CompilerServices; -using Microsoft.AspNetCore.Razor.TagHelpers; - -[assembly: TypeForwardedTo(typeof(DefaultTagHelperContent))] -[assembly: TypeForwardedTo(typeof(HtmlAttributeNameAttribute))] -[assembly: TypeForwardedTo(typeof(HtmlAttributeNotBoundAttribute))] -[assembly: TypeForwardedTo(typeof(HtmlTargetElementAttribute))] -[assembly: TypeForwardedTo(typeof(ITagHelper))] -[assembly: TypeForwardedTo(typeof(ITagHelperComponent))] -[assembly: TypeForwardedTo(typeof(NullHtmlEncoder))] -[assembly: TypeForwardedTo(typeof(OutputElementHintAttribute))] -[assembly: TypeForwardedTo(typeof(ReadOnlyTagHelperAttributeList))] -[assembly: TypeForwardedTo(typeof(RestrictChildrenAttribute))] -[assembly: TypeForwardedTo(typeof(TagHelper))] -[assembly: TypeForwardedTo(typeof(TagHelperAttribute))] -[assembly: TypeForwardedTo(typeof(TagHelperAttributeList))] -[assembly: TypeForwardedTo(typeof(TagHelperComponent))] -[assembly: TypeForwardedTo(typeof(TagHelperContent))] -[assembly: TypeForwardedTo(typeof(TagHelperContext))] -[assembly: TypeForwardedTo(typeof(TagHelperOutput))] \ No newline at end of file diff --git a/src/Razor/Razor.Runtime/ref/Microsoft.AspNetCore.Razor.Runtime.csproj b/src/Razor/Razor.Runtime/ref/Microsoft.AspNetCore.Razor.Runtime.csproj index 066e905b9274..a178a077b815 100644 --- a/src/Razor/Razor.Runtime/ref/Microsoft.AspNetCore.Razor.Runtime.csproj +++ b/src/Razor/Razor.Runtime/ref/Microsoft.AspNetCore.Razor.Runtime.csproj @@ -5,8 +5,8 @@ </PropertyGroup> <ItemGroup Condition="'$(TargetFramework)' == '$(DefaultNetCoreTargetFramework)'"> <Compile Include="Microsoft.AspNetCore.Razor.Runtime.netcoreapp.cs" /> - <Compile Include="Microsoft.AspNetCore.Razor.Runtime.Manual.cs" /> - <Reference Include="Microsoft.AspNetCore.Razor" /> - <Reference Include="Microsoft.AspNetCore.Html.Abstractions" /> + <Compile Include="../src/Properties/AssemblyInfo.cs" /> + <Reference Include="Microsoft.AspNetCore.Razor" /> + <Reference Include="Microsoft.AspNetCore.Html.Abstractions" /> </ItemGroup> </Project> diff --git a/src/Razor/Razor.Runtime/src/Microsoft.AspNetCore.Razor.Runtime.csproj b/src/Razor/Razor.Runtime/src/Microsoft.AspNetCore.Razor.Runtime.csproj index b76cada4eec6..8b9cdb9c3ac8 100644 --- a/src/Razor/Razor.Runtime/src/Microsoft.AspNetCore.Razor.Runtime.csproj +++ b/src/Razor/Razor.Runtime/src/Microsoft.AspNetCore.Razor.Runtime.csproj @@ -6,7 +6,7 @@ <IsAspNetCoreApp>true</IsAspNetCoreApp> <GenerateDocumentationFile>true</GenerateDocumentationFile> <PackageTags>$(PackageTags);taghelper;taghelpers</PackageTags> - <IsShippingPackage>false</IsShippingPackage> + <IsPackable>false</IsPackable> </PropertyGroup> <ItemGroup> diff --git a/src/Razor/Razor/ref/Microsoft.AspNetCore.Razor.Manual.cs b/src/Razor/Razor/ref/Microsoft.AspNetCore.Razor.Manual.cs new file mode 100644 index 000000000000..3d7f56290c2d --- /dev/null +++ b/src/Razor/Razor/ref/Microsoft.AspNetCore.Razor.Manual.cs @@ -0,0 +1,10 @@ +// Copyright (c) .NET Foundation. All rights reserved. +// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. + +namespace Microsoft.AspNetCore.Razor.TagHelpers +{ + public partial class TagHelperOutput : Microsoft.AspNetCore.Html.IHtmlContent, Microsoft.AspNetCore.Html.IHtmlContentContainer + { + internal TagHelperOutput(string tagName) { } + } +} diff --git a/src/Razor/Razor/ref/Microsoft.AspNetCore.Razor.csproj b/src/Razor/Razor/ref/Microsoft.AspNetCore.Razor.csproj index 57241da57879..bfd4736d1d40 100644 --- a/src/Razor/Razor/ref/Microsoft.AspNetCore.Razor.csproj +++ b/src/Razor/Razor/ref/Microsoft.AspNetCore.Razor.csproj @@ -5,7 +5,9 @@ </PropertyGroup> <ItemGroup Condition="'$(TargetFramework)' == '$(DefaultNetCoreTargetFramework)'"> <Compile Include="Microsoft.AspNetCore.Razor.netcoreapp.cs" /> - <Reference Include="Microsoft.AspNetCore.Html.Abstractions" /> - <Reference Include="Microsoft.Extensions.HashCodeCombiner.Sources" /> + <Compile Include="Microsoft.AspNetCore.Razor.Manual.cs" /> + <Compile Include="../src/Properties/AssemblyInfo.cs" /> + <Reference Include="Microsoft.AspNetCore.Html.Abstractions" /> + <Reference Include="Microsoft.Extensions.HashCodeCombiner.Sources" /> </ItemGroup> </Project> diff --git a/src/Razor/Razor/src/Microsoft.AspNetCore.Razor.csproj b/src/Razor/Razor/src/Microsoft.AspNetCore.Razor.csproj index c13602372b5f..9f8d7443c4a8 100644 --- a/src/Razor/Razor/src/Microsoft.AspNetCore.Razor.csproj +++ b/src/Razor/Razor/src/Microsoft.AspNetCore.Razor.csproj @@ -13,7 +13,7 @@ Microsoft.AspNetCore.Razor.TagHelpers.ITagHelper</Description> <GenerateDocumentationFile>true</GenerateDocumentationFile> <PackageTags>$(PackageTags);taghelper;taghelpers</PackageTags> <NoWarn>$(NoWarn);CS1591</NoWarn> - <IsShippingPackage>false</IsShippingPackage> + <IsPackable>false</IsPackable> <!-- Required to implement an HtmlEncoder --> <AllowUnsafeBlocks>true</AllowUnsafeBlocks> diff --git a/src/Security/Authentication/Certificate/ref/Microsoft.AspNetCore.Authentication.Certificate.csproj b/src/Security/Authentication/Certificate/ref/Microsoft.AspNetCore.Authentication.Certificate.csproj deleted file mode 100644 index eb51fca5b928..000000000000 --- a/src/Security/Authentication/Certificate/ref/Microsoft.AspNetCore.Authentication.Certificate.csproj +++ /dev/null @@ -1,10 +0,0 @@ -<!-- This file is automatically generated. --> -<Project Sdk="Microsoft.NET.Sdk"> - <PropertyGroup> - <TargetFrameworks>$(DefaultNetCoreTargetFramework)</TargetFrameworks> - </PropertyGroup> - <ItemGroup Condition="'$(TargetFramework)' == '$(DefaultNetCoreTargetFramework)'"> - <Compile Include="Microsoft.AspNetCore.Authentication.Certificate.netcoreapp.cs" /> - <Reference Include="Microsoft.AspNetCore.Authentication" /> - </ItemGroup> -</Project> diff --git a/src/Security/Authentication/Certificate/ref/Microsoft.AspNetCore.Authentication.Certificate.netcoreapp.cs b/src/Security/Authentication/Certificate/ref/Microsoft.AspNetCore.Authentication.Certificate.netcoreapp.cs deleted file mode 100644 index b158cdec1bc0..000000000000 --- a/src/Security/Authentication/Certificate/ref/Microsoft.AspNetCore.Authentication.Certificate.netcoreapp.cs +++ /dev/null @@ -1,61 +0,0 @@ -// Copyright (c) .NET Foundation. All rights reserved. -// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. - -namespace Microsoft.AspNetCore.Authentication.Certificate -{ - public static partial class CertificateAuthenticationDefaults - { - public const string AuthenticationScheme = "Certificate"; - } - public partial class CertificateAuthenticationEvents - { - public CertificateAuthenticationEvents() { } - public System.Func<Microsoft.AspNetCore.Authentication.Certificate.CertificateAuthenticationFailedContext, System.Threading.Tasks.Task> OnAuthenticationFailed { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute] set { } } - public System.Func<Microsoft.AspNetCore.Authentication.Certificate.CertificateValidatedContext, System.Threading.Tasks.Task> OnCertificateValidated { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute] set { } } - public virtual System.Threading.Tasks.Task AuthenticationFailed(Microsoft.AspNetCore.Authentication.Certificate.CertificateAuthenticationFailedContext context) { throw null; } - public virtual System.Threading.Tasks.Task CertificateValidated(Microsoft.AspNetCore.Authentication.Certificate.CertificateValidatedContext context) { throw null; } - } - public partial class CertificateAuthenticationFailedContext : Microsoft.AspNetCore.Authentication.ResultContext<Microsoft.AspNetCore.Authentication.Certificate.CertificateAuthenticationOptions> - { - public CertificateAuthenticationFailedContext(Microsoft.AspNetCore.Http.HttpContext context, Microsoft.AspNetCore.Authentication.AuthenticationScheme scheme, Microsoft.AspNetCore.Authentication.Certificate.CertificateAuthenticationOptions options) : base (default(Microsoft.AspNetCore.Http.HttpContext), default(Microsoft.AspNetCore.Authentication.AuthenticationScheme), default(Microsoft.AspNetCore.Authentication.Certificate.CertificateAuthenticationOptions)) { } - public System.Exception Exception { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute] set { } } - } - public partial class CertificateAuthenticationOptions : Microsoft.AspNetCore.Authentication.AuthenticationSchemeOptions - { - public CertificateAuthenticationOptions() { } - public Microsoft.AspNetCore.Authentication.Certificate.CertificateTypes AllowedCertificateTypes { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute] set { } } - public System.Security.Cryptography.X509Certificates.X509ChainTrustMode ChainTrustValidationMode { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute] set { } } - public System.Security.Cryptography.X509Certificates.X509Certificate2Collection CustomTrustStore { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute] set { } } - public new Microsoft.AspNetCore.Authentication.Certificate.CertificateAuthenticationEvents Events { get { throw null; } set { } } - public System.Security.Cryptography.X509Certificates.X509RevocationFlag RevocationFlag { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute] set { } } - public System.Security.Cryptography.X509Certificates.X509RevocationMode RevocationMode { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute] set { } } - public bool ValidateCertificateUse { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute] set { } } - public bool ValidateValidityPeriod { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute] set { } } - } - [System.FlagsAttribute] - public enum CertificateTypes - { - Chained = 1, - SelfSigned = 2, - All = 3, - } - public partial class CertificateValidatedContext : Microsoft.AspNetCore.Authentication.ResultContext<Microsoft.AspNetCore.Authentication.Certificate.CertificateAuthenticationOptions> - { - public CertificateValidatedContext(Microsoft.AspNetCore.Http.HttpContext context, Microsoft.AspNetCore.Authentication.AuthenticationScheme scheme, Microsoft.AspNetCore.Authentication.Certificate.CertificateAuthenticationOptions options) : base (default(Microsoft.AspNetCore.Http.HttpContext), default(Microsoft.AspNetCore.Authentication.AuthenticationScheme), default(Microsoft.AspNetCore.Authentication.Certificate.CertificateAuthenticationOptions)) { } - public System.Security.Cryptography.X509Certificates.X509Certificate2 ClientCertificate { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute] set { } } - } - public static partial class X509Certificate2Extensions - { - public static bool IsSelfSigned(this System.Security.Cryptography.X509Certificates.X509Certificate2 certificate) { throw null; } - } -} -namespace Microsoft.Extensions.DependencyInjection -{ - public static partial class CertificateAuthenticationAppBuilderExtensions - { - public static Microsoft.AspNetCore.Authentication.AuthenticationBuilder AddCertificate(this Microsoft.AspNetCore.Authentication.AuthenticationBuilder builder) { throw null; } - public static Microsoft.AspNetCore.Authentication.AuthenticationBuilder AddCertificate(this Microsoft.AspNetCore.Authentication.AuthenticationBuilder builder, System.Action<Microsoft.AspNetCore.Authentication.Certificate.CertificateAuthenticationOptions> configureOptions) { throw null; } - public static Microsoft.AspNetCore.Authentication.AuthenticationBuilder AddCertificate(this Microsoft.AspNetCore.Authentication.AuthenticationBuilder builder, string authenticationScheme) { throw null; } - public static Microsoft.AspNetCore.Authentication.AuthenticationBuilder AddCertificate(this Microsoft.AspNetCore.Authentication.AuthenticationBuilder builder, string authenticationScheme, System.Action<Microsoft.AspNetCore.Authentication.Certificate.CertificateAuthenticationOptions> configureOptions) { throw null; } - } -} diff --git a/src/Security/Authentication/Certificate/src/Microsoft.AspNetCore.Authentication.Certificate.csproj b/src/Security/Authentication/Certificate/src/Microsoft.AspNetCore.Authentication.Certificate.csproj index cffabda4350d..86af316bad59 100644 --- a/src/Security/Authentication/Certificate/src/Microsoft.AspNetCore.Authentication.Certificate.csproj +++ b/src/Security/Authentication/Certificate/src/Microsoft.AspNetCore.Authentication.Certificate.csproj @@ -6,7 +6,7 @@ <DefineConstants>$(DefineConstants);SECURITY</DefineConstants> <GenerateDocumentationFile>true</GenerateDocumentationFile> <PackageTags>aspnetcore;authentication;security;x509;certificate</PackageTags> - <IsShippingPackage>true</IsShippingPackage> + <IsPackable>true</IsPackable> </PropertyGroup> <ItemGroup> diff --git a/src/Security/Authentication/Cookies/ref/Microsoft.AspNetCore.Authentication.Cookies.csproj b/src/Security/Authentication/Cookies/ref/Microsoft.AspNetCore.Authentication.Cookies.csproj index 8d5ccfe0e7b7..c91c25b03bad 100644 --- a/src/Security/Authentication/Cookies/ref/Microsoft.AspNetCore.Authentication.Cookies.csproj +++ b/src/Security/Authentication/Cookies/ref/Microsoft.AspNetCore.Authentication.Cookies.csproj @@ -5,6 +5,6 @@ </PropertyGroup> <ItemGroup Condition="'$(TargetFramework)' == '$(DefaultNetCoreTargetFramework)'"> <Compile Include="Microsoft.AspNetCore.Authentication.Cookies.netcoreapp.cs" /> - <Reference Include="Microsoft.AspNetCore.Authentication" /> + <Reference Include="Microsoft.AspNetCore.Authentication" /> </ItemGroup> </Project> diff --git a/src/Security/Authentication/Cookies/src/Microsoft.AspNetCore.Authentication.Cookies.csproj b/src/Security/Authentication/Cookies/src/Microsoft.AspNetCore.Authentication.Cookies.csproj index 609247b5d508..803c58f40877 100644 --- a/src/Security/Authentication/Cookies/src/Microsoft.AspNetCore.Authentication.Cookies.csproj +++ b/src/Security/Authentication/Cookies/src/Microsoft.AspNetCore.Authentication.Cookies.csproj @@ -8,7 +8,7 @@ <NoWarn>$(NoWarn);CS1591</NoWarn> <GenerateDocumentationFile>true</GenerateDocumentationFile> <PackageTags>aspnetcore;authentication;security</PackageTags> - <IsShippingPackage>false</IsShippingPackage> + <IsPackable>false</IsPackable> </PropertyGroup> <ItemGroup> diff --git a/src/Security/Authentication/Core/ref/Microsoft.AspNetCore.Authentication.csproj b/src/Security/Authentication/Core/ref/Microsoft.AspNetCore.Authentication.csproj index 244a2634e244..231f1aa55dd4 100644 --- a/src/Security/Authentication/Core/ref/Microsoft.AspNetCore.Authentication.csproj +++ b/src/Security/Authentication/Core/ref/Microsoft.AspNetCore.Authentication.csproj @@ -5,12 +5,12 @@ </PropertyGroup> <ItemGroup Condition="'$(TargetFramework)' == '$(DefaultNetCoreTargetFramework)'"> <Compile Include="Microsoft.AspNetCore.Authentication.netcoreapp.cs" /> - <Reference Include="Microsoft.AspNetCore.Authentication.Core" /> - <Reference Include="Microsoft.AspNetCore.DataProtection" /> - <Reference Include="Microsoft.AspNetCore.Http" /> - <Reference Include="Microsoft.AspNetCore.Http.Extensions" /> - <Reference Include="Microsoft.Extensions.Logging.Abstractions" /> - <Reference Include="Microsoft.Extensions.Options" /> - <Reference Include="Microsoft.Extensions.WebEncoders" /> + <Reference Include="Microsoft.AspNetCore.Authentication.Core" /> + <Reference Include="Microsoft.AspNetCore.DataProtection" /> + <Reference Include="Microsoft.AspNetCore.Http" /> + <Reference Include="Microsoft.AspNetCore.Http.Extensions" /> + <Reference Include="Microsoft.Extensions.Logging.Abstractions" /> + <Reference Include="Microsoft.Extensions.Options" /> + <Reference Include="Microsoft.Extensions.WebEncoders" /> </ItemGroup> </Project> diff --git a/src/Security/Authentication/Core/src/Microsoft.AspNetCore.Authentication.csproj b/src/Security/Authentication/Core/src/Microsoft.AspNetCore.Authentication.csproj index a316d97f33fc..e81a55f314c3 100644 --- a/src/Security/Authentication/Core/src/Microsoft.AspNetCore.Authentication.csproj +++ b/src/Security/Authentication/Core/src/Microsoft.AspNetCore.Authentication.csproj @@ -7,7 +7,7 @@ <NoWarn>$(NoWarn);CS1591</NoWarn> <GenerateDocumentationFile>true</GenerateDocumentationFile> <PackageTags>aspnetcore;authentication;security</PackageTags> - <IsShippingPackage>false</IsShippingPackage> + <IsPackable>false</IsPackable> </PropertyGroup> <ItemGroup> diff --git a/src/Security/Authentication/Facebook/ref/Microsoft.AspNetCore.Authentication.Facebook.csproj b/src/Security/Authentication/Facebook/ref/Microsoft.AspNetCore.Authentication.Facebook.csproj deleted file mode 100644 index b321a8165f88..000000000000 --- a/src/Security/Authentication/Facebook/ref/Microsoft.AspNetCore.Authentication.Facebook.csproj +++ /dev/null @@ -1,10 +0,0 @@ -<!-- This file is automatically generated. --> -<Project Sdk="Microsoft.NET.Sdk"> - <PropertyGroup> - <TargetFrameworks>$(DefaultNetCoreTargetFramework)</TargetFrameworks> - </PropertyGroup> - <ItemGroup Condition="'$(TargetFramework)' == '$(DefaultNetCoreTargetFramework)'"> - <Compile Include="Microsoft.AspNetCore.Authentication.Facebook.netcoreapp.cs" /> - <Reference Include="Microsoft.AspNetCore.Authentication.OAuth" /> - </ItemGroup> -</Project> diff --git a/src/Security/Authentication/Facebook/ref/Microsoft.AspNetCore.Authentication.Facebook.netcoreapp.cs b/src/Security/Authentication/Facebook/ref/Microsoft.AspNetCore.Authentication.Facebook.netcoreapp.cs deleted file mode 100644 index 317640bd93c7..000000000000 --- a/src/Security/Authentication/Facebook/ref/Microsoft.AspNetCore.Authentication.Facebook.netcoreapp.cs +++ /dev/null @@ -1,41 +0,0 @@ -// Copyright (c) .NET Foundation. All rights reserved. -// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. - -namespace Microsoft.AspNetCore.Authentication.Facebook -{ - public static partial class FacebookDefaults - { - public const string AuthenticationScheme = "Facebook"; - public static readonly string AuthorizationEndpoint; - public static readonly string DisplayName; - public static readonly string TokenEndpoint; - public static readonly string UserInformationEndpoint; - } - public partial class FacebookHandler : Microsoft.AspNetCore.Authentication.OAuth.OAuthHandler<Microsoft.AspNetCore.Authentication.Facebook.FacebookOptions> - { - public FacebookHandler(Microsoft.Extensions.Options.IOptionsMonitor<Microsoft.AspNetCore.Authentication.Facebook.FacebookOptions> options, Microsoft.Extensions.Logging.ILoggerFactory logger, System.Text.Encodings.Web.UrlEncoder encoder, Microsoft.AspNetCore.Authentication.ISystemClock clock) : base (default(Microsoft.Extensions.Options.IOptionsMonitor<Microsoft.AspNetCore.Authentication.Facebook.FacebookOptions>), default(Microsoft.Extensions.Logging.ILoggerFactory), default(System.Text.Encodings.Web.UrlEncoder), default(Microsoft.AspNetCore.Authentication.ISystemClock)) { } - [System.Diagnostics.DebuggerStepThroughAttribute] - protected override System.Threading.Tasks.Task<Microsoft.AspNetCore.Authentication.AuthenticationTicket> CreateTicketAsync(System.Security.Claims.ClaimsIdentity identity, Microsoft.AspNetCore.Authentication.AuthenticationProperties properties, Microsoft.AspNetCore.Authentication.OAuth.OAuthTokenResponse tokens) { throw null; } - protected override string FormatScope() { throw null; } - protected override string FormatScope(System.Collections.Generic.IEnumerable<string> scopes) { throw null; } - } - public partial class FacebookOptions : Microsoft.AspNetCore.Authentication.OAuth.OAuthOptions - { - public FacebookOptions() { } - public string AppId { get { throw null; } set { } } - public string AppSecret { get { throw null; } set { } } - public System.Collections.Generic.ICollection<string> Fields { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } } - public bool SendAppSecretProof { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute] set { } } - public override void Validate() { } - } -} -namespace Microsoft.Extensions.DependencyInjection -{ - public static partial class FacebookAuthenticationOptionsExtensions - { - public static Microsoft.AspNetCore.Authentication.AuthenticationBuilder AddFacebook(this Microsoft.AspNetCore.Authentication.AuthenticationBuilder builder) { throw null; } - public static Microsoft.AspNetCore.Authentication.AuthenticationBuilder AddFacebook(this Microsoft.AspNetCore.Authentication.AuthenticationBuilder builder, System.Action<Microsoft.AspNetCore.Authentication.Facebook.FacebookOptions> configureOptions) { throw null; } - public static Microsoft.AspNetCore.Authentication.AuthenticationBuilder AddFacebook(this Microsoft.AspNetCore.Authentication.AuthenticationBuilder builder, string authenticationScheme, System.Action<Microsoft.AspNetCore.Authentication.Facebook.FacebookOptions> configureOptions) { throw null; } - public static Microsoft.AspNetCore.Authentication.AuthenticationBuilder AddFacebook(this Microsoft.AspNetCore.Authentication.AuthenticationBuilder builder, string authenticationScheme, string displayName, System.Action<Microsoft.AspNetCore.Authentication.Facebook.FacebookOptions> configureOptions) { throw null; } - } -} diff --git a/src/Security/Authentication/Facebook/src/Microsoft.AspNetCore.Authentication.Facebook.csproj b/src/Security/Authentication/Facebook/src/Microsoft.AspNetCore.Authentication.Facebook.csproj index 19fbb851d77e..4977e1892b46 100644 --- a/src/Security/Authentication/Facebook/src/Microsoft.AspNetCore.Authentication.Facebook.csproj +++ b/src/Security/Authentication/Facebook/src/Microsoft.AspNetCore.Authentication.Facebook.csproj @@ -6,7 +6,7 @@ <NoWarn>$(NoWarn);CS1591</NoWarn> <GenerateDocumentationFile>true</GenerateDocumentationFile> <PackageTags>aspnetcore;authentication;security</PackageTags> - <IsShippingPackage>true</IsShippingPackage> + <IsPackable>true</IsPackable> </PropertyGroup> <ItemGroup> diff --git a/src/Security/Authentication/Google/ref/Microsoft.AspNetCore.Authentication.Google.csproj b/src/Security/Authentication/Google/ref/Microsoft.AspNetCore.Authentication.Google.csproj deleted file mode 100644 index eb7c734cb899..000000000000 --- a/src/Security/Authentication/Google/ref/Microsoft.AspNetCore.Authentication.Google.csproj +++ /dev/null @@ -1,10 +0,0 @@ -<!-- This file is automatically generated. --> -<Project Sdk="Microsoft.NET.Sdk"> - <PropertyGroup> - <TargetFrameworks>$(DefaultNetCoreTargetFramework)</TargetFrameworks> - </PropertyGroup> - <ItemGroup Condition="'$(TargetFramework)' == '$(DefaultNetCoreTargetFramework)'"> - <Compile Include="Microsoft.AspNetCore.Authentication.Google.netcoreapp.cs" /> - <Reference Include="Microsoft.AspNetCore.Authentication.OAuth" /> - </ItemGroup> -</Project> diff --git a/src/Security/Authentication/Google/ref/Microsoft.AspNetCore.Authentication.Google.netcoreapp.cs b/src/Security/Authentication/Google/ref/Microsoft.AspNetCore.Authentication.Google.netcoreapp.cs deleted file mode 100644 index 18165e7b5671..000000000000 --- a/src/Security/Authentication/Google/ref/Microsoft.AspNetCore.Authentication.Google.netcoreapp.cs +++ /dev/null @@ -1,52 +0,0 @@ -// Copyright (c) .NET Foundation. All rights reserved. -// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. - -namespace Microsoft.AspNetCore.Authentication.Google -{ - public partial class GoogleChallengeProperties : Microsoft.AspNetCore.Authentication.OAuth.OAuthChallengeProperties - { - public static readonly string AccessTypeKey; - public static readonly string ApprovalPromptKey; - public static readonly string IncludeGrantedScopesKey; - public static readonly string LoginHintKey; - public static readonly string PromptParameterKey; - public GoogleChallengeProperties() { } - public GoogleChallengeProperties(System.Collections.Generic.IDictionary<string, string> items) { } - public GoogleChallengeProperties(System.Collections.Generic.IDictionary<string, string> items, System.Collections.Generic.IDictionary<string, object> parameters) { } - public string AccessType { get { throw null; } set { } } - public string ApprovalPrompt { get { throw null; } set { } } - public bool? IncludeGrantedScopes { get { throw null; } set { } } - public string LoginHint { get { throw null; } set { } } - public string Prompt { get { throw null; } set { } } - } - public static partial class GoogleDefaults - { - public const string AuthenticationScheme = "Google"; - public static readonly string AuthorizationEndpoint; - public static readonly string DisplayName; - public static readonly string TokenEndpoint; - public static readonly string UserInformationEndpoint; - } - public partial class GoogleHandler : Microsoft.AspNetCore.Authentication.OAuth.OAuthHandler<Microsoft.AspNetCore.Authentication.Google.GoogleOptions> - { - public GoogleHandler(Microsoft.Extensions.Options.IOptionsMonitor<Microsoft.AspNetCore.Authentication.Google.GoogleOptions> options, Microsoft.Extensions.Logging.ILoggerFactory logger, System.Text.Encodings.Web.UrlEncoder encoder, Microsoft.AspNetCore.Authentication.ISystemClock clock) : base (default(Microsoft.Extensions.Options.IOptionsMonitor<Microsoft.AspNetCore.Authentication.Google.GoogleOptions>), default(Microsoft.Extensions.Logging.ILoggerFactory), default(System.Text.Encodings.Web.UrlEncoder), default(Microsoft.AspNetCore.Authentication.ISystemClock)) { } - protected override string BuildChallengeUrl(Microsoft.AspNetCore.Authentication.AuthenticationProperties properties, string redirectUri) { throw null; } - [System.Diagnostics.DebuggerStepThroughAttribute] - protected override System.Threading.Tasks.Task<Microsoft.AspNetCore.Authentication.AuthenticationTicket> CreateTicketAsync(System.Security.Claims.ClaimsIdentity identity, Microsoft.AspNetCore.Authentication.AuthenticationProperties properties, Microsoft.AspNetCore.Authentication.OAuth.OAuthTokenResponse tokens) { throw null; } - } - public partial class GoogleOptions : Microsoft.AspNetCore.Authentication.OAuth.OAuthOptions - { - public GoogleOptions() { } - public string AccessType { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute] set { } } - } -} -namespace Microsoft.Extensions.DependencyInjection -{ - public static partial class GoogleExtensions - { - public static Microsoft.AspNetCore.Authentication.AuthenticationBuilder AddGoogle(this Microsoft.AspNetCore.Authentication.AuthenticationBuilder builder) { throw null; } - public static Microsoft.AspNetCore.Authentication.AuthenticationBuilder AddGoogle(this Microsoft.AspNetCore.Authentication.AuthenticationBuilder builder, System.Action<Microsoft.AspNetCore.Authentication.Google.GoogleOptions> configureOptions) { throw null; } - public static Microsoft.AspNetCore.Authentication.AuthenticationBuilder AddGoogle(this Microsoft.AspNetCore.Authentication.AuthenticationBuilder builder, string authenticationScheme, System.Action<Microsoft.AspNetCore.Authentication.Google.GoogleOptions> configureOptions) { throw null; } - public static Microsoft.AspNetCore.Authentication.AuthenticationBuilder AddGoogle(this Microsoft.AspNetCore.Authentication.AuthenticationBuilder builder, string authenticationScheme, string displayName, System.Action<Microsoft.AspNetCore.Authentication.Google.GoogleOptions> configureOptions) { throw null; } - } -} diff --git a/src/Security/Authentication/Google/src/Microsoft.AspNetCore.Authentication.Google.csproj b/src/Security/Authentication/Google/src/Microsoft.AspNetCore.Authentication.Google.csproj index 96bc1b8b33aa..774fa9cac04b 100644 --- a/src/Security/Authentication/Google/src/Microsoft.AspNetCore.Authentication.Google.csproj +++ b/src/Security/Authentication/Google/src/Microsoft.AspNetCore.Authentication.Google.csproj @@ -6,7 +6,7 @@ <NoWarn>$(NoWarn);CS1591</NoWarn> <GenerateDocumentationFile>true</GenerateDocumentationFile> <PackageTags>aspnetcore;authentication;security</PackageTags> - <IsShippingPackage>true</IsShippingPackage> + <IsPackable>true</IsPackable> </PropertyGroup> <ItemGroup> diff --git a/src/Security/Authentication/JwtBearer/ref/Microsoft.AspNetCore.Authentication.JwtBearer.csproj b/src/Security/Authentication/JwtBearer/ref/Microsoft.AspNetCore.Authentication.JwtBearer.csproj deleted file mode 100644 index b84ff89ea7c0..000000000000 --- a/src/Security/Authentication/JwtBearer/ref/Microsoft.AspNetCore.Authentication.JwtBearer.csproj +++ /dev/null @@ -1,11 +0,0 @@ -<!-- This file is automatically generated. --> -<Project Sdk="Microsoft.NET.Sdk"> - <PropertyGroup> - <TargetFrameworks>$(DefaultNetCoreTargetFramework)</TargetFrameworks> - </PropertyGroup> - <ItemGroup Condition="'$(TargetFramework)' == '$(DefaultNetCoreTargetFramework)'"> - <Compile Include="Microsoft.AspNetCore.Authentication.JwtBearer.netcoreapp.cs" /> - <Reference Include="Microsoft.AspNetCore.Authentication" /> - <Reference Include="Microsoft.IdentityModel.Protocols.OpenIdConnect" /> - </ItemGroup> -</Project> diff --git a/src/Security/Authentication/JwtBearer/ref/Microsoft.AspNetCore.Authentication.JwtBearer.netcoreapp.cs b/src/Security/Authentication/JwtBearer/ref/Microsoft.AspNetCore.Authentication.JwtBearer.netcoreapp.cs deleted file mode 100644 index 27d30e350be3..000000000000 --- a/src/Security/Authentication/JwtBearer/ref/Microsoft.AspNetCore.Authentication.JwtBearer.netcoreapp.cs +++ /dev/null @@ -1,100 +0,0 @@ -// Copyright (c) .NET Foundation. All rights reserved. -// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. - -namespace Microsoft.AspNetCore.Authentication.JwtBearer -{ - public partial class AuthenticationFailedContext : Microsoft.AspNetCore.Authentication.ResultContext<Microsoft.AspNetCore.Authentication.JwtBearer.JwtBearerOptions> - { - public AuthenticationFailedContext(Microsoft.AspNetCore.Http.HttpContext context, Microsoft.AspNetCore.Authentication.AuthenticationScheme scheme, Microsoft.AspNetCore.Authentication.JwtBearer.JwtBearerOptions options) : base (default(Microsoft.AspNetCore.Http.HttpContext), default(Microsoft.AspNetCore.Authentication.AuthenticationScheme), default(Microsoft.AspNetCore.Authentication.JwtBearer.JwtBearerOptions)) { } - public System.Exception Exception { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute] set { } } - } - public partial class ForbiddenContext : Microsoft.AspNetCore.Authentication.ResultContext<Microsoft.AspNetCore.Authentication.JwtBearer.JwtBearerOptions> - { - public ForbiddenContext(Microsoft.AspNetCore.Http.HttpContext context, Microsoft.AspNetCore.Authentication.AuthenticationScheme scheme, Microsoft.AspNetCore.Authentication.JwtBearer.JwtBearerOptions options) : base (default(Microsoft.AspNetCore.Http.HttpContext), default(Microsoft.AspNetCore.Authentication.AuthenticationScheme), default(Microsoft.AspNetCore.Authentication.JwtBearer.JwtBearerOptions)) { } - } - public partial class JwtBearerChallengeContext : Microsoft.AspNetCore.Authentication.PropertiesContext<Microsoft.AspNetCore.Authentication.JwtBearer.JwtBearerOptions> - { - public JwtBearerChallengeContext(Microsoft.AspNetCore.Http.HttpContext context, Microsoft.AspNetCore.Authentication.AuthenticationScheme scheme, Microsoft.AspNetCore.Authentication.JwtBearer.JwtBearerOptions options, Microsoft.AspNetCore.Authentication.AuthenticationProperties properties) : base (default(Microsoft.AspNetCore.Http.HttpContext), default(Microsoft.AspNetCore.Authentication.AuthenticationScheme), default(Microsoft.AspNetCore.Authentication.JwtBearer.JwtBearerOptions), default(Microsoft.AspNetCore.Authentication.AuthenticationProperties)) { } - public System.Exception AuthenticateFailure { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute] set { } } - public string Error { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute] set { } } - public string ErrorDescription { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute] set { } } - public string ErrorUri { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute] set { } } - public bool Handled { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } } - public void HandleResponse() { } - } - public static partial class JwtBearerDefaults - { - public const string AuthenticationScheme = "Bearer"; - } - public partial class JwtBearerEvents - { - public JwtBearerEvents() { } - public System.Func<Microsoft.AspNetCore.Authentication.JwtBearer.AuthenticationFailedContext, System.Threading.Tasks.Task> OnAuthenticationFailed { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute] set { } } - public System.Func<Microsoft.AspNetCore.Authentication.JwtBearer.JwtBearerChallengeContext, System.Threading.Tasks.Task> OnChallenge { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute] set { } } - public System.Func<Microsoft.AspNetCore.Authentication.JwtBearer.ForbiddenContext, System.Threading.Tasks.Task> OnForbidden { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute] set { } } - public System.Func<Microsoft.AspNetCore.Authentication.JwtBearer.MessageReceivedContext, System.Threading.Tasks.Task> OnMessageReceived { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute] set { } } - public System.Func<Microsoft.AspNetCore.Authentication.JwtBearer.TokenValidatedContext, System.Threading.Tasks.Task> OnTokenValidated { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute] set { } } - public virtual System.Threading.Tasks.Task AuthenticationFailed(Microsoft.AspNetCore.Authentication.JwtBearer.AuthenticationFailedContext context) { throw null; } - public virtual System.Threading.Tasks.Task Challenge(Microsoft.AspNetCore.Authentication.JwtBearer.JwtBearerChallengeContext context) { throw null; } - public virtual System.Threading.Tasks.Task Forbidden(Microsoft.AspNetCore.Authentication.JwtBearer.ForbiddenContext context) { throw null; } - public virtual System.Threading.Tasks.Task MessageReceived(Microsoft.AspNetCore.Authentication.JwtBearer.MessageReceivedContext context) { throw null; } - public virtual System.Threading.Tasks.Task TokenValidated(Microsoft.AspNetCore.Authentication.JwtBearer.TokenValidatedContext context) { throw null; } - } - public partial class JwtBearerHandler : Microsoft.AspNetCore.Authentication.AuthenticationHandler<Microsoft.AspNetCore.Authentication.JwtBearer.JwtBearerOptions> - { - public JwtBearerHandler(Microsoft.Extensions.Options.IOptionsMonitor<Microsoft.AspNetCore.Authentication.JwtBearer.JwtBearerOptions> options, Microsoft.Extensions.Logging.ILoggerFactory logger, System.Text.Encodings.Web.UrlEncoder encoder, Microsoft.AspNetCore.Authentication.ISystemClock clock) : base (default(Microsoft.Extensions.Options.IOptionsMonitor<Microsoft.AspNetCore.Authentication.JwtBearer.JwtBearerOptions>), default(Microsoft.Extensions.Logging.ILoggerFactory), default(System.Text.Encodings.Web.UrlEncoder), default(Microsoft.AspNetCore.Authentication.ISystemClock)) { } - protected new Microsoft.AspNetCore.Authentication.JwtBearer.JwtBearerEvents Events { get { throw null; } set { } } - protected override System.Threading.Tasks.Task<object> CreateEventsAsync() { throw null; } - [System.Diagnostics.DebuggerStepThroughAttribute] - protected override System.Threading.Tasks.Task<Microsoft.AspNetCore.Authentication.AuthenticateResult> HandleAuthenticateAsync() { throw null; } - [System.Diagnostics.DebuggerStepThroughAttribute] - protected override System.Threading.Tasks.Task HandleChallengeAsync(Microsoft.AspNetCore.Authentication.AuthenticationProperties properties) { throw null; } - protected override System.Threading.Tasks.Task HandleForbiddenAsync(Microsoft.AspNetCore.Authentication.AuthenticationProperties properties) { throw null; } - } - public partial class JwtBearerOptions : Microsoft.AspNetCore.Authentication.AuthenticationSchemeOptions - { - public JwtBearerOptions() { } - public string Audience { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute] set { } } - public string Authority { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute] set { } } - public System.TimeSpan AutomaticRefreshInterval { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute] set { } } - public System.Net.Http.HttpMessageHandler BackchannelHttpHandler { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute] set { } } - public System.TimeSpan BackchannelTimeout { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute] set { } } - public string Challenge { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute] set { } } - public Microsoft.IdentityModel.Protocols.OpenIdConnect.OpenIdConnectConfiguration Configuration { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute] set { } } - public Microsoft.IdentityModel.Protocols.IConfigurationManager<Microsoft.IdentityModel.Protocols.OpenIdConnect.OpenIdConnectConfiguration> ConfigurationManager { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute] set { } } - public new Microsoft.AspNetCore.Authentication.JwtBearer.JwtBearerEvents Events { get { throw null; } set { } } - public bool IncludeErrorDetails { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute] set { } } - public string MetadataAddress { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute] set { } } - public System.TimeSpan RefreshInterval { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute] set { } } - public bool RefreshOnIssuerKeyNotFound { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute] set { } } - public bool RequireHttpsMetadata { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute] set { } } - public bool SaveToken { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute] set { } } - public System.Collections.Generic.IList<Microsoft.IdentityModel.Tokens.ISecurityTokenValidator> SecurityTokenValidators { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } } - public Microsoft.IdentityModel.Tokens.TokenValidationParameters TokenValidationParameters { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute] set { } } - } - public partial class JwtBearerPostConfigureOptions : Microsoft.Extensions.Options.IPostConfigureOptions<Microsoft.AspNetCore.Authentication.JwtBearer.JwtBearerOptions> - { - public JwtBearerPostConfigureOptions() { } - public void PostConfigure(string name, Microsoft.AspNetCore.Authentication.JwtBearer.JwtBearerOptions options) { } - } - public partial class MessageReceivedContext : Microsoft.AspNetCore.Authentication.ResultContext<Microsoft.AspNetCore.Authentication.JwtBearer.JwtBearerOptions> - { - public MessageReceivedContext(Microsoft.AspNetCore.Http.HttpContext context, Microsoft.AspNetCore.Authentication.AuthenticationScheme scheme, Microsoft.AspNetCore.Authentication.JwtBearer.JwtBearerOptions options) : base (default(Microsoft.AspNetCore.Http.HttpContext), default(Microsoft.AspNetCore.Authentication.AuthenticationScheme), default(Microsoft.AspNetCore.Authentication.JwtBearer.JwtBearerOptions)) { } - public string Token { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute] set { } } - } - public partial class TokenValidatedContext : Microsoft.AspNetCore.Authentication.ResultContext<Microsoft.AspNetCore.Authentication.JwtBearer.JwtBearerOptions> - { - public TokenValidatedContext(Microsoft.AspNetCore.Http.HttpContext context, Microsoft.AspNetCore.Authentication.AuthenticationScheme scheme, Microsoft.AspNetCore.Authentication.JwtBearer.JwtBearerOptions options) : base (default(Microsoft.AspNetCore.Http.HttpContext), default(Microsoft.AspNetCore.Authentication.AuthenticationScheme), default(Microsoft.AspNetCore.Authentication.JwtBearer.JwtBearerOptions)) { } - public Microsoft.IdentityModel.Tokens.SecurityToken SecurityToken { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute] set { } } - } -} -namespace Microsoft.Extensions.DependencyInjection -{ - public static partial class JwtBearerExtensions - { - public static Microsoft.AspNetCore.Authentication.AuthenticationBuilder AddJwtBearer(this Microsoft.AspNetCore.Authentication.AuthenticationBuilder builder) { throw null; } - public static Microsoft.AspNetCore.Authentication.AuthenticationBuilder AddJwtBearer(this Microsoft.AspNetCore.Authentication.AuthenticationBuilder builder, System.Action<Microsoft.AspNetCore.Authentication.JwtBearer.JwtBearerOptions> configureOptions) { throw null; } - public static Microsoft.AspNetCore.Authentication.AuthenticationBuilder AddJwtBearer(this Microsoft.AspNetCore.Authentication.AuthenticationBuilder builder, string authenticationScheme, System.Action<Microsoft.AspNetCore.Authentication.JwtBearer.JwtBearerOptions> configureOptions) { throw null; } - public static Microsoft.AspNetCore.Authentication.AuthenticationBuilder AddJwtBearer(this Microsoft.AspNetCore.Authentication.AuthenticationBuilder builder, string authenticationScheme, string displayName, System.Action<Microsoft.AspNetCore.Authentication.JwtBearer.JwtBearerOptions> configureOptions) { throw null; } - } -} diff --git a/src/Security/Authentication/JwtBearer/src/Microsoft.AspNetCore.Authentication.JwtBearer.csproj b/src/Security/Authentication/JwtBearer/src/Microsoft.AspNetCore.Authentication.JwtBearer.csproj index 45391ac2db87..efee848b372d 100644 --- a/src/Security/Authentication/JwtBearer/src/Microsoft.AspNetCore.Authentication.JwtBearer.csproj +++ b/src/Security/Authentication/JwtBearer/src/Microsoft.AspNetCore.Authentication.JwtBearer.csproj @@ -6,7 +6,7 @@ <NoWarn>$(NoWarn);CS1591</NoWarn> <GenerateDocumentationFile>true</GenerateDocumentationFile> <PackageTags>aspnetcore;authentication;security</PackageTags> - <IsShippingPackage>true</IsShippingPackage> + <IsPackable>true</IsPackable> </PropertyGroup> <ItemGroup> diff --git a/src/Security/Authentication/MicrosoftAccount/ref/Microsoft.AspNetCore.Authentication.MicrosoftAccount.csproj b/src/Security/Authentication/MicrosoftAccount/ref/Microsoft.AspNetCore.Authentication.MicrosoftAccount.csproj deleted file mode 100644 index 130cdbbe1161..000000000000 --- a/src/Security/Authentication/MicrosoftAccount/ref/Microsoft.AspNetCore.Authentication.MicrosoftAccount.csproj +++ /dev/null @@ -1,10 +0,0 @@ -<!-- This file is automatically generated. --> -<Project Sdk="Microsoft.NET.Sdk"> - <PropertyGroup> - <TargetFrameworks>$(DefaultNetCoreTargetFramework)</TargetFrameworks> - </PropertyGroup> - <ItemGroup Condition="'$(TargetFramework)' == '$(DefaultNetCoreTargetFramework)'"> - <Compile Include="Microsoft.AspNetCore.Authentication.MicrosoftAccount.netcoreapp.cs" /> - <Reference Include="Microsoft.AspNetCore.Authentication.OAuth" /> - </ItemGroup> -</Project> diff --git a/src/Security/Authentication/MicrosoftAccount/ref/Microsoft.AspNetCore.Authentication.MicrosoftAccount.netcoreapp.cs b/src/Security/Authentication/MicrosoftAccount/ref/Microsoft.AspNetCore.Authentication.MicrosoftAccount.netcoreapp.cs deleted file mode 100644 index 4337321df76e..000000000000 --- a/src/Security/Authentication/MicrosoftAccount/ref/Microsoft.AspNetCore.Authentication.MicrosoftAccount.netcoreapp.cs +++ /dev/null @@ -1,49 +0,0 @@ -// Copyright (c) .NET Foundation. All rights reserved. -// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. - -namespace Microsoft.AspNetCore.Authentication.MicrosoftAccount -{ - public static partial class MicrosoftAccountDefaults - { - public const string AuthenticationScheme = "Microsoft"; - public static readonly string AuthorizationEndpoint; - public static readonly string DisplayName; - public static readonly string TokenEndpoint; - public static readonly string UserInformationEndpoint; - } - public partial class MicrosoftAccountHandler : Microsoft.AspNetCore.Authentication.OAuth.OAuthHandler<Microsoft.AspNetCore.Authentication.MicrosoftAccount.MicrosoftAccountOptions> - { - public MicrosoftAccountHandler(Microsoft.Extensions.Options.IOptionsMonitor<Microsoft.AspNetCore.Authentication.MicrosoftAccount.MicrosoftAccountOptions> options, Microsoft.Extensions.Logging.ILoggerFactory logger, System.Text.Encodings.Web.UrlEncoder encoder, Microsoft.AspNetCore.Authentication.ISystemClock clock) : base (default(Microsoft.Extensions.Options.IOptionsMonitor<Microsoft.AspNetCore.Authentication.MicrosoftAccount.MicrosoftAccountOptions>), default(Microsoft.Extensions.Logging.ILoggerFactory), default(System.Text.Encodings.Web.UrlEncoder), default(Microsoft.AspNetCore.Authentication.ISystemClock)) { } - protected override string BuildChallengeUrl(Microsoft.AspNetCore.Authentication.AuthenticationProperties properties, string redirectUri) { throw null; } - [System.Diagnostics.DebuggerStepThroughAttribute] - protected override System.Threading.Tasks.Task<Microsoft.AspNetCore.Authentication.AuthenticationTicket> CreateTicketAsync(System.Security.Claims.ClaimsIdentity identity, Microsoft.AspNetCore.Authentication.AuthenticationProperties properties, Microsoft.AspNetCore.Authentication.OAuth.OAuthTokenResponse tokens) { throw null; } - } - public partial class MicrosoftAccountOptions : Microsoft.AspNetCore.Authentication.OAuth.OAuthOptions - { - public MicrosoftAccountOptions() { } - } - public partial class MicrosoftChallengeProperties : Microsoft.AspNetCore.Authentication.OAuth.OAuthChallengeProperties - { - public static readonly string DomainHintKey; - public static readonly string LoginHintKey; - public static readonly string PromptKey; - public static readonly string ResponseModeKey; - public MicrosoftChallengeProperties() { } - public MicrosoftChallengeProperties(System.Collections.Generic.IDictionary<string, string> items) { } - public MicrosoftChallengeProperties(System.Collections.Generic.IDictionary<string, string> items, System.Collections.Generic.IDictionary<string, object> parameters) { } - public string DomainHint { get { throw null; } set { } } - public string LoginHint { get { throw null; } set { } } - public string Prompt { get { throw null; } set { } } - public string ResponseMode { get { throw null; } set { } } - } -} -namespace Microsoft.Extensions.DependencyInjection -{ - public static partial class MicrosoftAccountExtensions - { - public static Microsoft.AspNetCore.Authentication.AuthenticationBuilder AddMicrosoftAccount(this Microsoft.AspNetCore.Authentication.AuthenticationBuilder builder) { throw null; } - public static Microsoft.AspNetCore.Authentication.AuthenticationBuilder AddMicrosoftAccount(this Microsoft.AspNetCore.Authentication.AuthenticationBuilder builder, System.Action<Microsoft.AspNetCore.Authentication.MicrosoftAccount.MicrosoftAccountOptions> configureOptions) { throw null; } - public static Microsoft.AspNetCore.Authentication.AuthenticationBuilder AddMicrosoftAccount(this Microsoft.AspNetCore.Authentication.AuthenticationBuilder builder, string authenticationScheme, System.Action<Microsoft.AspNetCore.Authentication.MicrosoftAccount.MicrosoftAccountOptions> configureOptions) { throw null; } - public static Microsoft.AspNetCore.Authentication.AuthenticationBuilder AddMicrosoftAccount(this Microsoft.AspNetCore.Authentication.AuthenticationBuilder builder, string authenticationScheme, string displayName, System.Action<Microsoft.AspNetCore.Authentication.MicrosoftAccount.MicrosoftAccountOptions> configureOptions) { throw null; } - } -} diff --git a/src/Security/Authentication/MicrosoftAccount/src/Microsoft.AspNetCore.Authentication.MicrosoftAccount.csproj b/src/Security/Authentication/MicrosoftAccount/src/Microsoft.AspNetCore.Authentication.MicrosoftAccount.csproj index 8f7ee4dc442d..0f2dc832cce1 100644 --- a/src/Security/Authentication/MicrosoftAccount/src/Microsoft.AspNetCore.Authentication.MicrosoftAccount.csproj +++ b/src/Security/Authentication/MicrosoftAccount/src/Microsoft.AspNetCore.Authentication.MicrosoftAccount.csproj @@ -6,7 +6,7 @@ <NoWarn>$(NoWarn);CS1591</NoWarn> <GenerateDocumentationFile>true</GenerateDocumentationFile> <PackageTags>aspnetcore;authentication;security</PackageTags> - <IsShippingPackage>true</IsShippingPackage> + <IsPackable>true</IsPackable> </PropertyGroup> <ItemGroup> diff --git a/src/Security/Authentication/Negotiate/ref/Microsoft.AspNetCore.Authentication.Negotiate.csproj b/src/Security/Authentication/Negotiate/ref/Microsoft.AspNetCore.Authentication.Negotiate.csproj deleted file mode 100644 index 1b93b39940a4..000000000000 --- a/src/Security/Authentication/Negotiate/ref/Microsoft.AspNetCore.Authentication.Negotiate.csproj +++ /dev/null @@ -1,12 +0,0 @@ -<!-- This file is automatically generated. --> -<Project Sdk="Microsoft.NET.Sdk"> - <PropertyGroup> - <TargetFrameworks>$(DefaultNetCoreTargetFramework)</TargetFrameworks> - </PropertyGroup> - <ItemGroup Condition="'$(TargetFramework)' == '$(DefaultNetCoreTargetFramework)'"> - <Compile Include="Microsoft.AspNetCore.Authentication.Negotiate.netcoreapp.cs" /> - <Reference Include="Microsoft.AspNetCore.Authentication" /> - <Reference Include="Microsoft.AspNetCore.Connections.Abstractions" /> - <Reference Include="Microsoft.AspNetCore.Hosting.Server.Abstractions" /> - </ItemGroup> -</Project> diff --git a/src/Security/Authentication/Negotiate/ref/Microsoft.AspNetCore.Authentication.Negotiate.netcoreapp.cs b/src/Security/Authentication/Negotiate/ref/Microsoft.AspNetCore.Authentication.Negotiate.netcoreapp.cs deleted file mode 100644 index 3dc01334234c..000000000000 --- a/src/Security/Authentication/Negotiate/ref/Microsoft.AspNetCore.Authentication.Negotiate.netcoreapp.cs +++ /dev/null @@ -1,69 +0,0 @@ -// Copyright (c) .NET Foundation. All rights reserved. -// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. - -namespace Microsoft.AspNetCore.Authentication.Negotiate -{ - public partial class AuthenticatedContext : Microsoft.AspNetCore.Authentication.ResultContext<Microsoft.AspNetCore.Authentication.Negotiate.NegotiateOptions> - { - public AuthenticatedContext(Microsoft.AspNetCore.Http.HttpContext context, Microsoft.AspNetCore.Authentication.AuthenticationScheme scheme, Microsoft.AspNetCore.Authentication.Negotiate.NegotiateOptions options) : base (default(Microsoft.AspNetCore.Http.HttpContext), default(Microsoft.AspNetCore.Authentication.AuthenticationScheme), default(Microsoft.AspNetCore.Authentication.Negotiate.NegotiateOptions)) { } - } - public partial class AuthenticationFailedContext : Microsoft.AspNetCore.Authentication.RemoteAuthenticationContext<Microsoft.AspNetCore.Authentication.Negotiate.NegotiateOptions> - { - public AuthenticationFailedContext(Microsoft.AspNetCore.Http.HttpContext context, Microsoft.AspNetCore.Authentication.AuthenticationScheme scheme, Microsoft.AspNetCore.Authentication.Negotiate.NegotiateOptions options) : base (default(Microsoft.AspNetCore.Http.HttpContext), default(Microsoft.AspNetCore.Authentication.AuthenticationScheme), default(Microsoft.AspNetCore.Authentication.Negotiate.NegotiateOptions), default(Microsoft.AspNetCore.Authentication.AuthenticationProperties)) { } - public System.Exception Exception { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute] set { } } - } - public partial class ChallengeContext : Microsoft.AspNetCore.Authentication.PropertiesContext<Microsoft.AspNetCore.Authentication.Negotiate.NegotiateOptions> - { - public ChallengeContext(Microsoft.AspNetCore.Http.HttpContext context, Microsoft.AspNetCore.Authentication.AuthenticationScheme scheme, Microsoft.AspNetCore.Authentication.Negotiate.NegotiateOptions options, Microsoft.AspNetCore.Authentication.AuthenticationProperties properties) : base (default(Microsoft.AspNetCore.Http.HttpContext), default(Microsoft.AspNetCore.Authentication.AuthenticationScheme), default(Microsoft.AspNetCore.Authentication.Negotiate.NegotiateOptions), default(Microsoft.AspNetCore.Authentication.AuthenticationProperties)) { } - public bool Handled { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } } - public void HandleResponse() { } - } - public static partial class NegotiateDefaults - { - public const string AuthenticationScheme = "Negotiate"; - } - public partial class NegotiateEvents - { - public NegotiateEvents() { } - public System.Func<Microsoft.AspNetCore.Authentication.Negotiate.AuthenticatedContext, System.Threading.Tasks.Task> OnAuthenticated { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute] set { } } - public System.Func<Microsoft.AspNetCore.Authentication.Negotiate.AuthenticationFailedContext, System.Threading.Tasks.Task> OnAuthenticationFailed { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute] set { } } - public System.Func<Microsoft.AspNetCore.Authentication.Negotiate.ChallengeContext, System.Threading.Tasks.Task> OnChallenge { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute] set { } } - public virtual System.Threading.Tasks.Task Authenticated(Microsoft.AspNetCore.Authentication.Negotiate.AuthenticatedContext context) { throw null; } - public virtual System.Threading.Tasks.Task AuthenticationFailed(Microsoft.AspNetCore.Authentication.Negotiate.AuthenticationFailedContext context) { throw null; } - public virtual System.Threading.Tasks.Task Challenge(Microsoft.AspNetCore.Authentication.Negotiate.ChallengeContext context) { throw null; } - } - public partial class NegotiateHandler : Microsoft.AspNetCore.Authentication.AuthenticationHandler<Microsoft.AspNetCore.Authentication.Negotiate.NegotiateOptions>, Microsoft.AspNetCore.Authentication.IAuthenticationHandler, Microsoft.AspNetCore.Authentication.IAuthenticationRequestHandler - { - public NegotiateHandler(Microsoft.Extensions.Options.IOptionsMonitor<Microsoft.AspNetCore.Authentication.Negotiate.NegotiateOptions> options, Microsoft.Extensions.Logging.ILoggerFactory logger, System.Text.Encodings.Web.UrlEncoder encoder, Microsoft.AspNetCore.Authentication.ISystemClock clock) : base (default(Microsoft.Extensions.Options.IOptionsMonitor<Microsoft.AspNetCore.Authentication.Negotiate.NegotiateOptions>), default(Microsoft.Extensions.Logging.ILoggerFactory), default(System.Text.Encodings.Web.UrlEncoder), default(Microsoft.AspNetCore.Authentication.ISystemClock)) { } - protected new Microsoft.AspNetCore.Authentication.Negotiate.NegotiateEvents Events { get { throw null; } set { } } - protected override System.Threading.Tasks.Task<object> CreateEventsAsync() { throw null; } - [System.Diagnostics.DebuggerStepThroughAttribute] - protected override System.Threading.Tasks.Task<Microsoft.AspNetCore.Authentication.AuthenticateResult> HandleAuthenticateAsync() { throw null; } - [System.Diagnostics.DebuggerStepThroughAttribute] - protected override System.Threading.Tasks.Task HandleChallengeAsync(Microsoft.AspNetCore.Authentication.AuthenticationProperties properties) { throw null; } - [System.Diagnostics.DebuggerStepThroughAttribute] - public System.Threading.Tasks.Task<bool> HandleRequestAsync() { throw null; } - } - public partial class NegotiateOptions : Microsoft.AspNetCore.Authentication.AuthenticationSchemeOptions - { - public NegotiateOptions() { } - public new Microsoft.AspNetCore.Authentication.Negotiate.NegotiateEvents Events { get { throw null; } set { } } - public bool PersistKerberosCredentials { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute] set { } } - public bool PersistNtlmCredentials { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute] set { } } - } - public partial class PostConfigureNegotiateOptions : Microsoft.Extensions.Options.IPostConfigureOptions<Microsoft.AspNetCore.Authentication.Negotiate.NegotiateOptions> - { - public PostConfigureNegotiateOptions(System.Collections.Generic.IEnumerable<Microsoft.AspNetCore.Hosting.Server.IServerIntegratedAuth> serverAuthServices, Microsoft.Extensions.Logging.ILogger<Microsoft.AspNetCore.Authentication.Negotiate.NegotiateHandler> logger) { } - public void PostConfigure(string name, Microsoft.AspNetCore.Authentication.Negotiate.NegotiateOptions options) { } - } -} -namespace Microsoft.Extensions.DependencyInjection -{ - public static partial class NegotiateExtensions - { - public static Microsoft.AspNetCore.Authentication.AuthenticationBuilder AddNegotiate(this Microsoft.AspNetCore.Authentication.AuthenticationBuilder builder) { throw null; } - public static Microsoft.AspNetCore.Authentication.AuthenticationBuilder AddNegotiate(this Microsoft.AspNetCore.Authentication.AuthenticationBuilder builder, System.Action<Microsoft.AspNetCore.Authentication.Negotiate.NegotiateOptions> configureOptions) { throw null; } - public static Microsoft.AspNetCore.Authentication.AuthenticationBuilder AddNegotiate(this Microsoft.AspNetCore.Authentication.AuthenticationBuilder builder, string authenticationScheme, System.Action<Microsoft.AspNetCore.Authentication.Negotiate.NegotiateOptions> configureOptions) { throw null; } - public static Microsoft.AspNetCore.Authentication.AuthenticationBuilder AddNegotiate(this Microsoft.AspNetCore.Authentication.AuthenticationBuilder builder, string authenticationScheme, string displayName, System.Action<Microsoft.AspNetCore.Authentication.Negotiate.NegotiateOptions> configureOptions) { throw null; } - } -} diff --git a/src/Security/Authentication/Negotiate/src/Microsoft.AspNetCore.Authentication.Negotiate.csproj b/src/Security/Authentication/Negotiate/src/Microsoft.AspNetCore.Authentication.Negotiate.csproj index cd7ef7ef557a..390c449d9fd9 100644 --- a/src/Security/Authentication/Negotiate/src/Microsoft.AspNetCore.Authentication.Negotiate.csproj +++ b/src/Security/Authentication/Negotiate/src/Microsoft.AspNetCore.Authentication.Negotiate.csproj @@ -5,7 +5,7 @@ <TargetFramework>$(DefaultNetCoreTargetFramework)</TargetFramework> <GenerateDocumentationFile>true</GenerateDocumentationFile> <PackageTags>aspnetcore;authentication;security</PackageTags> - <IsShippingPackage>true</IsShippingPackage> + <IsPackable>true</IsPackable> </PropertyGroup> <ItemGroup> diff --git a/src/Security/Authentication/OAuth/ref/Microsoft.AspNetCore.Authentication.OAuth.csproj b/src/Security/Authentication/OAuth/ref/Microsoft.AspNetCore.Authentication.OAuth.csproj index def1f59d1e9b..74f457dd811f 100644 --- a/src/Security/Authentication/OAuth/ref/Microsoft.AspNetCore.Authentication.OAuth.csproj +++ b/src/Security/Authentication/OAuth/ref/Microsoft.AspNetCore.Authentication.OAuth.csproj @@ -5,6 +5,6 @@ </PropertyGroup> <ItemGroup Condition="'$(TargetFramework)' == '$(DefaultNetCoreTargetFramework)'"> <Compile Include="Microsoft.AspNetCore.Authentication.OAuth.netcoreapp.cs" /> - <Reference Include="Microsoft.AspNetCore.Authentication" /> + <Reference Include="Microsoft.AspNetCore.Authentication" /> </ItemGroup> </Project> diff --git a/src/Security/Authentication/OAuth/src/Microsoft.AspNetCore.Authentication.OAuth.csproj b/src/Security/Authentication/OAuth/src/Microsoft.AspNetCore.Authentication.OAuth.csproj index 3afc116b34d8..d7855aec1a5b 100644 --- a/src/Security/Authentication/OAuth/src/Microsoft.AspNetCore.Authentication.OAuth.csproj +++ b/src/Security/Authentication/OAuth/src/Microsoft.AspNetCore.Authentication.OAuth.csproj @@ -7,7 +7,7 @@ <NoWarn>$(NoWarn);CS1591</NoWarn> <GenerateDocumentationFile>true</GenerateDocumentationFile> <PackageTags>aspnetcore;authentication;security</PackageTags> - <IsShippingPackage>false</IsShippingPackage> + <IsPackable>false</IsPackable> </PropertyGroup> <ItemGroup> diff --git a/src/Security/Authentication/OpenIdConnect/ref/Microsoft.AspNetCore.Authentication.OpenIdConnect.csproj b/src/Security/Authentication/OpenIdConnect/ref/Microsoft.AspNetCore.Authentication.OpenIdConnect.csproj deleted file mode 100644 index a5c4d9aa4cb9..000000000000 --- a/src/Security/Authentication/OpenIdConnect/ref/Microsoft.AspNetCore.Authentication.OpenIdConnect.csproj +++ /dev/null @@ -1,11 +0,0 @@ -<!-- This file is automatically generated. --> -<Project Sdk="Microsoft.NET.Sdk"> - <PropertyGroup> - <TargetFrameworks>$(DefaultNetCoreTargetFramework)</TargetFrameworks> - </PropertyGroup> - <ItemGroup Condition="'$(TargetFramework)' == '$(DefaultNetCoreTargetFramework)'"> - <Compile Include="Microsoft.AspNetCore.Authentication.OpenIdConnect.netcoreapp.cs" /> - <Reference Include="Microsoft.AspNetCore.Authentication.OAuth" /> - <Reference Include="Microsoft.IdentityModel.Protocols.OpenIdConnect" /> - </ItemGroup> -</Project> diff --git a/src/Security/Authentication/OpenIdConnect/ref/Microsoft.AspNetCore.Authentication.OpenIdConnect.netcoreapp.cs b/src/Security/Authentication/OpenIdConnect/ref/Microsoft.AspNetCore.Authentication.OpenIdConnect.netcoreapp.cs deleted file mode 100644 index 395acef0992e..000000000000 --- a/src/Security/Authentication/OpenIdConnect/ref/Microsoft.AspNetCore.Authentication.OpenIdConnect.netcoreapp.cs +++ /dev/null @@ -1,204 +0,0 @@ -// Copyright (c) .NET Foundation. All rights reserved. -// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. - -namespace Microsoft.AspNetCore.Authentication -{ - public static partial class ClaimActionCollectionUniqueExtensions - { - public static void MapUniqueJsonKey(this Microsoft.AspNetCore.Authentication.OAuth.Claims.ClaimActionCollection collection, string claimType, string jsonKey) { } - public static void MapUniqueJsonKey(this Microsoft.AspNetCore.Authentication.OAuth.Claims.ClaimActionCollection collection, string claimType, string jsonKey, string valueType) { } - } -} -namespace Microsoft.AspNetCore.Authentication.OpenIdConnect -{ - public partial class AuthenticationFailedContext : Microsoft.AspNetCore.Authentication.RemoteAuthenticationContext<Microsoft.AspNetCore.Authentication.OpenIdConnect.OpenIdConnectOptions> - { - public AuthenticationFailedContext(Microsoft.AspNetCore.Http.HttpContext context, Microsoft.AspNetCore.Authentication.AuthenticationScheme scheme, Microsoft.AspNetCore.Authentication.OpenIdConnect.OpenIdConnectOptions options) : base (default(Microsoft.AspNetCore.Http.HttpContext), default(Microsoft.AspNetCore.Authentication.AuthenticationScheme), default(Microsoft.AspNetCore.Authentication.OpenIdConnect.OpenIdConnectOptions), default(Microsoft.AspNetCore.Authentication.AuthenticationProperties)) { } - public System.Exception Exception { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute] set { } } - public Microsoft.IdentityModel.Protocols.OpenIdConnect.OpenIdConnectMessage ProtocolMessage { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute] set { } } - } - public partial class AuthorizationCodeReceivedContext : Microsoft.AspNetCore.Authentication.RemoteAuthenticationContext<Microsoft.AspNetCore.Authentication.OpenIdConnect.OpenIdConnectOptions> - { - public AuthorizationCodeReceivedContext(Microsoft.AspNetCore.Http.HttpContext context, Microsoft.AspNetCore.Authentication.AuthenticationScheme scheme, Microsoft.AspNetCore.Authentication.OpenIdConnect.OpenIdConnectOptions options, Microsoft.AspNetCore.Authentication.AuthenticationProperties properties) : base (default(Microsoft.AspNetCore.Http.HttpContext), default(Microsoft.AspNetCore.Authentication.AuthenticationScheme), default(Microsoft.AspNetCore.Authentication.OpenIdConnect.OpenIdConnectOptions), default(Microsoft.AspNetCore.Authentication.AuthenticationProperties)) { } - public System.Net.Http.HttpClient Backchannel { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } } - public bool HandledCodeRedemption { get { throw null; } } - public System.IdentityModel.Tokens.Jwt.JwtSecurityToken JwtSecurityToken { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute] set { } } - public Microsoft.IdentityModel.Protocols.OpenIdConnect.OpenIdConnectMessage ProtocolMessage { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute] set { } } - public Microsoft.IdentityModel.Protocols.OpenIdConnect.OpenIdConnectMessage TokenEndpointRequest { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute] set { } } - public Microsoft.IdentityModel.Protocols.OpenIdConnect.OpenIdConnectMessage TokenEndpointResponse { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute] set { } } - public void HandleCodeRedemption() { } - public void HandleCodeRedemption(Microsoft.IdentityModel.Protocols.OpenIdConnect.OpenIdConnectMessage tokenEndpointResponse) { } - public void HandleCodeRedemption(string accessToken, string idToken) { } - } - public partial class MessageReceivedContext : Microsoft.AspNetCore.Authentication.RemoteAuthenticationContext<Microsoft.AspNetCore.Authentication.OpenIdConnect.OpenIdConnectOptions> - { - public MessageReceivedContext(Microsoft.AspNetCore.Http.HttpContext context, Microsoft.AspNetCore.Authentication.AuthenticationScheme scheme, Microsoft.AspNetCore.Authentication.OpenIdConnect.OpenIdConnectOptions options, Microsoft.AspNetCore.Authentication.AuthenticationProperties properties) : base (default(Microsoft.AspNetCore.Http.HttpContext), default(Microsoft.AspNetCore.Authentication.AuthenticationScheme), default(Microsoft.AspNetCore.Authentication.OpenIdConnect.OpenIdConnectOptions), default(Microsoft.AspNetCore.Authentication.AuthenticationProperties)) { } - public Microsoft.IdentityModel.Protocols.OpenIdConnect.OpenIdConnectMessage ProtocolMessage { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute] set { } } - public string Token { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute] set { } } - } - public partial class OpenIdConnectChallengeProperties : Microsoft.AspNetCore.Authentication.OAuth.OAuthChallengeProperties - { - public static readonly string MaxAgeKey; - public static readonly string PromptKey; - public OpenIdConnectChallengeProperties() { } - public OpenIdConnectChallengeProperties(System.Collections.Generic.IDictionary<string, string> items) { } - public OpenIdConnectChallengeProperties(System.Collections.Generic.IDictionary<string, string> items, System.Collections.Generic.IDictionary<string, object> parameters) { } - public System.TimeSpan? MaxAge { get { throw null; } set { } } - public string Prompt { get { throw null; } set { } } - } - public static partial class OpenIdConnectDefaults - { - public static readonly string AuthenticationPropertiesKey; - public const string AuthenticationScheme = "OpenIdConnect"; - public static readonly string CookieNoncePrefix; - public static readonly string DisplayName; - public static readonly string RedirectUriForCodePropertiesKey; - public static readonly string UserstatePropertiesKey; - } - public partial class OpenIdConnectEvents : Microsoft.AspNetCore.Authentication.RemoteAuthenticationEvents - { - public OpenIdConnectEvents() { } - public System.Func<Microsoft.AspNetCore.Authentication.OpenIdConnect.AuthenticationFailedContext, System.Threading.Tasks.Task> OnAuthenticationFailed { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute] set { } } - public System.Func<Microsoft.AspNetCore.Authentication.OpenIdConnect.AuthorizationCodeReceivedContext, System.Threading.Tasks.Task> OnAuthorizationCodeReceived { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute] set { } } - public System.Func<Microsoft.AspNetCore.Authentication.OpenIdConnect.MessageReceivedContext, System.Threading.Tasks.Task> OnMessageReceived { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute] set { } } - public System.Func<Microsoft.AspNetCore.Authentication.OpenIdConnect.RedirectContext, System.Threading.Tasks.Task> OnRedirectToIdentityProvider { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute] set { } } - public System.Func<Microsoft.AspNetCore.Authentication.OpenIdConnect.RedirectContext, System.Threading.Tasks.Task> OnRedirectToIdentityProviderForSignOut { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute] set { } } - public System.Func<Microsoft.AspNetCore.Authentication.OpenIdConnect.RemoteSignOutContext, System.Threading.Tasks.Task> OnRemoteSignOut { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute] set { } } - public System.Func<Microsoft.AspNetCore.Authentication.OpenIdConnect.RemoteSignOutContext, System.Threading.Tasks.Task> OnSignedOutCallbackRedirect { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute] set { } } - public System.Func<Microsoft.AspNetCore.Authentication.OpenIdConnect.TokenResponseReceivedContext, System.Threading.Tasks.Task> OnTokenResponseReceived { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute] set { } } - public System.Func<Microsoft.AspNetCore.Authentication.OpenIdConnect.TokenValidatedContext, System.Threading.Tasks.Task> OnTokenValidated { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute] set { } } - public System.Func<Microsoft.AspNetCore.Authentication.OpenIdConnect.UserInformationReceivedContext, System.Threading.Tasks.Task> OnUserInformationReceived { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute] set { } } - public virtual System.Threading.Tasks.Task AuthenticationFailed(Microsoft.AspNetCore.Authentication.OpenIdConnect.AuthenticationFailedContext context) { throw null; } - public virtual System.Threading.Tasks.Task AuthorizationCodeReceived(Microsoft.AspNetCore.Authentication.OpenIdConnect.AuthorizationCodeReceivedContext context) { throw null; } - public virtual System.Threading.Tasks.Task MessageReceived(Microsoft.AspNetCore.Authentication.OpenIdConnect.MessageReceivedContext context) { throw null; } - public virtual System.Threading.Tasks.Task RedirectToIdentityProvider(Microsoft.AspNetCore.Authentication.OpenIdConnect.RedirectContext context) { throw null; } - public virtual System.Threading.Tasks.Task RedirectToIdentityProviderForSignOut(Microsoft.AspNetCore.Authentication.OpenIdConnect.RedirectContext context) { throw null; } - public virtual System.Threading.Tasks.Task RemoteSignOut(Microsoft.AspNetCore.Authentication.OpenIdConnect.RemoteSignOutContext context) { throw null; } - public virtual System.Threading.Tasks.Task SignedOutCallbackRedirect(Microsoft.AspNetCore.Authentication.OpenIdConnect.RemoteSignOutContext context) { throw null; } - public virtual System.Threading.Tasks.Task TokenResponseReceived(Microsoft.AspNetCore.Authentication.OpenIdConnect.TokenResponseReceivedContext context) { throw null; } - public virtual System.Threading.Tasks.Task TokenValidated(Microsoft.AspNetCore.Authentication.OpenIdConnect.TokenValidatedContext context) { throw null; } - public virtual System.Threading.Tasks.Task UserInformationReceived(Microsoft.AspNetCore.Authentication.OpenIdConnect.UserInformationReceivedContext context) { throw null; } - } - public partial class OpenIdConnectHandler : Microsoft.AspNetCore.Authentication.RemoteAuthenticationHandler<Microsoft.AspNetCore.Authentication.OpenIdConnect.OpenIdConnectOptions>, Microsoft.AspNetCore.Authentication.IAuthenticationHandler, Microsoft.AspNetCore.Authentication.IAuthenticationSignOutHandler - { - public OpenIdConnectHandler(Microsoft.Extensions.Options.IOptionsMonitor<Microsoft.AspNetCore.Authentication.OpenIdConnect.OpenIdConnectOptions> options, Microsoft.Extensions.Logging.ILoggerFactory logger, System.Text.Encodings.Web.HtmlEncoder htmlEncoder, System.Text.Encodings.Web.UrlEncoder encoder, Microsoft.AspNetCore.Authentication.ISystemClock clock) : base (default(Microsoft.Extensions.Options.IOptionsMonitor<Microsoft.AspNetCore.Authentication.OpenIdConnect.OpenIdConnectOptions>), default(Microsoft.Extensions.Logging.ILoggerFactory), default(System.Text.Encodings.Web.UrlEncoder), default(Microsoft.AspNetCore.Authentication.ISystemClock)) { } - protected System.Net.Http.HttpClient Backchannel { get { throw null; } } - protected new Microsoft.AspNetCore.Authentication.OpenIdConnect.OpenIdConnectEvents Events { get { throw null; } set { } } - protected System.Text.Encodings.Web.HtmlEncoder HtmlEncoder { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } } - protected override System.Threading.Tasks.Task<object> CreateEventsAsync() { throw null; } - [System.Diagnostics.DebuggerStepThroughAttribute] - protected virtual System.Threading.Tasks.Task<Microsoft.AspNetCore.Authentication.HandleRequestResult> GetUserInformationAsync(Microsoft.IdentityModel.Protocols.OpenIdConnect.OpenIdConnectMessage message, System.IdentityModel.Tokens.Jwt.JwtSecurityToken jwt, System.Security.Claims.ClaimsPrincipal principal, Microsoft.AspNetCore.Authentication.AuthenticationProperties properties) { throw null; } - [System.Diagnostics.DebuggerStepThroughAttribute] - protected override System.Threading.Tasks.Task HandleChallengeAsync(Microsoft.AspNetCore.Authentication.AuthenticationProperties properties) { throw null; } - [System.Diagnostics.DebuggerStepThroughAttribute] - protected override System.Threading.Tasks.Task<Microsoft.AspNetCore.Authentication.HandleRequestResult> HandleRemoteAuthenticateAsync() { throw null; } - [System.Diagnostics.DebuggerStepThroughAttribute] - protected virtual System.Threading.Tasks.Task<bool> HandleRemoteSignOutAsync() { throw null; } - public override System.Threading.Tasks.Task<bool> HandleRequestAsync() { throw null; } - [System.Diagnostics.DebuggerStepThroughAttribute] - protected virtual System.Threading.Tasks.Task<bool> HandleSignOutCallbackAsync() { throw null; } - [System.Diagnostics.DebuggerStepThroughAttribute] - protected virtual System.Threading.Tasks.Task<Microsoft.IdentityModel.Protocols.OpenIdConnect.OpenIdConnectMessage> RedeemAuthorizationCodeAsync(Microsoft.IdentityModel.Protocols.OpenIdConnect.OpenIdConnectMessage tokenEndpointRequest) { throw null; } - [System.Diagnostics.DebuggerStepThroughAttribute] - public virtual System.Threading.Tasks.Task SignOutAsync(Microsoft.AspNetCore.Authentication.AuthenticationProperties properties) { throw null; } - } - public partial class OpenIdConnectOptions : Microsoft.AspNetCore.Authentication.RemoteAuthenticationOptions - { - public OpenIdConnectOptions() { } - public Microsoft.AspNetCore.Authentication.OpenIdConnect.OpenIdConnectRedirectBehavior AuthenticationMethod { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute] set { } } - public string Authority { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute] set { } } - public System.TimeSpan AutomaticRefreshInterval { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute] set { } } - public Microsoft.AspNetCore.Authentication.OAuth.Claims.ClaimActionCollection ClaimActions { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } } - public string ClientId { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute] set { } } - public string ClientSecret { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute] set { } } - public Microsoft.IdentityModel.Protocols.OpenIdConnect.OpenIdConnectConfiguration Configuration { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute] set { } } - public Microsoft.IdentityModel.Protocols.IConfigurationManager<Microsoft.IdentityModel.Protocols.OpenIdConnect.OpenIdConnectConfiguration> ConfigurationManager { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute] set { } } - public bool DisableTelemetry { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute] set { } } - public new Microsoft.AspNetCore.Authentication.OpenIdConnect.OpenIdConnectEvents Events { get { throw null; } set { } } - public bool GetClaimsFromUserInfoEndpoint { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute] set { } } - public System.TimeSpan? MaxAge { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute] set { } } - public string MetadataAddress { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute] set { } } - public Microsoft.AspNetCore.Http.CookieBuilder NonceCookie { get { throw null; } set { } } - public string Prompt { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute] set { } } - public Microsoft.IdentityModel.Protocols.OpenIdConnect.OpenIdConnectProtocolValidator ProtocolValidator { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute] set { } } - public System.TimeSpan RefreshInterval { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute] set { } } - public bool RefreshOnIssuerKeyNotFound { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute] set { } } - public Microsoft.AspNetCore.Http.PathString RemoteSignOutPath { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute] set { } } - public bool RequireHttpsMetadata { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute] set { } } - public string Resource { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute] set { } } - public string ResponseMode { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute] set { } } - public string ResponseType { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute] set { } } - public System.Collections.Generic.ICollection<string> Scope { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } } - public Microsoft.IdentityModel.Tokens.ISecurityTokenValidator SecurityTokenValidator { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute] set { } } - public Microsoft.AspNetCore.Http.PathString SignedOutCallbackPath { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute] set { } } - public string SignedOutRedirectUri { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute] set { } } - public string SignOutScheme { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute] set { } } - public bool SkipUnrecognizedRequests { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute] set { } } - public Microsoft.AspNetCore.Authentication.ISecureDataFormat<Microsoft.AspNetCore.Authentication.AuthenticationProperties> StateDataFormat { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute] set { } } - public Microsoft.AspNetCore.Authentication.ISecureDataFormat<string> StringDataFormat { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute] set { } } - public Microsoft.IdentityModel.Tokens.TokenValidationParameters TokenValidationParameters { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute] set { } } - public bool UsePkce { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute] set { } } - public bool UseTokenLifetime { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute] set { } } - public override void Validate() { } - } - public partial class OpenIdConnectPostConfigureOptions : Microsoft.Extensions.Options.IPostConfigureOptions<Microsoft.AspNetCore.Authentication.OpenIdConnect.OpenIdConnectOptions> - { - public OpenIdConnectPostConfigureOptions(Microsoft.AspNetCore.DataProtection.IDataProtectionProvider dataProtection) { } - public void PostConfigure(string name, Microsoft.AspNetCore.Authentication.OpenIdConnect.OpenIdConnectOptions options) { } - } - public enum OpenIdConnectRedirectBehavior - { - RedirectGet = 0, - FormPost = 1, - } - public partial class RedirectContext : Microsoft.AspNetCore.Authentication.PropertiesContext<Microsoft.AspNetCore.Authentication.OpenIdConnect.OpenIdConnectOptions> - { - public RedirectContext(Microsoft.AspNetCore.Http.HttpContext context, Microsoft.AspNetCore.Authentication.AuthenticationScheme scheme, Microsoft.AspNetCore.Authentication.OpenIdConnect.OpenIdConnectOptions options, Microsoft.AspNetCore.Authentication.AuthenticationProperties properties) : base (default(Microsoft.AspNetCore.Http.HttpContext), default(Microsoft.AspNetCore.Authentication.AuthenticationScheme), default(Microsoft.AspNetCore.Authentication.OpenIdConnect.OpenIdConnectOptions), default(Microsoft.AspNetCore.Authentication.AuthenticationProperties)) { } - public bool Handled { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } } - public Microsoft.IdentityModel.Protocols.OpenIdConnect.OpenIdConnectMessage ProtocolMessage { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute] set { } } - public void HandleResponse() { } - } - public partial class RemoteSignOutContext : Microsoft.AspNetCore.Authentication.RemoteAuthenticationContext<Microsoft.AspNetCore.Authentication.OpenIdConnect.OpenIdConnectOptions> - { - public RemoteSignOutContext(Microsoft.AspNetCore.Http.HttpContext context, Microsoft.AspNetCore.Authentication.AuthenticationScheme scheme, Microsoft.AspNetCore.Authentication.OpenIdConnect.OpenIdConnectOptions options, Microsoft.IdentityModel.Protocols.OpenIdConnect.OpenIdConnectMessage message) : base (default(Microsoft.AspNetCore.Http.HttpContext), default(Microsoft.AspNetCore.Authentication.AuthenticationScheme), default(Microsoft.AspNetCore.Authentication.OpenIdConnect.OpenIdConnectOptions), default(Microsoft.AspNetCore.Authentication.AuthenticationProperties)) { } - public Microsoft.IdentityModel.Protocols.OpenIdConnect.OpenIdConnectMessage ProtocolMessage { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute] set { } } - } - public partial class TokenResponseReceivedContext : Microsoft.AspNetCore.Authentication.RemoteAuthenticationContext<Microsoft.AspNetCore.Authentication.OpenIdConnect.OpenIdConnectOptions> - { - public TokenResponseReceivedContext(Microsoft.AspNetCore.Http.HttpContext context, Microsoft.AspNetCore.Authentication.AuthenticationScheme scheme, Microsoft.AspNetCore.Authentication.OpenIdConnect.OpenIdConnectOptions options, System.Security.Claims.ClaimsPrincipal user, Microsoft.AspNetCore.Authentication.AuthenticationProperties properties) : base (default(Microsoft.AspNetCore.Http.HttpContext), default(Microsoft.AspNetCore.Authentication.AuthenticationScheme), default(Microsoft.AspNetCore.Authentication.OpenIdConnect.OpenIdConnectOptions), default(Microsoft.AspNetCore.Authentication.AuthenticationProperties)) { } - public Microsoft.IdentityModel.Protocols.OpenIdConnect.OpenIdConnectMessage ProtocolMessage { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute] set { } } - public Microsoft.IdentityModel.Protocols.OpenIdConnect.OpenIdConnectMessage TokenEndpointResponse { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute] set { } } - } - public partial class TokenValidatedContext : Microsoft.AspNetCore.Authentication.RemoteAuthenticationContext<Microsoft.AspNetCore.Authentication.OpenIdConnect.OpenIdConnectOptions> - { - public TokenValidatedContext(Microsoft.AspNetCore.Http.HttpContext context, Microsoft.AspNetCore.Authentication.AuthenticationScheme scheme, Microsoft.AspNetCore.Authentication.OpenIdConnect.OpenIdConnectOptions options, System.Security.Claims.ClaimsPrincipal principal, Microsoft.AspNetCore.Authentication.AuthenticationProperties properties) : base (default(Microsoft.AspNetCore.Http.HttpContext), default(Microsoft.AspNetCore.Authentication.AuthenticationScheme), default(Microsoft.AspNetCore.Authentication.OpenIdConnect.OpenIdConnectOptions), default(Microsoft.AspNetCore.Authentication.AuthenticationProperties)) { } - public string Nonce { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute] set { } } - public Microsoft.IdentityModel.Protocols.OpenIdConnect.OpenIdConnectMessage ProtocolMessage { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute] set { } } - public System.IdentityModel.Tokens.Jwt.JwtSecurityToken SecurityToken { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute] set { } } - public Microsoft.IdentityModel.Protocols.OpenIdConnect.OpenIdConnectMessage TokenEndpointResponse { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute] set { } } - } - public partial class UserInformationReceivedContext : Microsoft.AspNetCore.Authentication.RemoteAuthenticationContext<Microsoft.AspNetCore.Authentication.OpenIdConnect.OpenIdConnectOptions> - { - public UserInformationReceivedContext(Microsoft.AspNetCore.Http.HttpContext context, Microsoft.AspNetCore.Authentication.AuthenticationScheme scheme, Microsoft.AspNetCore.Authentication.OpenIdConnect.OpenIdConnectOptions options, System.Security.Claims.ClaimsPrincipal principal, Microsoft.AspNetCore.Authentication.AuthenticationProperties properties) : base (default(Microsoft.AspNetCore.Http.HttpContext), default(Microsoft.AspNetCore.Authentication.AuthenticationScheme), default(Microsoft.AspNetCore.Authentication.OpenIdConnect.OpenIdConnectOptions), default(Microsoft.AspNetCore.Authentication.AuthenticationProperties)) { } - public Microsoft.IdentityModel.Protocols.OpenIdConnect.OpenIdConnectMessage ProtocolMessage { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute] set { } } - public System.Text.Json.JsonDocument User { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute] set { } } - } -} -namespace Microsoft.AspNetCore.Authentication.OpenIdConnect.Claims -{ - public partial class UniqueJsonKeyClaimAction : Microsoft.AspNetCore.Authentication.OAuth.Claims.JsonKeyClaimAction - { - public UniqueJsonKeyClaimAction(string claimType, string valueType, string jsonKey) : base (default(string), default(string), default(string)) { } - public override void Run(System.Text.Json.JsonElement userData, System.Security.Claims.ClaimsIdentity identity, string issuer) { } - } -} -namespace Microsoft.Extensions.DependencyInjection -{ - public static partial class OpenIdConnectExtensions - { - public static Microsoft.AspNetCore.Authentication.AuthenticationBuilder AddOpenIdConnect(this Microsoft.AspNetCore.Authentication.AuthenticationBuilder builder) { throw null; } - public static Microsoft.AspNetCore.Authentication.AuthenticationBuilder AddOpenIdConnect(this Microsoft.AspNetCore.Authentication.AuthenticationBuilder builder, System.Action<Microsoft.AspNetCore.Authentication.OpenIdConnect.OpenIdConnectOptions> configureOptions) { throw null; } - public static Microsoft.AspNetCore.Authentication.AuthenticationBuilder AddOpenIdConnect(this Microsoft.AspNetCore.Authentication.AuthenticationBuilder builder, string authenticationScheme, System.Action<Microsoft.AspNetCore.Authentication.OpenIdConnect.OpenIdConnectOptions> configureOptions) { throw null; } - public static Microsoft.AspNetCore.Authentication.AuthenticationBuilder AddOpenIdConnect(this Microsoft.AspNetCore.Authentication.AuthenticationBuilder builder, string authenticationScheme, string displayName, System.Action<Microsoft.AspNetCore.Authentication.OpenIdConnect.OpenIdConnectOptions> configureOptions) { throw null; } - } -} diff --git a/src/Security/Authentication/OpenIdConnect/src/Microsoft.AspNetCore.Authentication.OpenIdConnect.csproj b/src/Security/Authentication/OpenIdConnect/src/Microsoft.AspNetCore.Authentication.OpenIdConnect.csproj index 79b6de0fbf78..8a6c82928d97 100644 --- a/src/Security/Authentication/OpenIdConnect/src/Microsoft.AspNetCore.Authentication.OpenIdConnect.csproj +++ b/src/Security/Authentication/OpenIdConnect/src/Microsoft.AspNetCore.Authentication.OpenIdConnect.csproj @@ -6,7 +6,7 @@ <NoWarn>$(NoWarn);CS1591</NoWarn> <GenerateDocumentationFile>true</GenerateDocumentationFile> <PackageTags>aspnetcore;authentication;security</PackageTags> - <IsShippingPackage>true</IsShippingPackage> + <IsPackable>true</IsPackable> </PropertyGroup> <ItemGroup> diff --git a/src/Security/Authentication/Twitter/ref/Microsoft.AspNetCore.Authentication.Twitter.csproj b/src/Security/Authentication/Twitter/ref/Microsoft.AspNetCore.Authentication.Twitter.csproj deleted file mode 100644 index b5da56a67eee..000000000000 --- a/src/Security/Authentication/Twitter/ref/Microsoft.AspNetCore.Authentication.Twitter.csproj +++ /dev/null @@ -1,10 +0,0 @@ -<!-- This file is automatically generated. --> -<Project Sdk="Microsoft.NET.Sdk"> - <PropertyGroup> - <TargetFrameworks>$(DefaultNetCoreTargetFramework)</TargetFrameworks> - </PropertyGroup> - <ItemGroup Condition="'$(TargetFramework)' == '$(DefaultNetCoreTargetFramework)'"> - <Compile Include="Microsoft.AspNetCore.Authentication.Twitter.netcoreapp.cs" /> - <Reference Include="Microsoft.AspNetCore.Authentication.OAuth" /> - </ItemGroup> -</Project> diff --git a/src/Security/Authentication/Twitter/ref/Microsoft.AspNetCore.Authentication.Twitter.netcoreapp.cs b/src/Security/Authentication/Twitter/ref/Microsoft.AspNetCore.Authentication.Twitter.netcoreapp.cs deleted file mode 100644 index 24c727c3528c..000000000000 --- a/src/Security/Authentication/Twitter/ref/Microsoft.AspNetCore.Authentication.Twitter.netcoreapp.cs +++ /dev/null @@ -1,89 +0,0 @@ -// Copyright (c) .NET Foundation. All rights reserved. -// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. - -namespace Microsoft.AspNetCore.Authentication.Twitter -{ - public partial class AccessToken : Microsoft.AspNetCore.Authentication.Twitter.RequestToken - { - public AccessToken() { } - public string ScreenName { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute] set { } } - public string UserId { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute] set { } } - } - public partial class RequestToken - { - public RequestToken() { } - public bool CallbackConfirmed { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute] set { } } - public Microsoft.AspNetCore.Authentication.AuthenticationProperties Properties { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute] set { } } - public string Token { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute] set { } } - public string TokenSecret { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute] set { } } - } - public partial class RequestTokenSerializer : Microsoft.AspNetCore.Authentication.IDataSerializer<Microsoft.AspNetCore.Authentication.Twitter.RequestToken> - { - public RequestTokenSerializer() { } - public virtual Microsoft.AspNetCore.Authentication.Twitter.RequestToken Deserialize(byte[] data) { throw null; } - public static Microsoft.AspNetCore.Authentication.Twitter.RequestToken Read(System.IO.BinaryReader reader) { throw null; } - public virtual byte[] Serialize(Microsoft.AspNetCore.Authentication.Twitter.RequestToken model) { throw null; } - public static void Write(System.IO.BinaryWriter writer, Microsoft.AspNetCore.Authentication.Twitter.RequestToken token) { } - } - public partial class TwitterCreatingTicketContext : Microsoft.AspNetCore.Authentication.ResultContext<Microsoft.AspNetCore.Authentication.Twitter.TwitterOptions> - { - public TwitterCreatingTicketContext(Microsoft.AspNetCore.Http.HttpContext context, Microsoft.AspNetCore.Authentication.AuthenticationScheme scheme, Microsoft.AspNetCore.Authentication.Twitter.TwitterOptions options, System.Security.Claims.ClaimsPrincipal principal, Microsoft.AspNetCore.Authentication.AuthenticationProperties properties, string userId, string screenName, string accessToken, string accessTokenSecret, System.Text.Json.JsonElement user) : base (default(Microsoft.AspNetCore.Http.HttpContext), default(Microsoft.AspNetCore.Authentication.AuthenticationScheme), default(Microsoft.AspNetCore.Authentication.Twitter.TwitterOptions)) { } - public string AccessToken { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } } - public string AccessTokenSecret { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } } - public string ScreenName { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } } - public System.Text.Json.JsonElement User { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } } - public string UserId { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } } - } - public static partial class TwitterDefaults - { - public const string AuthenticationScheme = "Twitter"; - public static readonly string DisplayName; - } - public partial class TwitterEvents : Microsoft.AspNetCore.Authentication.RemoteAuthenticationEvents - { - public TwitterEvents() { } - public System.Func<Microsoft.AspNetCore.Authentication.Twitter.TwitterCreatingTicketContext, System.Threading.Tasks.Task> OnCreatingTicket { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute] set { } } - public System.Func<Microsoft.AspNetCore.Authentication.RedirectContext<Microsoft.AspNetCore.Authentication.Twitter.TwitterOptions>, System.Threading.Tasks.Task> OnRedirectToAuthorizationEndpoint { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute] set { } } - public virtual System.Threading.Tasks.Task CreatingTicket(Microsoft.AspNetCore.Authentication.Twitter.TwitterCreatingTicketContext context) { throw null; } - public virtual System.Threading.Tasks.Task RedirectToAuthorizationEndpoint(Microsoft.AspNetCore.Authentication.RedirectContext<Microsoft.AspNetCore.Authentication.Twitter.TwitterOptions> context) { throw null; } - } - public partial class TwitterHandler : Microsoft.AspNetCore.Authentication.RemoteAuthenticationHandler<Microsoft.AspNetCore.Authentication.Twitter.TwitterOptions> - { - public TwitterHandler(Microsoft.Extensions.Options.IOptionsMonitor<Microsoft.AspNetCore.Authentication.Twitter.TwitterOptions> options, Microsoft.Extensions.Logging.ILoggerFactory logger, System.Text.Encodings.Web.UrlEncoder encoder, Microsoft.AspNetCore.Authentication.ISystemClock clock) : base (default(Microsoft.Extensions.Options.IOptionsMonitor<Microsoft.AspNetCore.Authentication.Twitter.TwitterOptions>), default(Microsoft.Extensions.Logging.ILoggerFactory), default(System.Text.Encodings.Web.UrlEncoder), default(Microsoft.AspNetCore.Authentication.ISystemClock)) { } - protected new Microsoft.AspNetCore.Authentication.Twitter.TwitterEvents Events { get { throw null; } set { } } - protected override System.Threading.Tasks.Task<object> CreateEventsAsync() { throw null; } - [System.Diagnostics.DebuggerStepThroughAttribute] - protected virtual System.Threading.Tasks.Task<Microsoft.AspNetCore.Authentication.AuthenticationTicket> CreateTicketAsync(System.Security.Claims.ClaimsIdentity identity, Microsoft.AspNetCore.Authentication.AuthenticationProperties properties, Microsoft.AspNetCore.Authentication.Twitter.AccessToken token, System.Text.Json.JsonElement user) { throw null; } - [System.Diagnostics.DebuggerStepThroughAttribute] - protected override System.Threading.Tasks.Task HandleChallengeAsync(Microsoft.AspNetCore.Authentication.AuthenticationProperties properties) { throw null; } - [System.Diagnostics.DebuggerStepThroughAttribute] - protected override System.Threading.Tasks.Task<Microsoft.AspNetCore.Authentication.HandleRequestResult> HandleRemoteAuthenticateAsync() { throw null; } - } - public partial class TwitterOptions : Microsoft.AspNetCore.Authentication.RemoteAuthenticationOptions - { - public TwitterOptions() { } - public Microsoft.AspNetCore.Authentication.OAuth.Claims.ClaimActionCollection ClaimActions { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } } - public string ConsumerKey { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute] set { } } - public string ConsumerSecret { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute] set { } } - public new Microsoft.AspNetCore.Authentication.Twitter.TwitterEvents Events { get { throw null; } set { } } - public bool RetrieveUserDetails { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute] set { } } - public Microsoft.AspNetCore.Http.CookieBuilder StateCookie { get { throw null; } set { } } - public Microsoft.AspNetCore.Authentication.ISecureDataFormat<Microsoft.AspNetCore.Authentication.Twitter.RequestToken> StateDataFormat { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute] set { } } - public override void Validate() { } - } - public partial class TwitterPostConfigureOptions : Microsoft.Extensions.Options.IPostConfigureOptions<Microsoft.AspNetCore.Authentication.Twitter.TwitterOptions> - { - public TwitterPostConfigureOptions(Microsoft.AspNetCore.DataProtection.IDataProtectionProvider dataProtection) { } - public void PostConfigure(string name, Microsoft.AspNetCore.Authentication.Twitter.TwitterOptions options) { } - } -} -namespace Microsoft.Extensions.DependencyInjection -{ - public static partial class TwitterExtensions - { - public static Microsoft.AspNetCore.Authentication.AuthenticationBuilder AddTwitter(this Microsoft.AspNetCore.Authentication.AuthenticationBuilder builder) { throw null; } - public static Microsoft.AspNetCore.Authentication.AuthenticationBuilder AddTwitter(this Microsoft.AspNetCore.Authentication.AuthenticationBuilder builder, System.Action<Microsoft.AspNetCore.Authentication.Twitter.TwitterOptions> configureOptions) { throw null; } - public static Microsoft.AspNetCore.Authentication.AuthenticationBuilder AddTwitter(this Microsoft.AspNetCore.Authentication.AuthenticationBuilder builder, string authenticationScheme, System.Action<Microsoft.AspNetCore.Authentication.Twitter.TwitterOptions> configureOptions) { throw null; } - public static Microsoft.AspNetCore.Authentication.AuthenticationBuilder AddTwitter(this Microsoft.AspNetCore.Authentication.AuthenticationBuilder builder, string authenticationScheme, string displayName, System.Action<Microsoft.AspNetCore.Authentication.Twitter.TwitterOptions> configureOptions) { throw null; } - } -} diff --git a/src/Security/Authentication/Twitter/src/Microsoft.AspNetCore.Authentication.Twitter.csproj b/src/Security/Authentication/Twitter/src/Microsoft.AspNetCore.Authentication.Twitter.csproj index 51f01cbd3f7b..c59a0fb276bb 100644 --- a/src/Security/Authentication/Twitter/src/Microsoft.AspNetCore.Authentication.Twitter.csproj +++ b/src/Security/Authentication/Twitter/src/Microsoft.AspNetCore.Authentication.Twitter.csproj @@ -6,7 +6,7 @@ <NoWarn>$(NoWarn);CS1591</NoWarn> <GenerateDocumentationFile>true</GenerateDocumentationFile> <PackageTags>aspnetcore;authentication;security</PackageTags> - <IsShippingPackage>true</IsShippingPackage> + <IsPackable>true</IsPackable> </PropertyGroup> <ItemGroup> diff --git a/src/Security/Authentication/WsFederation/ref/Microsoft.AspNetCore.Authentication.WsFederation.csproj b/src/Security/Authentication/WsFederation/ref/Microsoft.AspNetCore.Authentication.WsFederation.csproj deleted file mode 100644 index f3c624b7bd33..000000000000 --- a/src/Security/Authentication/WsFederation/ref/Microsoft.AspNetCore.Authentication.WsFederation.csproj +++ /dev/null @@ -1,12 +0,0 @@ -<!-- This file is automatically generated. --> -<Project Sdk="Microsoft.NET.Sdk"> - <PropertyGroup> - <TargetFrameworks>$(DefaultNetCoreTargetFramework)</TargetFrameworks> - </PropertyGroup> - <ItemGroup Condition="'$(TargetFramework)' == '$(DefaultNetCoreTargetFramework)'"> - <Compile Include="Microsoft.AspNetCore.Authentication.WsFederation.netcoreapp.cs" /> - <Reference Include="Microsoft.AspNetCore.Authentication" /> - <Reference Include="Microsoft.IdentityModel.Protocols.WsFederation" /> - <Reference Include="System.IdentityModel.Tokens.Jwt" /> - </ItemGroup> -</Project> diff --git a/src/Security/Authentication/WsFederation/ref/Microsoft.AspNetCore.Authentication.WsFederation.netcoreapp.cs b/src/Security/Authentication/WsFederation/ref/Microsoft.AspNetCore.Authentication.WsFederation.netcoreapp.cs deleted file mode 100644 index e2b391fd1e10..000000000000 --- a/src/Security/Authentication/WsFederation/ref/Microsoft.AspNetCore.Authentication.WsFederation.netcoreapp.cs +++ /dev/null @@ -1,116 +0,0 @@ -// Copyright (c) .NET Foundation. All rights reserved. -// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. - -namespace Microsoft.AspNetCore.Authentication.WsFederation -{ - public partial class AuthenticationFailedContext : Microsoft.AspNetCore.Authentication.RemoteAuthenticationContext<Microsoft.AspNetCore.Authentication.WsFederation.WsFederationOptions> - { - public AuthenticationFailedContext(Microsoft.AspNetCore.Http.HttpContext context, Microsoft.AspNetCore.Authentication.AuthenticationScheme scheme, Microsoft.AspNetCore.Authentication.WsFederation.WsFederationOptions options) : base (default(Microsoft.AspNetCore.Http.HttpContext), default(Microsoft.AspNetCore.Authentication.AuthenticationScheme), default(Microsoft.AspNetCore.Authentication.WsFederation.WsFederationOptions), default(Microsoft.AspNetCore.Authentication.AuthenticationProperties)) { } - public System.Exception Exception { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute] set { } } - public Microsoft.IdentityModel.Protocols.WsFederation.WsFederationMessage ProtocolMessage { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute] set { } } - } - public partial class MessageReceivedContext : Microsoft.AspNetCore.Authentication.RemoteAuthenticationContext<Microsoft.AspNetCore.Authentication.WsFederation.WsFederationOptions> - { - public MessageReceivedContext(Microsoft.AspNetCore.Http.HttpContext context, Microsoft.AspNetCore.Authentication.AuthenticationScheme scheme, Microsoft.AspNetCore.Authentication.WsFederation.WsFederationOptions options, Microsoft.AspNetCore.Authentication.AuthenticationProperties properties) : base (default(Microsoft.AspNetCore.Http.HttpContext), default(Microsoft.AspNetCore.Authentication.AuthenticationScheme), default(Microsoft.AspNetCore.Authentication.WsFederation.WsFederationOptions), default(Microsoft.AspNetCore.Authentication.AuthenticationProperties)) { } - public Microsoft.IdentityModel.Protocols.WsFederation.WsFederationMessage ProtocolMessage { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute] set { } } - } - public partial class RedirectContext : Microsoft.AspNetCore.Authentication.PropertiesContext<Microsoft.AspNetCore.Authentication.WsFederation.WsFederationOptions> - { - public RedirectContext(Microsoft.AspNetCore.Http.HttpContext context, Microsoft.AspNetCore.Authentication.AuthenticationScheme scheme, Microsoft.AspNetCore.Authentication.WsFederation.WsFederationOptions options, Microsoft.AspNetCore.Authentication.AuthenticationProperties properties) : base (default(Microsoft.AspNetCore.Http.HttpContext), default(Microsoft.AspNetCore.Authentication.AuthenticationScheme), default(Microsoft.AspNetCore.Authentication.WsFederation.WsFederationOptions), default(Microsoft.AspNetCore.Authentication.AuthenticationProperties)) { } - public bool Handled { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } } - public Microsoft.IdentityModel.Protocols.WsFederation.WsFederationMessage ProtocolMessage { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute] set { } } - public void HandleResponse() { } - } - public partial class RemoteSignOutContext : Microsoft.AspNetCore.Authentication.RemoteAuthenticationContext<Microsoft.AspNetCore.Authentication.WsFederation.WsFederationOptions> - { - public RemoteSignOutContext(Microsoft.AspNetCore.Http.HttpContext context, Microsoft.AspNetCore.Authentication.AuthenticationScheme scheme, Microsoft.AspNetCore.Authentication.WsFederation.WsFederationOptions options, Microsoft.IdentityModel.Protocols.WsFederation.WsFederationMessage message) : base (default(Microsoft.AspNetCore.Http.HttpContext), default(Microsoft.AspNetCore.Authentication.AuthenticationScheme), default(Microsoft.AspNetCore.Authentication.WsFederation.WsFederationOptions), default(Microsoft.AspNetCore.Authentication.AuthenticationProperties)) { } - public Microsoft.IdentityModel.Protocols.WsFederation.WsFederationMessage ProtocolMessage { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute] set { } } - } - public partial class SecurityTokenReceivedContext : Microsoft.AspNetCore.Authentication.RemoteAuthenticationContext<Microsoft.AspNetCore.Authentication.WsFederation.WsFederationOptions> - { - public SecurityTokenReceivedContext(Microsoft.AspNetCore.Http.HttpContext context, Microsoft.AspNetCore.Authentication.AuthenticationScheme scheme, Microsoft.AspNetCore.Authentication.WsFederation.WsFederationOptions options, Microsoft.AspNetCore.Authentication.AuthenticationProperties properties) : base (default(Microsoft.AspNetCore.Http.HttpContext), default(Microsoft.AspNetCore.Authentication.AuthenticationScheme), default(Microsoft.AspNetCore.Authentication.WsFederation.WsFederationOptions), default(Microsoft.AspNetCore.Authentication.AuthenticationProperties)) { } - public Microsoft.IdentityModel.Protocols.WsFederation.WsFederationMessage ProtocolMessage { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute] set { } } - } - public partial class SecurityTokenValidatedContext : Microsoft.AspNetCore.Authentication.RemoteAuthenticationContext<Microsoft.AspNetCore.Authentication.WsFederation.WsFederationOptions> - { - public SecurityTokenValidatedContext(Microsoft.AspNetCore.Http.HttpContext context, Microsoft.AspNetCore.Authentication.AuthenticationScheme scheme, Microsoft.AspNetCore.Authentication.WsFederation.WsFederationOptions options, System.Security.Claims.ClaimsPrincipal principal, Microsoft.AspNetCore.Authentication.AuthenticationProperties properties) : base (default(Microsoft.AspNetCore.Http.HttpContext), default(Microsoft.AspNetCore.Authentication.AuthenticationScheme), default(Microsoft.AspNetCore.Authentication.WsFederation.WsFederationOptions), default(Microsoft.AspNetCore.Authentication.AuthenticationProperties)) { } - public Microsoft.IdentityModel.Protocols.WsFederation.WsFederationMessage ProtocolMessage { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute] set { } } - public Microsoft.IdentityModel.Tokens.SecurityToken SecurityToken { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute] set { } } - } - public static partial class WsFederationDefaults - { - public const string AuthenticationScheme = "WsFederation"; - public const string DisplayName = "WsFederation"; - public static readonly string UserstatePropertiesKey; - } - public partial class WsFederationEvents : Microsoft.AspNetCore.Authentication.RemoteAuthenticationEvents - { - public WsFederationEvents() { } - public System.Func<Microsoft.AspNetCore.Authentication.WsFederation.AuthenticationFailedContext, System.Threading.Tasks.Task> OnAuthenticationFailed { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute] set { } } - public System.Func<Microsoft.AspNetCore.Authentication.WsFederation.MessageReceivedContext, System.Threading.Tasks.Task> OnMessageReceived { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute] set { } } - public System.Func<Microsoft.AspNetCore.Authentication.WsFederation.RedirectContext, System.Threading.Tasks.Task> OnRedirectToIdentityProvider { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute] set { } } - public System.Func<Microsoft.AspNetCore.Authentication.WsFederation.RemoteSignOutContext, System.Threading.Tasks.Task> OnRemoteSignOut { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute] set { } } - public System.Func<Microsoft.AspNetCore.Authentication.WsFederation.SecurityTokenReceivedContext, System.Threading.Tasks.Task> OnSecurityTokenReceived { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute] set { } } - public System.Func<Microsoft.AspNetCore.Authentication.WsFederation.SecurityTokenValidatedContext, System.Threading.Tasks.Task> OnSecurityTokenValidated { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute] set { } } - public virtual System.Threading.Tasks.Task AuthenticationFailed(Microsoft.AspNetCore.Authentication.WsFederation.AuthenticationFailedContext context) { throw null; } - public virtual System.Threading.Tasks.Task MessageReceived(Microsoft.AspNetCore.Authentication.WsFederation.MessageReceivedContext context) { throw null; } - public virtual System.Threading.Tasks.Task RedirectToIdentityProvider(Microsoft.AspNetCore.Authentication.WsFederation.RedirectContext context) { throw null; } - public virtual System.Threading.Tasks.Task RemoteSignOut(Microsoft.AspNetCore.Authentication.WsFederation.RemoteSignOutContext context) { throw null; } - public virtual System.Threading.Tasks.Task SecurityTokenReceived(Microsoft.AspNetCore.Authentication.WsFederation.SecurityTokenReceivedContext context) { throw null; } - public virtual System.Threading.Tasks.Task SecurityTokenValidated(Microsoft.AspNetCore.Authentication.WsFederation.SecurityTokenValidatedContext context) { throw null; } - } - public partial class WsFederationHandler : Microsoft.AspNetCore.Authentication.RemoteAuthenticationHandler<Microsoft.AspNetCore.Authentication.WsFederation.WsFederationOptions>, Microsoft.AspNetCore.Authentication.IAuthenticationHandler, Microsoft.AspNetCore.Authentication.IAuthenticationSignOutHandler - { - public WsFederationHandler(Microsoft.Extensions.Options.IOptionsMonitor<Microsoft.AspNetCore.Authentication.WsFederation.WsFederationOptions> options, Microsoft.Extensions.Logging.ILoggerFactory logger, System.Text.Encodings.Web.UrlEncoder encoder, Microsoft.AspNetCore.Authentication.ISystemClock clock) : base (default(Microsoft.Extensions.Options.IOptionsMonitor<Microsoft.AspNetCore.Authentication.WsFederation.WsFederationOptions>), default(Microsoft.Extensions.Logging.ILoggerFactory), default(System.Text.Encodings.Web.UrlEncoder), default(Microsoft.AspNetCore.Authentication.ISystemClock)) { } - protected new Microsoft.AspNetCore.Authentication.WsFederation.WsFederationEvents Events { get { throw null; } set { } } - protected override System.Threading.Tasks.Task<object> CreateEventsAsync() { throw null; } - [System.Diagnostics.DebuggerStepThroughAttribute] - protected override System.Threading.Tasks.Task HandleChallengeAsync(Microsoft.AspNetCore.Authentication.AuthenticationProperties properties) { throw null; } - [System.Diagnostics.DebuggerStepThroughAttribute] - protected override System.Threading.Tasks.Task<Microsoft.AspNetCore.Authentication.HandleRequestResult> HandleRemoteAuthenticateAsync() { throw null; } - [System.Diagnostics.DebuggerStepThroughAttribute] - protected virtual System.Threading.Tasks.Task<bool> HandleRemoteSignOutAsync() { throw null; } - public override System.Threading.Tasks.Task<bool> HandleRequestAsync() { throw null; } - [System.Diagnostics.DebuggerStepThroughAttribute] - public virtual System.Threading.Tasks.Task SignOutAsync(Microsoft.AspNetCore.Authentication.AuthenticationProperties properties) { throw null; } - } - public partial class WsFederationOptions : Microsoft.AspNetCore.Authentication.RemoteAuthenticationOptions - { - public WsFederationOptions() { } - public bool AllowUnsolicitedLogins { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute] set { } } - public Microsoft.IdentityModel.Protocols.WsFederation.WsFederationConfiguration Configuration { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute] set { } } - public Microsoft.IdentityModel.Protocols.IConfigurationManager<Microsoft.IdentityModel.Protocols.WsFederation.WsFederationConfiguration> ConfigurationManager { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute] set { } } - public new Microsoft.AspNetCore.Authentication.WsFederation.WsFederationEvents Events { get { throw null; } set { } } - public string MetadataAddress { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute] set { } } - public bool RefreshOnIssuerKeyNotFound { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute] set { } } - public Microsoft.AspNetCore.Http.PathString RemoteSignOutPath { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute] set { } } - public bool RequireHttpsMetadata { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute] set { } } - [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Never)] - public new bool SaveTokens { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute] set { } } - public System.Collections.Generic.ICollection<Microsoft.IdentityModel.Tokens.ISecurityTokenValidator> SecurityTokenHandlers { get { throw null; } set { } } - public string SignOutScheme { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute] set { } } - public string SignOutWreply { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute] set { } } - public bool SkipUnrecognizedRequests { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute] set { } } - public Microsoft.AspNetCore.Authentication.ISecureDataFormat<Microsoft.AspNetCore.Authentication.AuthenticationProperties> StateDataFormat { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute] set { } } - public Microsoft.IdentityModel.Tokens.TokenValidationParameters TokenValidationParameters { get { throw null; } set { } } - public bool UseTokenLifetime { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute] set { } } - public string Wreply { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute] set { } } - public string Wtrealm { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute] set { } } - public override void Validate() { } - } - public partial class WsFederationPostConfigureOptions : Microsoft.Extensions.Options.IPostConfigureOptions<Microsoft.AspNetCore.Authentication.WsFederation.WsFederationOptions> - { - public WsFederationPostConfigureOptions(Microsoft.AspNetCore.DataProtection.IDataProtectionProvider dataProtection) { } - public void PostConfigure(string name, Microsoft.AspNetCore.Authentication.WsFederation.WsFederationOptions options) { } - } -} -namespace Microsoft.Extensions.DependencyInjection -{ - public static partial class WsFederationExtensions - { - public static Microsoft.AspNetCore.Authentication.AuthenticationBuilder AddWsFederation(this Microsoft.AspNetCore.Authentication.AuthenticationBuilder builder) { throw null; } - public static Microsoft.AspNetCore.Authentication.AuthenticationBuilder AddWsFederation(this Microsoft.AspNetCore.Authentication.AuthenticationBuilder builder, System.Action<Microsoft.AspNetCore.Authentication.WsFederation.WsFederationOptions> configureOptions) { throw null; } - public static Microsoft.AspNetCore.Authentication.AuthenticationBuilder AddWsFederation(this Microsoft.AspNetCore.Authentication.AuthenticationBuilder builder, string authenticationScheme, System.Action<Microsoft.AspNetCore.Authentication.WsFederation.WsFederationOptions> configureOptions) { throw null; } - public static Microsoft.AspNetCore.Authentication.AuthenticationBuilder AddWsFederation(this Microsoft.AspNetCore.Authentication.AuthenticationBuilder builder, string authenticationScheme, string displayName, System.Action<Microsoft.AspNetCore.Authentication.WsFederation.WsFederationOptions> configureOptions) { throw null; } - } -} diff --git a/src/Security/Authentication/WsFederation/src/Microsoft.AspNetCore.Authentication.WsFederation.csproj b/src/Security/Authentication/WsFederation/src/Microsoft.AspNetCore.Authentication.WsFederation.csproj index 79ea913ae1d2..7d1a23fabde2 100644 --- a/src/Security/Authentication/WsFederation/src/Microsoft.AspNetCore.Authentication.WsFederation.csproj +++ b/src/Security/Authentication/WsFederation/src/Microsoft.AspNetCore.Authentication.WsFederation.csproj @@ -5,7 +5,7 @@ <TargetFramework>$(DefaultNetCoreTargetFramework)</TargetFramework> <GenerateDocumentationFile>true</GenerateDocumentationFile> <PackageTags>aspnetcore;authentication;security</PackageTags> - <IsShippingPackage>true</IsShippingPackage> + <IsPackable>true</IsPackable> </PropertyGroup> <ItemGroup> diff --git a/src/Security/Authentication/test/WsFederation/WsFederationTest.cs b/src/Security/Authentication/test/WsFederation/WsFederationTest.cs index 6cc25f6dd561..1c4fc9e94d67 100644 --- a/src/Security/Authentication/test/WsFederation/WsFederationTest.cs +++ b/src/Security/Authentication/test/WsFederation/WsFederationTest.cs @@ -1,4 +1,4 @@ -// Copyright (c) .NET Foundation. All rights reserved. +// Copyright (c) .NET Foundation. All rights reserved. // Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. using System; @@ -440,4 +440,4 @@ protected override Task<HttpResponseMessage> SendAsync(HttpRequestMessage reques } } } -} \ No newline at end of file +} diff --git a/src/Security/Authorization/Core/ref/Microsoft.AspNetCore.Authorization.Manual.cs b/src/Security/Authorization/Core/ref/Microsoft.AspNetCore.Authorization.Manual.cs deleted file mode 100644 index 84fc42f7ab6f..000000000000 --- a/src/Security/Authorization/Core/ref/Microsoft.AspNetCore.Authorization.Manual.cs +++ /dev/null @@ -1,10 +0,0 @@ - -// Copyright (c) .NET Foundation. All rights reserved. -// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. - -using System.Runtime.CompilerServices; -using Microsoft.AspNetCore.Authorization; - -// Microsoft.AspNetCore.Metadata -[assembly: TypeForwardedTo(typeof(IAuthorizeData))] -[assembly: TypeForwardedTo(typeof(IAllowAnonymous))] diff --git a/src/Security/Authorization/Core/ref/Microsoft.AspNetCore.Authorization.csproj b/src/Security/Authorization/Core/ref/Microsoft.AspNetCore.Authorization.csproj index 1c742a823a6f..b4543827dab2 100644 --- a/src/Security/Authorization/Core/ref/Microsoft.AspNetCore.Authorization.csproj +++ b/src/Security/Authorization/Core/ref/Microsoft.AspNetCore.Authorization.csproj @@ -2,19 +2,20 @@ <Project Sdk="Microsoft.NET.Sdk"> <PropertyGroup> <TargetFrameworks>netstandard2.0;$(DefaultNetCoreTargetFramework)</TargetFrameworks> + <TargetFrameworks Condition="'$(DotNetBuildFromSource)' == 'true'">$(DefaultNetCoreTargetFramework)</TargetFrameworks> </PropertyGroup> <ItemGroup Condition="'$(TargetFramework)' == 'netstandard2.0'"> <Compile Include="Microsoft.AspNetCore.Authorization.netstandard2.0.cs" /> - <Compile Include="Microsoft.AspNetCore.Authorization.Manual.cs" /> - <Reference Include="Microsoft.AspNetCore.Metadata" /> - <Reference Include="Microsoft.Extensions.Logging.Abstractions" /> - <Reference Include="Microsoft.Extensions.Options" /> + <Compile Include="../src/Properties/AssemblyInfo.cs" /> + <Reference Include="Microsoft.AspNetCore.Metadata" /> + <Reference Include="Microsoft.Extensions.Logging.Abstractions" /> + <Reference Include="Microsoft.Extensions.Options" /> </ItemGroup> <ItemGroup Condition="'$(TargetFramework)' == '$(DefaultNetCoreTargetFramework)'"> <Compile Include="Microsoft.AspNetCore.Authorization.netcoreapp.cs" /> - <Compile Include="Microsoft.AspNetCore.Authorization.Manual.cs" /> - <Reference Include="Microsoft.AspNetCore.Metadata" /> - <Reference Include="Microsoft.Extensions.Logging.Abstractions" /> - <Reference Include="Microsoft.Extensions.Options" /> + <Compile Include="../src/Properties/AssemblyInfo.cs" /> + <Reference Include="Microsoft.AspNetCore.Metadata" /> + <Reference Include="Microsoft.Extensions.Logging.Abstractions" /> + <Reference Include="Microsoft.Extensions.Options" /> </ItemGroup> </Project> diff --git a/src/Security/Authorization/Core/src/Microsoft.AspNetCore.Authorization.csproj b/src/Security/Authorization/Core/src/Microsoft.AspNetCore.Authorization.csproj index b6f1f89e7090..4b42191fd29f 100644 --- a/src/Security/Authorization/Core/src/Microsoft.AspNetCore.Authorization.csproj +++ b/src/Security/Authorization/Core/src/Microsoft.AspNetCore.Authorization.csproj @@ -8,7 +8,6 @@ Microsoft.AspNetCore.Authorization.AuthorizeAttribute</Description> <TargetFrameworks>netstandard2.0;$(DefaultNetCoreTargetFramework)</TargetFrameworks> <TargetFrameworks Condition="'$(DotNetBuildFromSource)' == 'true'">$(DefaultNetCoreTargetFramework)</TargetFrameworks> <IsAspNetCoreApp>true</IsAspNetCoreApp> - <IsShippingPackage>true</IsShippingPackage> <NoWarn>$(NoWarn);CS1591</NoWarn> <GenerateDocumentationFile>true</GenerateDocumentationFile> <PackageTags>aspnetcore;authorization</PackageTags> diff --git a/src/Security/Authorization/Policy/ref/Microsoft.AspNetCore.Authorization.Policy.csproj b/src/Security/Authorization/Policy/ref/Microsoft.AspNetCore.Authorization.Policy.csproj index a6846ca50f94..ba41207565fe 100644 --- a/src/Security/Authorization/Policy/ref/Microsoft.AspNetCore.Authorization.Policy.csproj +++ b/src/Security/Authorization/Policy/ref/Microsoft.AspNetCore.Authorization.Policy.csproj @@ -5,9 +5,9 @@ </PropertyGroup> <ItemGroup Condition="'$(TargetFramework)' == '$(DefaultNetCoreTargetFramework)'"> <Compile Include="Microsoft.AspNetCore.Authorization.Policy.netcoreapp.cs" /> - <Reference Include="Microsoft.AspNetCore.Authorization" /> - <Reference Include="Microsoft.AspNetCore.Authentication.Abstractions" /> - <Reference Include="Microsoft.AspNetCore.Http.Abstractions" /> - <Reference Include="Microsoft.AspNetCore.Routing" /> + <Reference Include="Microsoft.AspNetCore.Authorization" /> + <Reference Include="Microsoft.AspNetCore.Authentication.Abstractions" /> + <Reference Include="Microsoft.AspNetCore.Http.Abstractions" /> + <Reference Include="Microsoft.AspNetCore.Routing" /> </ItemGroup> </Project> diff --git a/src/Security/Authorization/Policy/src/Microsoft.AspNetCore.Authorization.Policy.csproj b/src/Security/Authorization/Policy/src/Microsoft.AspNetCore.Authorization.Policy.csproj index 39aaa6463f25..604d5bb851eb 100644 --- a/src/Security/Authorization/Policy/src/Microsoft.AspNetCore.Authorization.Policy.csproj +++ b/src/Security/Authorization/Policy/src/Microsoft.AspNetCore.Authorization.Policy.csproj @@ -7,7 +7,7 @@ <NoWarn>$(NoWarn);CS1591</NoWarn> <GenerateDocumentationFile>true</GenerateDocumentationFile> <PackageTags>aspnetcore;authorization</PackageTags> - <IsShippingPackage>false</IsShippingPackage> + <IsPackable>false</IsPackable> </PropertyGroup> <ItemGroup> diff --git a/src/Security/CookiePolicy/ref/Microsoft.AspNetCore.CookiePolicy.csproj b/src/Security/CookiePolicy/ref/Microsoft.AspNetCore.CookiePolicy.csproj index c0f0ce3f26a0..68d2f5f27c1a 100644 --- a/src/Security/CookiePolicy/ref/Microsoft.AspNetCore.CookiePolicy.csproj +++ b/src/Security/CookiePolicy/ref/Microsoft.AspNetCore.CookiePolicy.csproj @@ -5,8 +5,8 @@ </PropertyGroup> <ItemGroup Condition="'$(TargetFramework)' == '$(DefaultNetCoreTargetFramework)'"> <Compile Include="Microsoft.AspNetCore.CookiePolicy.netcoreapp.cs" /> - <Reference Include="Microsoft.AspNetCore.Http" /> - <Reference Include="Microsoft.Extensions.Logging.Abstractions" /> - <Reference Include="Microsoft.Extensions.Options" /> + <Reference Include="Microsoft.AspNetCore.Http" /> + <Reference Include="Microsoft.Extensions.Logging.Abstractions" /> + <Reference Include="Microsoft.Extensions.Options" /> </ItemGroup> </Project> diff --git a/src/Security/CookiePolicy/src/Microsoft.AspNetCore.CookiePolicy.csproj b/src/Security/CookiePolicy/src/Microsoft.AspNetCore.CookiePolicy.csproj index aa2a00b5869b..d401e8d69f1f 100644 --- a/src/Security/CookiePolicy/src/Microsoft.AspNetCore.CookiePolicy.csproj +++ b/src/Security/CookiePolicy/src/Microsoft.AspNetCore.CookiePolicy.csproj @@ -7,7 +7,7 @@ <NoWarn>$(NoWarn);CS1591</NoWarn> <GenerateDocumentationFile>true</GenerateDocumentationFile> <PackageTags>aspnetcore</PackageTags> - <IsShippingPackage>false</IsShippingPackage> + <IsPackable>false</IsPackable> </PropertyGroup> <ItemGroup> diff --git a/src/Security/samples/Identity.ExternalClaims/Identity.ExternalClaims.csproj b/src/Security/samples/Identity.ExternalClaims/Identity.ExternalClaims.csproj index 693cd9388b4f..a740b52b2cb3 100644 --- a/src/Security/samples/Identity.ExternalClaims/Identity.ExternalClaims.csproj +++ b/src/Security/samples/Identity.ExternalClaims/Identity.ExternalClaims.csproj @@ -3,6 +3,8 @@ <TargetFramework>$(DefaultNetCoreTargetFramework)</TargetFramework> <UserSecretsId>aspnet-Identity.ExternalClaims-E95BE154-CB1B-4633-A2E0-B2DF12FE8BD3</UserSecretsId> <IsTestAssetProject>true</IsTestAssetProject> + <!-- Avoid CS1705 errors due to mix of assemblies brought in transitively. --> + <CompileUsingReferenceAssemblies>false</CompileUsingReferenceAssemblies> </PropertyGroup> <ItemGroup> <Reference Include="Microsoft.AspNetCore" /> @@ -26,5 +28,7 @@ <Reference Include="Microsoft.Extensions.Configuration.UserSecrets" /> <Reference Include="Microsoft.Extensions.Logging.Console" /> <Reference Include="Microsoft.Extensions.Logging.Debug" /> + <!-- Avoid CS1705 errors due to mix of assemblies brought in transitively. --> + <Reference Include="Microsoft.Extensions.DependencyInjection.Abstractions" /> </ItemGroup> </Project> diff --git a/src/Servers/Connections.Abstractions/ref/Microsoft.AspNetCore.Connections.Abstractions.csproj b/src/Servers/Connections.Abstractions/ref/Microsoft.AspNetCore.Connections.Abstractions.csproj index 290b58c7fe0c..3451731fed03 100644 --- a/src/Servers/Connections.Abstractions/ref/Microsoft.AspNetCore.Connections.Abstractions.csproj +++ b/src/Servers/Connections.Abstractions/ref/Microsoft.AspNetCore.Connections.Abstractions.csproj @@ -2,24 +2,25 @@ <Project Sdk="Microsoft.NET.Sdk"> <PropertyGroup> <TargetFrameworks>netstandard2.0;netstandard2.1;$(DefaultNetCoreTargetFramework)</TargetFrameworks> + <TargetFrameworks Condition="'$(DotNetBuildFromSource)' == 'true'">$(DefaultNetCoreTargetFramework)</TargetFrameworks> </PropertyGroup> <ItemGroup Condition="'$(TargetFramework)' == 'netstandard2.0'"> <Compile Include="Microsoft.AspNetCore.Connections.Abstractions.netstandard2.0.cs" /> - <Reference Include="Microsoft.AspNetCore.Http.Features" /> - <Reference Include="Microsoft.Extensions.ActivatorUtilities.Sources" /> - <Reference Include="System.IO.Pipelines" /> - <Reference Include="Microsoft.Bcl.AsyncInterfaces" /> + <Reference Include="Microsoft.AspNetCore.Http.Features" /> + <Reference Include="Microsoft.Extensions.ActivatorUtilities.Sources" /> + <Reference Include="System.IO.Pipelines" /> + <Reference Include="Microsoft.Bcl.AsyncInterfaces" /> </ItemGroup> <ItemGroup Condition="'$(TargetFramework)' == 'netstandard2.1'"> <Compile Include="Microsoft.AspNetCore.Connections.Abstractions.netstandard2.1.cs" /> - <Reference Include="Microsoft.AspNetCore.Http.Features" /> - <Reference Include="Microsoft.Extensions.ActivatorUtilities.Sources" /> - <Reference Include="System.IO.Pipelines" /> + <Reference Include="Microsoft.AspNetCore.Http.Features" /> + <Reference Include="Microsoft.Extensions.ActivatorUtilities.Sources" /> + <Reference Include="System.IO.Pipelines" /> </ItemGroup> <ItemGroup Condition="'$(TargetFramework)' == '$(DefaultNetCoreTargetFramework)'"> <Compile Include="Microsoft.AspNetCore.Connections.Abstractions.netcoreapp.cs" /> - <Reference Include="Microsoft.AspNetCore.Http.Features" /> - <Reference Include="Microsoft.Extensions.ActivatorUtilities.Sources" /> - <Reference Include="System.IO.Pipelines" /> + <Reference Include="Microsoft.AspNetCore.Http.Features" /> + <Reference Include="Microsoft.Extensions.ActivatorUtilities.Sources" /> + <Reference Include="System.IO.Pipelines" /> </ItemGroup> </Project> diff --git a/src/Servers/Connections.Abstractions/src/Microsoft.AspNetCore.Connections.Abstractions.csproj b/src/Servers/Connections.Abstractions/src/Microsoft.AspNetCore.Connections.Abstractions.csproj index 43f6d4b5748e..d7040f24456f 100644 --- a/src/Servers/Connections.Abstractions/src/Microsoft.AspNetCore.Connections.Abstractions.csproj +++ b/src/Servers/Connections.Abstractions/src/Microsoft.AspNetCore.Connections.Abstractions.csproj @@ -8,7 +8,6 @@ <GenerateDocumentationFile>true</GenerateDocumentationFile> <PackageTags>aspnetcore</PackageTags> <NoWarn>CS1591;$(NoWarn)</NoWarn> - <IsShippingPackage>true</IsShippingPackage> </PropertyGroup> <ItemGroup> diff --git a/src/Servers/HttpSys/ref/Microsoft.AspNetCore.Server.HttpSys.Manual.cs b/src/Servers/HttpSys/ref/Microsoft.AspNetCore.Server.HttpSys.Manual.cs new file mode 100644 index 000000000000..bb60aa1cbdb6 --- /dev/null +++ b/src/Servers/HttpSys/ref/Microsoft.AspNetCore.Server.HttpSys.Manual.cs @@ -0,0 +1,1153 @@ +// Copyright (c) .NET Foundation. All rights reserved. +// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. + +namespace Microsoft.AspNetCore.HttpSys.Internal +{ + internal static partial class Constants + { + internal const string Chunked = "chunked"; + internal const string Close = "close"; + internal const string DefaultServerAddress = "http://localhost:5000"; + internal const string HttpScheme = "http"; + internal const string HttpsScheme = "https"; + internal const string SchemeDelimiter = "://"; + internal static System.Version V1_0; + internal static System.Version V1_1; + internal static System.Version V2; + internal const string Zero = "0"; + } + internal sealed partial class HeapAllocHandle : Microsoft.Win32.SafeHandles.SafeHandleZeroOrMinusOneIsInvalid + { + private HeapAllocHandle() : base (default(bool)) { } + protected override bool ReleaseHandle() { throw null; } + } + internal enum HttpSysRequestHeader + { + CacheControl = 0, + Connection = 1, + Date = 2, + KeepAlive = 3, + Pragma = 4, + Trailer = 5, + TransferEncoding = 6, + Upgrade = 7, + Via = 8, + Warning = 9, + Allow = 10, + ContentLength = 11, + ContentType = 12, + ContentEncoding = 13, + ContentLanguage = 14, + ContentLocation = 15, + ContentMd5 = 16, + ContentRange = 17, + Expires = 18, + LastModified = 19, + Accept = 20, + AcceptCharset = 21, + AcceptEncoding = 22, + AcceptLanguage = 23, + Authorization = 24, + Cookie = 25, + Expect = 26, + From = 27, + Host = 28, + IfMatch = 29, + IfModifiedSince = 30, + IfNoneMatch = 31, + IfRange = 32, + IfUnmodifiedSince = 33, + MaxForwards = 34, + ProxyAuthorization = 35, + Referer = 36, + Range = 37, + Te = 38, + Translate = 39, + UserAgent = 40, + } + internal partial class SafeLocalFreeChannelBinding : System.Security.Authentication.ExtendedProtection.ChannelBinding + { + public SafeLocalFreeChannelBinding() { } + public override bool IsInvalid { get { throw null; } } + public override int Size { get { throw null; } } + public static Microsoft.AspNetCore.HttpSys.Internal.SafeLocalFreeChannelBinding LocalAlloc(int cb) { throw null; } + protected override bool ReleaseHandle() { throw null; } + } + internal sealed partial class SafeLocalMemHandle : Microsoft.Win32.SafeHandles.SafeHandleZeroOrMinusOneIsInvalid + { + internal SafeLocalMemHandle() : base (default(bool)) { } + internal SafeLocalMemHandle(System.IntPtr existingHandle, bool ownsHandle) : base (default(bool)) { } + protected override bool ReleaseHandle() { throw null; } + } + internal partial class SocketAddress + { + internal const int IPv4AddressSize = 16; + internal const int IPv6AddressSize = 28; + public SocketAddress(System.Net.Sockets.AddressFamily family, int size) { } + internal byte[] Buffer { get { throw null; } } + internal System.Net.Sockets.AddressFamily Family { get { throw null; } } + internal int Size { get { throw null; } } + public override bool Equals(object comparand) { throw null; } + public override int GetHashCode() { throw null; } + internal System.Net.IPAddress GetIPAddress() { throw null; } + internal string GetIPAddressString() { throw null; } + internal int GetPort() { throw null; } + public override string ToString() { throw null; } + } + [System.Runtime.InteropServices.StructLayoutAttribute(System.Runtime.InteropServices.LayoutKind.Sequential)] + internal readonly partial struct CookedUrl + { + private readonly int _dummyPrimitive; + internal CookedUrl(Microsoft.AspNetCore.HttpSys.Internal.HttpApiTypes.HTTP_COOKED_URL nativeCookedUrl) { throw null; } + internal string GetAbsPath() { throw null; } + internal string GetFullUrl() { throw null; } + internal string GetHost() { throw null; } + internal string GetQueryString() { throw null; } + } + internal enum SslStatus : byte + { + Insecure = (byte)0, + NoClientCert = (byte)1, + ClientCert = (byte)2, + } + internal partial class SafeNativeOverlapped : System.Runtime.InteropServices.SafeHandle + { + internal static readonly Microsoft.AspNetCore.HttpSys.Internal.SafeNativeOverlapped Zero; + internal SafeNativeOverlapped() : base (default(System.IntPtr), default(bool)) { } + internal unsafe SafeNativeOverlapped(System.Threading.ThreadPoolBoundHandle boundHandle, System.Threading.NativeOverlapped* handle) : base (default(System.IntPtr), default(bool)) { } + public override bool IsInvalid { get { throw null; } } + public void ReinitializeNativeOverlapped() { } + protected override bool ReleaseHandle() { throw null; } + } + internal static unsafe partial class HttpApiTypes + { + internal static readonly string[] HttpVerbs; + internal const int MaxTimeout = 6; + [System.Runtime.InteropServices.StructLayoutAttribute(System.Runtime.InteropServices.LayoutKind.Sequential)] + internal partial struct FromFileHandle + { + internal ulong offset; + internal ulong count; + internal System.IntPtr fileHandle; + } + [System.Runtime.InteropServices.StructLayoutAttribute(System.Runtime.InteropServices.LayoutKind.Sequential)] + internal partial struct FromMemory + { + internal System.IntPtr pBuffer; + internal uint BufferLength; + } + [System.Runtime.InteropServices.StructLayoutAttribute(System.Runtime.InteropServices.LayoutKind.Sequential)] + internal partial struct HTTPAPI_VERSION + { + internal ushort HttpApiMajorVersion; + internal ushort HttpApiMinorVersion; + } + internal enum HTTP_API_VERSION + { + Invalid = 0, + Version10 = 1, + Version20 = 2, + } + internal enum HTTP_AUTH_STATUS + { + HttpAuthStatusSuccess = 0, + HttpAuthStatusNotAuthenticated = 1, + HttpAuthStatusFailure = 2, + } + [System.FlagsAttribute] + internal enum HTTP_AUTH_TYPES : uint + { + NONE = (uint)0, + HTTP_AUTH_ENABLE_BASIC = (uint)1, + HTTP_AUTH_ENABLE_DIGEST = (uint)2, + HTTP_AUTH_ENABLE_NTLM = (uint)4, + HTTP_AUTH_ENABLE_NEGOTIATE = (uint)8, + HTTP_AUTH_ENABLE_KERBEROS = (uint)16, + } + [System.Runtime.InteropServices.StructLayoutAttribute(System.Runtime.InteropServices.LayoutKind.Sequential)] + internal partial struct HTTP_BINDING_INFO + { + internal Microsoft.AspNetCore.HttpSys.Internal.HttpApiTypes.HTTP_FLAGS Flags; + internal System.IntPtr RequestQueueHandle; + } + [System.Runtime.InteropServices.StructLayoutAttribute(System.Runtime.InteropServices.LayoutKind.Sequential)] + internal partial struct HTTP_CACHE_POLICY + { + internal Microsoft.AspNetCore.HttpSys.Internal.HttpApiTypes.HTTP_CACHE_POLICY_TYPE Policy; + internal uint SecondsToLive; + } + internal enum HTTP_CACHE_POLICY_TYPE + { + HttpCachePolicyNocache = 0, + HttpCachePolicyUserInvalidates = 1, + HttpCachePolicyTimeToLive = 2, + } + [System.Runtime.InteropServices.StructLayoutAttribute(System.Runtime.InteropServices.LayoutKind.Sequential)] + internal partial struct HTTP_CONNECTION_LIMIT_INFO + { + internal Microsoft.AspNetCore.HttpSys.Internal.HttpApiTypes.HTTP_FLAGS Flags; + internal uint MaxConnections; + } + [System.Runtime.InteropServices.StructLayoutAttribute(System.Runtime.InteropServices.LayoutKind.Sequential)] + internal partial struct HTTP_COOKED_URL + { + internal ushort FullUrlLength; + internal ushort HostLength; + internal ushort AbsPathLength; + internal ushort QueryStringLength; + internal ushort* pFullUrl; + internal ushort* pHost; + internal ushort* pAbsPath; + internal ushort* pQueryString; + } + [System.FlagsAttribute] + internal enum HTTP_CREATE_REQUEST_QUEUE_FLAG : uint + { + None = (uint)0, + OpenExisting = (uint)1, + Controller = (uint)2, + } + [System.Runtime.InteropServices.StructLayoutAttribute(System.Runtime.InteropServices.LayoutKind.Explicit)] + internal partial struct HTTP_DATA_CHUNK + { + [System.Runtime.InteropServices.FieldOffset(0)] + internal Microsoft.AspNetCore.HttpSys.Internal.HttpApiTypes.HTTP_DATA_CHUNK_TYPE DataChunkType; + [System.Runtime.InteropServices.FieldOffset(8)] + internal Microsoft.AspNetCore.HttpSys.Internal.HttpApiTypes.FromMemory fromMemory; + [System.Runtime.InteropServices.FieldOffset(8)] + internal Microsoft.AspNetCore.HttpSys.Internal.HttpApiTypes.FromFileHandle fromFile; + } + internal enum HTTP_DATA_CHUNK_TYPE + { + HttpDataChunkFromMemory = 0, + HttpDataChunkFromFileHandle = 1, + HttpDataChunkFromFragmentCache = 2, + HttpDataChunkMaximum = 3, + } + [System.FlagsAttribute] + internal enum HTTP_FLAGS : uint + { + NONE = (uint)0, + HTTP_INITIALIZE_SERVER = (uint)1, + HTTP_PROPERTY_FLAG_PRESENT = (uint)1, + HTTP_RECEIVE_REQUEST_FLAG_COPY_BODY = (uint)1, + HTTP_RECEIVE_SECURE_CHANNEL_TOKEN = (uint)1, + HTTP_SEND_REQUEST_FLAG_MORE_DATA = (uint)1, + HTTP_SEND_RESPONSE_FLAG_DISCONNECT = (uint)1, + HTTP_SEND_RESPONSE_FLAG_MORE_DATA = (uint)2, + HTTP_INITIALIZE_CBT = (uint)4, + HTTP_SEND_RESPONSE_FLAG_BUFFER_DATA = (uint)4, + HTTP_SEND_RESPONSE_FLAG_RAW_HEADER = (uint)4, + HTTP_SEND_RESPONSE_FLAG_OPAQUE = (uint)64, + HTTP_SEND_RESPONSE_FLAG_GOAWAY = (uint)256, + } + [System.Runtime.InteropServices.StructLayoutAttribute(System.Runtime.InteropServices.LayoutKind.Sequential)] + internal partial struct HTTP_KNOWN_HEADER + { + internal ushort RawValueLength; + internal byte* pRawValue; + } + [System.Runtime.InteropServices.StructLayoutAttribute(System.Runtime.InteropServices.LayoutKind.Sequential)] + internal partial struct HTTP_MULTIPLE_KNOWN_HEADERS + { + internal Microsoft.AspNetCore.HttpSys.Internal.HttpApiTypes.HTTP_RESPONSE_HEADER_ID.Enum HeaderId; + internal Microsoft.AspNetCore.HttpSys.Internal.HttpApiTypes.HTTP_RESPONSE_INFO_FLAGS Flags; + internal ushort KnownHeaderCount; + internal Microsoft.AspNetCore.HttpSys.Internal.HttpApiTypes.HTTP_KNOWN_HEADER* KnownHeaders; + } + [System.Runtime.InteropServices.StructLayoutAttribute(System.Runtime.InteropServices.LayoutKind.Sequential)] + internal partial struct HTTP_QOS_SETTING_INFO + { + internal Microsoft.AspNetCore.HttpSys.Internal.HttpApiTypes.HTTP_QOS_SETTING_TYPE QosType; + internal System.IntPtr QosSetting; + } + internal enum HTTP_QOS_SETTING_TYPE + { + HttpQosSettingTypeBandwidth = 0, + HttpQosSettingTypeConnectionLimit = 1, + HttpQosSettingTypeFlowRate = 2, + } + [System.Runtime.InteropServices.StructLayoutAttribute(System.Runtime.InteropServices.LayoutKind.Sequential)] + internal partial struct HTTP_REQUEST + { + internal Microsoft.AspNetCore.HttpSys.Internal.HttpApiTypes.HTTP_REQUEST_FLAGS Flags; + internal ulong ConnectionId; + internal ulong RequestId; + internal ulong UrlContext; + internal Microsoft.AspNetCore.HttpSys.Internal.HttpApiTypes.HTTP_VERSION Version; + internal Microsoft.AspNetCore.HttpSys.Internal.HttpApiTypes.HTTP_VERB Verb; + internal ushort UnknownVerbLength; + internal ushort RawUrlLength; + internal byte* pUnknownVerb; + internal byte* pRawUrl; + internal Microsoft.AspNetCore.HttpSys.Internal.HttpApiTypes.HTTP_COOKED_URL CookedUrl; + internal Microsoft.AspNetCore.HttpSys.Internal.HttpApiTypes.HTTP_TRANSPORT_ADDRESS Address; + internal Microsoft.AspNetCore.HttpSys.Internal.HttpApiTypes.HTTP_REQUEST_HEADERS Headers; + internal ulong BytesReceived; + internal ushort EntityChunkCount; + internal Microsoft.AspNetCore.HttpSys.Internal.HttpApiTypes.HTTP_DATA_CHUNK* pEntityChunks; + internal ulong RawConnectionId; + internal Microsoft.AspNetCore.HttpSys.Internal.HttpApiTypes.HTTP_SSL_INFO* pSslInfo; + } + [System.Runtime.InteropServices.StructLayoutAttribute(System.Runtime.InteropServices.LayoutKind.Sequential)] + internal partial struct HTTP_REQUEST_AUTH_INFO + { + internal Microsoft.AspNetCore.HttpSys.Internal.HttpApiTypes.HTTP_AUTH_STATUS AuthStatus; + internal uint SecStatus; + internal uint Flags; + internal Microsoft.AspNetCore.HttpSys.Internal.HttpApiTypes.HTTP_REQUEST_AUTH_TYPE AuthType; + internal System.IntPtr AccessToken; + internal uint ContextAttributes; + internal uint PackedContextLength; + internal uint PackedContextType; + internal System.IntPtr PackedContext; + internal uint MutualAuthDataLength; + internal char* pMutualAuthData; + } + internal enum HTTP_REQUEST_AUTH_TYPE + { + HttpRequestAuthTypeNone = 0, + HttpRequestAuthTypeBasic = 1, + HttpRequestAuthTypeDigest = 2, + HttpRequestAuthTypeNTLM = 3, + HttpRequestAuthTypeNegotiate = 4, + HttpRequestAuthTypeKerberos = 5, + } + [System.Runtime.InteropServices.StructLayoutAttribute(System.Runtime.InteropServices.LayoutKind.Sequential)] + internal partial struct HTTP_REQUEST_CHANNEL_BIND_STATUS + { + internal System.IntPtr ServiceName; + internal System.IntPtr ChannelToken; + internal uint ChannelTokenSize; + internal uint Flags; + } + [System.FlagsAttribute] + internal enum HTTP_REQUEST_FLAGS + { + None = 0, + MoreEntityBodyExists = 1, + IPRouted = 2, + Http2 = 4, + } + [System.Runtime.InteropServices.StructLayoutAttribute(System.Runtime.InteropServices.LayoutKind.Sequential)] + internal partial struct HTTP_REQUEST_HEADERS + { + internal ushort UnknownHeaderCount; + internal Microsoft.AspNetCore.HttpSys.Internal.HttpApiTypes.HTTP_UNKNOWN_HEADER* pUnknownHeaders; + internal ushort TrailerCount; + internal Microsoft.AspNetCore.HttpSys.Internal.HttpApiTypes.HTTP_UNKNOWN_HEADER* pTrailers; + internal Microsoft.AspNetCore.HttpSys.Internal.HttpApiTypes.HTTP_KNOWN_HEADER KnownHeaders; + internal Microsoft.AspNetCore.HttpSys.Internal.HttpApiTypes.HTTP_KNOWN_HEADER KnownHeaders_02; + internal Microsoft.AspNetCore.HttpSys.Internal.HttpApiTypes.HTTP_KNOWN_HEADER KnownHeaders_03; + internal Microsoft.AspNetCore.HttpSys.Internal.HttpApiTypes.HTTP_KNOWN_HEADER KnownHeaders_04; + internal Microsoft.AspNetCore.HttpSys.Internal.HttpApiTypes.HTTP_KNOWN_HEADER KnownHeaders_05; + internal Microsoft.AspNetCore.HttpSys.Internal.HttpApiTypes.HTTP_KNOWN_HEADER KnownHeaders_06; + internal Microsoft.AspNetCore.HttpSys.Internal.HttpApiTypes.HTTP_KNOWN_HEADER KnownHeaders_07; + internal Microsoft.AspNetCore.HttpSys.Internal.HttpApiTypes.HTTP_KNOWN_HEADER KnownHeaders_08; + internal Microsoft.AspNetCore.HttpSys.Internal.HttpApiTypes.HTTP_KNOWN_HEADER KnownHeaders_09; + internal Microsoft.AspNetCore.HttpSys.Internal.HttpApiTypes.HTTP_KNOWN_HEADER KnownHeaders_10; + internal Microsoft.AspNetCore.HttpSys.Internal.HttpApiTypes.HTTP_KNOWN_HEADER KnownHeaders_11; + internal Microsoft.AspNetCore.HttpSys.Internal.HttpApiTypes.HTTP_KNOWN_HEADER KnownHeaders_12; + internal Microsoft.AspNetCore.HttpSys.Internal.HttpApiTypes.HTTP_KNOWN_HEADER KnownHeaders_13; + internal Microsoft.AspNetCore.HttpSys.Internal.HttpApiTypes.HTTP_KNOWN_HEADER KnownHeaders_14; + internal Microsoft.AspNetCore.HttpSys.Internal.HttpApiTypes.HTTP_KNOWN_HEADER KnownHeaders_15; + internal Microsoft.AspNetCore.HttpSys.Internal.HttpApiTypes.HTTP_KNOWN_HEADER KnownHeaders_16; + internal Microsoft.AspNetCore.HttpSys.Internal.HttpApiTypes.HTTP_KNOWN_HEADER KnownHeaders_17; + internal Microsoft.AspNetCore.HttpSys.Internal.HttpApiTypes.HTTP_KNOWN_HEADER KnownHeaders_18; + internal Microsoft.AspNetCore.HttpSys.Internal.HttpApiTypes.HTTP_KNOWN_HEADER KnownHeaders_19; + internal Microsoft.AspNetCore.HttpSys.Internal.HttpApiTypes.HTTP_KNOWN_HEADER KnownHeaders_20; + internal Microsoft.AspNetCore.HttpSys.Internal.HttpApiTypes.HTTP_KNOWN_HEADER KnownHeaders_21; + internal Microsoft.AspNetCore.HttpSys.Internal.HttpApiTypes.HTTP_KNOWN_HEADER KnownHeaders_22; + internal Microsoft.AspNetCore.HttpSys.Internal.HttpApiTypes.HTTP_KNOWN_HEADER KnownHeaders_23; + internal Microsoft.AspNetCore.HttpSys.Internal.HttpApiTypes.HTTP_KNOWN_HEADER KnownHeaders_24; + internal Microsoft.AspNetCore.HttpSys.Internal.HttpApiTypes.HTTP_KNOWN_HEADER KnownHeaders_25; + internal Microsoft.AspNetCore.HttpSys.Internal.HttpApiTypes.HTTP_KNOWN_HEADER KnownHeaders_26; + internal Microsoft.AspNetCore.HttpSys.Internal.HttpApiTypes.HTTP_KNOWN_HEADER KnownHeaders_27; + internal Microsoft.AspNetCore.HttpSys.Internal.HttpApiTypes.HTTP_KNOWN_HEADER KnownHeaders_28; + internal Microsoft.AspNetCore.HttpSys.Internal.HttpApiTypes.HTTP_KNOWN_HEADER KnownHeaders_29; + internal Microsoft.AspNetCore.HttpSys.Internal.HttpApiTypes.HTTP_KNOWN_HEADER KnownHeaders_30; + internal Microsoft.AspNetCore.HttpSys.Internal.HttpApiTypes.HTTP_KNOWN_HEADER KnownHeaders_31; + internal Microsoft.AspNetCore.HttpSys.Internal.HttpApiTypes.HTTP_KNOWN_HEADER KnownHeaders_32; + internal Microsoft.AspNetCore.HttpSys.Internal.HttpApiTypes.HTTP_KNOWN_HEADER KnownHeaders_33; + internal Microsoft.AspNetCore.HttpSys.Internal.HttpApiTypes.HTTP_KNOWN_HEADER KnownHeaders_34; + internal Microsoft.AspNetCore.HttpSys.Internal.HttpApiTypes.HTTP_KNOWN_HEADER KnownHeaders_35; + internal Microsoft.AspNetCore.HttpSys.Internal.HttpApiTypes.HTTP_KNOWN_HEADER KnownHeaders_36; + internal Microsoft.AspNetCore.HttpSys.Internal.HttpApiTypes.HTTP_KNOWN_HEADER KnownHeaders_37; + internal Microsoft.AspNetCore.HttpSys.Internal.HttpApiTypes.HTTP_KNOWN_HEADER KnownHeaders_38; + internal Microsoft.AspNetCore.HttpSys.Internal.HttpApiTypes.HTTP_KNOWN_HEADER KnownHeaders_39; + internal Microsoft.AspNetCore.HttpSys.Internal.HttpApiTypes.HTTP_KNOWN_HEADER KnownHeaders_40; + internal Microsoft.AspNetCore.HttpSys.Internal.HttpApiTypes.HTTP_KNOWN_HEADER KnownHeaders_41; + } + [System.Runtime.InteropServices.StructLayoutAttribute(System.Runtime.InteropServices.LayoutKind.Sequential)] + internal partial struct HTTP_REQUEST_INFO + { + internal Microsoft.AspNetCore.HttpSys.Internal.HttpApiTypes.HTTP_REQUEST_INFO_TYPE InfoType; + internal uint InfoLength; + internal void* pInfo; + } + internal enum HTTP_REQUEST_INFO_TYPE + { + HttpRequestInfoTypeAuth = 0, + HttpRequestInfoTypeChannelBind = 1, + HttpRequestInfoTypeSslProtocol = 2, + HttpRequestInfoTypeSslTokenBinding = 3, + } + [System.Runtime.InteropServices.StructLayoutAttribute(System.Runtime.InteropServices.LayoutKind.Sequential)] + internal partial struct HTTP_REQUEST_TOKEN_BINDING_INFO + { + public byte* TokenBinding; + public uint TokenBindingSize; + public byte* TlsUnique; + public uint TlsUniqueSize; + public char* KeyType; + } + [System.Runtime.InteropServices.StructLayoutAttribute(System.Runtime.InteropServices.LayoutKind.Sequential)] + internal partial struct HTTP_REQUEST_V2 + { + internal Microsoft.AspNetCore.HttpSys.Internal.HttpApiTypes.HTTP_REQUEST Request; + internal ushort RequestInfoCount; + internal Microsoft.AspNetCore.HttpSys.Internal.HttpApiTypes.HTTP_REQUEST_INFO* pRequestInfo; + } + [System.Runtime.InteropServices.StructLayoutAttribute(System.Runtime.InteropServices.LayoutKind.Sequential)] + internal partial struct HTTP_RESPONSE + { + internal uint Flags; + internal Microsoft.AspNetCore.HttpSys.Internal.HttpApiTypes.HTTP_VERSION Version; + internal ushort StatusCode; + internal ushort ReasonLength; + internal byte* pReason; + internal Microsoft.AspNetCore.HttpSys.Internal.HttpApiTypes.HTTP_RESPONSE_HEADERS Headers; + internal ushort EntityChunkCount; + internal Microsoft.AspNetCore.HttpSys.Internal.HttpApiTypes.HTTP_DATA_CHUNK* pEntityChunks; + } + [System.Runtime.InteropServices.StructLayoutAttribute(System.Runtime.InteropServices.LayoutKind.Sequential)] + internal partial struct HTTP_RESPONSE_HEADERS + { + internal ushort UnknownHeaderCount; + internal Microsoft.AspNetCore.HttpSys.Internal.HttpApiTypes.HTTP_UNKNOWN_HEADER* pUnknownHeaders; + internal ushort TrailerCount; + internal Microsoft.AspNetCore.HttpSys.Internal.HttpApiTypes.HTTP_UNKNOWN_HEADER* pTrailers; + internal Microsoft.AspNetCore.HttpSys.Internal.HttpApiTypes.HTTP_KNOWN_HEADER KnownHeaders; + internal Microsoft.AspNetCore.HttpSys.Internal.HttpApiTypes.HTTP_KNOWN_HEADER KnownHeaders_02; + internal Microsoft.AspNetCore.HttpSys.Internal.HttpApiTypes.HTTP_KNOWN_HEADER KnownHeaders_03; + internal Microsoft.AspNetCore.HttpSys.Internal.HttpApiTypes.HTTP_KNOWN_HEADER KnownHeaders_04; + internal Microsoft.AspNetCore.HttpSys.Internal.HttpApiTypes.HTTP_KNOWN_HEADER KnownHeaders_05; + internal Microsoft.AspNetCore.HttpSys.Internal.HttpApiTypes.HTTP_KNOWN_HEADER KnownHeaders_06; + internal Microsoft.AspNetCore.HttpSys.Internal.HttpApiTypes.HTTP_KNOWN_HEADER KnownHeaders_07; + internal Microsoft.AspNetCore.HttpSys.Internal.HttpApiTypes.HTTP_KNOWN_HEADER KnownHeaders_08; + internal Microsoft.AspNetCore.HttpSys.Internal.HttpApiTypes.HTTP_KNOWN_HEADER KnownHeaders_09; + internal Microsoft.AspNetCore.HttpSys.Internal.HttpApiTypes.HTTP_KNOWN_HEADER KnownHeaders_10; + internal Microsoft.AspNetCore.HttpSys.Internal.HttpApiTypes.HTTP_KNOWN_HEADER KnownHeaders_11; + internal Microsoft.AspNetCore.HttpSys.Internal.HttpApiTypes.HTTP_KNOWN_HEADER KnownHeaders_12; + internal Microsoft.AspNetCore.HttpSys.Internal.HttpApiTypes.HTTP_KNOWN_HEADER KnownHeaders_13; + internal Microsoft.AspNetCore.HttpSys.Internal.HttpApiTypes.HTTP_KNOWN_HEADER KnownHeaders_14; + internal Microsoft.AspNetCore.HttpSys.Internal.HttpApiTypes.HTTP_KNOWN_HEADER KnownHeaders_15; + internal Microsoft.AspNetCore.HttpSys.Internal.HttpApiTypes.HTTP_KNOWN_HEADER KnownHeaders_16; + internal Microsoft.AspNetCore.HttpSys.Internal.HttpApiTypes.HTTP_KNOWN_HEADER KnownHeaders_17; + internal Microsoft.AspNetCore.HttpSys.Internal.HttpApiTypes.HTTP_KNOWN_HEADER KnownHeaders_18; + internal Microsoft.AspNetCore.HttpSys.Internal.HttpApiTypes.HTTP_KNOWN_HEADER KnownHeaders_19; + internal Microsoft.AspNetCore.HttpSys.Internal.HttpApiTypes.HTTP_KNOWN_HEADER KnownHeaders_20; + internal Microsoft.AspNetCore.HttpSys.Internal.HttpApiTypes.HTTP_KNOWN_HEADER KnownHeaders_21; + internal Microsoft.AspNetCore.HttpSys.Internal.HttpApiTypes.HTTP_KNOWN_HEADER KnownHeaders_22; + internal Microsoft.AspNetCore.HttpSys.Internal.HttpApiTypes.HTTP_KNOWN_HEADER KnownHeaders_23; + internal Microsoft.AspNetCore.HttpSys.Internal.HttpApiTypes.HTTP_KNOWN_HEADER KnownHeaders_24; + internal Microsoft.AspNetCore.HttpSys.Internal.HttpApiTypes.HTTP_KNOWN_HEADER KnownHeaders_25; + internal Microsoft.AspNetCore.HttpSys.Internal.HttpApiTypes.HTTP_KNOWN_HEADER KnownHeaders_26; + internal Microsoft.AspNetCore.HttpSys.Internal.HttpApiTypes.HTTP_KNOWN_HEADER KnownHeaders_27; + internal Microsoft.AspNetCore.HttpSys.Internal.HttpApiTypes.HTTP_KNOWN_HEADER KnownHeaders_28; + internal Microsoft.AspNetCore.HttpSys.Internal.HttpApiTypes.HTTP_KNOWN_HEADER KnownHeaders_29; + internal Microsoft.AspNetCore.HttpSys.Internal.HttpApiTypes.HTTP_KNOWN_HEADER KnownHeaders_30; + } + internal static partial class HTTP_RESPONSE_HEADER_ID + { + internal static int IndexOfKnownHeader(string HeaderName) { throw null; } + internal enum Enum + { + HttpHeaderCacheControl = 0, + HttpHeaderConnection = 1, + HttpHeaderDate = 2, + HttpHeaderKeepAlive = 3, + HttpHeaderPragma = 4, + HttpHeaderTrailer = 5, + HttpHeaderTransferEncoding = 6, + HttpHeaderUpgrade = 7, + HttpHeaderVia = 8, + HttpHeaderWarning = 9, + HttpHeaderAllow = 10, + HttpHeaderContentLength = 11, + HttpHeaderContentType = 12, + HttpHeaderContentEncoding = 13, + HttpHeaderContentLanguage = 14, + HttpHeaderContentLocation = 15, + HttpHeaderContentMd5 = 16, + HttpHeaderContentRange = 17, + HttpHeaderExpires = 18, + HttpHeaderLastModified = 19, + HttpHeaderAcceptRanges = 20, + HttpHeaderAge = 21, + HttpHeaderEtag = 22, + HttpHeaderLocation = 23, + HttpHeaderProxyAuthenticate = 24, + HttpHeaderRetryAfter = 25, + HttpHeaderServer = 26, + HttpHeaderSetCookie = 27, + HttpHeaderVary = 28, + HttpHeaderWwwAuthenticate = 29, + HttpHeaderResponseMaximum = 30, + HttpHeaderMaximum = 41, + } + } + [System.Runtime.InteropServices.StructLayoutAttribute(System.Runtime.InteropServices.LayoutKind.Sequential)] + internal partial struct HTTP_RESPONSE_INFO + { + internal Microsoft.AspNetCore.HttpSys.Internal.HttpApiTypes.HTTP_RESPONSE_INFO_TYPE Type; + internal uint Length; + internal Microsoft.AspNetCore.HttpSys.Internal.HttpApiTypes.HTTP_MULTIPLE_KNOWN_HEADERS* pInfo; + } + internal enum HTTP_RESPONSE_INFO_FLAGS : uint + { + None = (uint)0, + PreserveOrder = (uint)1, + } + internal enum HTTP_RESPONSE_INFO_TYPE + { + HttpResponseInfoTypeMultipleKnownHeaders = 0, + HttpResponseInfoTypeAuthenticationProperty = 1, + HttpResponseInfoTypeQosProperty = 2, + } + [System.Runtime.InteropServices.StructLayoutAttribute(System.Runtime.InteropServices.LayoutKind.Sequential)] + internal partial struct HTTP_RESPONSE_V2 + { + internal Microsoft.AspNetCore.HttpSys.Internal.HttpApiTypes.HTTP_RESPONSE Response_V1; + internal ushort ResponseInfoCount; + internal Microsoft.AspNetCore.HttpSys.Internal.HttpApiTypes.HTTP_RESPONSE_INFO* pResponseInfo; + } + [System.Runtime.InteropServices.StructLayoutAttribute(System.Runtime.InteropServices.LayoutKind.Sequential)] + internal partial struct HTTP_SERVER_AUTHENTICATION_BASIC_PARAMS + { + ushort RealmLength; + char* Realm; + } + [System.Runtime.InteropServices.StructLayoutAttribute(System.Runtime.InteropServices.LayoutKind.Sequential)] + internal partial struct HTTP_SERVER_AUTHENTICATION_DIGEST_PARAMS + { + internal ushort DomainNameLength; + internal char* DomainName; + internal ushort RealmLength; + internal char* Realm; + } + [System.Runtime.InteropServices.StructLayoutAttribute(System.Runtime.InteropServices.LayoutKind.Sequential)] + internal partial struct HTTP_SERVER_AUTHENTICATION_INFO + { + internal Microsoft.AspNetCore.HttpSys.Internal.HttpApiTypes.HTTP_FLAGS Flags; + internal Microsoft.AspNetCore.HttpSys.Internal.HttpApiTypes.HTTP_AUTH_TYPES AuthSchemes; + internal bool ReceiveMutualAuth; + internal bool ReceiveContextHandle; + internal bool DisableNTLMCredentialCaching; + internal ulong ExFlags; + Microsoft.AspNetCore.HttpSys.Internal.HttpApiTypes.HTTP_SERVER_AUTHENTICATION_DIGEST_PARAMS DigestParams; + Microsoft.AspNetCore.HttpSys.Internal.HttpApiTypes.HTTP_SERVER_AUTHENTICATION_BASIC_PARAMS BasicParams; + } + internal enum HTTP_SERVER_PROPERTY + { + HttpServerAuthenticationProperty = 0, + HttpServerLoggingProperty = 1, + HttpServerQosProperty = 2, + HttpServerTimeoutsProperty = 3, + HttpServerQueueLengthProperty = 4, + HttpServerStateProperty = 5, + HttpServer503VerbosityProperty = 6, + HttpServerBindingProperty = 7, + HttpServerExtendedAuthenticationProperty = 8, + HttpServerListenEndpointProperty = 9, + HttpServerChannelBindProperty = 10, + HttpServerProtectionLevelProperty = 11, + } + [System.Runtime.InteropServices.StructLayoutAttribute(System.Runtime.InteropServices.LayoutKind.Sequential)] + internal partial struct HTTP_SERVICE_BINDING_BASE + { + internal Microsoft.AspNetCore.HttpSys.Internal.HttpApiTypes.HTTP_SERVICE_BINDING_TYPE Type; + } + internal enum HTTP_SERVICE_BINDING_TYPE : uint + { + HttpServiceBindingTypeNone = (uint)0, + HttpServiceBindingTypeW = (uint)1, + HttpServiceBindingTypeA = (uint)2, + } + [System.Runtime.InteropServices.StructLayoutAttribute(System.Runtime.InteropServices.LayoutKind.Sequential)] + internal partial struct HTTP_SSL_CLIENT_CERT_INFO + { + internal uint CertFlags; + internal uint CertEncodedSize; + internal byte* pCertEncoded; + internal void* Token; + internal byte CertDeniedByMapper; + } + [System.Runtime.InteropServices.StructLayoutAttribute(System.Runtime.InteropServices.LayoutKind.Sequential)] + internal partial struct HTTP_SSL_INFO + { + internal ushort ServerCertKeySize; + internal ushort ConnectionKeySize; + internal uint ServerCertIssuerSize; + internal uint ServerCertSubjectSize; + internal byte* pServerCertIssuer; + internal byte* pServerCertSubject; + internal Microsoft.AspNetCore.HttpSys.Internal.HttpApiTypes.HTTP_SSL_CLIENT_CERT_INFO* pClientCertInfo; + internal uint SslClientCertNegotiated; + } + [System.Runtime.InteropServices.StructLayoutAttribute(System.Runtime.InteropServices.LayoutKind.Sequential)] + internal partial struct HTTP_SSL_PROTOCOL_INFO + { + internal System.Security.Authentication.SslProtocols Protocol; + internal System.Security.Authentication.CipherAlgorithmType CipherType; + internal uint CipherStrength; + internal System.Security.Authentication.HashAlgorithmType HashType; + internal uint HashStrength; + internal System.Security.Authentication.ExchangeAlgorithmType KeyExchangeType; + internal uint KeyExchangeStrength; + } + [System.Runtime.InteropServices.StructLayoutAttribute(System.Runtime.InteropServices.LayoutKind.Sequential)] + internal partial struct HTTP_TIMEOUT_LIMIT_INFO + { + internal Microsoft.AspNetCore.HttpSys.Internal.HttpApiTypes.HTTP_FLAGS Flags; + internal ushort EntityBody; + internal ushort DrainEntityBody; + internal ushort RequestQueue; + internal ushort IdleConnection; + internal ushort HeaderWait; + internal uint MinSendRate; + } + internal enum HTTP_TIMEOUT_TYPE + { + EntityBody = 0, + DrainEntityBody = 1, + RequestQueue = 2, + IdleConnection = 3, + HeaderWait = 4, + MinSendRate = 5, + } + [System.Runtime.InteropServices.StructLayoutAttribute(System.Runtime.InteropServices.LayoutKind.Sequential)] + internal partial struct HTTP_TRANSPORT_ADDRESS + { + internal Microsoft.AspNetCore.HttpSys.Internal.HttpApiTypes.SOCKADDR* pRemoteAddress; + internal Microsoft.AspNetCore.HttpSys.Internal.HttpApiTypes.SOCKADDR* pLocalAddress; + } + [System.Runtime.InteropServices.StructLayoutAttribute(System.Runtime.InteropServices.LayoutKind.Sequential)] + internal partial struct HTTP_UNKNOWN_HEADER + { + internal ushort NameLength; + internal ushort RawValueLength; + internal byte* pName; + internal byte* pRawValue; + } + internal enum HTTP_VERB + { + HttpVerbUnparsed = 0, + HttpVerbUnknown = 1, + HttpVerbInvalid = 2, + HttpVerbOPTIONS = 3, + HttpVerbGET = 4, + HttpVerbHEAD = 5, + HttpVerbPOST = 6, + HttpVerbPUT = 7, + HttpVerbDELETE = 8, + HttpVerbTRACE = 9, + HttpVerbCONNECT = 10, + HttpVerbTRACK = 11, + HttpVerbMOVE = 12, + HttpVerbCOPY = 13, + HttpVerbPROPFIND = 14, + HttpVerbPROPPATCH = 15, + HttpVerbMKCOL = 16, + HttpVerbLOCK = 17, + HttpVerbUNLOCK = 18, + HttpVerbSEARCH = 19, + HttpVerbMaximum = 20, + } + [System.Runtime.InteropServices.StructLayoutAttribute(System.Runtime.InteropServices.LayoutKind.Sequential)] + internal partial struct HTTP_VERSION + { + internal ushort MajorVersion; + internal ushort MinorVersion; + } + [System.Runtime.InteropServices.StructLayoutAttribute(System.Runtime.InteropServices.LayoutKind.Sequential)] + internal partial struct SOCKADDR + { + internal ushort sa_family; + internal byte sa_data; + internal byte sa_data_02; + internal byte sa_data_03; + internal byte sa_data_04; + internal byte sa_data_05; + internal byte sa_data_06; + internal byte sa_data_07; + internal byte sa_data_08; + internal byte sa_data_09; + internal byte sa_data_10; + internal byte sa_data_11; + internal byte sa_data_12; + internal byte sa_data_13; + internal byte sa_data_14; + } + } + [System.CodeDom.Compiler.GeneratedCodeAttribute("TextTemplatingFileGenerator", "")] + internal partial class RequestHeaders : Microsoft.AspNetCore.Http.IHeaderDictionary, System.Collections.Generic.ICollection<System.Collections.Generic.KeyValuePair<string, Microsoft.Extensions.Primitives.StringValues>>, System.Collections.Generic.IDictionary<string, Microsoft.Extensions.Primitives.StringValues>, System.Collections.Generic.IEnumerable<System.Collections.Generic.KeyValuePair<string, Microsoft.Extensions.Primitives.StringValues>>, System.Collections.IEnumerable + { + internal RequestHeaders(Microsoft.AspNetCore.HttpSys.Internal.NativeRequestContext requestMemoryBlob) { } + internal Microsoft.Extensions.Primitives.StringValues Accept { get { throw null; } set { } } + internal Microsoft.Extensions.Primitives.StringValues AcceptCharset { get { throw null; } set { } } + internal Microsoft.Extensions.Primitives.StringValues AcceptEncoding { get { throw null; } set { } } + internal Microsoft.Extensions.Primitives.StringValues AcceptLanguage { get { throw null; } set { } } + internal Microsoft.Extensions.Primitives.StringValues Allow { get { throw null; } set { } } + internal Microsoft.Extensions.Primitives.StringValues Authorization { get { throw null; } set { } } + internal Microsoft.Extensions.Primitives.StringValues CacheControl { get { throw null; } set { } } + internal Microsoft.Extensions.Primitives.StringValues Connection { get { throw null; } set { } } + internal Microsoft.Extensions.Primitives.StringValues ContentEncoding { get { throw null; } set { } } + internal Microsoft.Extensions.Primitives.StringValues ContentLanguage { get { throw null; } set { } } + internal Microsoft.Extensions.Primitives.StringValues ContentLength { get { throw null; } set { } } + internal Microsoft.Extensions.Primitives.StringValues ContentLocation { get { throw null; } set { } } + internal Microsoft.Extensions.Primitives.StringValues ContentMd5 { get { throw null; } set { } } + internal Microsoft.Extensions.Primitives.StringValues ContentRange { get { throw null; } set { } } + internal Microsoft.Extensions.Primitives.StringValues ContentType { get { throw null; } set { } } + internal Microsoft.Extensions.Primitives.StringValues Cookie { get { throw null; } set { } } + public int Count { get { throw null; } } + internal Microsoft.Extensions.Primitives.StringValues Date { get { throw null; } set { } } + internal Microsoft.Extensions.Primitives.StringValues Expect { get { throw null; } set { } } + internal Microsoft.Extensions.Primitives.StringValues Expires { get { throw null; } set { } } + internal Microsoft.Extensions.Primitives.StringValues From { get { throw null; } set { } } + internal Microsoft.Extensions.Primitives.StringValues Host { get { throw null; } set { } } + internal Microsoft.Extensions.Primitives.StringValues IfMatch { get { throw null; } set { } } + internal Microsoft.Extensions.Primitives.StringValues IfModifiedSince { get { throw null; } set { } } + internal Microsoft.Extensions.Primitives.StringValues IfNoneMatch { get { throw null; } set { } } + internal Microsoft.Extensions.Primitives.StringValues IfRange { get { throw null; } set { } } + internal Microsoft.Extensions.Primitives.StringValues IfUnmodifiedSince { get { throw null; } set { } } + public bool IsReadOnly { [System.Runtime.CompilerServices.CompilerGeneratedAttribute]get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute]internal set { } } + public Microsoft.Extensions.Primitives.StringValues this[string key] { get { throw null; } set { } } + internal Microsoft.Extensions.Primitives.StringValues KeepAlive { get { throw null; } set { } } + public System.Collections.Generic.ICollection<string> Keys { get { throw null; } } + internal Microsoft.Extensions.Primitives.StringValues LastModified { get { throw null; } set { } } + internal Microsoft.Extensions.Primitives.StringValues MaxForwards { get { throw null; } set { } } + long? Microsoft.AspNetCore.Http.IHeaderDictionary.ContentLength { get { throw null; } set { } } + Microsoft.Extensions.Primitives.StringValues Microsoft.AspNetCore.Http.IHeaderDictionary.this[string key] { get { throw null; } set { } } + internal Microsoft.Extensions.Primitives.StringValues Pragma { get { throw null; } set { } } + internal Microsoft.Extensions.Primitives.StringValues ProxyAuthorization { get { throw null; } set { } } + internal Microsoft.Extensions.Primitives.StringValues Range { get { throw null; } set { } } + internal Microsoft.Extensions.Primitives.StringValues Referer { get { throw null; } set { } } + bool System.Collections.Generic.ICollection<System.Collections.Generic.KeyValuePair<System.String,Microsoft.Extensions.Primitives.StringValues>>.IsReadOnly { get { throw null; } } + Microsoft.Extensions.Primitives.StringValues System.Collections.Generic.IDictionary<System.String,Microsoft.Extensions.Primitives.StringValues>.this[string key] { get { throw null; } set { } } + System.Collections.Generic.ICollection<Microsoft.Extensions.Primitives.StringValues> System.Collections.Generic.IDictionary<System.String,Microsoft.Extensions.Primitives.StringValues>.Values { get { throw null; } } + internal Microsoft.Extensions.Primitives.StringValues Te { get { throw null; } set { } } + internal Microsoft.Extensions.Primitives.StringValues Trailer { get { throw null; } set { } } + internal Microsoft.Extensions.Primitives.StringValues TransferEncoding { get { throw null; } set { } } + internal Microsoft.Extensions.Primitives.StringValues Translate { get { throw null; } set { } } + internal Microsoft.Extensions.Primitives.StringValues Upgrade { get { throw null; } set { } } + internal Microsoft.Extensions.Primitives.StringValues UserAgent { get { throw null; } set { } } + internal Microsoft.Extensions.Primitives.StringValues Via { get { throw null; } set { } } + internal Microsoft.Extensions.Primitives.StringValues Warning { get { throw null; } set { } } + public bool ContainsKey(string key) { throw null; } + public System.Collections.Generic.IEnumerable<string> GetValues(string key) { throw null; } + public bool Remove(string key) { throw null; } + void System.Collections.Generic.ICollection<System.Collections.Generic.KeyValuePair<System.String,Microsoft.Extensions.Primitives.StringValues>>.Add(System.Collections.Generic.KeyValuePair<string, Microsoft.Extensions.Primitives.StringValues> item) { } + void System.Collections.Generic.ICollection<System.Collections.Generic.KeyValuePair<System.String,Microsoft.Extensions.Primitives.StringValues>>.Clear() { } + bool System.Collections.Generic.ICollection<System.Collections.Generic.KeyValuePair<System.String,Microsoft.Extensions.Primitives.StringValues>>.Contains(System.Collections.Generic.KeyValuePair<string, Microsoft.Extensions.Primitives.StringValues> item) { throw null; } + void System.Collections.Generic.ICollection<System.Collections.Generic.KeyValuePair<System.String,Microsoft.Extensions.Primitives.StringValues>>.CopyTo(System.Collections.Generic.KeyValuePair<string, Microsoft.Extensions.Primitives.StringValues>[] array, int arrayIndex) { } + bool System.Collections.Generic.ICollection<System.Collections.Generic.KeyValuePair<System.String,Microsoft.Extensions.Primitives.StringValues>>.Remove(System.Collections.Generic.KeyValuePair<string, Microsoft.Extensions.Primitives.StringValues> item) { throw null; } + void System.Collections.Generic.IDictionary<System.String,Microsoft.Extensions.Primitives.StringValues>.Add(string key, Microsoft.Extensions.Primitives.StringValues value) { } + System.Collections.Generic.IEnumerator<System.Collections.Generic.KeyValuePair<string, Microsoft.Extensions.Primitives.StringValues>> System.Collections.Generic.IEnumerable<System.Collections.Generic.KeyValuePair<System.String,Microsoft.Extensions.Primitives.StringValues>>.GetEnumerator() { throw null; } + System.Collections.IEnumerator System.Collections.IEnumerable.GetEnumerator() { throw null; } + public bool TryGetValue(string key, out Microsoft.Extensions.Primitives.StringValues value) { throw null; } + } + internal partial class NativeRequestContext : System.IDisposable + { + internal unsafe NativeRequestContext(Microsoft.AspNetCore.HttpSys.Internal.HttpApiTypes.HTTP_REQUEST* request) { } + internal unsafe NativeRequestContext(Microsoft.AspNetCore.HttpSys.Internal.SafeNativeOverlapped nativeOverlapped, int bufferAlignment, Microsoft.AspNetCore.HttpSys.Internal.HttpApiTypes.HTTP_REQUEST* nativeRequest, byte[] backingBuffer, ulong requestId) { } + internal ulong ConnectionId { get { throw null; } } + internal bool IsHttp2 { get { throw null; } } + internal Microsoft.AspNetCore.HttpSys.Internal.SafeNativeOverlapped NativeOverlapped { get { throw null; } } + internal unsafe Microsoft.AspNetCore.HttpSys.Internal.HttpApiTypes.HTTP_REQUEST* NativeRequest { get { throw null; } } + internal unsafe Microsoft.AspNetCore.HttpSys.Internal.HttpApiTypes.HTTP_REQUEST_V2* NativeRequestV2 { get { throw null; } } + internal ulong RequestId { get { throw null; } set { } } + internal uint Size { get { throw null; } } + internal Microsoft.AspNetCore.HttpSys.Internal.SslStatus SslStatus { get { throw null; } } + internal ushort UnknownHeaderCount { get { throw null; } } + internal ulong UrlContext { get { throw null; } } + internal Microsoft.AspNetCore.HttpSys.Internal.HttpApiTypes.HTTP_VERB VerbId { get { throw null; } } + internal bool CheckAuthenticated() { throw null; } + public virtual void Dispose() { } + internal uint GetChunks(ref int dataChunkIndex, ref uint dataChunkOffset, byte[] buffer, int offset, int size) { throw null; } + internal Microsoft.AspNetCore.HttpSys.Internal.CookedUrl GetCookedUrl() { throw null; } + internal string GetKnownHeader(Microsoft.AspNetCore.HttpSys.Internal.HttpSysRequestHeader header) { throw null; } + internal Microsoft.AspNetCore.HttpSys.Internal.SocketAddress GetLocalEndPoint() { throw null; } + internal string GetRawUrl() { throw null; } + internal System.Span<byte> GetRawUrlInBytes() { throw null; } + internal Microsoft.AspNetCore.HttpSys.Internal.SocketAddress GetRemoteEndPoint() { throw null; } + internal Microsoft.AspNetCore.HttpSys.Internal.HttpApiTypes.HTTP_SSL_PROTOCOL_INFO GetTlsHandshake() { throw null; } + internal void GetUnknownHeaders(System.Collections.Generic.IDictionary<string, Microsoft.Extensions.Primitives.StringValues> unknownHeaders) { } + internal System.Security.Principal.WindowsPrincipal GetUser() { throw null; } + internal string GetVerb() { throw null; } + internal System.Version GetVersion() { throw null; } + internal void ReleasePins() { } + } + internal partial class HeaderCollection : Microsoft.AspNetCore.Http.IHeaderDictionary, System.Collections.Generic.ICollection<System.Collections.Generic.KeyValuePair<string, Microsoft.Extensions.Primitives.StringValues>>, System.Collections.Generic.IDictionary<string, Microsoft.Extensions.Primitives.StringValues>, System.Collections.Generic.IEnumerable<System.Collections.Generic.KeyValuePair<string, Microsoft.Extensions.Primitives.StringValues>>, System.Collections.IEnumerable + { + public HeaderCollection() { } + public HeaderCollection(System.Collections.Generic.IDictionary<string, Microsoft.Extensions.Primitives.StringValues> store) { } + public long? ContentLength { get { throw null; } set { } } + public int Count { get { throw null; } } + public bool IsReadOnly { [System.Runtime.CompilerServices.CompilerGeneratedAttribute]get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute]internal set { } } + public Microsoft.Extensions.Primitives.StringValues this[string key] { get { throw null; } set { } } + public System.Collections.Generic.ICollection<string> Keys { get { throw null; } } + Microsoft.Extensions.Primitives.StringValues System.Collections.Generic.IDictionary<System.String,Microsoft.Extensions.Primitives.StringValues>.this[string key] { get { throw null; } set { } } + public System.Collections.Generic.ICollection<Microsoft.Extensions.Primitives.StringValues> Values { get { throw null; } } + public void Add(System.Collections.Generic.KeyValuePair<string, Microsoft.Extensions.Primitives.StringValues> item) { } + public void Add(string key, Microsoft.Extensions.Primitives.StringValues value) { } + public void Append(string key, string value) { } + public void Clear() { } + public bool Contains(System.Collections.Generic.KeyValuePair<string, Microsoft.Extensions.Primitives.StringValues> item) { throw null; } + public bool ContainsKey(string key) { throw null; } + public void CopyTo(System.Collections.Generic.KeyValuePair<string, Microsoft.Extensions.Primitives.StringValues>[] array, int arrayIndex) { } + public System.Collections.Generic.IEnumerator<System.Collections.Generic.KeyValuePair<string, Microsoft.Extensions.Primitives.StringValues>> GetEnumerator() { throw null; } + public System.Collections.Generic.IEnumerable<string> GetValues(string key) { throw null; } + public bool Remove(System.Collections.Generic.KeyValuePair<string, Microsoft.Extensions.Primitives.StringValues> item) { throw null; } + public bool Remove(string key) { throw null; } + System.Collections.IEnumerator System.Collections.IEnumerable.GetEnumerator() { throw null; } + public bool TryGetValue(string key, out Microsoft.Extensions.Primitives.StringValues value) { throw null; } + public static void ValidateHeaderCharacters(Microsoft.Extensions.Primitives.StringValues headerValues) { } + public static void ValidateHeaderCharacters(string headerCharacters) { } + } + internal static partial class UnsafeNclNativeMethods + { + [System.Runtime.InteropServices.DllImport("api-ms-win-core-io-l1-1-0.dll")][System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.PreserveSig)]internal static extern uint CancelIoEx(System.Runtime.InteropServices.SafeHandle handle, Microsoft.AspNetCore.HttpSys.Internal.SafeNativeOverlapped overlapped); + [System.Runtime.InteropServices.DllImport("api-ms-win-core-heap-L1-2-0.dll")][System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.PreserveSig)]internal static extern System.IntPtr GetProcessHeap(); + [System.Runtime.InteropServices.DllImport("api-ms-win-core-heap-L1-2-0.dll")][System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.PreserveSig)]internal static extern bool HeapFree(System.IntPtr hHeap, uint dwFlags, System.IntPtr lpMem); + [System.Runtime.InteropServices.DllImport("api-ms-win-core-kernel32-legacy-l1-1-0.dll")][System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.PreserveSig)]internal static extern bool SetFileCompletionNotificationModes(System.Runtime.InteropServices.SafeHandle handle, Microsoft.AspNetCore.HttpSys.Internal.UnsafeNclNativeMethods.FileCompletionNotificationModes modes); + [System.Runtime.InteropServices.DllImport("tokenbinding.dll")][System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.PreserveSig)]public unsafe static extern int TokenBindingVerifyMessage(byte* tokenBindingMessage, uint tokenBindingMessageSize, char* keyType, byte* tlsUnique, uint tlsUniqueSize, out Microsoft.AspNetCore.HttpSys.Internal.HeapAllocHandle resultList); + internal static partial class ErrorCodes + { + internal const uint ERROR_ACCESS_DENIED = (uint)5; + internal const uint ERROR_ALREADY_EXISTS = (uint)183; + internal const uint ERROR_CONNECTION_INVALID = (uint)1229; + internal const uint ERROR_FILE_NOT_FOUND = (uint)2; + internal const uint ERROR_HANDLE_EOF = (uint)38; + internal const uint ERROR_INVALID_NAME = (uint)123; + internal const uint ERROR_INVALID_PARAMETER = (uint)87; + internal const uint ERROR_IO_PENDING = (uint)997; + internal const uint ERROR_MORE_DATA = (uint)234; + internal const uint ERROR_NOT_FOUND = (uint)1168; + internal const uint ERROR_NOT_SUPPORTED = (uint)50; + internal const uint ERROR_OPERATION_ABORTED = (uint)995; + internal const uint ERROR_SHARING_VIOLATION = (uint)32; + internal const uint ERROR_SUCCESS = (uint)0; + } + [System.FlagsAttribute] + internal enum FileCompletionNotificationModes : byte + { + None = (byte)0, + SkipCompletionPortOnSuccess = (byte)1, + SkipSetEventOnHandle = (byte)2, + } + internal static partial class SafeNetHandles + { + [System.Runtime.InteropServices.DllImport("api-ms-win-core-handle-l1-1-0.dll")][System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.PreserveSig)]internal static extern bool CloseHandle(System.IntPtr handle); + [System.Runtime.InteropServices.DllImport("sspicli.dll")][System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.PreserveSig)]internal static extern int FreeContextBuffer(System.IntPtr contextBuffer); + [System.Runtime.InteropServices.DllImport("api-ms-win-core-heap-obsolete-L1-1-0.dll")][System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.PreserveSig)]internal static extern Microsoft.AspNetCore.HttpSys.Internal.SafeLocalFreeChannelBinding LocalAllocChannelBinding(int uFlags, System.UIntPtr sizetdwBytes); + [System.Runtime.InteropServices.DllImport("api-ms-win-core-heap-obsolete-L1-1-0.dll")][System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.PreserveSig)]internal static extern System.IntPtr LocalFree(System.IntPtr handle); + } + [System.Runtime.InteropServices.StructLayoutAttribute(System.Runtime.InteropServices.LayoutKind.Sequential)] + internal partial class SECURITY_ATTRIBUTES + { + public bool bInheritHandle; + public Microsoft.AspNetCore.HttpSys.Internal.SafeLocalMemHandle lpSecurityDescriptor; + public int nLength; + public SECURITY_ATTRIBUTES() { } + } + internal static partial class TokenBinding + { + internal enum TOKENBINDING_EXTENSION_FORMAT + { + TOKENBINDING_EXTENSION_FORMAT_UNDEFINED = 0, + } + internal enum TOKENBINDING_HASH_ALGORITHM : byte + { + TOKENBINDING_HASH_ALGORITHM_SHA256 = (byte)4, + } + [System.Runtime.InteropServices.StructLayoutAttribute(System.Runtime.InteropServices.LayoutKind.Sequential)] + internal partial struct TOKENBINDING_IDENTIFIER + { + public TOKENBINDING_TYPE bindingType; + public TOKENBINDING_HASH_ALGORITHM hashAlgorithm; + public TOKENBINDING_SIGNATURE_ALGORITHM signatureAlgorithm; + } + [System.Runtime.InteropServices.StructLayoutAttribute(System.Runtime.InteropServices.LayoutKind.Sequential)] + internal partial struct TOKENBINDING_RESULT_DATA + { + public uint identifierSize; + public unsafe TOKENBINDING_IDENTIFIER* identifierData; + public TOKENBINDING_EXTENSION_FORMAT extensionFormat; + public uint extensionSize; + public System.IntPtr extensionData; + } + [System.Runtime.InteropServices.StructLayoutAttribute(System.Runtime.InteropServices.LayoutKind.Sequential)] + internal partial struct TOKENBINDING_RESULT_LIST + { + public uint resultCount; + public unsafe TOKENBINDING_RESULT_DATA* resultData; + } + internal enum TOKENBINDING_SIGNATURE_ALGORITHM : byte + { + TOKENBINDING_SIGNATURE_ALGORITHM_RSA = (byte)1, + TOKENBINDING_SIGNATURE_ALGORITHM_ECDSAP256 = (byte)3, + } + internal enum TOKENBINDING_TYPE : byte + { + TOKENBINDING_TYPE_PROVIDED = (byte)0, + TOKENBINDING_TYPE_REFERRED = (byte)1, + } + } + } +} +namespace Microsoft.AspNetCore.Server.HttpSys +{ + internal static partial class HttpApi + { + internal static Microsoft.AspNetCore.HttpSys.Internal.HttpApiTypes.HTTP_API_VERSION ApiVersion { get { throw null; } } + internal static bool Supported { get { throw null; } } + internal static Microsoft.AspNetCore.HttpSys.Internal.HttpApiTypes.HTTPAPI_VERSION Version { get { throw null; } } + [System.Runtime.InteropServices.DllImport("httpapi.dll")][System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.PreserveSig)]internal static extern uint HttpAddUrlToUrlGroup(ulong urlGroupId, string pFullyQualifiedUrl, ulong context, uint pReserved); + [System.Runtime.InteropServices.DllImport("httpapi.dll")][System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.PreserveSig)]internal static extern uint HttpCancelHttpRequest(System.Runtime.InteropServices.SafeHandle requestQueueHandle, ulong requestId, System.IntPtr pOverlapped); + [System.Runtime.InteropServices.DllImport("httpapi.dll")][System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.PreserveSig)]internal static extern uint HttpCloseRequestQueue(System.IntPtr pReqQueueHandle); + [System.Runtime.InteropServices.DllImport("httpapi.dll")][System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.PreserveSig)]internal static extern uint HttpCloseServerSession(ulong serverSessionId); + [System.Runtime.InteropServices.DllImport("httpapi.dll")][System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.PreserveSig)]internal static extern uint HttpCloseUrlGroup(ulong urlGroupId); + [System.Runtime.InteropServices.DllImport("httpapi.dll")][System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.PreserveSig)]internal static extern uint HttpCreateRequestQueue(Microsoft.AspNetCore.HttpSys.Internal.HttpApiTypes.HTTPAPI_VERSION version, string pName, Microsoft.AspNetCore.HttpSys.Internal.UnsafeNclNativeMethods.SECURITY_ATTRIBUTES pSecurityAttributes, Microsoft.AspNetCore.HttpSys.Internal.HttpApiTypes.HTTP_CREATE_REQUEST_QUEUE_FLAG flags, out Microsoft.AspNetCore.Server.HttpSys.HttpRequestQueueV2Handle pReqQueueHandle); + [System.Runtime.InteropServices.DllImport("httpapi.dll")][System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.PreserveSig)]internal unsafe static extern uint HttpCreateServerSession(Microsoft.AspNetCore.HttpSys.Internal.HttpApiTypes.HTTPAPI_VERSION version, ulong* serverSessionId, uint reserved); + [System.Runtime.InteropServices.DllImport("httpapi.dll")][System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.PreserveSig)]internal unsafe static extern uint HttpCreateUrlGroup(ulong serverSessionId, ulong* urlGroupId, uint reserved); + [System.Runtime.InteropServices.DllImport("httpapi.dll")][System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.PreserveSig)]internal unsafe static extern uint HttpInitialize(Microsoft.AspNetCore.HttpSys.Internal.HttpApiTypes.HTTPAPI_VERSION version, uint flags, void* pReserved); + [System.Runtime.InteropServices.DllImport("httpapi.dll")][System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.PreserveSig)]internal unsafe static extern uint HttpReceiveClientCertificate(System.Runtime.InteropServices.SafeHandle requestQueueHandle, ulong connectionId, uint flags, Microsoft.AspNetCore.HttpSys.Internal.HttpApiTypes.HTTP_SSL_CLIENT_CERT_INFO* pSslClientCertInfo, uint sslClientCertInfoSize, uint* pBytesReceived, Microsoft.AspNetCore.HttpSys.Internal.SafeNativeOverlapped pOverlapped); + [System.Runtime.InteropServices.DllImport("httpapi.dll")][System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.PreserveSig)]internal unsafe static extern uint HttpReceiveClientCertificate(System.Runtime.InteropServices.SafeHandle requestQueueHandle, ulong connectionId, uint flags, byte* pSslClientCertInfo, uint sslClientCertInfoSize, uint* pBytesReceived, Microsoft.AspNetCore.HttpSys.Internal.SafeNativeOverlapped pOverlapped); + [System.Runtime.InteropServices.DllImport("httpapi.dll")][System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.PreserveSig)]internal unsafe static extern uint HttpReceiveHttpRequest(System.Runtime.InteropServices.SafeHandle requestQueueHandle, ulong requestId, uint flags, Microsoft.AspNetCore.HttpSys.Internal.HttpApiTypes.HTTP_REQUEST* pRequestBuffer, uint requestBufferLength, uint* pBytesReturned, Microsoft.AspNetCore.HttpSys.Internal.SafeNativeOverlapped pOverlapped); + [System.Runtime.InteropServices.DllImport("httpapi.dll")][System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.PreserveSig)]internal static extern uint HttpReceiveRequestEntityBody(System.Runtime.InteropServices.SafeHandle requestQueueHandle, ulong requestId, uint flags, System.IntPtr pEntityBuffer, uint entityBufferLength, out uint bytesReturned, Microsoft.AspNetCore.HttpSys.Internal.SafeNativeOverlapped pOverlapped); + [System.Runtime.InteropServices.DllImport("httpapi.dll")][System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.PreserveSig)]internal static extern uint HttpRemoveUrlFromUrlGroup(ulong urlGroupId, string pFullyQualifiedUrl, uint flags); + [System.Runtime.InteropServices.DllImport("httpapi.dll")][System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.PreserveSig)]internal unsafe static extern uint HttpSendHttpResponse(System.Runtime.InteropServices.SafeHandle requestQueueHandle, ulong requestId, uint flags, Microsoft.AspNetCore.HttpSys.Internal.HttpApiTypes.HTTP_RESPONSE_V2* pHttpResponse, Microsoft.AspNetCore.HttpSys.Internal.HttpApiTypes.HTTP_CACHE_POLICY* pCachePolicy, uint* pBytesSent, System.IntPtr pReserved1, uint Reserved2, Microsoft.AspNetCore.HttpSys.Internal.SafeNativeOverlapped pOverlapped, System.IntPtr pLogData); + [System.Runtime.InteropServices.DllImport("httpapi.dll")][System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.PreserveSig)]internal unsafe static extern uint HttpSendResponseEntityBody(System.Runtime.InteropServices.SafeHandle requestQueueHandle, ulong requestId, uint flags, ushort entityChunkCount, Microsoft.AspNetCore.HttpSys.Internal.HttpApiTypes.HTTP_DATA_CHUNK* pEntityChunks, uint* pBytesSent, System.IntPtr pReserved1, uint Reserved2, Microsoft.AspNetCore.HttpSys.Internal.SafeNativeOverlapped pOverlapped, System.IntPtr pLogData); + [System.Runtime.InteropServices.DllImport("httpapi.dll")][System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.PreserveSig)]internal static extern uint HttpSetRequestQueueProperty(System.Runtime.InteropServices.SafeHandle requestQueueHandle, Microsoft.AspNetCore.HttpSys.Internal.HttpApiTypes.HTTP_SERVER_PROPERTY serverProperty, System.IntPtr pPropertyInfo, uint propertyInfoLength, uint reserved, System.IntPtr pReserved); + [System.Runtime.InteropServices.DllImport("httpapi.dll")][System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.PreserveSig)]internal static extern uint HttpSetUrlGroupProperty(ulong urlGroupId, Microsoft.AspNetCore.HttpSys.Internal.HttpApiTypes.HTTP_SERVER_PROPERTY serverProperty, System.IntPtr pPropertyInfo, uint propertyInfoLength); + [System.Runtime.InteropServices.DllImport("httpapi.dll")][System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.PreserveSig)]internal static extern uint HttpWaitForDisconnectEx(System.Runtime.InteropServices.SafeHandle requestQueueHandle, ulong connectionId, uint reserved, Microsoft.AspNetCore.HttpSys.Internal.SafeNativeOverlapped overlapped); + } + internal sealed partial class HttpRequestQueueV2Handle : Microsoft.Win32.SafeHandles.SafeHandleZeroOrMinusOneIsInvalid + { + private HttpRequestQueueV2Handle() : base (default(bool)) { } + protected override bool ReleaseHandle() { throw null; } + } + internal partial class ResponseBody : System.IO.Stream + { + internal ResponseBody(Microsoft.AspNetCore.Server.HttpSys.RequestContext requestContext) { } + public override bool CanRead { get { throw null; } } + public override bool CanSeek { get { throw null; } } + public override bool CanWrite { get { throw null; } } + internal bool IsDisposed { get { throw null; } } + public override long Length { get { throw null; } } + public override long Position { get { throw null; } set { } } + internal Microsoft.AspNetCore.Server.HttpSys.RequestContext RequestContext { get { throw null; } } + internal bool ThrowWriteExceptions { get { throw null; } } + internal void Abort(bool dispose = true) { } + public override System.IAsyncResult BeginRead(byte[] buffer, int offset, int count, System.AsyncCallback callback, object state) { throw null; } + public override System.IAsyncResult BeginWrite(byte[] buffer, int offset, int count, System.AsyncCallback callback, object state) { throw null; } + internal void CancelLastWrite() { } + protected override void Dispose(bool disposing) { } + public override int EndRead(System.IAsyncResult asyncResult) { throw null; } + public override void EndWrite(System.IAsyncResult asyncResult) { } + public override void Flush() { } + public override System.Threading.Tasks.Task FlushAsync(System.Threading.CancellationToken cancellationToken) { throw null; } + public override int Read(byte[] buffer, int offset, int count) { throw null; } + public override long Seek(long offset, System.IO.SeekOrigin origin) { throw null; } + internal System.Threading.Tasks.Task SendFileAsyncCore(string fileName, long offset, long? count, System.Threading.CancellationToken cancellationToken) { throw null; } + public override void SetLength(long value) { } + internal void SwitchToOpaqueMode() { } + public override void Write(byte[] buffer, int offset, int count) { } + public override System.Threading.Tasks.Task WriteAsync(byte[] buffer, int offset, int count, System.Threading.CancellationToken cancellationToken) { throw null; } + } + internal partial class ResponseStreamAsyncResult : System.IAsyncResult, System.IDisposable + { + internal ResponseStreamAsyncResult(Microsoft.AspNetCore.Server.HttpSys.ResponseBody responseStream, System.ArraySegment<byte> data, bool chunked, System.Threading.CancellationToken cancellationToken) { } + internal ResponseStreamAsyncResult(Microsoft.AspNetCore.Server.HttpSys.ResponseBody responseStream, System.IO.FileStream fileStream, long offset, long count, bool chunked, System.Threading.CancellationToken cancellationToken) { } + internal ResponseStreamAsyncResult(Microsoft.AspNetCore.Server.HttpSys.ResponseBody responseStream, System.Threading.CancellationToken cancellationToken) { } + public object AsyncState { get { throw null; } } + public System.Threading.WaitHandle AsyncWaitHandle { get { throw null; } } + internal uint BytesSent { get { throw null; } set { } } + public bool CompletedSynchronously { get { throw null; } } + internal ushort DataChunkCount { get { throw null; } } + internal unsafe Microsoft.AspNetCore.HttpSys.Internal.HttpApiTypes.HTTP_DATA_CHUNK* DataChunks { get { throw null; } } + internal bool EndCalled { [System.Runtime.CompilerServices.CompilerGeneratedAttribute]get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute]set { } } + public bool IsCompleted { get { throw null; } } + internal Microsoft.AspNetCore.HttpSys.Internal.SafeNativeOverlapped NativeOverlapped { get { throw null; } } + internal System.Threading.Tasks.Task Task { get { throw null; } } + internal void Cancel(bool dispose) { } + internal void Complete() { } + public void Dispose() { } + internal void Fail(System.Exception ex) { } + internal void FailSilently() { } + internal void IOCompleted(uint errorCode) { } + internal void IOCompleted(uint errorCode, uint numBytes) { } + } + internal sealed partial class HttpServerSessionHandle : Microsoft.Win32.SafeHandles.CriticalHandleZeroOrMinusOneIsInvalid + { + internal HttpServerSessionHandle(ulong id) { } + internal ulong DangerousGetServerSessionId() { throw null; } + protected override bool ReleaseHandle() { throw null; } + } + internal partial class ServerSession : System.IDisposable + { + internal ServerSession() { } + public Microsoft.AspNetCore.Server.HttpSys.HttpServerSessionHandle Id { [System.Runtime.CompilerServices.CompilerGeneratedAttribute]get { throw null; } } + public void Dispose() { } + } + internal partial class UrlGroup : System.IDisposable + { + internal UrlGroup(Microsoft.AspNetCore.Server.HttpSys.ServerSession serverSession, Microsoft.Extensions.Logging.ILogger logger) { } + internal ulong Id { [System.Runtime.CompilerServices.CompilerGeneratedAttribute]get { throw null; } } + public void Dispose() { } + internal void RegisterPrefix(string uriPrefix, int contextId) { } + internal void SetMaxConnections(long maxConnections) { } + internal void SetProperty(Microsoft.AspNetCore.HttpSys.Internal.HttpApiTypes.HTTP_SERVER_PROPERTY property, System.IntPtr info, uint infosize, bool throwOnError = true) { } + internal bool UnregisterPrefix(string uriPrefix) { throw null; } + } + internal partial class RequestQueue + { + internal RequestQueue(Microsoft.AspNetCore.Server.HttpSys.UrlGroup urlGroup, Microsoft.Extensions.Logging.ILogger logger) { } + internal System.Threading.ThreadPoolBoundHandle BoundHandle { [System.Runtime.CompilerServices.CompilerGeneratedAttribute]get { throw null; } } + internal System.Runtime.InteropServices.SafeHandle Handle { [System.Runtime.CompilerServices.CompilerGeneratedAttribute]get { throw null; } } + internal void AttachToUrlGroup() { } + internal void DetachFromUrlGroup() { } + public void Dispose() { } + internal void SetLengthLimit(long length) { } + internal void SetRejectionVerbosity(Microsoft.AspNetCore.Server.HttpSys.Http503VerbosityLevel verbosity) { } + } + internal enum BoundaryType + { + None = 0, + Chunked = 1, + ContentLength = 2, + Close = 3, + PassThrough = 4, + Invalid = 5, + } + internal sealed partial class Request + { + internal Request(Microsoft.AspNetCore.Server.HttpSys.RequestContext requestContext, Microsoft.AspNetCore.HttpSys.Internal.NativeRequestContext nativeRequestContext) { } + public System.IO.Stream Body { get { throw null; } } + public System.Security.Authentication.CipherAlgorithmType CipherAlgorithm { [System.Runtime.CompilerServices.CompilerGeneratedAttribute]get { throw null; } } + public int CipherStrength { [System.Runtime.CompilerServices.CompilerGeneratedAttribute]get { throw null; } } + public long ConnectionId { get { throw null; } } + public long? ContentLength { get { throw null; } } + public bool HasEntityBody { get { throw null; } } + public System.Security.Authentication.HashAlgorithmType HashAlgorithm { [System.Runtime.CompilerServices.CompilerGeneratedAttribute]get { throw null; } } + public int HashStrength { [System.Runtime.CompilerServices.CompilerGeneratedAttribute]get { throw null; } } + public bool HasRequestBodyStarted { get { throw null; } } + public Microsoft.AspNetCore.HttpSys.Internal.RequestHeaders Headers { [System.Runtime.CompilerServices.CompilerGeneratedAttribute]get { throw null; } } + internal bool IsHeadMethod { get { throw null; } } + public bool IsHttps { get { throw null; } } + internal bool IsUpgradable { get { throw null; } } + public System.Security.Authentication.ExchangeAlgorithmType KeyExchangeAlgorithm { [System.Runtime.CompilerServices.CompilerGeneratedAttribute]get { throw null; } } + public int KeyExchangeStrength { [System.Runtime.CompilerServices.CompilerGeneratedAttribute]get { throw null; } } + internal Microsoft.AspNetCore.HttpSys.Internal.HttpApiTypes.HTTP_VERB KnownMethod { [System.Runtime.CompilerServices.CompilerGeneratedAttribute]get { throw null; } } + public System.Net.IPAddress LocalIpAddress { get { throw null; } } + public int LocalPort { get { throw null; } } + public long? MaxRequestBodySize { get { throw null; } set { } } + public string Method { [System.Runtime.CompilerServices.CompilerGeneratedAttribute]get { throw null; } } + public string Path { [System.Runtime.CompilerServices.CompilerGeneratedAttribute]get { throw null; } } + public string PathBase { [System.Runtime.CompilerServices.CompilerGeneratedAttribute]get { throw null; } } + public System.Security.Authentication.SslProtocols Protocol { [System.Runtime.CompilerServices.CompilerGeneratedAttribute]get { throw null; } } + public System.Version ProtocolVersion { [System.Runtime.CompilerServices.CompilerGeneratedAttribute]get { throw null; } } + public string QueryString { [System.Runtime.CompilerServices.CompilerGeneratedAttribute]get { throw null; } } + public string RawUrl { [System.Runtime.CompilerServices.CompilerGeneratedAttribute]get { throw null; } } + public System.Net.IPAddress RemoteIpAddress { get { throw null; } } + public int RemotePort { get { throw null; } } + internal ulong RequestId { [System.Runtime.CompilerServices.CompilerGeneratedAttribute]get { throw null; } } + public string Scheme { get { throw null; } } + internal ulong UConnectionId { [System.Runtime.CompilerServices.CompilerGeneratedAttribute]get { throw null; } } + internal System.Security.Principal.WindowsPrincipal User { [System.Runtime.CompilerServices.CompilerGeneratedAttribute]get { throw null; } } + internal void Dispose() { } + internal uint GetChunks(ref int dataChunkIndex, ref uint dataChunkOffset, byte[] buffer, int offset, int size) { throw null; } + internal void SwitchToOpaqueMode() { } + } + internal sealed partial class Response + { + internal Response(Microsoft.AspNetCore.Server.HttpSys.RequestContext requestContext) { } + public Microsoft.AspNetCore.Server.HttpSys.AuthenticationSchemes AuthenticationChallenges { get { throw null; } set { } } + public System.IO.Stream Body { get { throw null; } } + internal bool BodyIsFinished { get { throw null; } } + internal Microsoft.AspNetCore.Server.HttpSys.BoundaryType BoundaryType { get { throw null; } } + public System.TimeSpan? CacheTtl { get { throw null; } set { } } + public long? ContentLength { get { throw null; } set { } } + internal long ExpectedBodyLength { get { throw null; } } + internal bool HasComputedHeaders { get { throw null; } } + public bool HasStarted { get { throw null; } } + public Microsoft.AspNetCore.HttpSys.Internal.HeaderCollection Headers { [System.Runtime.CompilerServices.CompilerGeneratedAttribute]get { throw null; } } + public string ReasonPhrase { get { throw null; } set { } } + public int StatusCode { get { throw null; } set { } } + internal void Abort() { } + internal void CancelLastWrite() { } + internal Microsoft.AspNetCore.HttpSys.Internal.HttpApiTypes.HTTP_FLAGS ComputeHeaders(long writeCount, bool endOfRequest = false) { throw null; } + internal void Dispose() { } + public System.Threading.Tasks.Task SendFileAsync(string path, long offset, long? count, System.Threading.CancellationToken cancel) { throw null; } + internal uint SendHeaders(Microsoft.AspNetCore.HttpSys.Internal.HttpApiTypes.HTTP_DATA_CHUNK[] dataChunks, Microsoft.AspNetCore.Server.HttpSys.ResponseStreamAsyncResult asyncResult, Microsoft.AspNetCore.HttpSys.Internal.HttpApiTypes.HTTP_FLAGS flags, bool isOpaqueUpgrade) { throw null; } + internal void SendOpaqueUpgrade() { } + internal void SwitchToOpaqueMode() { } + } + internal partial class DisconnectListener + { + internal DisconnectListener(Microsoft.AspNetCore.Server.HttpSys.RequestQueue requestQueue, Microsoft.Extensions.Logging.ILogger logger) { } + internal System.Threading.CancellationToken GetTokenForConnection(ulong connectionId) { throw null; } + } + internal partial class HttpSysListener : System.IDisposable + { + internal static readonly bool SkipIOCPCallbackOnSuccess; + public HttpSysListener(Microsoft.AspNetCore.Server.HttpSys.HttpSysOptions options, Microsoft.Extensions.Logging.ILoggerFactory loggerFactory) { } + internal Microsoft.AspNetCore.Server.HttpSys.DisconnectListener DisconnectListener { get { throw null; } } + public bool IsListening { get { throw null; } } + internal Microsoft.Extensions.Logging.ILogger Logger { [System.Runtime.CompilerServices.CompilerGeneratedAttribute]get { throw null; } } + public Microsoft.AspNetCore.Server.HttpSys.HttpSysOptions Options { [System.Runtime.CompilerServices.CompilerGeneratedAttribute]get { throw null; } } + internal Microsoft.AspNetCore.Server.HttpSys.RequestQueue RequestQueue { get { throw null; } } + internal Microsoft.AspNetCore.Server.HttpSys.UrlGroup UrlGroup { get { throw null; } } + public System.Threading.Tasks.Task<Microsoft.AspNetCore.Server.HttpSys.RequestContext> AcceptAsync() { throw null; } + internal void SendError(ulong requestId, int httpStatusCode, System.Collections.Generic.IList<string> authChallenges = null) { } + public void Start() { } + public void Dispose() { } + internal bool ValidateAuth(Microsoft.AspNetCore.HttpSys.Internal.NativeRequestContext requestMemory) { throw null; } + internal bool ValidateRequest(Microsoft.AspNetCore.HttpSys.Internal.NativeRequestContext requestMemory) { throw null; } + internal enum State + { + Stopped = 0, + Started = 1, + Disposed = 2, + } + } + internal sealed partial class RequestContext : System.IDisposable + { + internal RequestContext(Microsoft.AspNetCore.Server.HttpSys.HttpSysListener server, Microsoft.AspNetCore.HttpSys.Internal.NativeRequestContext memoryBlob) { } + internal bool AllowSynchronousIO { [System.Runtime.CompilerServices.CompilerGeneratedAttribute]get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute]set { } } + public System.Threading.CancellationToken DisconnectToken { get { throw null; } } + public bool IsUpgradableRequest { get { throw null; } } + internal Microsoft.Extensions.Logging.ILogger Logger { get { throw null; } } + public Microsoft.AspNetCore.Server.HttpSys.Request Request { [System.Runtime.CompilerServices.CompilerGeneratedAttribute]get { throw null; } } + public Microsoft.AspNetCore.Server.HttpSys.Response Response { [System.Runtime.CompilerServices.CompilerGeneratedAttribute]get { throw null; } } + internal Microsoft.AspNetCore.Server.HttpSys.HttpSysListener Server { [System.Runtime.CompilerServices.CompilerGeneratedAttribute]get { throw null; } } + public System.Guid TraceIdentifier { get { throw null; } } + public System.Security.Principal.WindowsPrincipal User { get { throw null; } } + public void Abort() { } + public void Dispose() { } + internal void ForceCancelRequest() { } + internal System.Threading.CancellationTokenRegistration RegisterForCancellation(System.Threading.CancellationToken cancellationToken) { throw null; } + internal bool TryGetChannelBinding(ref System.Security.Authentication.ExtendedProtection.ChannelBinding value) { throw null; } + public System.Threading.Tasks.Task<System.IO.Stream> UpgradeAsync() { throw null; } + } + internal partial class MessagePump : Microsoft.AspNetCore.Hosting.Server.IServer, System.IDisposable + { + public MessagePump(Microsoft.Extensions.Options.IOptions<Microsoft.AspNetCore.Server.HttpSys.HttpSysOptions> options, Microsoft.Extensions.Logging.ILoggerFactory loggerFactory, Microsoft.AspNetCore.Authentication.IAuthenticationSchemeProvider authentication) { } + public Microsoft.AspNetCore.Http.Features.IFeatureCollection Features { [System.Runtime.CompilerServices.CompilerGeneratedAttribute]get { throw null; } } + internal Microsoft.AspNetCore.Server.HttpSys.HttpSysListener Listener { [System.Runtime.CompilerServices.CompilerGeneratedAttribute]get { throw null; } } + public void Dispose() { } + public System.Threading.Tasks.Task StartAsync<TContext>(Microsoft.AspNetCore.Hosting.Server.IHttpApplication<TContext> application, System.Threading.CancellationToken cancellationToken) { throw null; } + public System.Threading.Tasks.Task StopAsync(System.Threading.CancellationToken cancellationToken) { throw null; } + } +} diff --git a/src/Servers/HttpSys/ref/Microsoft.AspNetCore.Server.HttpSys.csproj b/src/Servers/HttpSys/ref/Microsoft.AspNetCore.Server.HttpSys.csproj index 724aaeedb1a9..8f6d3ba3e0ac 100644 --- a/src/Servers/HttpSys/ref/Microsoft.AspNetCore.Server.HttpSys.csproj +++ b/src/Servers/HttpSys/ref/Microsoft.AspNetCore.Server.HttpSys.csproj @@ -5,11 +5,13 @@ </PropertyGroup> <ItemGroup Condition="'$(TargetFramework)' == '$(DefaultNetCoreTargetFramework)'"> <Compile Include="Microsoft.AspNetCore.Server.HttpSys.netcoreapp.cs" /> - <Reference Include="Microsoft.AspNetCore.Authentication.Core" /> - <Reference Include="Microsoft.AspNetCore.Connections.Abstractions" /> - <Reference Include="Microsoft.AspNetCore.Hosting" /> - <Reference Include="Microsoft.Net.Http.Headers" /> - <Reference Include="Microsoft.Win32.Registry" /> - <Reference Include="System.Security.Principal.Windows" /> + <Compile Include="Microsoft.AspNetCore.Server.HttpSys.Manual.cs" /> + <Compile Include="../src/Properties/AssemblyInfo.cs" /> + <Reference Include="Microsoft.AspNetCore.Authentication.Core" /> + <Reference Include="Microsoft.AspNetCore.Connections.Abstractions" /> + <Reference Include="Microsoft.AspNetCore.Hosting" /> + <Reference Include="Microsoft.Net.Http.Headers" /> + <Reference Include="Microsoft.Win32.Registry" /> + <Reference Include="System.Security.Principal.Windows" /> </ItemGroup> </Project> diff --git a/src/Servers/HttpSys/src/Microsoft.AspNetCore.Server.HttpSys.csproj b/src/Servers/HttpSys/src/Microsoft.AspNetCore.Server.HttpSys.csproj index 2e57c61ce8da..9877d269859d 100644 --- a/src/Servers/HttpSys/src/Microsoft.AspNetCore.Server.HttpSys.csproj +++ b/src/Servers/HttpSys/src/Microsoft.AspNetCore.Server.HttpSys.csproj @@ -8,7 +8,7 @@ <AllowUnsafeBlocks>true</AllowUnsafeBlocks> <GenerateDocumentationFile>true</GenerateDocumentationFile> <PackageTags>aspnetcore;weblistener;httpsys</PackageTags> - <IsShippingPackage>false</IsShippingPackage> + <IsPackable>false</IsPackable> </PropertyGroup> <ItemGroup> diff --git a/src/Servers/IIS/IIS/ref/Microsoft.AspNetCore.Server.IIS.Manual.cs b/src/Servers/IIS/IIS/ref/Microsoft.AspNetCore.Server.IIS.Manual.cs index ab9860b0336f..e196d651971b 100644 --- a/src/Servers/IIS/IIS/ref/Microsoft.AspNetCore.Server.IIS.Manual.cs +++ b/src/Servers/IIS/IIS/ref/Microsoft.AspNetCore.Server.IIS.Manual.cs @@ -1,8 +1,28 @@ // Copyright (c) .NET Foundation. All rights reserved. // Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. -using System.Runtime.CompilerServices; -using Microsoft.AspNetCore.Http.Features; - -[assembly: TypeForwardedTo(typeof(IServerVariablesFeature))] - +namespace Microsoft.AspNetCore.Server.IIS +{ + internal static partial class CoreStrings + { + internal static string BadRequest { get { throw null; } } + internal static string BadRequest_RequestBodyTooLarge { get { throw null; } } + internal static string CannotUpgradeNonUpgradableRequest { get { throw null; } } + internal static string ConnectionAbortedByApplication { get { throw null; } } + internal static string ConnectionOrStreamAbortedByCancellationToken { get { throw null; } } + internal static System.Globalization.CultureInfo Culture { [System.Runtime.CompilerServices.CompilerGeneratedAttribute]get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute]set { } } + internal static string MaxRequestBodySizeCannotBeModifiedAfterRead { get { throw null; } } + internal static string MaxRequestBodySizeCannotBeModifiedForUpgradedRequests { get { throw null; } } + internal static string MaxRequestLimitWarning { get { throw null; } } + internal static string NonNegativeNumberOrNullRequired { get { throw null; } } + internal static string ParameterReadOnlyAfterResponseStarted { get { throw null; } } + internal static System.Resources.ResourceManager ResourceManager { get { throw null; } } + internal static string ResponseStreamWasUpgraded { get { throw null; } } + internal static string SynchronousReadsDisallowed { get { throw null; } } + internal static string SynchronousWritesDisallowed { get { throw null; } } + internal static string UnhandledApplicationException { get { throw null; } } + internal static string UpgradeCannotBeCalledMultipleTimes { get { throw null; } } + internal static string WritingToResponseBodyAfterResponseCompleted { get { throw null; } } + internal static string FormatParameterReadOnlyAfterResponseStarted(object name) { throw null; } + } +} \ No newline at end of file diff --git a/src/Servers/IIS/IIS/ref/Microsoft.AspNetCore.Server.IIS.csproj b/src/Servers/IIS/IIS/ref/Microsoft.AspNetCore.Server.IIS.csproj index a88930de54cc..d83e4e0301fd 100644 --- a/src/Servers/IIS/IIS/ref/Microsoft.AspNetCore.Server.IIS.csproj +++ b/src/Servers/IIS/IIS/ref/Microsoft.AspNetCore.Server.IIS.csproj @@ -6,14 +6,15 @@ <ItemGroup Condition="'$(TargetFramework)' == '$(DefaultNetCoreTargetFramework)'"> <Compile Include="Microsoft.AspNetCore.Server.IIS.netcoreapp.cs" /> <Compile Include="Microsoft.AspNetCore.Server.IIS.Manual.cs" /> - <Reference Include="Microsoft.AspNetCore.Authentication.Core" /> - <Reference Include="Microsoft.AspNetCore.Connections.Abstractions" /> - <Reference Include="Microsoft.AspNetCore.Hosting.Abstractions" /> - <Reference Include="Microsoft.AspNetCore.Http.Extensions" /> - <Reference Include="Microsoft.AspNetCore.Http.Features" /> - <Reference Include="Microsoft.Extensions.FileProviders.Physical" /> - <Reference Include="Microsoft.Extensions.TypeNameHelper.Sources" /> - <Reference Include="System.IO.Pipelines" /> - <Reference Include="System.Security.Principal.Windows" /> + <Compile Include="../src/AssemblyInfo.cs" /> + <Reference Include="Microsoft.AspNetCore.Authentication.Core" /> + <Reference Include="Microsoft.AspNetCore.Connections.Abstractions" /> + <Reference Include="Microsoft.AspNetCore.Hosting.Abstractions" /> + <Reference Include="Microsoft.AspNetCore.Http.Extensions" /> + <Reference Include="Microsoft.AspNetCore.Http.Features" /> + <Reference Include="Microsoft.Extensions.FileProviders.Physical" /> + <Reference Include="Microsoft.Extensions.TypeNameHelper.Sources" /> + <Reference Include="System.IO.Pipelines" /> + <Reference Include="System.Security.Principal.Windows" /> </ItemGroup> </Project> diff --git a/src/Servers/IIS/IIS/src/Microsoft.AspNetCore.Server.IIS.csproj b/src/Servers/IIS/IIS/src/Microsoft.AspNetCore.Server.IIS.csproj index a95e4ec56ad2..1c15bb18581d 100644 --- a/src/Servers/IIS/IIS/src/Microsoft.AspNetCore.Server.IIS.csproj +++ b/src/Servers/IIS/IIS/src/Microsoft.AspNetCore.Server.IIS.csproj @@ -10,7 +10,7 @@ <PackageTags>aspnetcore;iis</PackageTags> <AllowUnsafeBlocks>true</AllowUnsafeBlocks> <NativeAssetsTargetFramework>$(DefaultNetCoreTargetFramework)</NativeAssetsTargetFramework> - <IsShippingPackage>false</IsShippingPackage> + <IsPackable>false</IsPackable> </PropertyGroup> <ItemGroup> diff --git a/src/Servers/IIS/IIS/test/testassets/InProcessNewShimWebSite/InProcessNewShimWebSite.csproj b/src/Servers/IIS/IIS/test/testassets/InProcessNewShimWebSite/InProcessNewShimWebSite.csproj index dd8210c336d6..fabcb2938ad1 100644 --- a/src/Servers/IIS/IIS/test/testassets/InProcessNewShimWebSite/InProcessNewShimWebSite.csproj +++ b/src/Servers/IIS/IIS/test/testassets/InProcessNewShimWebSite/InProcessNewShimWebSite.csproj @@ -11,7 +11,7 @@ <ItemGroup Condition="'$(OS)' == 'Windows_NT'"> <TestAssetPublishProfile Include="Portable" Properties="TargetFramework=$(DefaultNetCoreTargetFramework)" /> - <TestAssetPublishProfile Include="Standalone-x64" Properties="RuntimeIdentifier=win-x64;" /> + <TestAssetPublishProfile Condition="'$(TargetArchitecture)' != 'arm'" Include="Standalone-x64" Properties="RuntimeIdentifier=win-x64;" /> </ItemGroup> <ItemGroup> diff --git a/src/Servers/IIS/IIS/test/testassets/InProcessWebSite/InProcessWebSite.csproj b/src/Servers/IIS/IIS/test/testassets/InProcessWebSite/InProcessWebSite.csproj index 083c9a446a4f..4f4c84730d4b 100644 --- a/src/Servers/IIS/IIS/test/testassets/InProcessWebSite/InProcessWebSite.csproj +++ b/src/Servers/IIS/IIS/test/testassets/InProcessWebSite/InProcessWebSite.csproj @@ -9,7 +9,7 @@ <ItemGroup Condition="'$(OS)' == 'Windows_NT'"> <TestAssetPublishProfile Include="Portable" Properties="TargetFramework=$(DefaultNetCoreTargetFramework)" /> - <TestAssetPublishProfile Include="Standalone-x64" Properties="RuntimeIdentifier=win-x64;" /> + <TestAssetPublishProfile Condition="'$(TargetArchitecture)' != 'arm'" Include="Standalone-x64" Properties="RuntimeIdentifier=win-x64;" /> </ItemGroup> <ItemGroup> diff --git a/src/Servers/IIS/IISIntegration/ref/Microsoft.AspNetCore.Server.IISIntegration.Manual.cs b/src/Servers/IIS/IISIntegration/ref/Microsoft.AspNetCore.Server.IISIntegration.Manual.cs new file mode 100644 index 000000000000..b2eb6c120c7e --- /dev/null +++ b/src/Servers/IIS/IISIntegration/ref/Microsoft.AspNetCore.Server.IISIntegration.Manual.cs @@ -0,0 +1,18 @@ +// Copyright (c) .NET Foundation. All rights reserved. +// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. + +namespace Microsoft.AspNetCore.Builder +{ + public partial class IISOptions + { + internal bool ForwardWindowsAuthentication { [System.Runtime.CompilerServices.CompilerGeneratedAttribute]get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute]set { } } + } +} +namespace Microsoft.AspNetCore.Server.IISIntegration +{ + internal partial class IISSetupFilter : Microsoft.AspNetCore.Hosting.IStartupFilter + { + internal IISSetupFilter(string pairingToken, Microsoft.AspNetCore.Http.PathString pathBase, bool isWebsocketsSupported) { } + public System.Action<Microsoft.AspNetCore.Builder.IApplicationBuilder> Configure(System.Action<Microsoft.AspNetCore.Builder.IApplicationBuilder> next) { throw null; } + } +} diff --git a/src/Servers/IIS/IISIntegration/ref/Microsoft.AspNetCore.Server.IISIntegration.csproj b/src/Servers/IIS/IISIntegration/ref/Microsoft.AspNetCore.Server.IISIntegration.csproj index 1c8b4a1c05c5..713ecf4507ae 100644 --- a/src/Servers/IIS/IISIntegration/ref/Microsoft.AspNetCore.Server.IISIntegration.csproj +++ b/src/Servers/IIS/IISIntegration/ref/Microsoft.AspNetCore.Server.IISIntegration.csproj @@ -5,15 +5,17 @@ </PropertyGroup> <ItemGroup Condition="'$(TargetFramework)' == '$(DefaultNetCoreTargetFramework)'"> <Compile Include="Microsoft.AspNetCore.Server.IISIntegration.netcoreapp.cs" /> - <Reference Include="Microsoft.AspNetCore.Authentication.Core" /> - <Reference Include="Microsoft.AspNetCore.Hosting.Abstractions" /> - <Reference Include="Microsoft.AspNetCore.Hosting.Server.Abstractions" /> - <Reference Include="Microsoft.AspNetCore.Http.Extensions" /> - <Reference Include="Microsoft.AspNetCore.Http" /> - <Reference Include="Microsoft.AspNetCore.HttpOverrides" /> - <Reference Include="Microsoft.Extensions.Logging.Abstractions" /> - <Reference Include="Microsoft.Extensions.Options" /> - <Reference Include="System.IO.Pipelines" /> - <Reference Include="System.Security.Principal.Windows" /> + <Compile Include="Microsoft.AspNetCore.Server.IISIntegration.Manual.cs" /> + <Compile Include="../src/Properties/AssemblyInfo.cs" /> + <Reference Include="Microsoft.AspNetCore.Authentication.Core" /> + <Reference Include="Microsoft.AspNetCore.Hosting.Abstractions" /> + <Reference Include="Microsoft.AspNetCore.Hosting.Server.Abstractions" /> + <Reference Include="Microsoft.AspNetCore.Http.Extensions" /> + <Reference Include="Microsoft.AspNetCore.Http" /> + <Reference Include="Microsoft.AspNetCore.HttpOverrides" /> + <Reference Include="Microsoft.Extensions.Logging.Abstractions" /> + <Reference Include="Microsoft.Extensions.Options" /> + <Reference Include="System.IO.Pipelines" /> + <Reference Include="System.Security.Principal.Windows" /> </ItemGroup> </Project> diff --git a/src/Servers/IIS/IISIntegration/src/Microsoft.AspNetCore.Server.IISIntegration.csproj b/src/Servers/IIS/IISIntegration/src/Microsoft.AspNetCore.Server.IISIntegration.csproj index ccc1caa9bc3b..addaf56ff283 100644 --- a/src/Servers/IIS/IISIntegration/src/Microsoft.AspNetCore.Server.IISIntegration.csproj +++ b/src/Servers/IIS/IISIntegration/src/Microsoft.AspNetCore.Server.IISIntegration.csproj @@ -8,7 +8,7 @@ <GenerateDocumentationFile>true</GenerateDocumentationFile> <PackageTags>aspnetcore;iis</PackageTags> <AllowUnsafeBlocks>true</AllowUnsafeBlocks> - <IsShippingPackage>false</IsShippingPackage> + <IsPackable>false</IsPackable> </PropertyGroup> <ItemGroup> diff --git a/src/Servers/Kestrel/Core/ref/Microsoft.AspNetCore.Server.Kestrel.Core.csproj b/src/Servers/Kestrel/Core/ref/Microsoft.AspNetCore.Server.Kestrel.Core.csproj index e2fdde82b217..9f8403c50ecf 100644 --- a/src/Servers/Kestrel/Core/ref/Microsoft.AspNetCore.Server.Kestrel.Core.csproj +++ b/src/Servers/Kestrel/Core/ref/Microsoft.AspNetCore.Server.Kestrel.Core.csproj @@ -5,14 +5,15 @@ </PropertyGroup> <ItemGroup Condition="'$(TargetFramework)' == '$(DefaultNetCoreTargetFramework)'"> <Compile Include="Microsoft.AspNetCore.Server.Kestrel.Core.netcoreapp.cs" /> - <Reference Include="Microsoft.AspNetCore.Hosting.Abstractions" /> - <Reference Include="Microsoft.AspNetCore.Http" /> - <Reference Include="Microsoft.AspNetCore.Connections.Abstractions" /> - <Reference Include="Microsoft.AspNetCore.WebUtilities" /> - <Reference Include="Microsoft.Extensions.Configuration.Binder" /> - <Reference Include="Microsoft.Extensions.Logging.Abstractions" /> - <Reference Include="Microsoft.Extensions.Options" /> - <Reference Include="Microsoft.Net.Http.Headers" /> - <Reference Include="System.Security.Cryptography.Cng" /> + <Compile Include="../src/Properties/AssemblyInfo.cs" /> + <Reference Include="Microsoft.AspNetCore.Hosting.Abstractions" /> + <Reference Include="Microsoft.AspNetCore.Http" /> + <Reference Include="Microsoft.AspNetCore.Connections.Abstractions" /> + <Reference Include="Microsoft.AspNetCore.WebUtilities" /> + <Reference Include="Microsoft.Extensions.Configuration.Binder" /> + <Reference Include="Microsoft.Extensions.Logging.Abstractions" /> + <Reference Include="Microsoft.Extensions.Options" /> + <Reference Include="Microsoft.Net.Http.Headers" /> + <Reference Include="System.Security.Cryptography.Cng" /> </ItemGroup> </Project> diff --git a/src/Servers/Kestrel/Core/src/CoreStrings.resx b/src/Servers/Kestrel/Core/src/CoreStrings.resx index 20c0b928cb56..3a25467bcc2f 100644 --- a/src/Servers/Kestrel/Core/src/CoreStrings.resx +++ b/src/Servers/Kestrel/Core/src/CoreStrings.resx @@ -581,4 +581,4 @@ For more information on configuring HTTPS see https://go.microsoft.com/fwlink/?l <data name="TransportNotFound" xml:space="preserve"> <value>Unable to resolve service for type 'Microsoft.AspNetCore.Connections.IConnectionListenerFactory' while attempting to activate 'Microsoft.AspNetCore.Server.Kestrel.Core.KestrelServer'.</value> </data> -</root> +</root> \ No newline at end of file diff --git a/src/Servers/Kestrel/Core/src/Internal/ConfigurationReader.cs b/src/Servers/Kestrel/Core/src/Internal/ConfigurationReader.cs index 259f2c61b681..79dc84d5c1c1 100644 --- a/src/Servers/Kestrel/Core/src/Internal/ConfigurationReader.cs +++ b/src/Servers/Kestrel/Core/src/Internal/ConfigurationReader.cs @@ -1,4 +1,4 @@ -// Copyright (c) .NET Foundation. All rights reserved. +// Copyright (c) .NET Foundation. All rights reserved. // Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. using System; @@ -15,11 +15,13 @@ internal class ConfigurationReader private const string EndpointDefaultsKey = "EndpointDefaults"; private const string EndpointsKey = "Endpoints"; private const string UrlKey = "Url"; + private const string Latin1RequestHeadersKey = "Latin1RequestHeaders"; private IConfiguration _configuration; private IDictionary<string, CertificateConfig> _certificates; private IList<EndpointConfig> _endpoints; private EndpointDefaults _endpointDefaults; + private bool? _latin1RequestHeaders; public ConfigurationReader(IConfiguration configuration) { @@ -65,6 +67,19 @@ public IEnumerable<EndpointConfig> Endpoints } } + public bool Latin1RequestHeaders + { + get + { + if (_latin1RequestHeaders is null) + { + _latin1RequestHeaders = _configuration.GetValue<bool>(Latin1RequestHeadersKey); + } + + return _latin1RequestHeaders.Value; + } + } + private void ReadCertificates() { _certificates = new Dictionary<string, CertificateConfig>(0); diff --git a/src/Servers/Kestrel/Core/src/Internal/Http/Http1Connection.cs b/src/Servers/Kestrel/Core/src/Internal/Http/Http1Connection.cs index 09c8d7923c63..832d48cdce4c 100644 --- a/src/Servers/Kestrel/Core/src/Internal/Http/Http1Connection.cs +++ b/src/Servers/Kestrel/Core/src/Internal/Http/Http1Connection.cs @@ -34,6 +34,13 @@ internal partial class Http1Connection : HttpProtocol, IRequestProcessor private HttpRequestTarget _requestTargetForm = HttpRequestTarget.Unknown; private Uri _absoluteRequestTarget; + // The _parsed fields cache the Path, QueryString, RawTarget, and/or _absoluteRequestTarget + // from the previous request when DisableStringReuse is false. + private string _parsedPath = null; + private string _parsedQueryString = null; + private string _parsedRawTarget = null; + private Uri _parsedAbsoluteRequestTarget; + private int _remainingRequestHeadersBytesAllowed; public Http1Connection(HttpConnectionContext context) @@ -338,6 +345,7 @@ private void OnOriginFormTarget(bool pathEncoded, Span<byte> target, Span<byte> // Clear parsedData as we won't check it if we come via this path again, // an setting to null is fast as it doesn't need to use a GC write barrier. _parsedRawTarget = _parsedPath = _parsedQueryString = null; + _parsedAbsoluteRequestTarget = null; return; } @@ -390,6 +398,10 @@ private void OnOriginFormTarget(bool pathEncoded, Span<byte> target, Span<byte> Path = _parsedPath; QueryString = _parsedQueryString; } + + // Clear parsedData for absolute target as we won't check it if we come via this path again, + // an setting to null is fast as it doesn't need to use a GC write barrier. + _parsedAbsoluteRequestTarget = null; } catch (InvalidOperationException) { @@ -442,9 +454,10 @@ private void OnAuthorityFormTarget(HttpMethod method, Span<byte> target) Path = string.Empty; QueryString = string.Empty; - // Clear parsedData for path and queryString as we won't check it if we come via this path again, + // Clear parsedData for path, queryString and absolute target as we won't check it if we come via this path again, // an setting to null is fast as it doesn't need to use a GC write barrier. _parsedPath = _parsedQueryString = null; + _parsedAbsoluteRequestTarget = null; } private void OnAsteriskFormTarget(HttpMethod method) @@ -464,6 +477,7 @@ private void OnAsteriskFormTarget(HttpMethod method) // Clear parsedData as we won't check it if we come via this path again, // an setting to null is fast as it doesn't need to use a GC write barrier. _parsedRawTarget = _parsedPath = _parsedQueryString = null; + _parsedAbsoluteRequestTarget = null; } private void OnAbsoluteFormTarget(Span<byte> target, Span<byte> query) @@ -498,7 +512,7 @@ private void OnAbsoluteFormTarget(Span<byte> target, Span<byte> query) ThrowRequestTargetRejected(target); } - _absoluteRequestTarget = uri; + _absoluteRequestTarget = _parsedAbsoluteRequestTarget = uri; Path = _parsedPath = uri.LocalPath; // don't use uri.Query because we need the unescaped version previousValue = _parsedQueryString; @@ -521,6 +535,7 @@ private void OnAbsoluteFormTarget(Span<byte> target, Span<byte> query) RawTarget = _parsedRawTarget; Path = _parsedPath; QueryString = _parsedQueryString; + _absoluteRequestTarget = _parsedAbsoluteRequestTarget; } } diff --git a/src/Servers/Kestrel/Core/src/Internal/Http/HttpHeaders.Generated.cs b/src/Servers/Kestrel/Core/src/Internal/Http/HttpHeaders.Generated.cs index 402809d818ae..c46e2183c5a8 100644 --- a/src/Servers/Kestrel/Core/src/Internal/Http/HttpHeaders.Generated.cs +++ b/src/Servers/Kestrel/Core/src/Internal/Http/HttpHeaders.Generated.cs @@ -6105,7 +6105,7 @@ public unsafe void Append(ReadOnlySpan<byte> name, ReadOnlySpan<byte> value) } // We didn't have a previous matching header value, or have already added a header, so get the string for this value. - var valueStr = value.GetAsciiOrUTF8StringNonNullCharacters(); + var valueStr = value.GetRequestHeaderStringNonNullCharacters(_useLatin1); if ((_bits & flag) == 0) { // We didn't already have a header set, so add a new one. @@ -6123,7 +6123,7 @@ public unsafe void Append(ReadOnlySpan<byte> name, ReadOnlySpan<byte> value) // The header was not one of the "known" headers. // Convert value to string first, because passing two spans causes 8 bytes stack zeroing in // this method with rep stosd, which is slower than necessary. - var valueStr = value.GetAsciiOrUTF8StringNonNullCharacters(); + var valueStr = value.GetRequestHeaderStringNonNullCharacters(_useLatin1); AppendUnknownHeaders(name, valueStr); } } diff --git a/src/Servers/Kestrel/Core/src/Internal/Http/HttpProtocol.cs b/src/Servers/Kestrel/Core/src/Internal/Http/HttpProtocol.cs index 4e6cd3f8f0c4..47d6e3fa3275 100644 --- a/src/Servers/Kestrel/Core/src/Internal/Http/HttpProtocol.cs +++ b/src/Servers/Kestrel/Core/src/Internal/Http/HttpProtocol.cs @@ -81,6 +81,10 @@ public void Initialize(HttpConnectionContext context) ServerOptions = ServiceContext.ServerOptions; + HttpRequestHeaders = new HttpRequestHeaders( + reuseHeaderValues: !ServerOptions.DisableStringReuse, + useLatin1: ServerOptions.Latin1RequestHeaders); + Reset(); HttpRequestHeaders.ReuseHeaderValues = !ServerOptions.DisableStringReuse; @@ -137,13 +141,8 @@ public string TraceIdentifier public HttpMethod Method { get; set; } public string PathBase { get; set; } - protected string _parsedPath = null; public string Path { get; set; } - - protected string _parsedQueryString = null; public string QueryString { get; set; } - - protected string _parsedRawTarget = null; public string RawTarget { get; set; } public string HttpVersion @@ -310,7 +309,7 @@ public CancellationToken RequestAborted public bool HasResponseCompleted => _requestProcessingStatus == RequestProcessingStatus.ResponseCompleted; - protected HttpRequestHeaders HttpRequestHeaders { get; } = new HttpRequestHeaders(); + protected HttpRequestHeaders HttpRequestHeaders { get; set; } = new HttpRequestHeaders(); protected HttpResponseHeaders HttpResponseHeaders { get; } = new HttpResponseHeaders(); @@ -533,7 +532,7 @@ public void OnTrailer(ReadOnlySpan<byte> name, ReadOnlySpan<byte> value) } string key = name.GetHeaderName(); - var valueStr = value.GetAsciiOrUTF8StringNonNullCharacters(); + var valueStr = value.GetRequestHeaderStringNonNullCharacters(ServerOptions.Latin1RequestHeaders); RequestTrailers.Append(key, valueStr); } @@ -1193,7 +1192,7 @@ private HttpResponseHeaders CreateResponseHeaders(bool appCompleted) } // TODO allow customization of this. - if (ServerOptions.EnableAltSvc && _httpVersion < Http.HttpVersion.Http3) + if (ServerOptions.EnableAltSvc && _httpVersion < Http.HttpVersion.Http3) { foreach (var option in ServerOptions.ListenOptions) { diff --git a/src/Servers/Kestrel/Core/src/Internal/Http/HttpRequestHeaders.cs b/src/Servers/Kestrel/Core/src/Internal/Http/HttpRequestHeaders.cs index 329ce4b312d4..39a5ce81dfec 100644 --- a/src/Servers/Kestrel/Core/src/Internal/Http/HttpRequestHeaders.cs +++ b/src/Servers/Kestrel/Core/src/Internal/Http/HttpRequestHeaders.cs @@ -14,11 +14,13 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http { internal sealed partial class HttpRequestHeaders : HttpHeaders { + private readonly bool _useLatin1; private long _previousBits = 0; - public HttpRequestHeaders(bool reuseHeaderValues = true) + public HttpRequestHeaders(bool reuseHeaderValues = true, bool useLatin1 = false) { ReuseHeaderValues = reuseHeaderValues; + _useLatin1 = useLatin1; } public bool ReuseHeaderValues { get; set; } @@ -81,7 +83,7 @@ private void AppendContentLength(ReadOnlySpan<byte> value) parsed < 0 || consumed != value.Length) { - BadHttpRequestException.Throw(RequestRejectionReason.InvalidContentLength, value.GetAsciiOrUTF8StringNonNullCharacters()); + BadHttpRequestException.Throw(RequestRejectionReason.InvalidContentLength, value.GetRequestHeaderStringNonNullCharacters(_useLatin1)); } _contentLength = parsed; diff --git a/src/Servers/Kestrel/Core/src/Internal/Infrastructure/HttpUtilities.cs b/src/Servers/Kestrel/Core/src/Internal/Infrastructure/HttpUtilities.cs index c95386b9f774..70fa7f00b370 100644 --- a/src/Servers/Kestrel/Core/src/Internal/Infrastructure/HttpUtilities.cs +++ b/src/Servers/Kestrel/Core/src/Internal/Infrastructure/HttpUtilities.cs @@ -133,7 +133,7 @@ private static unsafe void GetAsciiStringNonNullCharacters(Span<char> buffer, In { fixed (char* output = &MemoryMarshal.GetReference(buffer)) { - // This version if AsciiUtilities returns null if there are any null (0 byte) characters + // StringUtilities.TryGetAsciiString returns null if there are any null (0 byte) characters // in the string if (!StringUtilities.TryGetAsciiString((byte*)state.ToPointer(), output, buffer.Length)) { @@ -142,7 +142,7 @@ private static unsafe void GetAsciiStringNonNullCharacters(Span<char> buffer, In } } - public static unsafe string GetAsciiOrUTF8StringNonNullCharacters(this Span<byte> span) + private static unsafe string GetAsciiOrUTF8StringNonNullCharacters(this Span<byte> span) => GetAsciiOrUTF8StringNonNullCharacters((ReadOnlySpan<byte>)span); public static unsafe string GetAsciiOrUTF8StringNonNullCharacters(this ReadOnlySpan<byte> span) @@ -195,6 +195,32 @@ private static unsafe void GetAsciiOrUTF8StringNonNullCharacters(Span<char> buff } } + private static unsafe string GetLatin1StringNonNullCharacters(this ReadOnlySpan<byte> span) + { + if (span.IsEmpty) + { + return string.Empty; + } + + var resultString = new string('\0', span.Length); + + fixed (char* output = resultString) + fixed (byte* buffer = span) + { + // This returns false if there are any null (0 byte) characters in the string. + if (!StringUtilities.TryGetLatin1String(buffer, output, span.Length)) + { + // null characters are considered invalid + throw new InvalidOperationException(); + } + } + + return resultString; + } + + public static string GetRequestHeaderStringNonNullCharacters(this ReadOnlySpan<byte> span, bool useLatin1) => + useLatin1 ? GetLatin1StringNonNullCharacters(span) : GetAsciiOrUTF8StringNonNullCharacters(span); + public static string GetAsciiStringEscaped(this Span<byte> span, int maxChars) { var sb = new StringBuilder(); diff --git a/src/Servers/Kestrel/Core/src/KestrelConfigurationLoader.cs b/src/Servers/Kestrel/Core/src/KestrelConfigurationLoader.cs index 4522fedd6293..5e202f3efa29 100644 --- a/src/Servers/Kestrel/Core/src/KestrelConfigurationLoader.cs +++ b/src/Servers/Kestrel/Core/src/KestrelConfigurationLoader.cs @@ -222,6 +222,8 @@ public void Load() } _loaded = true; + Options.Latin1RequestHeaders = ConfigurationReader.Latin1RequestHeaders; + LoadDefaultCert(ConfigurationReader); foreach (var endpoint in ConfigurationReader.Endpoints) diff --git a/src/Servers/Kestrel/Core/src/KestrelServerOptions.cs b/src/Servers/Kestrel/Core/src/KestrelServerOptions.cs index 19bbce9362d5..71def30d7399 100644 --- a/src/Servers/Kestrel/Core/src/KestrelServerOptions.cs +++ b/src/Servers/Kestrel/Core/src/KestrelServerOptions.cs @@ -97,6 +97,11 @@ public class KestrelServerOptions /// </summary> internal bool IsDevCertLoaded { get; set; } + /// <summary> + /// Treat request headers as Latin-1 or ISO/IEC 8859-1 instead of UTF-8. + /// </summary> + internal bool Latin1RequestHeaders { get; set; } + /// <summary> /// Specifies a configuration Action to run for each newly created endpoint. Calling this again will replace /// the prior action. diff --git a/src/Servers/Kestrel/Core/src/Microsoft.AspNetCore.Server.Kestrel.Core.csproj b/src/Servers/Kestrel/Core/src/Microsoft.AspNetCore.Server.Kestrel.Core.csproj index 789564054a5e..61db948363b5 100644 --- a/src/Servers/Kestrel/Core/src/Microsoft.AspNetCore.Server.Kestrel.Core.csproj +++ b/src/Servers/Kestrel/Core/src/Microsoft.AspNetCore.Server.Kestrel.Core.csproj @@ -8,7 +8,7 @@ <PackageTags>aspnetcore;kestrel</PackageTags> <AllowUnsafeBlocks>true</AllowUnsafeBlocks> <NoWarn>CS1591;$(NoWarn)</NoWarn> - <IsShippingPackage>false</IsShippingPackage> + <IsPackable>false</IsPackable> <DefineConstants>$(DefineConstants);KESTREL</DefineConstants> </PropertyGroup> diff --git a/src/Servers/Kestrel/Core/test/HttpRequestHeadersTests.cs b/src/Servers/Kestrel/Core/test/HttpRequestHeadersTests.cs index a7603b9190fd..d87f1f814fea 100644 --- a/src/Servers/Kestrel/Core/test/HttpRequestHeadersTests.cs +++ b/src/Servers/Kestrel/Core/test/HttpRequestHeadersTests.cs @@ -318,6 +318,7 @@ public void AppendThrowsWhenHeaderNameContainsNonASCIICharacters() public void ValueReuseOnlyWhenAllowed(bool reuseValue, KnownHeader header) { const string HeaderValue = "Hello"; + var headers = new HttpRequestHeaders(reuseHeaderValues: reuseValue); for (var i = 0; i < 6; i++) @@ -336,14 +337,14 @@ public void ValueReuseOnlyWhenAllowed(bool reuseValue, KnownHeader header) Assert.Equal(values.PrevHeaderValue, values.NextHeaderValue); if (reuseValue) { - // When materalized string is reused previous and new should be the same object + // When materialized string is reused previous and new should be the same object Assert.Same(values.PrevHeaderValue, values.NextHeaderValue); } else { - // When materalized string is not reused previous and new should be the different objects + // When materialized string is not reused previous and new should be the different objects Assert.NotSame(values.PrevHeaderValue, values.NextHeaderValue); - } + } } } @@ -483,6 +484,89 @@ public void ValueReuseLatin1NotConfusedForUtf16AndStillRejected(bool reuseValue, } } + [Theory] + [MemberData(nameof(KnownRequestHeaders))] + public void Latin1ValuesAcceptedInLatin1ModeButNotReused(bool reuseValue, KnownHeader header) + { + var headers = new HttpRequestHeaders(reuseHeaderValues: reuseValue, useLatin1: true); + + var headerValue = new char[127]; // 64 + 32 + 16 + 8 + 4 + 2 + 1 + for (var i = 0; i < headerValue.Length; i++) + { + headerValue[i] = 'a'; + } + + for (var i = 0; i < headerValue.Length; i++) + { + // Set non-ascii Latin char that is valid Utf16 when widened; but not a valid utf8 -> utf16 conversion. + headerValue[i] = '\u00a3'; + + for (var mode = 0; mode <= 1; mode++) + { + string headerValueUtf16Latin1CrossOver; + if (mode == 0) + { + // Full length + headerValueUtf16Latin1CrossOver = new string(headerValue); + } + else + { + // Truncated length (to ensure different paths from changing lengths in matching) + headerValueUtf16Latin1CrossOver = new string(headerValue.AsSpan().Slice(0, i + 1)); + } + + headers.Reset(); + + var headerName = Encoding.ASCII.GetBytes(header.Name).AsSpan(); + var latinValueSpan = Encoding.GetEncoding("iso-8859-1").GetBytes(headerValueUtf16Latin1CrossOver).AsSpan(); + + Assert.False(latinValueSpan.SequenceEqual(Encoding.ASCII.GetBytes(headerValueUtf16Latin1CrossOver))); + + headers.Append(headerName, latinValueSpan); + headers.OnHeadersComplete(); + var parsedHeaderValue = ((IHeaderDictionary)headers)[header.Name].ToString(); + + Assert.Equal(headerValueUtf16Latin1CrossOver, parsedHeaderValue); + Assert.NotSame(headerValueUtf16Latin1CrossOver, parsedHeaderValue); + } + + // Reset back to Ascii + headerValue[i] = 'a'; + } + } + + [Theory] + [MemberData(nameof(KnownRequestHeaders))] + public void NullCharactersRejectedInUTF8AndLatin1Mode(bool useLatin1, KnownHeader header) + { + var headers = new HttpRequestHeaders(useLatin1: useLatin1); + + var valueArray = new char[127]; // 64 + 32 + 16 + 8 + 4 + 2 + 1 + for (var i = 0; i < valueArray.Length; i++) + { + valueArray[i] = 'a'; + } + + for (var i = 1; i < valueArray.Length; i++) + { + // Set non-ascii Latin char that is valid Utf16 when widened; but not a valid utf8 -> utf16 conversion. + valueArray[i] = '\0'; + string valueString = new string(valueArray); + + headers.Reset(); + + Assert.Throws<InvalidOperationException>(() => + { + var headerName = Encoding.ASCII.GetBytes(header.Name).AsSpan(); + var valueSpan = Encoding.ASCII.GetBytes(valueString).AsSpan(); + + headers.Append(headerName, valueSpan); + }); + + valueArray[i] = 'a'; + } + } + [Fact] public void ValueReuseNeverWhenUnknownHeader() { diff --git a/src/Servers/Kestrel/Core/test/UTF8Decoding.cs b/src/Servers/Kestrel/Core/test/UTF8Decoding.cs index 532e13781d99..35043d8322dc 100644 --- a/src/Servers/Kestrel/Core/test/UTF8Decoding.cs +++ b/src/Servers/Kestrel/Core/test/UTF8Decoding.cs @@ -17,7 +17,7 @@ public class UTF8DecodingTests [InlineData(new byte[] { 0xef, 0xbf, 0xbd })] // 3 bytes: Replacement character, highest UTF-8 character currently encoded in the UTF-8 code page private void FullUTF8RangeSupported(byte[] encodedBytes) { - var s = encodedBytes.AsSpan().GetAsciiOrUTF8StringNonNullCharacters(); + var s = HttpUtilities.GetRequestHeaderStringNonNullCharacters(encodedBytes.AsSpan(), useLatin1: false); Assert.Equal(1, s.Length); } @@ -35,7 +35,7 @@ private void ExceptionThrownForZeroOrNonAscii(byte[] bytes) var byteRange = Enumerable.Range(1, length).Select(x => (byte)x).ToArray(); Array.Copy(bytes, 0, byteRange, position, bytes.Length); - Assert.Throws<InvalidOperationException>(() => byteRange.AsSpan().GetAsciiOrUTF8StringNonNullCharacters()); + Assert.Throws<InvalidOperationException>(() => HttpUtilities.GetRequestHeaderStringNonNullCharacters(byteRange.AsSpan(), useLatin1: false)); } } } diff --git a/src/Servers/Kestrel/Kestrel/ref/Microsoft.AspNetCore.Server.Kestrel.csproj b/src/Servers/Kestrel/Kestrel/ref/Microsoft.AspNetCore.Server.Kestrel.csproj index 8ea78b24024d..a390f09e1c95 100644 --- a/src/Servers/Kestrel/Kestrel/ref/Microsoft.AspNetCore.Server.Kestrel.csproj +++ b/src/Servers/Kestrel/Kestrel/ref/Microsoft.AspNetCore.Server.Kestrel.csproj @@ -5,8 +5,8 @@ </PropertyGroup> <ItemGroup Condition="'$(TargetFramework)' == '$(DefaultNetCoreTargetFramework)'"> <Compile Include="Microsoft.AspNetCore.Server.Kestrel.netcoreapp.cs" /> - <Reference Include="Microsoft.AspNetCore.Hosting" /> - <Reference Include="Microsoft.AspNetCore.Server.Kestrel.Core" /> - <Reference Include="Microsoft.AspNetCore.Server.Kestrel.Transport.Sockets" /> + <Reference Include="Microsoft.AspNetCore.Hosting" /> + <Reference Include="Microsoft.AspNetCore.Server.Kestrel.Core" /> + <Reference Include="Microsoft.AspNetCore.Server.Kestrel.Transport.Sockets" /> </ItemGroup> </Project> diff --git a/src/Servers/Kestrel/Kestrel/src/Microsoft.AspNetCore.Server.Kestrel.csproj b/src/Servers/Kestrel/Kestrel/src/Microsoft.AspNetCore.Server.Kestrel.csproj index c82835cdce14..f4ef0ca07a62 100644 --- a/src/Servers/Kestrel/Kestrel/src/Microsoft.AspNetCore.Server.Kestrel.csproj +++ b/src/Servers/Kestrel/Kestrel/src/Microsoft.AspNetCore.Server.Kestrel.csproj @@ -7,7 +7,7 @@ <GenerateDocumentationFile>true</GenerateDocumentationFile> <PackageTags>aspnetcore;kestrel</PackageTags> <NoWarn>CS1591;$(NoWarn)</NoWarn> - <IsShippingPackage>false</IsShippingPackage> + <IsPackable>false</IsPackable> </PropertyGroup> <ItemGroup> diff --git a/src/Servers/Kestrel/Kestrel/test/KestrelConfigurationBuilderTests.cs b/src/Servers/Kestrel/Kestrel/test/KestrelConfigurationBuilderTests.cs index b2425f717580..d557e007f1b9 100644 --- a/src/Servers/Kestrel/Kestrel/test/KestrelConfigurationBuilderTests.cs +++ b/src/Servers/Kestrel/Kestrel/test/KestrelConfigurationBuilderTests.cs @@ -456,6 +456,27 @@ private void EndpointConfigSectionCanSetProtocols(string input, HttpProtocols ex Assert.True(ran3); } + [Fact] + public void Latin1RequestHeadersReadFromConfig() + { + var options = CreateServerOptions(); + var config = new ConfigurationBuilder().AddInMemoryCollection().Build(); + + Assert.False(options.Latin1RequestHeaders); + options.Configure(config).Load(); + Assert.False(options.Latin1RequestHeaders); + + options = CreateServerOptions(); + config = new ConfigurationBuilder().AddInMemoryCollection(new[] + { + new KeyValuePair<string, string>("Latin1RequestHeaders", "true"), + }).Build(); + + Assert.False(options.Latin1RequestHeaders); + options.Configure(config).Load(); + Assert.True(options.Latin1RequestHeaders); + } + private static string GetCertificatePath() { var appData = Environment.GetEnvironmentVariable("APPDATA"); diff --git a/src/Servers/Kestrel/Transport.Libuv/ref/Microsoft.AspNetCore.Server.Kestrel.Transport.Libuv.csproj b/src/Servers/Kestrel/Transport.Libuv/ref/Microsoft.AspNetCore.Server.Kestrel.Transport.Libuv.csproj deleted file mode 100644 index c80557cd678c..000000000000 --- a/src/Servers/Kestrel/Transport.Libuv/ref/Microsoft.AspNetCore.Server.Kestrel.Transport.Libuv.csproj +++ /dev/null @@ -1,14 +0,0 @@ -<!-- This file is automatically generated. --> -<Project Sdk="Microsoft.NET.Sdk"> - <PropertyGroup> - <TargetFrameworks>$(DefaultNetCoreTargetFramework)</TargetFrameworks> - </PropertyGroup> - <ItemGroup Condition="'$(TargetFramework)' == '$(DefaultNetCoreTargetFramework)'"> - <Compile Include="Microsoft.AspNetCore.Server.Kestrel.Transport.Libuv.netcoreapp.cs" /> - <Reference Include="Libuv" /> - <Reference Include="Microsoft.AspNetCore.Hosting.Abstractions" /> - <Reference Include="Microsoft.AspNetCore.Connections.Abstractions" /> - <Reference Include="Microsoft.Extensions.Logging.Abstractions" /> - <Reference Include="Microsoft.Extensions.Options" /> - </ItemGroup> -</Project> diff --git a/src/Servers/Kestrel/Transport.Libuv/ref/Microsoft.AspNetCore.Server.Kestrel.Transport.Libuv.netcoreapp.cs b/src/Servers/Kestrel/Transport.Libuv/ref/Microsoft.AspNetCore.Server.Kestrel.Transport.Libuv.netcoreapp.cs deleted file mode 100644 index f680b1430049..000000000000 --- a/src/Servers/Kestrel/Transport.Libuv/ref/Microsoft.AspNetCore.Server.Kestrel.Transport.Libuv.netcoreapp.cs +++ /dev/null @@ -1,23 +0,0 @@ -// Copyright (c) .NET Foundation. All rights reserved. -// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. - -namespace Microsoft.AspNetCore.Hosting -{ - public static partial class WebHostBuilderLibuvExtensions - { - public static Microsoft.AspNetCore.Hosting.IWebHostBuilder UseLibuv(this Microsoft.AspNetCore.Hosting.IWebHostBuilder hostBuilder) { throw null; } - public static Microsoft.AspNetCore.Hosting.IWebHostBuilder UseLibuv(this Microsoft.AspNetCore.Hosting.IWebHostBuilder hostBuilder, System.Action<Microsoft.AspNetCore.Server.Kestrel.Transport.Libuv.LibuvTransportOptions> configureOptions) { throw null; } - } -} -namespace Microsoft.AspNetCore.Server.Kestrel.Transport.Libuv -{ - public partial class LibuvTransportOptions - { - public LibuvTransportOptions() { } - public int Backlog { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute] set { } } - public long? MaxReadBufferSize { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute] set { } } - public long? MaxWriteBufferSize { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute] set { } } - public bool NoDelay { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute] set { } } - public int ThreadCount { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute] set { } } - } -} diff --git a/src/Servers/Kestrel/Transport.Libuv/src/Microsoft.AspNetCore.Server.Kestrel.Transport.Libuv.csproj b/src/Servers/Kestrel/Transport.Libuv/src/Microsoft.AspNetCore.Server.Kestrel.Transport.Libuv.csproj index dc7a76c81822..9bc5d6b037ce 100644 --- a/src/Servers/Kestrel/Transport.Libuv/src/Microsoft.AspNetCore.Server.Kestrel.Transport.Libuv.csproj +++ b/src/Servers/Kestrel/Transport.Libuv/src/Microsoft.AspNetCore.Server.Kestrel.Transport.Libuv.csproj @@ -7,7 +7,7 @@ <PackageTags>aspnetcore;kestrel</PackageTags> <AllowUnsafeBlocks>true</AllowUnsafeBlocks> <NoWarn>CS1591;$(NoWarn)</NoWarn> - <IsShippingPackage>true</IsShippingPackage> + <IsPackable>true</IsPackable> </PropertyGroup> <ItemGroup> diff --git a/src/Servers/Kestrel/Transport.Quic/ref/Microsoft.AspNetCore.Server.Kestrel.Transport.Quic.csproj b/src/Servers/Kestrel/Transport.Quic/ref/Microsoft.AspNetCore.Server.Kestrel.Transport.Quic.csproj deleted file mode 100644 index d24268051309..000000000000 --- a/src/Servers/Kestrel/Transport.Quic/ref/Microsoft.AspNetCore.Server.Kestrel.Transport.Quic.csproj +++ /dev/null @@ -1,13 +0,0 @@ -<!-- This file is automatically generated. --> -<Project Sdk="Microsoft.NET.Sdk"> - <PropertyGroup> - <TargetFrameworks>$(DefaultNetCoreTargetFramework)</TargetFrameworks> - </PropertyGroup> - <ItemGroup Condition="'$(TargetFramework)' == '$(DefaultNetCoreTargetFramework)'"> - <Compile Include="Microsoft.AspNetCore.Server.Kestrel.Transport.Quic.netcoreapp.cs" /> - <Reference Include="Microsoft.AspNetCore.Hosting.Abstractions" /> - <Reference Include="Microsoft.AspNetCore.Connections.Abstractions" /> - <Reference Include="Microsoft.Extensions.Logging.Abstractions" /> - <Reference Include="Microsoft.Extensions.Options" /> - </ItemGroup> -</Project> diff --git a/src/Servers/Kestrel/Transport.Quic/ref/Microsoft.AspNetCore.Server.Kestrel.Transport.Quic.netcoreapp.cs b/src/Servers/Kestrel/Transport.Quic/ref/Microsoft.AspNetCore.Server.Kestrel.Transport.Quic.netcoreapp.cs deleted file mode 100644 index bb1157951db2..000000000000 --- a/src/Servers/Kestrel/Transport.Quic/ref/Microsoft.AspNetCore.Server.Kestrel.Transport.Quic.netcoreapp.cs +++ /dev/null @@ -1,38 +0,0 @@ -// Copyright (c) .NET Foundation. All rights reserved. -// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. - -namespace Microsoft.AspNetCore.Hosting -{ - public static partial class WebHostBuilderMsQuicExtensions - { - public static Microsoft.AspNetCore.Hosting.IWebHostBuilder UseQuic(this Microsoft.AspNetCore.Hosting.IWebHostBuilder hostBuilder) { throw null; } - public static Microsoft.AspNetCore.Hosting.IWebHostBuilder UseQuic(this Microsoft.AspNetCore.Hosting.IWebHostBuilder hostBuilder, System.Action<Microsoft.AspNetCore.Server.Kestrel.Transport.Quic.QuicTransportOptions> configureOptions) { throw null; } - } -} -namespace Microsoft.AspNetCore.Server.Kestrel.Transport.Quic -{ - public partial class QuicConnectionFactory : Microsoft.AspNetCore.Connections.IConnectionFactory - { - public QuicConnectionFactory(Microsoft.Extensions.Options.IOptions<Microsoft.AspNetCore.Server.Kestrel.Transport.Quic.QuicTransportOptions> options, Microsoft.Extensions.Logging.ILoggerFactory loggerFactory) { } - [System.Diagnostics.DebuggerStepThroughAttribute] - public System.Threading.Tasks.ValueTask<Microsoft.AspNetCore.Connections.ConnectionContext> ConnectAsync(System.Net.EndPoint endPoint, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) { throw null; } - } - public partial class QuicTransportFactory : Microsoft.AspNetCore.Connections.IConnectionListenerFactory, Microsoft.AspNetCore.Connections.IMultiplexedConnectionListenerFactory - { - public QuicTransportFactory(Microsoft.Extensions.Logging.ILoggerFactory loggerFactory, Microsoft.Extensions.Options.IOptions<Microsoft.AspNetCore.Server.Kestrel.Transport.Quic.QuicTransportOptions> options) { } - public System.Threading.Tasks.ValueTask<Microsoft.AspNetCore.Connections.IConnectionListener> BindAsync(System.Net.EndPoint endpoint, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) { throw null; } - } - public partial class QuicTransportOptions - { - public QuicTransportOptions() { } - public long AbortErrorCode { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute] set { } } - public string Alpn { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute] set { } } - public System.Security.Cryptography.X509Certificates.X509Certificate2 Certificate { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute] set { } } - public System.TimeSpan IdleTimeout { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute] set { } } - public ushort MaxBidirectionalStreamCount { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute] set { } } - public long? MaxReadBufferSize { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute] set { } } - public ushort MaxUnidirectionalStreamCount { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute] set { } } - public long? MaxWriteBufferSize { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute] set { } } - public string RegistrationName { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute] set { } } - } -} diff --git a/src/Servers/Kestrel/Transport.Sockets/ref/Microsoft.AspNetCore.Server.Kestrel.Transport.Sockets.Manual.cs b/src/Servers/Kestrel/Transport.Sockets/ref/Microsoft.AspNetCore.Server.Kestrel.Transport.Sockets.Manual.cs new file mode 100644 index 000000000000..9e17979a0581 --- /dev/null +++ b/src/Servers/Kestrel/Transport.Sockets/ref/Microsoft.AspNetCore.Server.Kestrel.Transport.Sockets.Manual.cs @@ -0,0 +1,94 @@ +// Copyright (c) .NET Foundation. All rights reserved. +// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. + +namespace System.Buffers +{ + internal partial class DiagnosticMemoryPool : System.Buffers.MemoryPool<byte> + { public DiagnosticMemoryPool(System.Buffers.MemoryPool<byte> pool, bool allowLateReturn = false, bool rentTracking = false) { } + public bool IsDisposed { get { throw null; } } + public override int MaxBufferSize { get { throw null; } } + protected override void Dispose(bool disposing) { } + public override System.Buffers.IMemoryOwner<byte> Rent(int size = -1) { throw null; } + internal void ReportException(System.Exception exception) { } + internal void Return(System.Buffers.DiagnosticPoolBlock block) { } + public System.Threading.Tasks.Task WhenAllBlocksReturnedAsync(System.TimeSpan timeout) { throw null; } + } + internal sealed partial class DiagnosticPoolBlock : System.Buffers.MemoryManager<byte> + { + internal DiagnosticPoolBlock(System.Buffers.DiagnosticMemoryPool pool, System.Buffers.IMemoryOwner<byte> memoryOwner) { } + public System.Diagnostics.StackTrace Leaser { get { throw null; } set { } } + public override System.Memory<byte> Memory { get { throw null; } } + protected override void Dispose(bool disposing) { } + public override System.Span<byte> GetSpan() { throw null; } + public override System.Buffers.MemoryHandle Pin(int byteOffset = 0) { throw null; } + public void Track() { } + protected override bool TryGetArray(out System.ArraySegment<byte> segment) { throw null; } + public override void Unpin() { } + } + internal sealed partial class MemoryPoolBlock : System.Buffers.IMemoryOwner<byte> + { + internal MemoryPoolBlock(System.Buffers.SlabMemoryPool pool, System.Buffers.MemoryPoolSlab slab, int offset, int length) { } + public System.Memory<byte> Memory { get { throw null; } } + public System.Buffers.SlabMemoryPool Pool { get { throw null; } } + public System.Buffers.MemoryPoolSlab Slab { get { throw null; } } + public void Dispose() { } + ~MemoryPoolBlock() { } + public void Lease() { } + } + internal partial class MemoryPoolSlab : System.IDisposable + { + public MemoryPoolSlab(byte[] data) { } + public byte[] Array { get { throw null; } } + public bool IsActive { get { throw null; } } + public System.IntPtr NativePointer { get { throw null; } } + public static System.Buffers.MemoryPoolSlab Create(int length) { throw null; } + public void Dispose() { } + protected void Dispose(bool disposing) { } + ~MemoryPoolSlab() { } + } + internal partial class MemoryPoolThrowHelper + { + public MemoryPoolThrowHelper() { } + public static void ThrowArgumentOutOfRangeException(int sourceLength, int offset) { } + public static void ThrowArgumentOutOfRangeException_BufferRequestTooLarge(int maxSize) { } + public static void ThrowInvalidOperationException_BlockDoubleDispose(System.Buffers.DiagnosticPoolBlock block) { } + public static void ThrowInvalidOperationException_BlockIsBackedByDisposedSlab(System.Buffers.DiagnosticPoolBlock block) { } + public static void ThrowInvalidOperationException_BlockReturnedToDisposedPool(System.Buffers.DiagnosticPoolBlock block) { } + public static void ThrowInvalidOperationException_BlocksWereNotReturnedInTime(int returned, int total, System.Buffers.DiagnosticPoolBlock[] blocks) { } + public static void ThrowInvalidOperationException_DisposingPoolWithActiveBlocks(int returned, int total, System.Buffers.DiagnosticPoolBlock[] blocks) { } + public static void ThrowInvalidOperationException_DoubleDispose() { } + public static void ThrowInvalidOperationException_PinCountZero(System.Buffers.DiagnosticPoolBlock block) { } + public static void ThrowInvalidOperationException_ReturningPinnedBlock(System.Buffers.DiagnosticPoolBlock block) { } + public static void ThrowObjectDisposedException(System.Buffers.MemoryPoolThrowHelper.ExceptionArgument argument) { } + internal enum ExceptionArgument + { + size = 0, + offset = 1, + length = 2, + MemoryPoolBlock = 3, + MemoryPool = 4, + } + } + internal sealed partial class SlabMemoryPool : System.Buffers.MemoryPool<byte> + { + public SlabMemoryPool() { } + public static int BlockSize { get { throw null; } } + public override int MaxBufferSize { get { throw null; } } + protected override void Dispose(bool disposing) { } + internal void RefreshBlock(System.Buffers.MemoryPoolSlab slab, int offset, int length) { } + public override System.Buffers.IMemoryOwner<byte> Rent(int size = -1) { throw null; } + internal void Return(System.Buffers.MemoryPoolBlock block) { } + } + internal static partial class SlabMemoryPoolFactory + { + public static System.Buffers.MemoryPool<byte> Create() { throw null; } + public static System.Buffers.MemoryPool<byte> CreateSlabMemoryPool() { throw null; } + } +} +namespace Microsoft.AspNetCore.Server.Kestrel.Transport.Sockets +{ + public partial class SocketTransportOptions + { + internal System.Func<System.Buffers.MemoryPool<byte>> MemoryPoolFactory { [System.Runtime.CompilerServices.CompilerGeneratedAttribute]get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute]set { } } + } +} \ No newline at end of file diff --git a/src/Servers/Kestrel/Transport.Sockets/ref/Microsoft.AspNetCore.Server.Kestrel.Transport.Sockets.csproj b/src/Servers/Kestrel/Transport.Sockets/ref/Microsoft.AspNetCore.Server.Kestrel.Transport.Sockets.csproj index a388dfa90480..3c6e3ec43230 100644 --- a/src/Servers/Kestrel/Transport.Sockets/ref/Microsoft.AspNetCore.Server.Kestrel.Transport.Sockets.csproj +++ b/src/Servers/Kestrel/Transport.Sockets/ref/Microsoft.AspNetCore.Server.Kestrel.Transport.Sockets.csproj @@ -5,8 +5,10 @@ </PropertyGroup> <ItemGroup Condition="'$(TargetFramework)' == '$(DefaultNetCoreTargetFramework)'"> <Compile Include="Microsoft.AspNetCore.Server.Kestrel.Transport.Sockets.netcoreapp.cs" /> - <Reference Include="Microsoft.AspNetCore.Hosting.Abstractions" /> - <Reference Include="Microsoft.AspNetCore.Connections.Abstractions" /> - <Reference Include="Microsoft.Extensions.Options" /> + <Compile Include="Microsoft.AspNetCore.Server.Kestrel.Transport.Sockets.Manual.cs" /> + <Compile Include="../src/AssemblyInfo.cs" /> + <Reference Include="Microsoft.AspNetCore.Hosting.Abstractions" /> + <Reference Include="Microsoft.AspNetCore.Connections.Abstractions" /> + <Reference Include="Microsoft.Extensions.Options" /> </ItemGroup> </Project> diff --git a/src/Servers/Kestrel/Transport.Sockets/src/Microsoft.AspNetCore.Server.Kestrel.Transport.Sockets.csproj b/src/Servers/Kestrel/Transport.Sockets/src/Microsoft.AspNetCore.Server.Kestrel.Transport.Sockets.csproj index 6bb6ff2ce320..278fed94dd95 100644 --- a/src/Servers/Kestrel/Transport.Sockets/src/Microsoft.AspNetCore.Server.Kestrel.Transport.Sockets.csproj +++ b/src/Servers/Kestrel/Transport.Sockets/src/Microsoft.AspNetCore.Server.Kestrel.Transport.Sockets.csproj @@ -8,7 +8,7 @@ <PackageTags>aspnetcore;kestrel</PackageTags> <AllowUnsafeBlocks>true</AllowUnsafeBlocks> <NoWarn>CS1591;$(NoWarn)</NoWarn> - <IsShippingPackage>false</IsShippingPackage> + <IsPackable>false</IsPackable> </PropertyGroup> <ItemGroup> diff --git a/src/Servers/Kestrel/perf/Kestrel.Performance/BytesToStringBenchmark.cs b/src/Servers/Kestrel/perf/Kestrel.Performance/BytesToStringBenchmark.cs index 28f365d7da45..cd6d19b75c91 100644 --- a/src/Servers/Kestrel/perf/Kestrel.Performance/BytesToStringBenchmark.cs +++ b/src/Servers/Kestrel/perf/Kestrel.Performance/BytesToStringBenchmark.cs @@ -1,4 +1,4 @@ -// Copyright (c) .NET Foundation. All rights reserved. +// Copyright (c) .NET Foundation. All rights reserved. // Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. using BenchmarkDotNet.Attributes; @@ -67,7 +67,7 @@ public void Utf8BytesToString() { for (uint i = 0; i < Iterations; i++) { - HttpUtilities.GetAsciiOrUTF8StringNonNullCharacters(_utf8Bytes); + HttpUtilities.GetRequestHeaderStringNonNullCharacters(_utf8Bytes, useLatin1: false); } } diff --git a/src/Servers/Kestrel/shared/KnownHeaders.cs b/src/Servers/Kestrel/shared/KnownHeaders.cs index f26fb786d502..fe643020d490 100644 --- a/src/Servers/Kestrel/shared/KnownHeaders.cs +++ b/src/Servers/Kestrel/shared/KnownHeaders.cs @@ -986,7 +986,7 @@ public unsafe void Append(ReadOnlySpan<byte> name, ReadOnlySpan<byte> value) }} // We didn't have a previous matching header value, or have already added a header, so get the string for this value. - var valueStr = value.GetAsciiOrUTF8StringNonNullCharacters(); + var valueStr = value.GetRequestHeaderStringNonNullCharacters(_useLatin1); if ((_bits & flag) == 0) {{ // We didn't already have a header set, so add a new one. @@ -1004,7 +1004,7 @@ public unsafe void Append(ReadOnlySpan<byte> name, ReadOnlySpan<byte> value) // The header was not one of the ""known"" headers. // Convert value to string first, because passing two spans causes 8 bytes stack zeroing in // this method with rep stosd, which is slower than necessary. - var valueStr = value.GetAsciiOrUTF8StringNonNullCharacters(); + var valueStr = value.GetRequestHeaderStringNonNullCharacters(_useLatin1); AppendUnknownHeaders(name, valueStr); }} }}" : "")} diff --git a/src/Servers/Kestrel/shared/test/TestResources.cs b/src/Servers/Kestrel/shared/test/TestResources.cs index d335617c7d75..760eb8105132 100644 --- a/src/Servers/Kestrel/shared/test/TestResources.cs +++ b/src/Servers/Kestrel/shared/test/TestResources.cs @@ -40,5 +40,10 @@ public static X509Certificate2 GetTestCertificate(string certName = "testCert.pf importPfxMutex?.ReleaseMutex(); } } + + public static X509Certificate2 GetTestCertificate(string certName, string password) + { + return new X509Certificate2(GetCertPath(certName), password); + } } } diff --git a/src/Servers/Kestrel/test/InMemory.FunctionalTests/Http2/Http2StreamTests.cs b/src/Servers/Kestrel/test/InMemory.FunctionalTests/Http2/Http2StreamTests.cs index 109e513bff29..6d9e6da62ee9 100644 --- a/src/Servers/Kestrel/test/InMemory.FunctionalTests/Http2/Http2StreamTests.cs +++ b/src/Servers/Kestrel/test/InMemory.FunctionalTests/Http2/Http2StreamTests.cs @@ -4582,5 +4582,65 @@ await WaitForStreamErrorAsync(1, Http2ErrorCode.NO_ERROR, expectedErrorMessage: Assert.Single(_decodedHeaders); Assert.Equal("Custom Value", _decodedHeaders["CustomName"]); } + + [Fact] + public async Task HEADERS_Received_Latin1_AcceptedWhenLatin1OptionIsConfigured() + { + _serviceContext.ServerOptions.Latin1RequestHeaders = true; + + var headers = new[] + { + new KeyValuePair<string, string>(HeaderNames.Method, "GET"), + new KeyValuePair<string, string>(HeaderNames.Path, "/"), + new KeyValuePair<string, string>(HeaderNames.Scheme, "http"), + // The HPackEncoder will encode £ as 0xA3 aka Latin1 encoding. + new KeyValuePair<string, string>("X-Test", "£"), + }; + + await InitializeConnectionAsync(context => + { + Assert.Equal("£", context.Request.Headers["X-Test"]); + return Task.CompletedTask; + }); + + await StartStreamAsync(1, headers, endStream: true); + + var headersFrame = await ExpectAsync(Http2FrameType.HEADERS, + withLength: 55, + withFlags: (byte)(Http2HeadersFrameFlags.END_HEADERS | Http2HeadersFrameFlags.END_STREAM), + withStreamId: 1); + + await StopConnectionAsync(expectedLastStreamId: 1, ignoreNonGoAwayFrames: false); + + _hpackDecoder.Decode(headersFrame.PayloadSequence, endHeaders: false, handler: this); + + Assert.Equal(3, _decodedHeaders.Count); + Assert.Contains("date", _decodedHeaders.Keys, StringComparer.OrdinalIgnoreCase); + Assert.Equal("200", _decodedHeaders[HeaderNames.Status]); + Assert.Equal("0", _decodedHeaders["content-length"]); + } + + [Fact] + public async Task HEADERS_Received_Latin1_RejectedWhenLatin1OptionIsNotConfigured() + { + var headers = new[] + { + new KeyValuePair<string, string>(HeaderNames.Method, "GET"), + new KeyValuePair<string, string>(HeaderNames.Path, "/"), + new KeyValuePair<string, string>(HeaderNames.Scheme, "http"), + // The HPackEncoder will encode £ as 0xA3 aka Latin1 encoding. + new KeyValuePair<string, string>("X-Test", "£"), + }; + + await InitializeConnectionAsync(_noopApplication); + + await StartStreamAsync(1, headers, endStream: true); + + await WaitForConnectionErrorAsync<Http2ConnectionErrorException>( + ignoreNonGoAwayFrames: true, + expectedLastStreamId: 1, + expectedErrorCode: Http2ErrorCode.PROTOCOL_ERROR, + expectedErrorMessage: CoreStrings.BadRequest_MalformedRequestInvalidHeaders); + } } } diff --git a/src/Servers/Kestrel/test/InMemory.FunctionalTests/Http2/Http2TestBase.cs b/src/Servers/Kestrel/test/InMemory.FunctionalTests/Http2/Http2TestBase.cs index d43657f54563..22bc15f2fcdc 100644 --- a/src/Servers/Kestrel/test/InMemory.FunctionalTests/Http2/Http2TestBase.cs +++ b/src/Servers/Kestrel/test/InMemory.FunctionalTests/Http2/Http2TestBase.cs @@ -403,7 +403,7 @@ public override void Dispose() void IHttpHeadersHandler.OnHeader(ReadOnlySpan<byte> name, ReadOnlySpan<byte> value) { - _decodedHeaders[name.GetAsciiStringNonNullCharacters()] = value.GetAsciiOrUTF8StringNonNullCharacters(); + _decodedHeaders[name.GetAsciiStringNonNullCharacters()] = value.GetRequestHeaderStringNonNullCharacters(useLatin1: _serviceContext.ServerOptions.Latin1RequestHeaders); } void IHttpHeadersHandler.OnHeadersComplete(bool endStream) { } diff --git a/src/Servers/Kestrel/test/InMemory.FunctionalTests/Http3/Http3TestBase.cs b/src/Servers/Kestrel/test/InMemory.FunctionalTests/Http3/Http3TestBase.cs index 121c43881d70..dd7133e0d43e 100644 --- a/src/Servers/Kestrel/test/InMemory.FunctionalTests/Http3/Http3TestBase.cs +++ b/src/Servers/Kestrel/test/InMemory.FunctionalTests/Http3/Http3TestBase.cs @@ -340,7 +340,7 @@ public void OnHeadersComplete(bool endHeaders) public void OnStaticIndexedHeader(int index) { var knownHeader = H3StaticTable.Instance[index]; - _decodedHeaders[((Span<byte>)knownHeader.Name).GetAsciiStringNonNullCharacters()] = ((Span<byte>)knownHeader.Value).GetAsciiOrUTF8StringNonNullCharacters(); + _decodedHeaders[((Span<byte>)knownHeader.Name).GetAsciiStringNonNullCharacters()] = HttpUtilities.GetAsciiOrUTF8StringNonNullCharacters(knownHeader.Value); } public void OnStaticIndexedHeader(int index, ReadOnlySpan<byte> value) diff --git a/src/Servers/Kestrel/test/InMemory.FunctionalTests/RequestTests.cs b/src/Servers/Kestrel/test/InMemory.FunctionalTests/RequestTests.cs index 2911ff915900..a392e73f86fb 100644 --- a/src/Servers/Kestrel/test/InMemory.FunctionalTests/RequestTests.cs +++ b/src/Servers/Kestrel/test/InMemory.FunctionalTests/RequestTests.cs @@ -253,6 +253,38 @@ await connection.Receive($"HTTP/1.1 200 OK", } } + [Fact] + public async Task CanHandleTwoAbsoluteFormRequestsInARow() + { + // Regression test for https://github.com/dotnet/aspnetcore/issues/18438 + var testContext = new TestServiceContext(LoggerFactory); + + await using (var server = new TestServer(TestApp.EchoAppChunked, testContext)) + { + using (var connection = server.CreateConnection()) + { + await connection.Send( + "GET http://localhost/ HTTP/1.1", + "Host: localhost", + "", + "GET http://localhost/ HTTP/1.1", + "Host: localhost", + "", + ""); + await connection.Receive( + "HTTP/1.1 200 OK", + $"Date: {testContext.DateHeaderValue}", + "Content-Length: 0", + "", + "HTTP/1.1 200 OK", + $"Date: {testContext.DateHeaderValue}", + "Content-Length: 0", + "", + ""); + } + } + } + [Fact] public async Task AppCanSetTraceIdentifier() { @@ -358,7 +390,6 @@ await connection.ReceiveEnd( } } - [Fact] public async Task Http10NotKeptAliveByDefault() { @@ -1653,6 +1684,69 @@ await connection.Receive( } } + [Fact] + public async Task Latin1HeaderValueAcceptedWhenLatin1OptionIsConfigured() + { + var testContext = new TestServiceContext(LoggerFactory); + + testContext.ServerOptions.Latin1RequestHeaders = true; + + await using (var server = new TestServer(context => + { + Assert.Equal("£", context.Request.Headers["X-Test"]); + return Task.CompletedTask; + }, testContext)) + { + using (var connection = server.CreateConnection()) + { + // The StreamBackedTestConnection will encode £ using the "iso-8859-1" aka Latin1 encoding. + // It will be encoded as 0xA3 which isn't valid UTF-8. + await connection.Send( + "GET / HTTP/1.1", + "Host:", + "X-Test: £", + "", + ""); + + await connection.Receive( + "HTTP/1.1 200 OK", + $"Date: {testContext.DateHeaderValue}", + "Content-Length: 0", + "", + ""); + } + } + } + + [Fact] + public async Task Latin1HeaderValueRejectedWhenLatin1OptionIsNotConfigured() + { + var testContext = new TestServiceContext(LoggerFactory); + + await using (var server = new TestServer(_ => Task.CompletedTask, testContext)) + { + using (var connection = server.CreateConnection()) + { + // The StreamBackedTestConnection will encode £ using the "iso-8859-1" aka Latin1 encoding. + // It will be encoded as 0xA3 which isn't valid UTF-8. + await connection.Send( + "GET / HTTP/1.1", + "Host:", + "X-Test: £", + "", + ""); + + await connection.ReceiveEnd( + "HTTP/1.1 400 Bad Request", + "Connection: close", + $"Date: {testContext.DateHeaderValue}", + "Content-Length: 0", + "", + ""); + } + } + } + public static TheoryData<string, string> HostHeaderData => HttpParsingData.HostHeaderData; } } diff --git a/src/Shared/CertificateGeneration/CertificateManager.cs b/src/Shared/CertificateGeneration/CertificateManager.cs index c40c9e641369..01962e83d4bf 100644 --- a/src/Shared/CertificateGeneration/CertificateManager.cs +++ b/src/Shared/CertificateGeneration/CertificateManager.cs @@ -7,6 +7,7 @@ using System.IO; using System.Linq; using System.Runtime.InteropServices; +using System.Runtime.InteropServices.ComTypes; using System.Security.Cryptography; using System.Security.Cryptography.X509Certificates; using System.Text; @@ -41,6 +42,8 @@ internal class CertificateManager private const string MacOSTrustCertificateCommandLine = "sudo"; private static readonly string MacOSTrustCertificateCommandLineArguments = "security add-trusted-cert -d -r trustRoot -k " + MacOSSystemKeyChain + " "; private const int UserCancelledErrorCode = 1223; + private const string MacOSSetPartitionKeyPermissionsCommandLine = "sudo"; + private static readonly string MacOSSetPartitionKeyPermissionsCommandLineArguments = "security set-key-partition-list -D localhost -S unsigned:,teamid:UBF8T346G9 " + MacOSUserKeyChain; // Setting to 0 means we don't append the version byte, // which is what all machines currently have. @@ -177,6 +180,27 @@ private static void DisposeCertificates(IEnumerable<X509Certificate2> disposable } } + internal bool HasValidCertificateWithInnaccessibleKeyAcrossPartitions() + { + var certificates = GetHttpsCertificates(); + if (certificates.Count == 0) + { + return false; + } + + // We need to check all certificates as a new one might be created that hasn't been correctly setup. + var result = false; + foreach (var certificate in certificates) + { + result = result || !CanAccessCertificateKeyAcrossPartitions(certificate); + } + + return result; + } + + public IList<X509Certificate2> GetHttpsCertificates() => + ListCertificates(CertificatePurpose.HTTPS, StoreName.My, StoreLocation.CurrentUser, isValid: true, requireExportable: true); + public X509Certificate2 CreateAspNetCoreHttpsDevelopmentCertificate(DateTimeOffset notBefore, DateTimeOffset notAfter, string subjectOverride, DiagnosticInformation diagnostics = null) { var subject = new X500DistinguishedName(subjectOverride ?? LocalhostHttpsDistinguishedName); @@ -707,20 +731,22 @@ public DetailedEnsureCertificateResult EnsureAspNetCoreHttpsDevelopmentCertifica bool trust = false, bool includePrivateKey = false, string password = null, - string subject = LocalhostHttpsDistinguishedName) + string subject = LocalhostHttpsDistinguishedName, + bool isInteractive = true) { - return EnsureValidCertificateExists(notBefore, notAfter, CertificatePurpose.HTTPS, path, trust, includePrivateKey, password, subject); + return EnsureValidCertificateExists(notBefore, notAfter, CertificatePurpose.HTTPS, path, trust, includePrivateKey, password, subject, isInteractive); } public DetailedEnsureCertificateResult EnsureValidCertificateExists( DateTimeOffset notBefore, DateTimeOffset notAfter, CertificatePurpose purpose, - string path, - bool trust, - bool includePrivateKey, - string password, - string subject) + string path = null, + bool trust = false, + bool includePrivateKey = false, + string password = null, + string subjectOverride = null, + bool isInteractive = true) { if (purpose == CertificatePurpose.All) { @@ -732,12 +758,12 @@ public DetailedEnsureCertificateResult EnsureValidCertificateExists( var certificates = ListCertificates(purpose, StoreName.My, StoreLocation.CurrentUser, isValid: true, requireExportable: true, result.Diagnostics).Concat( ListCertificates(purpose, StoreName.My, StoreLocation.LocalMachine, isValid: true, requireExportable: true, result.Diagnostics)); - var filteredCertificates = subject == null ? certificates : certificates.Where(c => c.Subject == subject); - if (subject != null) + var filteredCertificates = subjectOverride == null ? certificates : certificates.Where(c => c.Subject == subjectOverride); + if (subjectOverride != null) { var excludedCertificates = certificates.Except(filteredCertificates); - result.Diagnostics.Debug($"Filtering found certificates to those with a subject equal to '{subject}'"); + result.Diagnostics.Debug($"Filtering found certificates to those with a subject equal to '{subjectOverride}'"); result.Diagnostics.Debug(result.Diagnostics.DescribeCertificates(filteredCertificates)); result.Diagnostics.Debug($"Listing certificates excluded from consideration."); result.Diagnostics.Debug(result.Diagnostics.DescribeCertificates(excludedCertificates)); @@ -747,6 +773,35 @@ public DetailedEnsureCertificateResult EnsureValidCertificateExists( result.Diagnostics.Debug("Skipped filtering certificates by subject."); } + if (RuntimeInformation.IsOSPlatform(OSPlatform.OSX)) + { + foreach (var cert in filteredCertificates) + { + if (!CanAccessCertificateKeyAcrossPartitions(cert)) + { + if (!isInteractive) + { + // If the process is not interactive (first run experience) bail out. We will simply create a certificate + // in case there is none or report success during the first run experience. + break; + } + try + { + // The command we run handles making keys for all localhost certificates accessible across partitions. If it can not run the + // command safely (because there are other localhost certificates that were not created by asp.net core, it will throw. + MakeCertificateKeyAccessibleAcrossPartitions(cert); + break; + } + catch (Exception ex) + { + result.Diagnostics.Error("Failed to make certificate key accessible", ex); + result.ResultCode = EnsureCertificateResult.FailedToMakeKeyAccessible; + return result; + } + } + } + } + certificates = filteredCertificates; result.ResultCode = EnsureCertificateResult.Succeeded; @@ -771,7 +826,7 @@ public DetailedEnsureCertificateResult EnsureValidCertificateExists( case CertificatePurpose.All: throw new InvalidOperationException("The certificate must have a specific purpose."); case CertificatePurpose.HTTPS: - certificate = CreateAspNetCoreHttpsDevelopmentCertificate(notBefore, notAfter, subject, result.Diagnostics); + certificate = CreateAspNetCoreHttpsDevelopmentCertificate(notBefore, notAfter, subjectOverride, result.Diagnostics); break; default: throw new InvalidOperationException("The certificate must have a purpose."); @@ -794,6 +849,16 @@ public DetailedEnsureCertificateResult EnsureValidCertificateExists( result.ResultCode = EnsureCertificateResult.ErrorSavingTheCertificateIntoTheCurrentUserPersonalStore; return result; } + + if (RuntimeInformation.IsOSPlatform(OSPlatform.OSX) && isInteractive) + { + MakeCertificateKeyAccessibleAcrossPartitions(certificate); + } + + if (RuntimeInformation.IsOSPlatform(OSPlatform.OSX) && isInteractive) + { + MakeCertificateKeyAccessibleAcrossPartitions(certificate); + } } if (path != null) { @@ -835,6 +900,74 @@ public DetailedEnsureCertificateResult EnsureValidCertificateExists( return result; } + private void MakeCertificateKeyAccessibleAcrossPartitions(X509Certificate2 certificate) + { + if (OtherNonAspNetCoreHttpsCertificatesPresent()) + { + throw new InvalidOperationException("Unable to make HTTPS certificate key trusted across security partitions."); + } + using (var process = Process.Start(MacOSSetPartitionKeyPermissionsCommandLine, MacOSSetPartitionKeyPermissionsCommandLineArguments)) + { + process.WaitForExit(); + if (process.ExitCode != 0) + { + throw new InvalidOperationException("Error making the key accessible across partitions."); + } + } + + var certificateSentinelPath = GetCertificateSentinelPath(certificate); + File.WriteAllText(certificateSentinelPath, "true"); + } + + private static string GetCertificateSentinelPath(X509Certificate2 certificate) => + Path.Combine(Environment.GetEnvironmentVariable("HOME"), ".dotnet", $"certificate.{certificate.GetCertHashString(HashAlgorithmName.SHA256)}.sentinel"); + + private bool OtherNonAspNetCoreHttpsCertificatesPresent() + { + var certificates = new List<X509Certificate2>(); + try + { + using (var store = new X509Store(StoreName.My, StoreLocation.CurrentUser)) + { + store.Open(OpenFlags.ReadOnly); + certificates.AddRange(store.Certificates.OfType<X509Certificate2>()); + IEnumerable<X509Certificate2> matchingCertificates = certificates; + // Ensure the certificate hasn't expired, has a private key and its exportable + // (for container/unix scenarios). + var now = DateTimeOffset.Now; + matchingCertificates = matchingCertificates + .Where(c => c.NotBefore <= now && + now <= c.NotAfter && c.Subject == LocalhostHttpsDistinguishedName); + + // We need to enumerate the certificates early to prevent dispoisng issues. + matchingCertificates = matchingCertificates.ToList(); + + var certificatesToDispose = certificates.Except(matchingCertificates); + DisposeCertificates(certificatesToDispose); + + store.Close(); + + return matchingCertificates.All(c => !HasOid(c, AspNetHttpsOid)); + } + } + catch + { + DisposeCertificates(certificates); + certificates.Clear(); + return true; + } + + bool HasOid(X509Certificate2 certificate, string oid) => + certificate.Extensions.OfType<X509Extension>() + .Any(e => string.Equals(oid, e.Oid.Value, StringComparison.Ordinal)); + } + + private bool CanAccessCertificateKeyAcrossPartitions(X509Certificate2 certificate) + { + var certificateSentinelPath = GetCertificateSentinelPath(certificate); + return File.Exists(certificateSentinelPath); + } + private class UserCancelledTrustException : Exception { } diff --git a/src/Shared/CertificateGeneration/EnsureCertificateResult.cs b/src/Shared/CertificateGeneration/EnsureCertificateResult.cs index 4676d7b3aa94..00eebbac3dcc 100644 --- a/src/Shared/CertificateGeneration/EnsureCertificateResult.cs +++ b/src/Shared/CertificateGeneration/EnsureCertificateResult.cs @@ -11,6 +11,8 @@ internal enum EnsureCertificateResult ErrorSavingTheCertificateIntoTheCurrentUserPersonalStore, ErrorExportingTheCertificate, FailedToTrustTheCertificate, - UserCancelledTrustStep + UserCancelledTrustStep, + FailedToMakeKeyAccessible, } } + diff --git a/src/Shared/E2ETesting/WaitAssert.cs b/src/Shared/E2ETesting/WaitAssert.cs index 8792d2692f9f..f6fee3e618fe 100644 --- a/src/Shared/E2ETesting/WaitAssert.cs +++ b/src/Shared/E2ETesting/WaitAssert.cs @@ -63,6 +63,12 @@ public static IWebElement Exists(this IWebDriver driver, By finder, TimeSpan tim return result; }, timeout); + public static void Click(this IWebDriver driver, By selector) + => WaitAssertCore(driver, () => + { + driver.FindElement(selector).Click(); + }); + private static void WaitAssertCore(IWebDriver driver, Action assertion, TimeSpan timeout = default) { WaitAssertCore<object>(driver, () => { assertion(); return null; }, timeout); diff --git a/src/Shared/ServerInfrastructure/StringUtilities.cs b/src/Shared/ServerInfrastructure/StringUtilities.cs index 856c3693e844..97b2c8b08342 100644 --- a/src/Shared/ServerInfrastructure/StringUtilities.cs +++ b/src/Shared/ServerInfrastructure/StringUtilities.cs @@ -226,6 +226,111 @@ out Unsafe.AsRef<Vector<short>>(output), return true; } + [MethodImpl(MethodImplOptions.AggressiveOptimization)] + public static unsafe bool TryGetLatin1String(byte* input, char* output, int count) + { + Debug.Assert(input != null); + Debug.Assert(output != null); + + // Calculate end position + var end = input + count; + // Start as valid + var isValid = true; + + do + { + // If Vector not-accelerated or remaining less than vector size + if (!Vector.IsHardwareAccelerated || input > end - Vector<sbyte>.Count) + { + if (IntPtr.Size == 8) // Use Intrinsic switch for branch elimination + { + // 64-bit: Loop longs by default + while (input <= end - sizeof(long)) + { + isValid &= CheckBytesNotNull(((long*)input)[0]); + + output[0] = (char)input[0]; + output[1] = (char)input[1]; + output[2] = (char)input[2]; + output[3] = (char)input[3]; + output[4] = (char)input[4]; + output[5] = (char)input[5]; + output[6] = (char)input[6]; + output[7] = (char)input[7]; + + input += sizeof(long); + output += sizeof(long); + } + if (input <= end - sizeof(int)) + { + isValid &= CheckBytesNotNull(((int*)input)[0]); + + output[0] = (char)input[0]; + output[1] = (char)input[1]; + output[2] = (char)input[2]; + output[3] = (char)input[3]; + + input += sizeof(int); + output += sizeof(int); + } + } + else + { + // 32-bit: Loop ints by default + while (input <= end - sizeof(int)) + { + isValid &= CheckBytesNotNull(((int*)input)[0]); + + output[0] = (char)input[0]; + output[1] = (char)input[1]; + output[2] = (char)input[2]; + output[3] = (char)input[3]; + + input += sizeof(int); + output += sizeof(int); + } + } + if (input <= end - sizeof(short)) + { + isValid &= CheckBytesNotNull(((short*)input)[0]); + + output[0] = (char)input[0]; + output[1] = (char)input[1]; + + input += sizeof(short); + output += sizeof(short); + } + if (input < end) + { + isValid &= CheckBytesNotNull(((sbyte*)input)[0]); + output[0] = (char)input[0]; + } + + return isValid; + } + + // do/while as entry condition already checked + do + { + // Use byte/ushort instead of signed equivalents to ensure it doesn't fill based on the high bit. + var vector = Unsafe.AsRef<Vector<byte>>(input); + isValid &= CheckBytesNotNull(vector); + Vector.Widen( + vector, + out Unsafe.AsRef<Vector<ushort>>(output), + out Unsafe.AsRef<Vector<ushort>>(output + Vector<ushort>.Count)); + + input += Vector<byte>.Count; + output += Vector<byte>.Count; + } while (input <= end - Vector<byte>.Count); + + // Vector path done, loop back to do non-Vector + // If is a exact multiple of vector size, bail now + } while (input < end); + + return isValid; + } + [MethodImpl(MethodImplOptions.AggressiveOptimization)] public unsafe static bool BytesOrdinalEqualsStringAndAscii(string previousValue, ReadOnlySpan<byte> newValue) { @@ -551,7 +656,7 @@ private static bool CheckBytesInAsciiRange(Vector128<sbyte> check, Vector128<sby // Validate: bytes != 0 && bytes <= 127 // Subtract 1 from all bytes to move 0 to high bits // bitwise or with self to catch all > 127 bytes - // mask off high bits and check if 0 + // mask off non high bits and check if 0 [MethodImpl(MethodImplOptions.AggressiveInlining)] // Needs a push private static bool CheckBytesInAsciiRange(long check) @@ -574,5 +679,39 @@ private static bool CheckBytesInAsciiRange(short check) private static bool CheckBytesInAsciiRange(sbyte check) => check > 0; + + [MethodImpl(MethodImplOptions.AggressiveInlining)] // Needs a push + private static bool CheckBytesNotNull(Vector<byte> check) + { + // Vectorized byte range check, signed byte != null + return !Vector.EqualsAny(check, Vector<byte>.Zero); + } + + // Validate: bytes != 0 + // Subtract 1 from all bytes to move 0 to high bits + // bitwise and with ~check so high bits are only set for bytes that were originally 0 + // mask off non high bits and check if 0 + + [MethodImpl(MethodImplOptions.AggressiveInlining)] // Needs a push + private static bool CheckBytesNotNull(long check) + { + const long HighBits = unchecked((long)0x8080808080808080L); + return ((check - 0x0101010101010101L) & ~check & HighBits) == 0; + } + + private static bool CheckBytesNotNull(int check) + { + const int HighBits = unchecked((int)0x80808080); + return ((check - 0x01010101) & ~check & HighBits) == 0; + } + + private static bool CheckBytesNotNull(short check) + { + const short HighBits = unchecked((short)0x8080); + return ((check - 0x0101) & ~check & HighBits) == 0; + } + + private static bool CheckBytesNotNull(sbyte check) + => check != 0; } } diff --git a/src/SignalR/clients/csharp/Client.Core/ref/Microsoft.AspNetCore.SignalR.Client.Core.csproj b/src/SignalR/clients/csharp/Client.Core/ref/Microsoft.AspNetCore.SignalR.Client.Core.csproj deleted file mode 100644 index 3e4c1252c089..000000000000 --- a/src/SignalR/clients/csharp/Client.Core/ref/Microsoft.AspNetCore.SignalR.Client.Core.csproj +++ /dev/null @@ -1,23 +0,0 @@ -<!-- This file is automatically generated. --> -<Project Sdk="Microsoft.NET.Sdk"> - <PropertyGroup> - <TargetFrameworks>netstandard2.0;netstandard2.1</TargetFrameworks> - </PropertyGroup> - <ItemGroup Condition="'$(TargetFramework)' == 'netstandard2.0'"> - <Compile Include="Microsoft.AspNetCore.SignalR.Client.Core.netstandard2.0.cs" /> - <Reference Include="Microsoft.AspNetCore.SignalR.Common" /> - <Reference Include="Microsoft.AspNetCore.SignalR.Protocols.Json" /> - <Reference Include="Microsoft.Extensions.DependencyInjection" /> - <Reference Include="Microsoft.Extensions.Logging" /> - <Reference Include="System.Threading.Channels" /> - <Reference Include="Microsoft.Bcl.AsyncInterfaces" /> - </ItemGroup> -<ItemGroup Condition="'$(TargetFramework)' == 'netstandard2.1'"> - <Compile Include="Microsoft.AspNetCore.SignalR.Client.Core.netstandard2.1.cs" /> - <Reference Include="Microsoft.AspNetCore.SignalR.Common" /> - <Reference Include="Microsoft.AspNetCore.SignalR.Protocols.Json" /> - <Reference Include="Microsoft.Extensions.DependencyInjection" /> - <Reference Include="Microsoft.Extensions.Logging" /> - <Reference Include="System.Threading.Channels" /> - </ItemGroup> -</Project> diff --git a/src/SignalR/clients/csharp/Client.Core/ref/Microsoft.AspNetCore.SignalR.Client.Core.netstandard2.0.cs b/src/SignalR/clients/csharp/Client.Core/ref/Microsoft.AspNetCore.SignalR.Client.Core.netstandard2.0.cs deleted file mode 100644 index 5be77677a204..000000000000 --- a/src/SignalR/clients/csharp/Client.Core/ref/Microsoft.AspNetCore.SignalR.Client.Core.netstandard2.0.cs +++ /dev/null @@ -1,162 +0,0 @@ -// Copyright (c) .NET Foundation. All rights reserved. -// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. - -namespace Microsoft.AspNetCore.SignalR.Client -{ - public partial class HubConnection : System.IAsyncDisposable - { - public static readonly System.TimeSpan DefaultHandshakeTimeout; - public static readonly System.TimeSpan DefaultKeepAliveInterval; - public static readonly System.TimeSpan DefaultServerTimeout; - public HubConnection(Microsoft.AspNetCore.Connections.IConnectionFactory connectionFactory, Microsoft.AspNetCore.SignalR.Protocol.IHubProtocol protocol, System.Net.EndPoint endPoint, System.IServiceProvider serviceProvider, Microsoft.Extensions.Logging.ILoggerFactory loggerFactory) { } - public HubConnection(Microsoft.AspNetCore.Connections.IConnectionFactory connectionFactory, Microsoft.AspNetCore.SignalR.Protocol.IHubProtocol protocol, System.Net.EndPoint endPoint, System.IServiceProvider serviceProvider, Microsoft.Extensions.Logging.ILoggerFactory loggerFactory, Microsoft.AspNetCore.SignalR.Client.IRetryPolicy reconnectPolicy) { } - public string ConnectionId { get { throw null; } } - public System.TimeSpan HandshakeTimeout { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute] set { } } - public System.TimeSpan KeepAliveInterval { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute] set { } } - public System.TimeSpan ServerTimeout { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute] set { } } - public Microsoft.AspNetCore.SignalR.Client.HubConnectionState State { get { throw null; } } - public event System.Func<System.Exception, System.Threading.Tasks.Task> Closed { add { } remove { } } - public event System.Func<string, System.Threading.Tasks.Task> Reconnected { add { } remove { } } - public event System.Func<System.Exception, System.Threading.Tasks.Task> Reconnecting { add { } remove { } } - [System.Diagnostics.DebuggerStepThroughAttribute] - public System.Threading.Tasks.ValueTask DisposeAsync() { throw null; } - [System.Diagnostics.DebuggerStepThroughAttribute] - public System.Threading.Tasks.Task<object> InvokeCoreAsync(string methodName, System.Type returnType, object[] args, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) { throw null; } - public System.IDisposable On(string methodName, System.Type[] parameterTypes, System.Func<object[], object, System.Threading.Tasks.Task> handler, object state) { throw null; } - public void Remove(string methodName) { } - [System.Diagnostics.DebuggerStepThroughAttribute] - public System.Threading.Tasks.Task SendCoreAsync(string methodName, object[] args, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) { throw null; } - [System.Diagnostics.DebuggerStepThroughAttribute] - public System.Threading.Tasks.Task StartAsync(System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) { throw null; } - [System.Diagnostics.DebuggerStepThroughAttribute] - public System.Threading.Tasks.Task StopAsync(System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) { throw null; } - [System.Diagnostics.DebuggerStepThroughAttribute] - public System.Threading.Tasks.Task<System.Threading.Channels.ChannelReader<object>> StreamAsChannelCoreAsync(string methodName, System.Type returnType, object[] args, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) { throw null; } - public System.Collections.Generic.IAsyncEnumerable<TResult> StreamAsyncCore<TResult>(string methodName, object[] args, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) { throw null; } - } - public partial class HubConnectionBuilder : Microsoft.AspNetCore.SignalR.Client.IHubConnectionBuilder, Microsoft.AspNetCore.SignalR.ISignalRBuilder - { - public HubConnectionBuilder() { } - public Microsoft.Extensions.DependencyInjection.IServiceCollection Services { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } } - public Microsoft.AspNetCore.SignalR.Client.HubConnection Build() { throw null; } - [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Never)] - public override bool Equals(object obj) { throw null; } - [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Never)] - public override int GetHashCode() { throw null; } - [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Never)] - public new System.Type GetType() { throw null; } - [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Never)] - public override string ToString() { throw null; } - } - public static partial class HubConnectionBuilderExtensions - { - public static Microsoft.AspNetCore.SignalR.Client.IHubConnectionBuilder ConfigureLogging(this Microsoft.AspNetCore.SignalR.Client.IHubConnectionBuilder hubConnectionBuilder, System.Action<Microsoft.Extensions.Logging.ILoggingBuilder> configureLogging) { throw null; } - public static Microsoft.AspNetCore.SignalR.Client.IHubConnectionBuilder WithAutomaticReconnect(this Microsoft.AspNetCore.SignalR.Client.IHubConnectionBuilder hubConnectionBuilder) { throw null; } - public static Microsoft.AspNetCore.SignalR.Client.IHubConnectionBuilder WithAutomaticReconnect(this Microsoft.AspNetCore.SignalR.Client.IHubConnectionBuilder hubConnectionBuilder, Microsoft.AspNetCore.SignalR.Client.IRetryPolicy retryPolicy) { throw null; } - public static Microsoft.AspNetCore.SignalR.Client.IHubConnectionBuilder WithAutomaticReconnect(this Microsoft.AspNetCore.SignalR.Client.IHubConnectionBuilder hubConnectionBuilder, System.TimeSpan[] reconnectDelays) { throw null; } - } - public static partial class HubConnectionExtensions - { - public static System.Threading.Tasks.Task InvokeAsync(this Microsoft.AspNetCore.SignalR.Client.HubConnection hubConnection, string methodName, object arg1, object arg2, object arg3, object arg4, object arg5, object arg6, object arg7, object arg8, object arg9, object arg10, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) { throw null; } - public static System.Threading.Tasks.Task InvokeAsync(this Microsoft.AspNetCore.SignalR.Client.HubConnection hubConnection, string methodName, object arg1, object arg2, object arg3, object arg4, object arg5, object arg6, object arg7, object arg8, object arg9, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) { throw null; } - public static System.Threading.Tasks.Task InvokeAsync(this Microsoft.AspNetCore.SignalR.Client.HubConnection hubConnection, string methodName, object arg1, object arg2, object arg3, object arg4, object arg5, object arg6, object arg7, object arg8, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) { throw null; } - public static System.Threading.Tasks.Task InvokeAsync(this Microsoft.AspNetCore.SignalR.Client.HubConnection hubConnection, string methodName, object arg1, object arg2, object arg3, object arg4, object arg5, object arg6, object arg7, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) { throw null; } - public static System.Threading.Tasks.Task InvokeAsync(this Microsoft.AspNetCore.SignalR.Client.HubConnection hubConnection, string methodName, object arg1, object arg2, object arg3, object arg4, object arg5, object arg6, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) { throw null; } - public static System.Threading.Tasks.Task InvokeAsync(this Microsoft.AspNetCore.SignalR.Client.HubConnection hubConnection, string methodName, object arg1, object arg2, object arg3, object arg4, object arg5, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) { throw null; } - public static System.Threading.Tasks.Task InvokeAsync(this Microsoft.AspNetCore.SignalR.Client.HubConnection hubConnection, string methodName, object arg1, object arg2, object arg3, object arg4, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) { throw null; } - public static System.Threading.Tasks.Task InvokeAsync(this Microsoft.AspNetCore.SignalR.Client.HubConnection hubConnection, string methodName, object arg1, object arg2, object arg3, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) { throw null; } - public static System.Threading.Tasks.Task InvokeAsync(this Microsoft.AspNetCore.SignalR.Client.HubConnection hubConnection, string methodName, object arg1, object arg2, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) { throw null; } - public static System.Threading.Tasks.Task InvokeAsync(this Microsoft.AspNetCore.SignalR.Client.HubConnection hubConnection, string methodName, object arg1, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) { throw null; } - public static System.Threading.Tasks.Task InvokeAsync(this Microsoft.AspNetCore.SignalR.Client.HubConnection hubConnection, string methodName, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) { throw null; } - public static System.Threading.Tasks.Task<TResult> InvokeAsync<TResult>(this Microsoft.AspNetCore.SignalR.Client.HubConnection hubConnection, string methodName, object arg1, object arg2, object arg3, object arg4, object arg5, object arg6, object arg7, object arg8, object arg9, object arg10, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) { throw null; } - public static System.Threading.Tasks.Task<TResult> InvokeAsync<TResult>(this Microsoft.AspNetCore.SignalR.Client.HubConnection hubConnection, string methodName, object arg1, object arg2, object arg3, object arg4, object arg5, object arg6, object arg7, object arg8, object arg9, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) { throw null; } - public static System.Threading.Tasks.Task<TResult> InvokeAsync<TResult>(this Microsoft.AspNetCore.SignalR.Client.HubConnection hubConnection, string methodName, object arg1, object arg2, object arg3, object arg4, object arg5, object arg6, object arg7, object arg8, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) { throw null; } - public static System.Threading.Tasks.Task<TResult> InvokeAsync<TResult>(this Microsoft.AspNetCore.SignalR.Client.HubConnection hubConnection, string methodName, object arg1, object arg2, object arg3, object arg4, object arg5, object arg6, object arg7, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) { throw null; } - public static System.Threading.Tasks.Task<TResult> InvokeAsync<TResult>(this Microsoft.AspNetCore.SignalR.Client.HubConnection hubConnection, string methodName, object arg1, object arg2, object arg3, object arg4, object arg5, object arg6, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) { throw null; } - public static System.Threading.Tasks.Task<TResult> InvokeAsync<TResult>(this Microsoft.AspNetCore.SignalR.Client.HubConnection hubConnection, string methodName, object arg1, object arg2, object arg3, object arg4, object arg5, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) { throw null; } - public static System.Threading.Tasks.Task<TResult> InvokeAsync<TResult>(this Microsoft.AspNetCore.SignalR.Client.HubConnection hubConnection, string methodName, object arg1, object arg2, object arg3, object arg4, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) { throw null; } - public static System.Threading.Tasks.Task<TResult> InvokeAsync<TResult>(this Microsoft.AspNetCore.SignalR.Client.HubConnection hubConnection, string methodName, object arg1, object arg2, object arg3, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) { throw null; } - public static System.Threading.Tasks.Task<TResult> InvokeAsync<TResult>(this Microsoft.AspNetCore.SignalR.Client.HubConnection hubConnection, string methodName, object arg1, object arg2, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) { throw null; } - public static System.Threading.Tasks.Task<TResult> InvokeAsync<TResult>(this Microsoft.AspNetCore.SignalR.Client.HubConnection hubConnection, string methodName, object arg1, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) { throw null; } - public static System.Threading.Tasks.Task<TResult> InvokeAsync<TResult>(this Microsoft.AspNetCore.SignalR.Client.HubConnection hubConnection, string methodName, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) { throw null; } - public static System.Threading.Tasks.Task InvokeCoreAsync(this Microsoft.AspNetCore.SignalR.Client.HubConnection hubConnection, string methodName, object[] args, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) { throw null; } - [System.Diagnostics.DebuggerStepThroughAttribute] - public static System.Threading.Tasks.Task<TResult> InvokeCoreAsync<TResult>(this Microsoft.AspNetCore.SignalR.Client.HubConnection hubConnection, string methodName, object[] args, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) { throw null; } - public static System.IDisposable On(this Microsoft.AspNetCore.SignalR.Client.HubConnection hubConnection, string methodName, System.Action handler) { throw null; } - public static System.IDisposable On(this Microsoft.AspNetCore.SignalR.Client.HubConnection hubConnection, string methodName, System.Func<System.Threading.Tasks.Task> handler) { throw null; } - public static System.IDisposable On(this Microsoft.AspNetCore.SignalR.Client.HubConnection hubConnection, string methodName, System.Type[] parameterTypes, System.Func<object[], System.Threading.Tasks.Task> handler) { throw null; } - public static System.IDisposable On<T1>(this Microsoft.AspNetCore.SignalR.Client.HubConnection hubConnection, string methodName, System.Action<T1> handler) { throw null; } - public static System.IDisposable On<T1>(this Microsoft.AspNetCore.SignalR.Client.HubConnection hubConnection, string methodName, System.Func<T1, System.Threading.Tasks.Task> handler) { throw null; } - public static System.IDisposable On<T1, T2>(this Microsoft.AspNetCore.SignalR.Client.HubConnection hubConnection, string methodName, System.Action<T1, T2> handler) { throw null; } - public static System.IDisposable On<T1, T2>(this Microsoft.AspNetCore.SignalR.Client.HubConnection hubConnection, string methodName, System.Func<T1, T2, System.Threading.Tasks.Task> handler) { throw null; } - public static System.IDisposable On<T1, T2, T3>(this Microsoft.AspNetCore.SignalR.Client.HubConnection hubConnection, string methodName, System.Action<T1, T2, T3> handler) { throw null; } - public static System.IDisposable On<T1, T2, T3>(this Microsoft.AspNetCore.SignalR.Client.HubConnection hubConnection, string methodName, System.Func<T1, T2, T3, System.Threading.Tasks.Task> handler) { throw null; } - public static System.IDisposable On<T1, T2, T3, T4>(this Microsoft.AspNetCore.SignalR.Client.HubConnection hubConnection, string methodName, System.Action<T1, T2, T3, T4> handler) { throw null; } - public static System.IDisposable On<T1, T2, T3, T4>(this Microsoft.AspNetCore.SignalR.Client.HubConnection hubConnection, string methodName, System.Func<T1, T2, T3, T4, System.Threading.Tasks.Task> handler) { throw null; } - public static System.IDisposable On<T1, T2, T3, T4, T5>(this Microsoft.AspNetCore.SignalR.Client.HubConnection hubConnection, string methodName, System.Action<T1, T2, T3, T4, T5> handler) { throw null; } - public static System.IDisposable On<T1, T2, T3, T4, T5>(this Microsoft.AspNetCore.SignalR.Client.HubConnection hubConnection, string methodName, System.Func<T1, T2, T3, T4, T5, System.Threading.Tasks.Task> handler) { throw null; } - public static System.IDisposable On<T1, T2, T3, T4, T5, T6>(this Microsoft.AspNetCore.SignalR.Client.HubConnection hubConnection, string methodName, System.Action<T1, T2, T3, T4, T5, T6> handler) { throw null; } - public static System.IDisposable On<T1, T2, T3, T4, T5, T6>(this Microsoft.AspNetCore.SignalR.Client.HubConnection hubConnection, string methodName, System.Func<T1, T2, T3, T4, T5, T6, System.Threading.Tasks.Task> handler) { throw null; } - public static System.IDisposable On<T1, T2, T3, T4, T5, T6, T7>(this Microsoft.AspNetCore.SignalR.Client.HubConnection hubConnection, string methodName, System.Action<T1, T2, T3, T4, T5, T6, T7> handler) { throw null; } - public static System.IDisposable On<T1, T2, T3, T4, T5, T6, T7>(this Microsoft.AspNetCore.SignalR.Client.HubConnection hubConnection, string methodName, System.Func<T1, T2, T3, T4, T5, T6, T7, System.Threading.Tasks.Task> handler) { throw null; } - public static System.IDisposable On<T1, T2, T3, T4, T5, T6, T7, T8>(this Microsoft.AspNetCore.SignalR.Client.HubConnection hubConnection, string methodName, System.Action<T1, T2, T3, T4, T5, T6, T7, T8> handler) { throw null; } - public static System.IDisposable On<T1, T2, T3, T4, T5, T6, T7, T8>(this Microsoft.AspNetCore.SignalR.Client.HubConnection hubConnection, string methodName, System.Func<T1, T2, T3, T4, T5, T6, T7, T8, System.Threading.Tasks.Task> handler) { throw null; } - public static System.Threading.Tasks.Task SendAsync(this Microsoft.AspNetCore.SignalR.Client.HubConnection hubConnection, string methodName, object arg1, object arg2, object arg3, object arg4, object arg5, object arg6, object arg7, object arg8, object arg9, object arg10, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) { throw null; } - public static System.Threading.Tasks.Task SendAsync(this Microsoft.AspNetCore.SignalR.Client.HubConnection hubConnection, string methodName, object arg1, object arg2, object arg3, object arg4, object arg5, object arg6, object arg7, object arg8, object arg9, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) { throw null; } - public static System.Threading.Tasks.Task SendAsync(this Microsoft.AspNetCore.SignalR.Client.HubConnection hubConnection, string methodName, object arg1, object arg2, object arg3, object arg4, object arg5, object arg6, object arg7, object arg8, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) { throw null; } - public static System.Threading.Tasks.Task SendAsync(this Microsoft.AspNetCore.SignalR.Client.HubConnection hubConnection, string methodName, object arg1, object arg2, object arg3, object arg4, object arg5, object arg6, object arg7, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) { throw null; } - public static System.Threading.Tasks.Task SendAsync(this Microsoft.AspNetCore.SignalR.Client.HubConnection hubConnection, string methodName, object arg1, object arg2, object arg3, object arg4, object arg5, object arg6, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) { throw null; } - public static System.Threading.Tasks.Task SendAsync(this Microsoft.AspNetCore.SignalR.Client.HubConnection hubConnection, string methodName, object arg1, object arg2, object arg3, object arg4, object arg5, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) { throw null; } - public static System.Threading.Tasks.Task SendAsync(this Microsoft.AspNetCore.SignalR.Client.HubConnection hubConnection, string methodName, object arg1, object arg2, object arg3, object arg4, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) { throw null; } - public static System.Threading.Tasks.Task SendAsync(this Microsoft.AspNetCore.SignalR.Client.HubConnection hubConnection, string methodName, object arg1, object arg2, object arg3, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) { throw null; } - public static System.Threading.Tasks.Task SendAsync(this Microsoft.AspNetCore.SignalR.Client.HubConnection hubConnection, string methodName, object arg1, object arg2, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) { throw null; } - public static System.Threading.Tasks.Task SendAsync(this Microsoft.AspNetCore.SignalR.Client.HubConnection hubConnection, string methodName, object arg1, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) { throw null; } - public static System.Threading.Tasks.Task SendAsync(this Microsoft.AspNetCore.SignalR.Client.HubConnection hubConnection, string methodName, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) { throw null; } - public static System.Threading.Tasks.Task<System.Threading.Channels.ChannelReader<TResult>> StreamAsChannelAsync<TResult>(this Microsoft.AspNetCore.SignalR.Client.HubConnection hubConnection, string methodName, object arg1, object arg2, object arg3, object arg4, object arg5, object arg6, object arg7, object arg8, object arg9, object arg10, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) { throw null; } - public static System.Threading.Tasks.Task<System.Threading.Channels.ChannelReader<TResult>> StreamAsChannelAsync<TResult>(this Microsoft.AspNetCore.SignalR.Client.HubConnection hubConnection, string methodName, object arg1, object arg2, object arg3, object arg4, object arg5, object arg6, object arg7, object arg8, object arg9, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) { throw null; } - public static System.Threading.Tasks.Task<System.Threading.Channels.ChannelReader<TResult>> StreamAsChannelAsync<TResult>(this Microsoft.AspNetCore.SignalR.Client.HubConnection hubConnection, string methodName, object arg1, object arg2, object arg3, object arg4, object arg5, object arg6, object arg7, object arg8, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) { throw null; } - public static System.Threading.Tasks.Task<System.Threading.Channels.ChannelReader<TResult>> StreamAsChannelAsync<TResult>(this Microsoft.AspNetCore.SignalR.Client.HubConnection hubConnection, string methodName, object arg1, object arg2, object arg3, object arg4, object arg5, object arg6, object arg7, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) { throw null; } - public static System.Threading.Tasks.Task<System.Threading.Channels.ChannelReader<TResult>> StreamAsChannelAsync<TResult>(this Microsoft.AspNetCore.SignalR.Client.HubConnection hubConnection, string methodName, object arg1, object arg2, object arg3, object arg4, object arg5, object arg6, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) { throw null; } - public static System.Threading.Tasks.Task<System.Threading.Channels.ChannelReader<TResult>> StreamAsChannelAsync<TResult>(this Microsoft.AspNetCore.SignalR.Client.HubConnection hubConnection, string methodName, object arg1, object arg2, object arg3, object arg4, object arg5, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) { throw null; } - public static System.Threading.Tasks.Task<System.Threading.Channels.ChannelReader<TResult>> StreamAsChannelAsync<TResult>(this Microsoft.AspNetCore.SignalR.Client.HubConnection hubConnection, string methodName, object arg1, object arg2, object arg3, object arg4, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) { throw null; } - public static System.Threading.Tasks.Task<System.Threading.Channels.ChannelReader<TResult>> StreamAsChannelAsync<TResult>(this Microsoft.AspNetCore.SignalR.Client.HubConnection hubConnection, string methodName, object arg1, object arg2, object arg3, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) { throw null; } - public static System.Threading.Tasks.Task<System.Threading.Channels.ChannelReader<TResult>> StreamAsChannelAsync<TResult>(this Microsoft.AspNetCore.SignalR.Client.HubConnection hubConnection, string methodName, object arg1, object arg2, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) { throw null; } - public static System.Threading.Tasks.Task<System.Threading.Channels.ChannelReader<TResult>> StreamAsChannelAsync<TResult>(this Microsoft.AspNetCore.SignalR.Client.HubConnection hubConnection, string methodName, object arg1, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) { throw null; } - public static System.Threading.Tasks.Task<System.Threading.Channels.ChannelReader<TResult>> StreamAsChannelAsync<TResult>(this Microsoft.AspNetCore.SignalR.Client.HubConnection hubConnection, string methodName, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) { throw null; } - [System.Diagnostics.DebuggerStepThroughAttribute] - public static System.Threading.Tasks.Task<System.Threading.Channels.ChannelReader<TResult>> StreamAsChannelCoreAsync<TResult>(this Microsoft.AspNetCore.SignalR.Client.HubConnection hubConnection, string methodName, object[] args, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) { throw null; } - public static System.Collections.Generic.IAsyncEnumerable<TResult> StreamAsync<TResult>(this Microsoft.AspNetCore.SignalR.Client.HubConnection hubConnection, string methodName, object arg1, object arg2, object arg3, object arg4, object arg5, object arg6, object arg7, object arg8, object arg9, object arg10, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) { throw null; } - public static System.Collections.Generic.IAsyncEnumerable<TResult> StreamAsync<TResult>(this Microsoft.AspNetCore.SignalR.Client.HubConnection hubConnection, string methodName, object arg1, object arg2, object arg3, object arg4, object arg5, object arg6, object arg7, object arg8, object arg9, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) { throw null; } - public static System.Collections.Generic.IAsyncEnumerable<TResult> StreamAsync<TResult>(this Microsoft.AspNetCore.SignalR.Client.HubConnection hubConnection, string methodName, object arg1, object arg2, object arg3, object arg4, object arg5, object arg6, object arg7, object arg8, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) { throw null; } - public static System.Collections.Generic.IAsyncEnumerable<TResult> StreamAsync<TResult>(this Microsoft.AspNetCore.SignalR.Client.HubConnection hubConnection, string methodName, object arg1, object arg2, object arg3, object arg4, object arg5, object arg6, object arg7, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) { throw null; } - public static System.Collections.Generic.IAsyncEnumerable<TResult> StreamAsync<TResult>(this Microsoft.AspNetCore.SignalR.Client.HubConnection hubConnection, string methodName, object arg1, object arg2, object arg3, object arg4, object arg5, object arg6, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) { throw null; } - public static System.Collections.Generic.IAsyncEnumerable<TResult> StreamAsync<TResult>(this Microsoft.AspNetCore.SignalR.Client.HubConnection hubConnection, string methodName, object arg1, object arg2, object arg3, object arg4, object arg5, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) { throw null; } - public static System.Collections.Generic.IAsyncEnumerable<TResult> StreamAsync<TResult>(this Microsoft.AspNetCore.SignalR.Client.HubConnection hubConnection, string methodName, object arg1, object arg2, object arg3, object arg4, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) { throw null; } - public static System.Collections.Generic.IAsyncEnumerable<TResult> StreamAsync<TResult>(this Microsoft.AspNetCore.SignalR.Client.HubConnection hubConnection, string methodName, object arg1, object arg2, object arg3, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) { throw null; } - public static System.Collections.Generic.IAsyncEnumerable<TResult> StreamAsync<TResult>(this Microsoft.AspNetCore.SignalR.Client.HubConnection hubConnection, string methodName, object arg1, object arg2, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) { throw null; } - public static System.Collections.Generic.IAsyncEnumerable<TResult> StreamAsync<TResult>(this Microsoft.AspNetCore.SignalR.Client.HubConnection hubConnection, string methodName, object arg1, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) { throw null; } - public static System.Collections.Generic.IAsyncEnumerable<TResult> StreamAsync<TResult>(this Microsoft.AspNetCore.SignalR.Client.HubConnection hubConnection, string methodName, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) { throw null; } - } - public enum HubConnectionState - { - Disconnected = 0, - Connected = 1, - Connecting = 2, - Reconnecting = 3, - } - public partial interface IHubConnectionBuilder : Microsoft.AspNetCore.SignalR.ISignalRBuilder - { - Microsoft.AspNetCore.SignalR.Client.HubConnection Build(); - } - public partial interface IRetryPolicy - { - System.TimeSpan? NextRetryDelay(Microsoft.AspNetCore.SignalR.Client.RetryContext retryContext); - } - public sealed partial class RetryContext - { - public RetryContext() { } - public System.TimeSpan ElapsedTime { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute] set { } } - public long PreviousRetryCount { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute] set { } } - public System.Exception RetryReason { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute] set { } } - } -} diff --git a/src/SignalR/clients/csharp/Client.Core/ref/Microsoft.AspNetCore.SignalR.Client.Core.netstandard2.1.cs b/src/SignalR/clients/csharp/Client.Core/ref/Microsoft.AspNetCore.SignalR.Client.Core.netstandard2.1.cs deleted file mode 100644 index 5be77677a204..000000000000 --- a/src/SignalR/clients/csharp/Client.Core/ref/Microsoft.AspNetCore.SignalR.Client.Core.netstandard2.1.cs +++ /dev/null @@ -1,162 +0,0 @@ -// Copyright (c) .NET Foundation. All rights reserved. -// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. - -namespace Microsoft.AspNetCore.SignalR.Client -{ - public partial class HubConnection : System.IAsyncDisposable - { - public static readonly System.TimeSpan DefaultHandshakeTimeout; - public static readonly System.TimeSpan DefaultKeepAliveInterval; - public static readonly System.TimeSpan DefaultServerTimeout; - public HubConnection(Microsoft.AspNetCore.Connections.IConnectionFactory connectionFactory, Microsoft.AspNetCore.SignalR.Protocol.IHubProtocol protocol, System.Net.EndPoint endPoint, System.IServiceProvider serviceProvider, Microsoft.Extensions.Logging.ILoggerFactory loggerFactory) { } - public HubConnection(Microsoft.AspNetCore.Connections.IConnectionFactory connectionFactory, Microsoft.AspNetCore.SignalR.Protocol.IHubProtocol protocol, System.Net.EndPoint endPoint, System.IServiceProvider serviceProvider, Microsoft.Extensions.Logging.ILoggerFactory loggerFactory, Microsoft.AspNetCore.SignalR.Client.IRetryPolicy reconnectPolicy) { } - public string ConnectionId { get { throw null; } } - public System.TimeSpan HandshakeTimeout { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute] set { } } - public System.TimeSpan KeepAliveInterval { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute] set { } } - public System.TimeSpan ServerTimeout { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute] set { } } - public Microsoft.AspNetCore.SignalR.Client.HubConnectionState State { get { throw null; } } - public event System.Func<System.Exception, System.Threading.Tasks.Task> Closed { add { } remove { } } - public event System.Func<string, System.Threading.Tasks.Task> Reconnected { add { } remove { } } - public event System.Func<System.Exception, System.Threading.Tasks.Task> Reconnecting { add { } remove { } } - [System.Diagnostics.DebuggerStepThroughAttribute] - public System.Threading.Tasks.ValueTask DisposeAsync() { throw null; } - [System.Diagnostics.DebuggerStepThroughAttribute] - public System.Threading.Tasks.Task<object> InvokeCoreAsync(string methodName, System.Type returnType, object[] args, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) { throw null; } - public System.IDisposable On(string methodName, System.Type[] parameterTypes, System.Func<object[], object, System.Threading.Tasks.Task> handler, object state) { throw null; } - public void Remove(string methodName) { } - [System.Diagnostics.DebuggerStepThroughAttribute] - public System.Threading.Tasks.Task SendCoreAsync(string methodName, object[] args, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) { throw null; } - [System.Diagnostics.DebuggerStepThroughAttribute] - public System.Threading.Tasks.Task StartAsync(System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) { throw null; } - [System.Diagnostics.DebuggerStepThroughAttribute] - public System.Threading.Tasks.Task StopAsync(System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) { throw null; } - [System.Diagnostics.DebuggerStepThroughAttribute] - public System.Threading.Tasks.Task<System.Threading.Channels.ChannelReader<object>> StreamAsChannelCoreAsync(string methodName, System.Type returnType, object[] args, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) { throw null; } - public System.Collections.Generic.IAsyncEnumerable<TResult> StreamAsyncCore<TResult>(string methodName, object[] args, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) { throw null; } - } - public partial class HubConnectionBuilder : Microsoft.AspNetCore.SignalR.Client.IHubConnectionBuilder, Microsoft.AspNetCore.SignalR.ISignalRBuilder - { - public HubConnectionBuilder() { } - public Microsoft.Extensions.DependencyInjection.IServiceCollection Services { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } } - public Microsoft.AspNetCore.SignalR.Client.HubConnection Build() { throw null; } - [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Never)] - public override bool Equals(object obj) { throw null; } - [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Never)] - public override int GetHashCode() { throw null; } - [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Never)] - public new System.Type GetType() { throw null; } - [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Never)] - public override string ToString() { throw null; } - } - public static partial class HubConnectionBuilderExtensions - { - public static Microsoft.AspNetCore.SignalR.Client.IHubConnectionBuilder ConfigureLogging(this Microsoft.AspNetCore.SignalR.Client.IHubConnectionBuilder hubConnectionBuilder, System.Action<Microsoft.Extensions.Logging.ILoggingBuilder> configureLogging) { throw null; } - public static Microsoft.AspNetCore.SignalR.Client.IHubConnectionBuilder WithAutomaticReconnect(this Microsoft.AspNetCore.SignalR.Client.IHubConnectionBuilder hubConnectionBuilder) { throw null; } - public static Microsoft.AspNetCore.SignalR.Client.IHubConnectionBuilder WithAutomaticReconnect(this Microsoft.AspNetCore.SignalR.Client.IHubConnectionBuilder hubConnectionBuilder, Microsoft.AspNetCore.SignalR.Client.IRetryPolicy retryPolicy) { throw null; } - public static Microsoft.AspNetCore.SignalR.Client.IHubConnectionBuilder WithAutomaticReconnect(this Microsoft.AspNetCore.SignalR.Client.IHubConnectionBuilder hubConnectionBuilder, System.TimeSpan[] reconnectDelays) { throw null; } - } - public static partial class HubConnectionExtensions - { - public static System.Threading.Tasks.Task InvokeAsync(this Microsoft.AspNetCore.SignalR.Client.HubConnection hubConnection, string methodName, object arg1, object arg2, object arg3, object arg4, object arg5, object arg6, object arg7, object arg8, object arg9, object arg10, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) { throw null; } - public static System.Threading.Tasks.Task InvokeAsync(this Microsoft.AspNetCore.SignalR.Client.HubConnection hubConnection, string methodName, object arg1, object arg2, object arg3, object arg4, object arg5, object arg6, object arg7, object arg8, object arg9, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) { throw null; } - public static System.Threading.Tasks.Task InvokeAsync(this Microsoft.AspNetCore.SignalR.Client.HubConnection hubConnection, string methodName, object arg1, object arg2, object arg3, object arg4, object arg5, object arg6, object arg7, object arg8, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) { throw null; } - public static System.Threading.Tasks.Task InvokeAsync(this Microsoft.AspNetCore.SignalR.Client.HubConnection hubConnection, string methodName, object arg1, object arg2, object arg3, object arg4, object arg5, object arg6, object arg7, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) { throw null; } - public static System.Threading.Tasks.Task InvokeAsync(this Microsoft.AspNetCore.SignalR.Client.HubConnection hubConnection, string methodName, object arg1, object arg2, object arg3, object arg4, object arg5, object arg6, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) { throw null; } - public static System.Threading.Tasks.Task InvokeAsync(this Microsoft.AspNetCore.SignalR.Client.HubConnection hubConnection, string methodName, object arg1, object arg2, object arg3, object arg4, object arg5, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) { throw null; } - public static System.Threading.Tasks.Task InvokeAsync(this Microsoft.AspNetCore.SignalR.Client.HubConnection hubConnection, string methodName, object arg1, object arg2, object arg3, object arg4, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) { throw null; } - public static System.Threading.Tasks.Task InvokeAsync(this Microsoft.AspNetCore.SignalR.Client.HubConnection hubConnection, string methodName, object arg1, object arg2, object arg3, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) { throw null; } - public static System.Threading.Tasks.Task InvokeAsync(this Microsoft.AspNetCore.SignalR.Client.HubConnection hubConnection, string methodName, object arg1, object arg2, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) { throw null; } - public static System.Threading.Tasks.Task InvokeAsync(this Microsoft.AspNetCore.SignalR.Client.HubConnection hubConnection, string methodName, object arg1, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) { throw null; } - public static System.Threading.Tasks.Task InvokeAsync(this Microsoft.AspNetCore.SignalR.Client.HubConnection hubConnection, string methodName, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) { throw null; } - public static System.Threading.Tasks.Task<TResult> InvokeAsync<TResult>(this Microsoft.AspNetCore.SignalR.Client.HubConnection hubConnection, string methodName, object arg1, object arg2, object arg3, object arg4, object arg5, object arg6, object arg7, object arg8, object arg9, object arg10, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) { throw null; } - public static System.Threading.Tasks.Task<TResult> InvokeAsync<TResult>(this Microsoft.AspNetCore.SignalR.Client.HubConnection hubConnection, string methodName, object arg1, object arg2, object arg3, object arg4, object arg5, object arg6, object arg7, object arg8, object arg9, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) { throw null; } - public static System.Threading.Tasks.Task<TResult> InvokeAsync<TResult>(this Microsoft.AspNetCore.SignalR.Client.HubConnection hubConnection, string methodName, object arg1, object arg2, object arg3, object arg4, object arg5, object arg6, object arg7, object arg8, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) { throw null; } - public static System.Threading.Tasks.Task<TResult> InvokeAsync<TResult>(this Microsoft.AspNetCore.SignalR.Client.HubConnection hubConnection, string methodName, object arg1, object arg2, object arg3, object arg4, object arg5, object arg6, object arg7, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) { throw null; } - public static System.Threading.Tasks.Task<TResult> InvokeAsync<TResult>(this Microsoft.AspNetCore.SignalR.Client.HubConnection hubConnection, string methodName, object arg1, object arg2, object arg3, object arg4, object arg5, object arg6, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) { throw null; } - public static System.Threading.Tasks.Task<TResult> InvokeAsync<TResult>(this Microsoft.AspNetCore.SignalR.Client.HubConnection hubConnection, string methodName, object arg1, object arg2, object arg3, object arg4, object arg5, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) { throw null; } - public static System.Threading.Tasks.Task<TResult> InvokeAsync<TResult>(this Microsoft.AspNetCore.SignalR.Client.HubConnection hubConnection, string methodName, object arg1, object arg2, object arg3, object arg4, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) { throw null; } - public static System.Threading.Tasks.Task<TResult> InvokeAsync<TResult>(this Microsoft.AspNetCore.SignalR.Client.HubConnection hubConnection, string methodName, object arg1, object arg2, object arg3, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) { throw null; } - public static System.Threading.Tasks.Task<TResult> InvokeAsync<TResult>(this Microsoft.AspNetCore.SignalR.Client.HubConnection hubConnection, string methodName, object arg1, object arg2, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) { throw null; } - public static System.Threading.Tasks.Task<TResult> InvokeAsync<TResult>(this Microsoft.AspNetCore.SignalR.Client.HubConnection hubConnection, string methodName, object arg1, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) { throw null; } - public static System.Threading.Tasks.Task<TResult> InvokeAsync<TResult>(this Microsoft.AspNetCore.SignalR.Client.HubConnection hubConnection, string methodName, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) { throw null; } - public static System.Threading.Tasks.Task InvokeCoreAsync(this Microsoft.AspNetCore.SignalR.Client.HubConnection hubConnection, string methodName, object[] args, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) { throw null; } - [System.Diagnostics.DebuggerStepThroughAttribute] - public static System.Threading.Tasks.Task<TResult> InvokeCoreAsync<TResult>(this Microsoft.AspNetCore.SignalR.Client.HubConnection hubConnection, string methodName, object[] args, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) { throw null; } - public static System.IDisposable On(this Microsoft.AspNetCore.SignalR.Client.HubConnection hubConnection, string methodName, System.Action handler) { throw null; } - public static System.IDisposable On(this Microsoft.AspNetCore.SignalR.Client.HubConnection hubConnection, string methodName, System.Func<System.Threading.Tasks.Task> handler) { throw null; } - public static System.IDisposable On(this Microsoft.AspNetCore.SignalR.Client.HubConnection hubConnection, string methodName, System.Type[] parameterTypes, System.Func<object[], System.Threading.Tasks.Task> handler) { throw null; } - public static System.IDisposable On<T1>(this Microsoft.AspNetCore.SignalR.Client.HubConnection hubConnection, string methodName, System.Action<T1> handler) { throw null; } - public static System.IDisposable On<T1>(this Microsoft.AspNetCore.SignalR.Client.HubConnection hubConnection, string methodName, System.Func<T1, System.Threading.Tasks.Task> handler) { throw null; } - public static System.IDisposable On<T1, T2>(this Microsoft.AspNetCore.SignalR.Client.HubConnection hubConnection, string methodName, System.Action<T1, T2> handler) { throw null; } - public static System.IDisposable On<T1, T2>(this Microsoft.AspNetCore.SignalR.Client.HubConnection hubConnection, string methodName, System.Func<T1, T2, System.Threading.Tasks.Task> handler) { throw null; } - public static System.IDisposable On<T1, T2, T3>(this Microsoft.AspNetCore.SignalR.Client.HubConnection hubConnection, string methodName, System.Action<T1, T2, T3> handler) { throw null; } - public static System.IDisposable On<T1, T2, T3>(this Microsoft.AspNetCore.SignalR.Client.HubConnection hubConnection, string methodName, System.Func<T1, T2, T3, System.Threading.Tasks.Task> handler) { throw null; } - public static System.IDisposable On<T1, T2, T3, T4>(this Microsoft.AspNetCore.SignalR.Client.HubConnection hubConnection, string methodName, System.Action<T1, T2, T3, T4> handler) { throw null; } - public static System.IDisposable On<T1, T2, T3, T4>(this Microsoft.AspNetCore.SignalR.Client.HubConnection hubConnection, string methodName, System.Func<T1, T2, T3, T4, System.Threading.Tasks.Task> handler) { throw null; } - public static System.IDisposable On<T1, T2, T3, T4, T5>(this Microsoft.AspNetCore.SignalR.Client.HubConnection hubConnection, string methodName, System.Action<T1, T2, T3, T4, T5> handler) { throw null; } - public static System.IDisposable On<T1, T2, T3, T4, T5>(this Microsoft.AspNetCore.SignalR.Client.HubConnection hubConnection, string methodName, System.Func<T1, T2, T3, T4, T5, System.Threading.Tasks.Task> handler) { throw null; } - public static System.IDisposable On<T1, T2, T3, T4, T5, T6>(this Microsoft.AspNetCore.SignalR.Client.HubConnection hubConnection, string methodName, System.Action<T1, T2, T3, T4, T5, T6> handler) { throw null; } - public static System.IDisposable On<T1, T2, T3, T4, T5, T6>(this Microsoft.AspNetCore.SignalR.Client.HubConnection hubConnection, string methodName, System.Func<T1, T2, T3, T4, T5, T6, System.Threading.Tasks.Task> handler) { throw null; } - public static System.IDisposable On<T1, T2, T3, T4, T5, T6, T7>(this Microsoft.AspNetCore.SignalR.Client.HubConnection hubConnection, string methodName, System.Action<T1, T2, T3, T4, T5, T6, T7> handler) { throw null; } - public static System.IDisposable On<T1, T2, T3, T4, T5, T6, T7>(this Microsoft.AspNetCore.SignalR.Client.HubConnection hubConnection, string methodName, System.Func<T1, T2, T3, T4, T5, T6, T7, System.Threading.Tasks.Task> handler) { throw null; } - public static System.IDisposable On<T1, T2, T3, T4, T5, T6, T7, T8>(this Microsoft.AspNetCore.SignalR.Client.HubConnection hubConnection, string methodName, System.Action<T1, T2, T3, T4, T5, T6, T7, T8> handler) { throw null; } - public static System.IDisposable On<T1, T2, T3, T4, T5, T6, T7, T8>(this Microsoft.AspNetCore.SignalR.Client.HubConnection hubConnection, string methodName, System.Func<T1, T2, T3, T4, T5, T6, T7, T8, System.Threading.Tasks.Task> handler) { throw null; } - public static System.Threading.Tasks.Task SendAsync(this Microsoft.AspNetCore.SignalR.Client.HubConnection hubConnection, string methodName, object arg1, object arg2, object arg3, object arg4, object arg5, object arg6, object arg7, object arg8, object arg9, object arg10, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) { throw null; } - public static System.Threading.Tasks.Task SendAsync(this Microsoft.AspNetCore.SignalR.Client.HubConnection hubConnection, string methodName, object arg1, object arg2, object arg3, object arg4, object arg5, object arg6, object arg7, object arg8, object arg9, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) { throw null; } - public static System.Threading.Tasks.Task SendAsync(this Microsoft.AspNetCore.SignalR.Client.HubConnection hubConnection, string methodName, object arg1, object arg2, object arg3, object arg4, object arg5, object arg6, object arg7, object arg8, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) { throw null; } - public static System.Threading.Tasks.Task SendAsync(this Microsoft.AspNetCore.SignalR.Client.HubConnection hubConnection, string methodName, object arg1, object arg2, object arg3, object arg4, object arg5, object arg6, object arg7, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) { throw null; } - public static System.Threading.Tasks.Task SendAsync(this Microsoft.AspNetCore.SignalR.Client.HubConnection hubConnection, string methodName, object arg1, object arg2, object arg3, object arg4, object arg5, object arg6, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) { throw null; } - public static System.Threading.Tasks.Task SendAsync(this Microsoft.AspNetCore.SignalR.Client.HubConnection hubConnection, string methodName, object arg1, object arg2, object arg3, object arg4, object arg5, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) { throw null; } - public static System.Threading.Tasks.Task SendAsync(this Microsoft.AspNetCore.SignalR.Client.HubConnection hubConnection, string methodName, object arg1, object arg2, object arg3, object arg4, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) { throw null; } - public static System.Threading.Tasks.Task SendAsync(this Microsoft.AspNetCore.SignalR.Client.HubConnection hubConnection, string methodName, object arg1, object arg2, object arg3, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) { throw null; } - public static System.Threading.Tasks.Task SendAsync(this Microsoft.AspNetCore.SignalR.Client.HubConnection hubConnection, string methodName, object arg1, object arg2, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) { throw null; } - public static System.Threading.Tasks.Task SendAsync(this Microsoft.AspNetCore.SignalR.Client.HubConnection hubConnection, string methodName, object arg1, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) { throw null; } - public static System.Threading.Tasks.Task SendAsync(this Microsoft.AspNetCore.SignalR.Client.HubConnection hubConnection, string methodName, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) { throw null; } - public static System.Threading.Tasks.Task<System.Threading.Channels.ChannelReader<TResult>> StreamAsChannelAsync<TResult>(this Microsoft.AspNetCore.SignalR.Client.HubConnection hubConnection, string methodName, object arg1, object arg2, object arg3, object arg4, object arg5, object arg6, object arg7, object arg8, object arg9, object arg10, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) { throw null; } - public static System.Threading.Tasks.Task<System.Threading.Channels.ChannelReader<TResult>> StreamAsChannelAsync<TResult>(this Microsoft.AspNetCore.SignalR.Client.HubConnection hubConnection, string methodName, object arg1, object arg2, object arg3, object arg4, object arg5, object arg6, object arg7, object arg8, object arg9, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) { throw null; } - public static System.Threading.Tasks.Task<System.Threading.Channels.ChannelReader<TResult>> StreamAsChannelAsync<TResult>(this Microsoft.AspNetCore.SignalR.Client.HubConnection hubConnection, string methodName, object arg1, object arg2, object arg3, object arg4, object arg5, object arg6, object arg7, object arg8, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) { throw null; } - public static System.Threading.Tasks.Task<System.Threading.Channels.ChannelReader<TResult>> StreamAsChannelAsync<TResult>(this Microsoft.AspNetCore.SignalR.Client.HubConnection hubConnection, string methodName, object arg1, object arg2, object arg3, object arg4, object arg5, object arg6, object arg7, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) { throw null; } - public static System.Threading.Tasks.Task<System.Threading.Channels.ChannelReader<TResult>> StreamAsChannelAsync<TResult>(this Microsoft.AspNetCore.SignalR.Client.HubConnection hubConnection, string methodName, object arg1, object arg2, object arg3, object arg4, object arg5, object arg6, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) { throw null; } - public static System.Threading.Tasks.Task<System.Threading.Channels.ChannelReader<TResult>> StreamAsChannelAsync<TResult>(this Microsoft.AspNetCore.SignalR.Client.HubConnection hubConnection, string methodName, object arg1, object arg2, object arg3, object arg4, object arg5, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) { throw null; } - public static System.Threading.Tasks.Task<System.Threading.Channels.ChannelReader<TResult>> StreamAsChannelAsync<TResult>(this Microsoft.AspNetCore.SignalR.Client.HubConnection hubConnection, string methodName, object arg1, object arg2, object arg3, object arg4, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) { throw null; } - public static System.Threading.Tasks.Task<System.Threading.Channels.ChannelReader<TResult>> StreamAsChannelAsync<TResult>(this Microsoft.AspNetCore.SignalR.Client.HubConnection hubConnection, string methodName, object arg1, object arg2, object arg3, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) { throw null; } - public static System.Threading.Tasks.Task<System.Threading.Channels.ChannelReader<TResult>> StreamAsChannelAsync<TResult>(this Microsoft.AspNetCore.SignalR.Client.HubConnection hubConnection, string methodName, object arg1, object arg2, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) { throw null; } - public static System.Threading.Tasks.Task<System.Threading.Channels.ChannelReader<TResult>> StreamAsChannelAsync<TResult>(this Microsoft.AspNetCore.SignalR.Client.HubConnection hubConnection, string methodName, object arg1, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) { throw null; } - public static System.Threading.Tasks.Task<System.Threading.Channels.ChannelReader<TResult>> StreamAsChannelAsync<TResult>(this Microsoft.AspNetCore.SignalR.Client.HubConnection hubConnection, string methodName, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) { throw null; } - [System.Diagnostics.DebuggerStepThroughAttribute] - public static System.Threading.Tasks.Task<System.Threading.Channels.ChannelReader<TResult>> StreamAsChannelCoreAsync<TResult>(this Microsoft.AspNetCore.SignalR.Client.HubConnection hubConnection, string methodName, object[] args, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) { throw null; } - public static System.Collections.Generic.IAsyncEnumerable<TResult> StreamAsync<TResult>(this Microsoft.AspNetCore.SignalR.Client.HubConnection hubConnection, string methodName, object arg1, object arg2, object arg3, object arg4, object arg5, object arg6, object arg7, object arg8, object arg9, object arg10, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) { throw null; } - public static System.Collections.Generic.IAsyncEnumerable<TResult> StreamAsync<TResult>(this Microsoft.AspNetCore.SignalR.Client.HubConnection hubConnection, string methodName, object arg1, object arg2, object arg3, object arg4, object arg5, object arg6, object arg7, object arg8, object arg9, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) { throw null; } - public static System.Collections.Generic.IAsyncEnumerable<TResult> StreamAsync<TResult>(this Microsoft.AspNetCore.SignalR.Client.HubConnection hubConnection, string methodName, object arg1, object arg2, object arg3, object arg4, object arg5, object arg6, object arg7, object arg8, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) { throw null; } - public static System.Collections.Generic.IAsyncEnumerable<TResult> StreamAsync<TResult>(this Microsoft.AspNetCore.SignalR.Client.HubConnection hubConnection, string methodName, object arg1, object arg2, object arg3, object arg4, object arg5, object arg6, object arg7, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) { throw null; } - public static System.Collections.Generic.IAsyncEnumerable<TResult> StreamAsync<TResult>(this Microsoft.AspNetCore.SignalR.Client.HubConnection hubConnection, string methodName, object arg1, object arg2, object arg3, object arg4, object arg5, object arg6, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) { throw null; } - public static System.Collections.Generic.IAsyncEnumerable<TResult> StreamAsync<TResult>(this Microsoft.AspNetCore.SignalR.Client.HubConnection hubConnection, string methodName, object arg1, object arg2, object arg3, object arg4, object arg5, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) { throw null; } - public static System.Collections.Generic.IAsyncEnumerable<TResult> StreamAsync<TResult>(this Microsoft.AspNetCore.SignalR.Client.HubConnection hubConnection, string methodName, object arg1, object arg2, object arg3, object arg4, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) { throw null; } - public static System.Collections.Generic.IAsyncEnumerable<TResult> StreamAsync<TResult>(this Microsoft.AspNetCore.SignalR.Client.HubConnection hubConnection, string methodName, object arg1, object arg2, object arg3, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) { throw null; } - public static System.Collections.Generic.IAsyncEnumerable<TResult> StreamAsync<TResult>(this Microsoft.AspNetCore.SignalR.Client.HubConnection hubConnection, string methodName, object arg1, object arg2, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) { throw null; } - public static System.Collections.Generic.IAsyncEnumerable<TResult> StreamAsync<TResult>(this Microsoft.AspNetCore.SignalR.Client.HubConnection hubConnection, string methodName, object arg1, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) { throw null; } - public static System.Collections.Generic.IAsyncEnumerable<TResult> StreamAsync<TResult>(this Microsoft.AspNetCore.SignalR.Client.HubConnection hubConnection, string methodName, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) { throw null; } - } - public enum HubConnectionState - { - Disconnected = 0, - Connected = 1, - Connecting = 2, - Reconnecting = 3, - } - public partial interface IHubConnectionBuilder : Microsoft.AspNetCore.SignalR.ISignalRBuilder - { - Microsoft.AspNetCore.SignalR.Client.HubConnection Build(); - } - public partial interface IRetryPolicy - { - System.TimeSpan? NextRetryDelay(Microsoft.AspNetCore.SignalR.Client.RetryContext retryContext); - } - public sealed partial class RetryContext - { - public RetryContext() { } - public System.TimeSpan ElapsedTime { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute] set { } } - public long PreviousRetryCount { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute] set { } } - public System.Exception RetryReason { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute] set { } } - } -} diff --git a/src/SignalR/clients/csharp/Client.Core/src/Microsoft.AspNetCore.SignalR.Client.Core.csproj b/src/SignalR/clients/csharp/Client.Core/src/Microsoft.AspNetCore.SignalR.Client.Core.csproj index e287d4c86966..c1aca1c27569 100644 --- a/src/SignalR/clients/csharp/Client.Core/src/Microsoft.AspNetCore.SignalR.Client.Core.csproj +++ b/src/SignalR/clients/csharp/Client.Core/src/Microsoft.AspNetCore.SignalR.Client.Core.csproj @@ -4,7 +4,7 @@ <Description>Client for ASP.NET Core SignalR</Description> <TargetFrameworks>netstandard2.0;netstandard2.1</TargetFrameworks> <RootNamespace>Microsoft.AspNetCore.SignalR.Client</RootNamespace> - <IsShippingPackage>true</IsShippingPackage> + <IsPackable>true</IsPackable> </PropertyGroup> <ItemGroup> diff --git a/src/SignalR/clients/csharp/Client/ref/Microsoft.AspNetCore.SignalR.Client.csproj b/src/SignalR/clients/csharp/Client/ref/Microsoft.AspNetCore.SignalR.Client.csproj deleted file mode 100644 index 0b7e13daf909..000000000000 --- a/src/SignalR/clients/csharp/Client/ref/Microsoft.AspNetCore.SignalR.Client.csproj +++ /dev/null @@ -1,11 +0,0 @@ -<!-- This file is automatically generated. --> -<Project Sdk="Microsoft.NET.Sdk"> - <PropertyGroup> - <TargetFrameworks>netstandard2.0</TargetFrameworks> - </PropertyGroup> - <ItemGroup Condition="'$(TargetFramework)' == 'netstandard2.0'"> - <Compile Include="Microsoft.AspNetCore.SignalR.Client.netstandard2.0.cs" /> - <Reference Include="Microsoft.AspNetCore.SignalR.Client.Core" /> - <Reference Include="Microsoft.AspNetCore.Http.Connections.Client" /> - </ItemGroup> -</Project> diff --git a/src/SignalR/clients/csharp/Client/ref/Microsoft.AspNetCore.SignalR.Client.netstandard2.0.cs b/src/SignalR/clients/csharp/Client/ref/Microsoft.AspNetCore.SignalR.Client.netstandard2.0.cs deleted file mode 100644 index 1fb111784b01..000000000000 --- a/src/SignalR/clients/csharp/Client/ref/Microsoft.AspNetCore.SignalR.Client.netstandard2.0.cs +++ /dev/null @@ -1,17 +0,0 @@ -// Copyright (c) .NET Foundation. All rights reserved. -// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. - -namespace Microsoft.AspNetCore.SignalR.Client -{ - public static partial class HubConnectionBuilderHttpExtensions - { - public static Microsoft.AspNetCore.SignalR.Client.IHubConnectionBuilder WithUrl(this Microsoft.AspNetCore.SignalR.Client.IHubConnectionBuilder hubConnectionBuilder, string url) { throw null; } - public static Microsoft.AspNetCore.SignalR.Client.IHubConnectionBuilder WithUrl(this Microsoft.AspNetCore.SignalR.Client.IHubConnectionBuilder hubConnectionBuilder, string url, Microsoft.AspNetCore.Http.Connections.HttpTransportType transports) { throw null; } - public static Microsoft.AspNetCore.SignalR.Client.IHubConnectionBuilder WithUrl(this Microsoft.AspNetCore.SignalR.Client.IHubConnectionBuilder hubConnectionBuilder, string url, Microsoft.AspNetCore.Http.Connections.HttpTransportType transports, System.Action<Microsoft.AspNetCore.Http.Connections.Client.HttpConnectionOptions> configureHttpConnection) { throw null; } - public static Microsoft.AspNetCore.SignalR.Client.IHubConnectionBuilder WithUrl(this Microsoft.AspNetCore.SignalR.Client.IHubConnectionBuilder hubConnectionBuilder, string url, System.Action<Microsoft.AspNetCore.Http.Connections.Client.HttpConnectionOptions> configureHttpConnection) { throw null; } - public static Microsoft.AspNetCore.SignalR.Client.IHubConnectionBuilder WithUrl(this Microsoft.AspNetCore.SignalR.Client.IHubConnectionBuilder hubConnectionBuilder, System.Uri url) { throw null; } - public static Microsoft.AspNetCore.SignalR.Client.IHubConnectionBuilder WithUrl(this Microsoft.AspNetCore.SignalR.Client.IHubConnectionBuilder hubConnectionBuilder, System.Uri url, Microsoft.AspNetCore.Http.Connections.HttpTransportType transports) { throw null; } - public static Microsoft.AspNetCore.SignalR.Client.IHubConnectionBuilder WithUrl(this Microsoft.AspNetCore.SignalR.Client.IHubConnectionBuilder hubConnectionBuilder, System.Uri url, Microsoft.AspNetCore.Http.Connections.HttpTransportType transports, System.Action<Microsoft.AspNetCore.Http.Connections.Client.HttpConnectionOptions> configureHttpConnection) { throw null; } - public static Microsoft.AspNetCore.SignalR.Client.IHubConnectionBuilder WithUrl(this Microsoft.AspNetCore.SignalR.Client.IHubConnectionBuilder hubConnectionBuilder, System.Uri url, System.Action<Microsoft.AspNetCore.Http.Connections.Client.HttpConnectionOptions> configureHttpConnection) { throw null; } - } -} diff --git a/src/SignalR/clients/csharp/Client/src/Microsoft.AspNetCore.SignalR.Client.csproj b/src/SignalR/clients/csharp/Client/src/Microsoft.AspNetCore.SignalR.Client.csproj index 7bfb5b895c9a..56be28a14c7e 100644 --- a/src/SignalR/clients/csharp/Client/src/Microsoft.AspNetCore.SignalR.Client.csproj +++ b/src/SignalR/clients/csharp/Client/src/Microsoft.AspNetCore.SignalR.Client.csproj @@ -3,7 +3,7 @@ <PropertyGroup> <Description>Client for ASP.NET Core SignalR</Description> <TargetFramework>netstandard2.0</TargetFramework> - <IsShippingPackage>true</IsShippingPackage> + <IsPackable>true</IsPackable> </PropertyGroup> <ItemGroup> diff --git a/src/SignalR/clients/csharp/Client/test/FunctionalTests/Microsoft.AspNetCore.SignalR.Client.FunctionalTests.csproj b/src/SignalR/clients/csharp/Client/test/FunctionalTests/Microsoft.AspNetCore.SignalR.Client.FunctionalTests.csproj index 083a6a141af3..64df7e4cf6aa 100644 --- a/src/SignalR/clients/csharp/Client/test/FunctionalTests/Microsoft.AspNetCore.SignalR.Client.FunctionalTests.csproj +++ b/src/SignalR/clients/csharp/Client/test/FunctionalTests/Microsoft.AspNetCore.SignalR.Client.FunctionalTests.csproj @@ -2,6 +2,8 @@ <PropertyGroup> <TargetFramework>$(DefaultNetCoreTargetFramework)</TargetFramework> + <!-- Avoid CS1705 errors due to mix of assemblies brought in transitively. --> + <CompileUsingReferenceAssemblies>false</CompileUsingReferenceAssemblies> </PropertyGroup> <ItemGroup> diff --git a/src/SignalR/clients/csharp/Client/test/UnitTests/Microsoft.AspNetCore.SignalR.Client.Tests.csproj b/src/SignalR/clients/csharp/Client/test/UnitTests/Microsoft.AspNetCore.SignalR.Client.Tests.csproj index 7c584a84bc8b..7c0781eeee16 100644 --- a/src/SignalR/clients/csharp/Client/test/UnitTests/Microsoft.AspNetCore.SignalR.Client.Tests.csproj +++ b/src/SignalR/clients/csharp/Client/test/UnitTests/Microsoft.AspNetCore.SignalR.Client.Tests.csproj @@ -2,6 +2,8 @@ <PropertyGroup> <TargetFramework>$(DefaultNetCoreTargetFramework)</TargetFramework> + <!-- Avoid CS1705 errors due to mix of assemblies brought in transitively. --> + <CompileUsingReferenceAssemblies>false</CompileUsingReferenceAssemblies> </PropertyGroup> <ItemGroup> diff --git a/src/SignalR/clients/csharp/Http.Connections.Client/ref/Microsoft.AspNetCore.Http.Connections.Client.csproj b/src/SignalR/clients/csharp/Http.Connections.Client/ref/Microsoft.AspNetCore.Http.Connections.Client.csproj deleted file mode 100644 index df0c10a3eb70..000000000000 --- a/src/SignalR/clients/csharp/Http.Connections.Client/ref/Microsoft.AspNetCore.Http.Connections.Client.csproj +++ /dev/null @@ -1,18 +0,0 @@ -<!-- This file is automatically generated. --> -<Project Sdk="Microsoft.NET.Sdk"> - <PropertyGroup> - <TargetFrameworks>netstandard2.0;netstandard2.1</TargetFrameworks> - </PropertyGroup> - <ItemGroup Condition="'$(TargetFramework)' == 'netstandard2.0'"> - <Compile Include="Microsoft.AspNetCore.Http.Connections.Client.netstandard2.0.cs" /> - <Reference Include="Microsoft.AspNetCore.Http.Connections.Common" /> - <Reference Include="Microsoft.Extensions.Logging.Abstractions" /> - <Reference Include="Microsoft.Extensions.Options" /> - </ItemGroup> -<ItemGroup Condition="'$(TargetFramework)' == 'netstandard2.1'"> - <Compile Include="Microsoft.AspNetCore.Http.Connections.Client.netstandard2.1.cs" /> - <Reference Include="Microsoft.AspNetCore.Http.Connections.Common" /> - <Reference Include="Microsoft.Extensions.Logging.Abstractions" /> - <Reference Include="Microsoft.Extensions.Options" /> - </ItemGroup> -</Project> diff --git a/src/SignalR/clients/csharp/Http.Connections.Client/ref/Microsoft.AspNetCore.Http.Connections.Client.netcoreapp.cs b/src/SignalR/clients/csharp/Http.Connections.Client/ref/Microsoft.AspNetCore.Http.Connections.Client.netcoreapp.cs deleted file mode 100644 index 35b6c7cc3579..000000000000 --- a/src/SignalR/clients/csharp/Http.Connections.Client/ref/Microsoft.AspNetCore.Http.Connections.Client.netcoreapp.cs +++ /dev/null @@ -1,49 +0,0 @@ -// Copyright (c) .NET Foundation. All rights reserved. -// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. - -namespace Microsoft.AspNetCore.Http.Connections.Client -{ - public partial class HttpConnection : Microsoft.AspNetCore.Connections.ConnectionContext, Microsoft.AspNetCore.Connections.Features.IConnectionInherentKeepAliveFeature - { - public HttpConnection(Microsoft.AspNetCore.Http.Connections.Client.HttpConnectionOptions httpConnectionOptions, Microsoft.Extensions.Logging.ILoggerFactory loggerFactory) { } - public HttpConnection(System.Uri url) { } - public HttpConnection(System.Uri url, Microsoft.AspNetCore.Http.Connections.HttpTransportType transports) { } - public HttpConnection(System.Uri url, Microsoft.AspNetCore.Http.Connections.HttpTransportType transports, Microsoft.Extensions.Logging.ILoggerFactory loggerFactory) { } - public override string ConnectionId { get { throw null; } set { } } - public override Microsoft.AspNetCore.Http.Features.IFeatureCollection Features { [System.Runtime.CompilerServices.CompilerGeneratedAttribute]get { throw null; } } - public override System.Collections.Generic.IDictionary<object, object> Items { [System.Runtime.CompilerServices.CompilerGeneratedAttribute]get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute]set { } } - bool Microsoft.AspNetCore.Connections.Features.IConnectionInherentKeepAliveFeature.HasInherentKeepAlive { get { throw null; } } - public override System.IO.Pipelines.IDuplexPipe Transport { get { throw null; } set { } } - [System.Diagnostics.DebuggerStepThroughAttribute] - public override System.Threading.Tasks.ValueTask DisposeAsync() { throw null; } - [System.Diagnostics.DebuggerStepThroughAttribute] - public System.Threading.Tasks.Task StartAsync(Microsoft.AspNetCore.Connections.TransferFormat transferFormat, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) { throw null; } - public System.Threading.Tasks.Task StartAsync(System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) { throw null; } - } - public partial class HttpConnectionOptions - { - public HttpConnectionOptions() { } - public System.Func<System.Threading.Tasks.Task<string>> AccessTokenProvider { [System.Runtime.CompilerServices.CompilerGeneratedAttribute]get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute]set { } } - public System.Security.Cryptography.X509Certificates.X509CertificateCollection ClientCertificates { get { throw null; } set { } } - public System.TimeSpan CloseTimeout { [System.Runtime.CompilerServices.CompilerGeneratedAttribute]get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute]set { } } - public System.Net.CookieContainer Cookies { get { throw null; } set { } } - public System.Net.ICredentials Credentials { [System.Runtime.CompilerServices.CompilerGeneratedAttribute]get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute]set { } } - public System.Collections.Generic.IDictionary<string, string> Headers { get { throw null; } set { } } - public System.Func<System.Net.Http.HttpMessageHandler, System.Net.Http.HttpMessageHandler> HttpMessageHandlerFactory { [System.Runtime.CompilerServices.CompilerGeneratedAttribute]get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute]set { } } - public System.Net.IWebProxy Proxy { [System.Runtime.CompilerServices.CompilerGeneratedAttribute]get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute]set { } } - public bool SkipNegotiation { [System.Runtime.CompilerServices.CompilerGeneratedAttribute]get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute]set { } } - public Microsoft.AspNetCore.Http.Connections.HttpTransportType Transports { [System.Runtime.CompilerServices.CompilerGeneratedAttribute]get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute]set { } } - public System.Uri Url { [System.Runtime.CompilerServices.CompilerGeneratedAttribute]get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute]set { } } - public bool? UseDefaultCredentials { [System.Runtime.CompilerServices.CompilerGeneratedAttribute]get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute]set { } } - public System.Action<System.Net.WebSockets.ClientWebSocketOptions> WebSocketConfiguration { [System.Runtime.CompilerServices.CompilerGeneratedAttribute]get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute]set { } } - } - public partial class NoTransportSupportedException : System.Exception - { - public NoTransportSupportedException(string message) { } - } - public partial class TransportFailedException : System.Exception - { - public TransportFailedException(string transportType, string message, System.Exception innerException = null) { } - public string TransportType { [System.Runtime.CompilerServices.CompilerGeneratedAttribute]get { throw null; } } - } -} diff --git a/src/SignalR/clients/csharp/Http.Connections.Client/ref/Microsoft.AspNetCore.Http.Connections.Client.netstandard2.0.cs b/src/SignalR/clients/csharp/Http.Connections.Client/ref/Microsoft.AspNetCore.Http.Connections.Client.netstandard2.0.cs deleted file mode 100644 index c36c30930bc8..000000000000 --- a/src/SignalR/clients/csharp/Http.Connections.Client/ref/Microsoft.AspNetCore.Http.Connections.Client.netstandard2.0.cs +++ /dev/null @@ -1,56 +0,0 @@ -// Copyright (c) .NET Foundation. All rights reserved. -// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. - -namespace Microsoft.AspNetCore.Http.Connections.Client -{ - public partial class HttpConnection : Microsoft.AspNetCore.Connections.ConnectionContext, Microsoft.AspNetCore.Connections.Features.IConnectionInherentKeepAliveFeature - { - public HttpConnection(Microsoft.AspNetCore.Http.Connections.Client.HttpConnectionOptions httpConnectionOptions, Microsoft.Extensions.Logging.ILoggerFactory loggerFactory) { } - public HttpConnection(System.Uri url) { } - public HttpConnection(System.Uri url, Microsoft.AspNetCore.Http.Connections.HttpTransportType transports) { } - public HttpConnection(System.Uri url, Microsoft.AspNetCore.Http.Connections.HttpTransportType transports, Microsoft.Extensions.Logging.ILoggerFactory loggerFactory) { } - public override string ConnectionId { get { throw null; } set { } } - public override Microsoft.AspNetCore.Http.Features.IFeatureCollection Features { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } } - public override System.Collections.Generic.IDictionary<object, object> Items { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute] set { } } - bool Microsoft.AspNetCore.Connections.Features.IConnectionInherentKeepAliveFeature.HasInherentKeepAlive { get { throw null; } } - public override System.IO.Pipelines.IDuplexPipe Transport { get { throw null; } set { } } - [System.Diagnostics.DebuggerStepThroughAttribute] - public override System.Threading.Tasks.ValueTask DisposeAsync() { throw null; } - [System.Diagnostics.DebuggerStepThroughAttribute] - public System.Threading.Tasks.Task StartAsync(Microsoft.AspNetCore.Connections.TransferFormat transferFormat, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) { throw null; } - public System.Threading.Tasks.Task StartAsync(System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) { throw null; } - } - public partial class HttpConnectionFactory : Microsoft.AspNetCore.Connections.IConnectionFactory - { - public HttpConnectionFactory(Microsoft.Extensions.Options.IOptions<Microsoft.AspNetCore.Http.Connections.Client.HttpConnectionOptions> options, Microsoft.Extensions.Logging.ILoggerFactory loggerFactory) { } - [System.Diagnostics.DebuggerStepThroughAttribute] - public System.Threading.Tasks.ValueTask<Microsoft.AspNetCore.Connections.ConnectionContext> ConnectAsync(System.Net.EndPoint endPoint, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) { throw null; } - } - public partial class HttpConnectionOptions - { - public HttpConnectionOptions() { } - public System.Func<System.Threading.Tasks.Task<string>> AccessTokenProvider { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute] set { } } - public System.Security.Cryptography.X509Certificates.X509CertificateCollection ClientCertificates { get { throw null; } set { } } - public System.TimeSpan CloseTimeout { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute] set { } } - public System.Net.CookieContainer Cookies { get { throw null; } set { } } - public System.Net.ICredentials Credentials { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute] set { } } - public Microsoft.AspNetCore.Connections.TransferFormat DefaultTransferFormat { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute] set { } } - public System.Collections.Generic.IDictionary<string, string> Headers { get { throw null; } set { } } - public System.Func<System.Net.Http.HttpMessageHandler, System.Net.Http.HttpMessageHandler> HttpMessageHandlerFactory { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute] set { } } - public System.Net.IWebProxy Proxy { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute] set { } } - public bool SkipNegotiation { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute] set { } } - public Microsoft.AspNetCore.Http.Connections.HttpTransportType Transports { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute] set { } } - public System.Uri Url { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute] set { } } - public bool? UseDefaultCredentials { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute] set { } } - public System.Action<System.Net.WebSockets.ClientWebSocketOptions> WebSocketConfiguration { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute] set { } } - } - public partial class NoTransportSupportedException : System.Exception - { - public NoTransportSupportedException(string message) { } - } - public partial class TransportFailedException : System.Exception - { - public TransportFailedException(string transportType, string message, System.Exception innerException = null) { } - public string TransportType { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } } - } -} diff --git a/src/SignalR/clients/csharp/Http.Connections.Client/ref/Microsoft.AspNetCore.Http.Connections.Client.netstandard2.1.cs b/src/SignalR/clients/csharp/Http.Connections.Client/ref/Microsoft.AspNetCore.Http.Connections.Client.netstandard2.1.cs deleted file mode 100644 index c36c30930bc8..000000000000 --- a/src/SignalR/clients/csharp/Http.Connections.Client/ref/Microsoft.AspNetCore.Http.Connections.Client.netstandard2.1.cs +++ /dev/null @@ -1,56 +0,0 @@ -// Copyright (c) .NET Foundation. All rights reserved. -// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. - -namespace Microsoft.AspNetCore.Http.Connections.Client -{ - public partial class HttpConnection : Microsoft.AspNetCore.Connections.ConnectionContext, Microsoft.AspNetCore.Connections.Features.IConnectionInherentKeepAliveFeature - { - public HttpConnection(Microsoft.AspNetCore.Http.Connections.Client.HttpConnectionOptions httpConnectionOptions, Microsoft.Extensions.Logging.ILoggerFactory loggerFactory) { } - public HttpConnection(System.Uri url) { } - public HttpConnection(System.Uri url, Microsoft.AspNetCore.Http.Connections.HttpTransportType transports) { } - public HttpConnection(System.Uri url, Microsoft.AspNetCore.Http.Connections.HttpTransportType transports, Microsoft.Extensions.Logging.ILoggerFactory loggerFactory) { } - public override string ConnectionId { get { throw null; } set { } } - public override Microsoft.AspNetCore.Http.Features.IFeatureCollection Features { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } } - public override System.Collections.Generic.IDictionary<object, object> Items { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute] set { } } - bool Microsoft.AspNetCore.Connections.Features.IConnectionInherentKeepAliveFeature.HasInherentKeepAlive { get { throw null; } } - public override System.IO.Pipelines.IDuplexPipe Transport { get { throw null; } set { } } - [System.Diagnostics.DebuggerStepThroughAttribute] - public override System.Threading.Tasks.ValueTask DisposeAsync() { throw null; } - [System.Diagnostics.DebuggerStepThroughAttribute] - public System.Threading.Tasks.Task StartAsync(Microsoft.AspNetCore.Connections.TransferFormat transferFormat, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) { throw null; } - public System.Threading.Tasks.Task StartAsync(System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) { throw null; } - } - public partial class HttpConnectionFactory : Microsoft.AspNetCore.Connections.IConnectionFactory - { - public HttpConnectionFactory(Microsoft.Extensions.Options.IOptions<Microsoft.AspNetCore.Http.Connections.Client.HttpConnectionOptions> options, Microsoft.Extensions.Logging.ILoggerFactory loggerFactory) { } - [System.Diagnostics.DebuggerStepThroughAttribute] - public System.Threading.Tasks.ValueTask<Microsoft.AspNetCore.Connections.ConnectionContext> ConnectAsync(System.Net.EndPoint endPoint, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) { throw null; } - } - public partial class HttpConnectionOptions - { - public HttpConnectionOptions() { } - public System.Func<System.Threading.Tasks.Task<string>> AccessTokenProvider { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute] set { } } - public System.Security.Cryptography.X509Certificates.X509CertificateCollection ClientCertificates { get { throw null; } set { } } - public System.TimeSpan CloseTimeout { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute] set { } } - public System.Net.CookieContainer Cookies { get { throw null; } set { } } - public System.Net.ICredentials Credentials { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute] set { } } - public Microsoft.AspNetCore.Connections.TransferFormat DefaultTransferFormat { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute] set { } } - public System.Collections.Generic.IDictionary<string, string> Headers { get { throw null; } set { } } - public System.Func<System.Net.Http.HttpMessageHandler, System.Net.Http.HttpMessageHandler> HttpMessageHandlerFactory { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute] set { } } - public System.Net.IWebProxy Proxy { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute] set { } } - public bool SkipNegotiation { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute] set { } } - public Microsoft.AspNetCore.Http.Connections.HttpTransportType Transports { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute] set { } } - public System.Uri Url { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute] set { } } - public bool? UseDefaultCredentials { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute] set { } } - public System.Action<System.Net.WebSockets.ClientWebSocketOptions> WebSocketConfiguration { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute] set { } } - } - public partial class NoTransportSupportedException : System.Exception - { - public NoTransportSupportedException(string message) { } - } - public partial class TransportFailedException : System.Exception - { - public TransportFailedException(string transportType, string message, System.Exception innerException = null) { } - public string TransportType { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } } - } -} diff --git a/src/SignalR/clients/csharp/Http.Connections.Client/src/Microsoft.AspNetCore.Http.Connections.Client.csproj b/src/SignalR/clients/csharp/Http.Connections.Client/src/Microsoft.AspNetCore.Http.Connections.Client.csproj index 850f263a7d90..ee2e93c70739 100644 --- a/src/SignalR/clients/csharp/Http.Connections.Client/src/Microsoft.AspNetCore.Http.Connections.Client.csproj +++ b/src/SignalR/clients/csharp/Http.Connections.Client/src/Microsoft.AspNetCore.Http.Connections.Client.csproj @@ -3,7 +3,7 @@ <PropertyGroup> <Description>Client for ASP.NET Core Connection Handlers</Description> <TargetFrameworks>netstandard2.0;netstandard2.1</TargetFrameworks> - <IsShippingPackage>true</IsShippingPackage> + <IsPackable>true</IsPackable> </PropertyGroup> <ItemGroup> diff --git a/src/SignalR/clients/java/signalr/signalr.client.java.Tests.javaproj b/src/SignalR/clients/java/signalr/signalr.client.java.Tests.javaproj index d037c1468fe0..251681f1309b 100644 --- a/src/SignalR/clients/java/signalr/signalr.client.java.Tests.javaproj +++ b/src/SignalR/clients/java/signalr/signalr.client.java.Tests.javaproj @@ -9,8 +9,6 @@ <!-- In servicing builds, this will be set to value if the Java client is not configured to be released in the currently building patch. --> <IsPackable>true</IsPackable> - <IsShippingPackage>true</IsShippingPackage> - <IsTestProject>true</IsTestProject> <!-- Disable gradle daemon on CI since the CI seems to try to wait for the daemon to shut down, which it doesn't do :) --> diff --git a/src/SignalR/clients/ts/FunctionalTests/SignalR.Client.FunctionalTestApp.csproj b/src/SignalR/clients/ts/FunctionalTests/SignalR.Client.FunctionalTestApp.csproj index 91fc9b870d69..db743ebecfd6 100644 --- a/src/SignalR/clients/ts/FunctionalTests/SignalR.Client.FunctionalTestApp.csproj +++ b/src/SignalR/clients/ts/FunctionalTests/SignalR.Client.FunctionalTestApp.csproj @@ -7,6 +7,8 @@ <!-- The naming of this file doesn't match repo conventions. This overrides the conventions. --> <IsTestAssetProject>true</IsTestAssetProject> + <!-- Avoid CS1705 errors due to mix of assemblies brought in transitively. --> + <CompileUsingReferenceAssemblies>false</CompileUsingReferenceAssemblies> </PropertyGroup> <ItemGroup> @@ -35,6 +37,8 @@ <Reference Include="Microsoft.Extensions.Logging.Console" /> <Reference Include="Microsoft.Extensions.Logging.Debug" /> <Reference Include="System.Reactive.Linq" /> + <!-- Avoid CS1705 errors due to mix of assemblies brought in transitively. --> + <Reference Include="Microsoft.AspNetCore.SignalR.Common" /> </ItemGroup> <ItemGroup> diff --git a/src/SignalR/clients/ts/signalr-protocol-msgpack/signalr-protocol-msgpack.npmproj b/src/SignalR/clients/ts/signalr-protocol-msgpack/signalr-protocol-msgpack.npmproj index 1a2b2deac3db..61d5c7477c8f 100644 --- a/src/SignalR/clients/ts/signalr-protocol-msgpack/signalr-protocol-msgpack.npmproj +++ b/src/SignalR/clients/ts/signalr-protocol-msgpack/signalr-protocol-msgpack.npmproj @@ -5,7 +5,7 @@ <PackageId>@microsoft/signalr-protocol-msgpack</PackageId> <IsPackable>true</IsPackable> <IsTestProject>false</IsTestProject> - <IsShippingPackage>true</IsShippingPackage> + <IsPackable>true</IsPackable> <PackOnBuild>true</PackOnBuild> </PropertyGroup> diff --git a/src/SignalR/clients/ts/signalr/signalr.npmproj b/src/SignalR/clients/ts/signalr/signalr.npmproj index dbd62e31c645..2aa54d01fe59 100644 --- a/src/SignalR/clients/ts/signalr/signalr.npmproj +++ b/src/SignalR/clients/ts/signalr/signalr.npmproj @@ -5,7 +5,7 @@ <PackageId>@microsoft/signalr</PackageId> <IsPackable>true</IsPackable> <IsTestProject>false</IsTestProject> - <IsShippingPackage>true</IsShippingPackage> + <IsPackable>true</IsPackable> </PropertyGroup> <ItemGroup> diff --git a/src/SignalR/common/Http.Connections.Common/ref/Microsoft.AspNetCore.Http.Connections.Common.csproj b/src/SignalR/common/Http.Connections.Common/ref/Microsoft.AspNetCore.Http.Connections.Common.csproj index 9955ca720214..83ec067e2074 100644 --- a/src/SignalR/common/Http.Connections.Common/ref/Microsoft.AspNetCore.Http.Connections.Common.csproj +++ b/src/SignalR/common/Http.Connections.Common/ref/Microsoft.AspNetCore.Http.Connections.Common.csproj @@ -2,14 +2,15 @@ <Project Sdk="Microsoft.NET.Sdk"> <PropertyGroup> <TargetFrameworks>netstandard2.0;$(DefaultNetCoreTargetFramework)</TargetFrameworks> + <TargetFrameworks Condition="'$(DotNetBuildFromSource)' == 'true'">$(DefaultNetCoreTargetFramework)</TargetFrameworks> </PropertyGroup> <ItemGroup Condition="'$(TargetFramework)' == 'netstandard2.0'"> <Compile Include="Microsoft.AspNetCore.Http.Connections.Common.netstandard2.0.cs" /> - <Reference Include="Microsoft.AspNetCore.Connections.Abstractions" /> - <Reference Include="System.Text.Json" /> + <Reference Include="Microsoft.AspNetCore.Connections.Abstractions" /> + <Reference Include="System.Text.Json" /> </ItemGroup> <ItemGroup Condition="'$(TargetFramework)' == '$(DefaultNetCoreTargetFramework)'"> <Compile Include="Microsoft.AspNetCore.Http.Connections.Common.netcoreapp.cs" /> - <Reference Include="Microsoft.AspNetCore.Connections.Abstractions" /> + <Reference Include="Microsoft.AspNetCore.Connections.Abstractions" /> </ItemGroup> </Project> diff --git a/src/SignalR/common/Http.Connections.Common/src/Microsoft.AspNetCore.Http.Connections.Common.csproj b/src/SignalR/common/Http.Connections.Common/src/Microsoft.AspNetCore.Http.Connections.Common.csproj index c40fa68e6d52..4277aaef64d0 100644 --- a/src/SignalR/common/Http.Connections.Common/src/Microsoft.AspNetCore.Http.Connections.Common.csproj +++ b/src/SignalR/common/Http.Connections.Common/src/Microsoft.AspNetCore.Http.Connections.Common.csproj @@ -7,7 +7,6 @@ <IsAspNetCoreApp>true</IsAspNetCoreApp> <RootNamespace>Microsoft.AspNetCore.Http.Connections</RootNamespace> <AllowUnsafeBlocks>true</AllowUnsafeBlocks> - <IsShippingPackage>true</IsShippingPackage> </PropertyGroup> <ItemGroup> diff --git a/src/SignalR/common/Http.Connections/ref/Microsoft.AspNetCore.Http.Connections.csproj b/src/SignalR/common/Http.Connections/ref/Microsoft.AspNetCore.Http.Connections.csproj index 8b474e9124bb..e081a5c399a8 100644 --- a/src/SignalR/common/Http.Connections/ref/Microsoft.AspNetCore.Http.Connections.csproj +++ b/src/SignalR/common/Http.Connections/ref/Microsoft.AspNetCore.Http.Connections.csproj @@ -5,13 +5,14 @@ </PropertyGroup> <ItemGroup Condition="'$(TargetFramework)' == '$(DefaultNetCoreTargetFramework)'"> <Compile Include="Microsoft.AspNetCore.Http.Connections.netcoreapp.cs" /> - <Reference Include="Microsoft.AspNetCore.Authorization.Policy" /> - <Reference Include="Microsoft.AspNetCore.Hosting.Abstractions" /> - <Reference Include="Microsoft.AspNetCore.Http.Connections.Common" /> - <Reference Include="Microsoft.AspNetCore.Http" /> - <Reference Include="Microsoft.AspNetCore.Routing" /> - <Reference Include="Microsoft.AspNetCore.WebSockets" /> - <Reference Include="Microsoft.Extensions.ValueStopwatch.Sources" /> - <Reference Include="System.Security.Principal.Windows" /> + <Reference Include="Microsoft.AspNetCore.Authorization.Policy" /> + <Reference Include="Microsoft.AspNetCore.Hosting.Abstractions" /> + <Reference Include="Microsoft.AspNetCore.Http.Connections.Common" /> + <Reference Include="Microsoft.AspNetCore.Http" /> + <Reference Include="Microsoft.AspNetCore.Routing" /> + <Reference Include="Microsoft.AspNetCore.WebSockets" /> + <Reference Include="Microsoft.Extensions.ValueStopwatch.Sources" /> + <Reference Include="System.Security.Principal.Windows" /> + <InternalsVisibleTo Include="Microsoft.AspNetCore.Http.Connections.Tests" Key="" /> </ItemGroup> </Project> diff --git a/src/SignalR/common/Http.Connections/src/Internal/HttpConnectionContext.cs b/src/SignalR/common/Http.Connections/src/Internal/HttpConnectionContext.cs index dac620efa8f5..abf6b695246a 100644 --- a/src/SignalR/common/Http.Connections/src/Internal/HttpConnectionContext.cs +++ b/src/SignalR/common/Http.Connections/src/Internal/HttpConnectionContext.cs @@ -31,6 +31,8 @@ internal class HttpConnectionContext : ConnectionContext, IHttpTransportFeature, IConnectionInherentKeepAliveFeature { + private static long _tenSeconds = TimeSpan.FromSeconds(10).Ticks; + private readonly object _stateLock = new object(); private readonly object _itemsLock = new object(); private readonly object _heartbeatLock = new object(); @@ -40,6 +42,12 @@ internal class HttpConnectionContext : ConnectionContext, private IDuplexPipe _application; private IDictionary<object, object> _items; + private CancellationTokenSource _sendCts; + private bool _activeSend; + private long _startedSendTime; + private readonly object _sendingLock = new object(); + internal CancellationToken SendingToken { get; private set; } + // This tcs exists so that multiple calls to DisposeAsync all wait asynchronously // on the same task private readonly TaskCompletionSource<object> _disposeTcs = new TaskCompletionSource<object>(TaskCreationOptions.RunContinuationsAsynchronously); @@ -258,8 +266,26 @@ private async Task WaitOnTasks(Task applicationTask, Task transportTask, bool cl } else { - // The other transports don't close their own output, so we can do it here safely - Application?.Output.Complete(); + // Normally it isn't safe to try and acquire this lock because the Send can hold onto it for a long time if there is backpressure + // It is safe to wait for this lock now because the Send will be in one of 4 states + // 1. In the middle of a write which is in the middle of being canceled by the CancelPendingFlush above, when it throws + // an OperationCanceledException it will complete the PipeWriter which will make any other Send waiting on the lock + // throw an InvalidOperationException if they call Write + // 2. About to write and see that there is a pending cancel from the CancelPendingFlush, go to 1 to see what happens + // 3. Enters the Send and sees the Dispose state from DisposeAndRemoveAsync and releases the lock + // 4. No Send in progress + await WriteLock.WaitAsync(); + try + { + // Complete the applications read loop + Application?.Output.Complete(); + } + finally + { + WriteLock.Release(); + } + + Application?.Input.CancelPendingRead(); } } @@ -401,7 +427,7 @@ public bool TryActivateLongPollingConnection( nonClonedContext.Response.RegisterForDispose(timeoutSource); nonClonedContext.Response.RegisterForDispose(tokenSource); - var longPolling = new LongPollingServerTransport(timeoutSource.Token, Application.Input, loggerFactory); + var longPolling = new LongPollingServerTransport(timeoutSource.Token, Application.Input, loggerFactory, this); // Start the transport TransportTask = longPolling.ProcessRequestAsync(nonClonedContext, tokenSource.Token); @@ -507,6 +533,40 @@ private async Task ExecuteApplication(ConnectionDelegate connectionDelegate) await connectionDelegate(this); } + internal void StartSendCancellation() + { + lock (_sendingLock) + { + if (_sendCts == null || _sendCts.IsCancellationRequested) + { + _sendCts = new CancellationTokenSource(); + SendingToken = _sendCts.Token; + } + _startedSendTime = DateTime.UtcNow.Ticks; + _activeSend = true; + } + } + internal void TryCancelSend(long currentTicks) + { + lock (_sendingLock) + { + if (_activeSend) + { + if (currentTicks - _startedSendTime > _tenSeconds) + { + _sendCts.Cancel(); + } + } + } + } + internal void StopSendCancellation() + { + lock (_sendingLock) + { + _activeSend = false; + } + } + private static class Log { private static readonly Action<ILogger, string, Exception> _disposingConnection = diff --git a/src/SignalR/common/Http.Connections/src/Internal/HttpConnectionDispatcher.cs b/src/SignalR/common/Http.Connections/src/Internal/HttpConnectionDispatcher.cs index 9da1ea0c185d..c40a80b9ce97 100644 --- a/src/SignalR/common/Http.Connections/src/Internal/HttpConnectionDispatcher.cs +++ b/src/SignalR/common/Http.Connections/src/Internal/HttpConnectionDispatcher.cs @@ -142,7 +142,7 @@ private async Task ExecuteAsync(HttpContext context, ConnectionDelegate connecti connection.SupportedFormats = TransferFormat.Text; // We only need to provide the Input channel since writing to the application is handled through /send. - var sse = new ServerSentEventsServerTransport(connection.Application.Input, connection.ConnectionId, _loggerFactory); + var sse = new ServerSentEventsServerTransport(connection.Application.Input, connection.ConnectionId, connection, _loggerFactory); await DoPersistentConnection(connectionDelegate, sse, context, connection); } @@ -216,7 +216,9 @@ private async Task ExecuteAsync(HttpContext context, ConnectionDelegate connecti connection.Transport.Output.Complete(connection.ApplicationTask.Exception); // Wait for the transport to run - await connection.TransportTask; + // Ignore exceptions, it has been logged if there is one and the application has finished + // So there is no one to give the exception to + await connection.TransportTask.NoThrow(); // If the status code is a 204 it means the connection is done if (context.Response.StatusCode == StatusCodes.Status204NoContent) @@ -234,12 +236,12 @@ private async Task ExecuteAsync(HttpContext context, ConnectionDelegate connecti connection.MarkInactive(); } } - else if (resultTask.IsFaulted) + else if (resultTask.IsFaulted || resultTask.IsCanceled) { // Cancel current request to release any waiting poll and let dispose acquire the lock currentRequestTcs.TrySetCanceled(); - - // transport task was faulted, we should remove the connection + // We should be able to safely dispose because there's no more data being written + // We don't need to wait for close here since we've already waited for both sides await _manager.DisposeAndRemoveAsync(connection, closeGracefully: false); } else @@ -434,6 +436,14 @@ private async Task ProcessSend(HttpContext context, HttpConnectionDispatcherOpti context.Response.StatusCode = StatusCodes.Status404NotFound; context.Response.ContentType = "text/plain"; + + // There are no writes anymore (since this is the write "loop") + // So it is safe to complete the writer + // We complete the writer here because we already have the WriteLock acquired + // and it's unsafe to complete outside of the lock + // Other code isn't guaranteed to be able to acquire the lock before another write + // even if CancelPendingFlush is called, and the other write could hang if there is backpressure + connection.Application.Output.Complete(); return; } catch (IOException ex) @@ -481,11 +491,8 @@ private async Task ProcessDeleteAsync(HttpContext context) Log.TerminatingConection(_logger); - // Complete the receiving end of the pipe - connection.Application.Output.Complete(); - - // Dispose the connection gracefully, but don't wait for it. We assign it here so we can wait in tests - connection.DisposeAndRemoveTask = _manager.DisposeAndRemoveAsync(connection, closeGracefully: true); + // Dispose the connection, but don't wait for it. We assign it here so we can wait in tests + connection.DisposeAndRemoveTask = _manager.DisposeAndRemoveAsync(connection, closeGracefully: false); context.Response.StatusCode = StatusCodes.Status202Accepted; context.Response.ContentType = "text/plain"; diff --git a/src/SignalR/common/Http.Connections/src/Internal/HttpConnectionManager.cs b/src/SignalR/common/Http.Connections/src/Internal/HttpConnectionManager.cs index 4a97681fc0b6..b0f4b079fb34 100644 --- a/src/SignalR/common/Http.Connections/src/Internal/HttpConnectionManager.cs +++ b/src/SignalR/common/Http.Connections/src/Internal/HttpConnectionManager.cs @@ -31,6 +31,7 @@ internal partial class HttpConnectionManager private readonly TimerAwaitable _nextHeartbeat; private readonly ILogger<HttpConnectionManager> _logger; private readonly ILogger<HttpConnectionContext> _connectionLogger; + private readonly bool _useSendTimeout = true; private readonly TimeSpan _disconnectTimeout; public HttpConnectionManager(ILoggerFactory loggerFactory, IHostApplicationLifetime appLifetime) @@ -44,6 +45,11 @@ public HttpConnectionManager(ILoggerFactory loggerFactory, IHostApplicationLifet _connectionLogger = loggerFactory.CreateLogger<HttpConnectionContext>(); _nextHeartbeat = new TimerAwaitable(_heartbeatTickRate, _heartbeatTickRate); _disconnectTimeout = connectionOptions.Value.DisconnectTimeout ?? ConnectionOptionsSetup.DefaultDisconectTimeout; + if (AppContext.TryGetSwitch("Microsoft.AspNetCore.Http.Connections.DoNotUseSendTimeout", out var timeoutDisabled)) + { + _useSendTimeout = !timeoutDisabled; + } + // Register these last as the callbacks could run immediately appLifetime.ApplicationStarted.Register(() => Start()); appLifetime.ApplicationStopping.Register(() => CloseConnections()); @@ -155,20 +161,26 @@ public void Scan() // Capture the connection state var lastSeenUtc = connection.LastSeenUtcIfInactive; + var utcNow = DateTimeOffset.UtcNow; // Once the decision has been made to dispose we don't check the status again // But don't clean up connections while the debugger is attached. - if (!Debugger.IsAttached && lastSeenUtc.HasValue && (DateTimeOffset.UtcNow - lastSeenUtc.Value).TotalSeconds > _disconnectTimeout.TotalSeconds) + if (!Debugger.IsAttached && lastSeenUtc.HasValue && (utcNow - lastSeenUtc.Value).TotalSeconds > _disconnectTimeout.TotalSeconds) { Log.ConnectionTimedOut(_logger, connection.ConnectionId); HttpConnectionsEventSource.Log.ConnectionTimedOut(connection.ConnectionId); // This is most likely a long polling connection. The transport here ends because - // a poll completed and has been inactive for > 5 seconds so we wait for the + // a poll completed and has been inactive for > 5 seconds so we wait for the // application to finish gracefully _ = DisposeAndRemoveAsync(connection, closeGracefully: true); } else { + if (!Debugger.IsAttached && _useSendTimeout) + { + connection.TryCancelSend(utcNow.Ticks); + } + // Tick the heartbeat, if the connection is still active connection.TickHeartbeat(); } diff --git a/src/SignalR/common/Http.Connections/src/Internal/TaskExtensions.cs b/src/SignalR/common/Http.Connections/src/Internal/TaskExtensions.cs new file mode 100644 index 000000000000..efbbb4a2391a --- /dev/null +++ b/src/SignalR/common/Http.Connections/src/Internal/TaskExtensions.cs @@ -0,0 +1,26 @@ +// Copyright (c) .NET Foundation. All rights reserved. +// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. + +using System.Runtime.CompilerServices; + +namespace System.Threading.Tasks +{ + internal static class TaskExtensions + { + public static async Task NoThrow(this Task task) + { + await new NoThrowAwaiter(task); + } + } + internal readonly struct NoThrowAwaiter : ICriticalNotifyCompletion + { + private readonly Task _task; + public NoThrowAwaiter(Task task) { _task = task; } + public NoThrowAwaiter GetAwaiter() => this; + public bool IsCompleted => _task.IsCompleted; + // Observe exception + public void GetResult() { _ = _task.Exception; } + public void OnCompleted(Action continuation) => _task.GetAwaiter().OnCompleted(continuation); + public void UnsafeOnCompleted(Action continuation) => OnCompleted(continuation); + } +} diff --git a/src/SignalR/common/Http.Connections/src/Internal/Transports/LongPollingServerTransport.cs b/src/SignalR/common/Http.Connections/src/Internal/Transports/LongPollingServerTransport.cs index 02ff32ab8fb8..8ecf395276b6 100644 --- a/src/SignalR/common/Http.Connections/src/Internal/Transports/LongPollingServerTransport.cs +++ b/src/SignalR/common/Http.Connections/src/Internal/Transports/LongPollingServerTransport.cs @@ -16,12 +16,19 @@ internal class LongPollingServerTransport : IHttpTransport private readonly PipeReader _application; private readonly ILogger _logger; private readonly CancellationToken _timeoutToken; + private readonly HttpConnectionContext _connection; public LongPollingServerTransport(CancellationToken timeoutToken, PipeReader application, ILoggerFactory loggerFactory) + : this(timeoutToken, application, loggerFactory, connection: null) + { } + + public LongPollingServerTransport(CancellationToken timeoutToken, PipeReader application, ILoggerFactory loggerFactory, HttpConnectionContext connection) { _timeoutToken = timeoutToken; _application = application; + _connection = connection; + // We create the logger with a string to preserve the logging namespace after the server side transport renames. _logger = loggerFactory.CreateLogger("Microsoft.AspNetCore.Http.Connections.Internal.Transports.LongPollingTransport"); } @@ -33,37 +40,40 @@ public async Task ProcessRequestAsync(HttpContext context, CancellationToken tok var result = await _application.ReadAsync(token); var buffer = result.Buffer; - if (buffer.IsEmpty && result.IsCompleted) + try { - Log.LongPolling204(_logger); - context.Response.ContentType = "text/plain"; - context.Response.StatusCode = StatusCodes.Status204NoContent; - return; - } + if (buffer.IsEmpty && (result.IsCompleted || result.IsCanceled)) + { + Log.LongPolling204(_logger); + context.Response.ContentType = "text/plain"; + context.Response.StatusCode = StatusCodes.Status204NoContent; + return; + } - // We're intentionally not checking cancellation here because we need to drain messages we've got so far, - // but it's too late to emit the 204 required by being canceled. + // We're intentionally not checking cancellation here because we need to drain messages we've got so far, + // but it's too late to emit the 204 required by being canceled. - Log.LongPollingWritingMessage(_logger, buffer.Length); + Log.LongPollingWritingMessage(_logger, buffer.Length); - context.Response.ContentLength = buffer.Length; - context.Response.ContentType = "application/octet-stream"; + context.Response.ContentLength = buffer.Length; + context.Response.ContentType = "application/octet-stream"; - try - { - await context.Response.Body.WriteAsync(buffer); + _connection?.StartSendCancellation(); + await context.Response.Body.WriteAsync(buffer, _connection?.SendingToken ?? default); } finally { + _connection?.StopSendCancellation(); _application.AdvanceTo(buffer.End); } } catch (OperationCanceledException) { - // 3 cases: + // 4 cases: // 1 - Request aborted, the client disconnected (no response) // 2 - The poll timeout is hit (200) - // 3 - A new request comes in and cancels this request (204) + // 3 - SendingToken was canceled, abort the connection + // 4 - A new request comes in and cancels this request (204) // Case 1 if (context.RequestAborted.IsCancellationRequested) @@ -81,9 +91,16 @@ public async Task ProcessRequestAsync(HttpContext context, CancellationToken tok context.Response.ContentType = "text/plain"; context.Response.StatusCode = StatusCodes.Status200OK; } - else + else if (_connection?.SendingToken.IsCancellationRequested == true) { // Case 3 + context.Response.ContentType = "text/plain"; + context.Response.StatusCode = StatusCodes.Status204NoContent; + throw; + } + else + { + // Case 4 Log.LongPolling204(_logger); context.Response.ContentType = "text/plain"; context.Response.StatusCode = StatusCodes.Status204NoContent; diff --git a/src/SignalR/common/Http.Connections/src/Internal/Transports/ServerSentEventsServerTransport.cs b/src/SignalR/common/Http.Connections/src/Internal/Transports/ServerSentEventsServerTransport.cs index 54f2ed8f38bb..3d5e1f6f4bd5 100644 --- a/src/SignalR/common/Http.Connections/src/Internal/Transports/ServerSentEventsServerTransport.cs +++ b/src/SignalR/common/Http.Connections/src/Internal/Transports/ServerSentEventsServerTransport.cs @@ -16,11 +16,17 @@ internal class ServerSentEventsServerTransport : IHttpTransport private readonly PipeReader _application; private readonly string _connectionId; private readonly ILogger _logger; + private readonly HttpConnectionContext _connection; public ServerSentEventsServerTransport(PipeReader application, string connectionId, ILoggerFactory loggerFactory) + : this(application, connectionId, connection: null, loggerFactory) + { } + + public ServerSentEventsServerTransport(PipeReader application, string connectionId, HttpConnectionContext connection, ILoggerFactory loggerFactory) { _application = application; _connectionId = connectionId; + _connection = connection; // We create the logger with a string to preserve the logging namespace after the server side transport renames. _logger = loggerFactory.CreateLogger("Microsoft.AspNetCore.Http.Connections.Internal.Transports.ServerSentEventsTransport"); @@ -51,11 +57,17 @@ public async Task ProcessRequestAsync(HttpContext context, CancellationToken tok try { + if (result.IsCanceled) + { + break; + } + if (!buffer.IsEmpty) { Log.SSEWritingMessage(_logger, buffer.Length); - await ServerSentEventsMessageFormatter.WriteMessageAsync(buffer, context.Response.Body); + _connection?.StartSendCancellation(); + await ServerSentEventsMessageFormatter.WriteMessageAsync(buffer, context.Response.Body, _connection?.SendingToken ?? default); } else if (result.IsCompleted) { @@ -64,6 +76,7 @@ public async Task ProcessRequestAsync(HttpContext context, CancellationToken tok } finally { + _connection?.StopSendCancellation(); _application.AdvanceTo(buffer.End); } } diff --git a/src/SignalR/common/Http.Connections/src/Internal/Transports/WebSocketsServerTransport.cs b/src/SignalR/common/Http.Connections/src/Internal/Transports/WebSocketsServerTransport.cs index d5c2c1fefb2e..a95041c48a81 100644 --- a/src/SignalR/common/Http.Connections/src/Internal/Transports/WebSocketsServerTransport.cs +++ b/src/SignalR/common/Http.Connections/src/Internal/Transports/WebSocketsServerTransport.cs @@ -231,7 +231,8 @@ private async Task StartSending(WebSocket socket) if (WebSocketCanSend(socket)) { - await socket.SendAsync(buffer, webSocketMessageType); + _connection.StartSendCancellation(); + await socket.SendAsync(buffer, webSocketMessageType, _connection.SendingToken); } else { @@ -254,6 +255,7 @@ private async Task StartSending(WebSocket socket) } finally { + _connection.StopSendCancellation(); _application.Input.AdvanceTo(buffer.End); } } diff --git a/src/SignalR/common/Http.Connections/src/Microsoft.AspNetCore.Http.Connections.csproj b/src/SignalR/common/Http.Connections/src/Microsoft.AspNetCore.Http.Connections.csproj index d19e84efe503..1e8738d9a960 100644 --- a/src/SignalR/common/Http.Connections/src/Microsoft.AspNetCore.Http.Connections.csproj +++ b/src/SignalR/common/Http.Connections/src/Microsoft.AspNetCore.Http.Connections.csproj @@ -4,7 +4,7 @@ <Description>Components for providing real-time bi-directional communication across the Web.</Description> <TargetFramework>$(DefaultNetCoreTargetFramework)</TargetFramework> <IsAspNetCoreApp>true</IsAspNetCoreApp> - <IsShippingPackage>false</IsShippingPackage> + <IsPackable>false</IsPackable> </PropertyGroup> <ItemGroup> diff --git a/src/SignalR/common/Http.Connections/src/ServerSentEventsMessageFormatter.cs b/src/SignalR/common/Http.Connections/src/ServerSentEventsMessageFormatter.cs index efd2e24f0f90..6e723c51681b 100644 --- a/src/SignalR/common/Http.Connections/src/ServerSentEventsMessageFormatter.cs +++ b/src/SignalR/common/Http.Connections/src/ServerSentEventsMessageFormatter.cs @@ -4,6 +4,7 @@ using System; using System.Buffers; using System.IO; +using System.Threading; using System.Threading.Tasks; namespace Microsoft.AspNetCore.Http.Connections @@ -15,19 +16,19 @@ internal static class ServerSentEventsMessageFormatter private const byte LineFeed = (byte)'\n'; - public static async Task WriteMessageAsync(ReadOnlySequence<byte> payload, Stream output) + public static async Task WriteMessageAsync(ReadOnlySequence<byte> payload, Stream output, CancellationToken token) { // Payload does not contain a line feed so write it directly to output if (payload.PositionOf(LineFeed) == null) { if (payload.Length > 0) { - await output.WriteAsync(DataPrefix, 0, DataPrefix.Length); - await output.WriteAsync(payload); - await output.WriteAsync(Newline, 0, Newline.Length); + await output.WriteAsync(DataPrefix, 0, DataPrefix.Length, token); + await output.WriteAsync(payload, token); + await output.WriteAsync(Newline, 0, Newline.Length, token); } - await output.WriteAsync(Newline, 0, Newline.Length); + await output.WriteAsync(Newline, 0, Newline.Length, token); return; } @@ -37,7 +38,7 @@ public static async Task WriteMessageAsync(ReadOnlySequence<byte> payload, Strea await WriteMessageToMemory(ms, payload); ms.Position = 0; - await ms.CopyToAsync(output); + await ms.CopyToAsync(output, token); } /// <summary> diff --git a/src/SignalR/common/Http.Connections/test/HttpConnectionDispatcherTests.cs b/src/SignalR/common/Http.Connections/test/HttpConnectionDispatcherTests.cs index 08eba5e045b9..2a083c598264 100644 --- a/src/SignalR/common/Http.Connections/test/HttpConnectionDispatcherTests.cs +++ b/src/SignalR/common/Http.Connections/test/HttpConnectionDispatcherTests.cs @@ -1050,6 +1050,176 @@ public async Task LongPollingTimeoutSets200StatusCode() } } + private class BlockingStream : Stream + { + private readonly SyncPoint _sync; + private bool _isSSE; + public BlockingStream(SyncPoint sync, bool isSSE = false) + { + _sync = sync; + _isSSE = isSSE; + } + public override bool CanRead => throw new NotImplementedException(); + public override bool CanSeek => throw new NotImplementedException(); + public override bool CanWrite => throw new NotImplementedException(); + public override long Length => throw new NotImplementedException(); + public override long Position { get => throw new NotImplementedException(); set => throw new NotImplementedException(); } + public override Task CopyToAsync(Stream destination, int bufferSize, CancellationToken cancellationToken) + { + throw new NotImplementedException(); + } + public override void Flush() + { + } + public override int Read(byte[] buffer, int offset, int count) + { + throw new NotImplementedException(); + } + public override long Seek(long offset, SeekOrigin origin) + { + throw new NotImplementedException(); + } + public override void SetLength(long value) + { + throw new NotImplementedException(); + } + public override void Write(byte[] buffer, int offset, int count) + { + throw new NotImplementedException(); + } + public override async Task WriteAsync(byte[] buffer, int offset, int count, CancellationToken cancellationToken) + { + if (_isSSE) + { + // SSE does an initial write of :\r\n that we want to ignore in testing + _isSSE = false; + return; + } + await _sync.WaitToContinue(); + cancellationToken.ThrowIfCancellationRequested(); + } + public override async ValueTask WriteAsync(ReadOnlyMemory<byte> buffer, CancellationToken cancellationToken = default) + { + if (_isSSE) + { + // SSE does an initial write of :\r\n that we want to ignore in testing + _isSSE = false; + return; + } + await _sync.WaitToContinue(); + cancellationToken.ThrowIfCancellationRequested(); + } + } + + [Fact] + [LogLevel(LogLevel.Debug)] + public async Task LongPollingConnectionClosesWhenSendTimeoutReached() + { + bool ExpectedErrors(WriteContext writeContext) + { + return (writeContext.LoggerName == typeof(Internal.Transports.LongPollingServerTransport).FullName && + writeContext.EventId.Name == "LongPollingTerminated") || + (writeContext.LoggerName == typeof(HttpConnectionManager).FullName && writeContext.EventId.Name == "FailedDispose"); + } + + using (StartVerifiableLog(expectedErrorsFilter: ExpectedErrors)) + { + var manager = CreateConnectionManager(LoggerFactory); + var connection = manager.CreateConnection(); + connection.TransportType = HttpTransportType.LongPolling; + var dispatcher = new HttpConnectionDispatcher(manager, LoggerFactory); + var context = MakeRequest("/foo", connection); + var services = new ServiceCollection(); + services.AddSingleton<TestConnectionHandler>(); + var builder = new ConnectionBuilder(services.BuildServiceProvider()); + builder.UseConnectionHandler<TestConnectionHandler>(); + var app = builder.Build(); + var options = new HttpConnectionDispatcherOptions(); + // First poll completes immediately + await dispatcher.ExecuteAsync(context, options, app).OrTimeout(); + var sync = new SyncPoint(); + context.Response.Body = new BlockingStream(sync); + var dispatcherTask = dispatcher.ExecuteAsync(context, options, app); + await connection.Transport.Output.WriteAsync(new byte[] { 1 }).OrTimeout(); + await sync.WaitForSyncPoint().OrTimeout(); + // Cancel write to response body + connection.TryCancelSend(long.MaxValue); + sync.Continue(); + await dispatcherTask.OrTimeout(); + // Connection should be removed on canceled write + Assert.False(manager.TryGetConnection(connection.ConnectionId, out var _)); + } + } + + [Fact] + [LogLevel(LogLevel.Debug)] + public async Task SSEConnectionClosesWhenSendTimeoutReached() + { + using (StartVerifiableLog()) + { + var manager = CreateConnectionManager(LoggerFactory); + var connection = manager.CreateConnection(); + connection.TransportType = HttpTransportType.ServerSentEvents; + var dispatcher = new HttpConnectionDispatcher(manager, LoggerFactory); + var context = MakeRequest("/foo", connection); + SetTransport(context, connection.TransportType); + var services = new ServiceCollection(); + services.AddSingleton<TestConnectionHandler>(); + var builder = new ConnectionBuilder(services.BuildServiceProvider()); + builder.UseConnectionHandler<TestConnectionHandler>(); + var app = builder.Build(); + var sync = new SyncPoint(); + context.Response.Body = new BlockingStream(sync, isSSE: true); + var options = new HttpConnectionDispatcherOptions(); + var dispatcherTask = dispatcher.ExecuteAsync(context, options, app); + await connection.Transport.Output.WriteAsync(new byte[] { 1 }).OrTimeout(); + await sync.WaitForSyncPoint().OrTimeout(); + // Cancel write to response body + connection.TryCancelSend(long.MaxValue); + sync.Continue(); + await dispatcherTask.OrTimeout(); + // Connection should be removed on canceled write + Assert.False(manager.TryGetConnection(connection.ConnectionId, out var _)); + } + } + + [Fact] + [LogLevel(LogLevel.Debug)] + public async Task WebSocketConnectionClosesWhenSendTimeoutReached() + { + bool ExpectedErrors(WriteContext writeContext) + { + return writeContext.LoggerName == typeof(Internal.Transports.WebSocketsServerTransport).FullName && + writeContext.EventId.Name == "ErrorWritingFrame"; + } + using (StartVerifiableLog(expectedErrorsFilter: ExpectedErrors)) + { + var manager = CreateConnectionManager(LoggerFactory); + var connection = manager.CreateConnection(); + connection.TransportType = HttpTransportType.WebSockets; + var dispatcher = new HttpConnectionDispatcher(manager, LoggerFactory); + var sync = new SyncPoint(); + var context = MakeRequest("/foo", connection); + SetTransport(context, connection.TransportType, sync); + var services = new ServiceCollection(); + services.AddSingleton<TestConnectionHandler>(); + var builder = new ConnectionBuilder(services.BuildServiceProvider()); + builder.UseConnectionHandler<TestConnectionHandler>(); + var app = builder.Build(); + var options = new HttpConnectionDispatcherOptions(); + options.WebSockets.CloseTimeout = TimeSpan.FromSeconds(0); + var dispatcherTask = dispatcher.ExecuteAsync(context, options, app); + await connection.Transport.Output.WriteAsync(new byte[] { 1 }).OrTimeout(); + await sync.WaitForSyncPoint().OrTimeout(); + // Cancel write to response body + connection.TryCancelSend(long.MaxValue); + sync.Continue(); + await dispatcherTask.OrTimeout(); + // Connection should be removed on canceled write + Assert.False(manager.TryGetConnection(connection.ConnectionId, out var _)); + } + } + [Fact] [LogLevel(LogLevel.Trace)] public async Task WebSocketTransportTimesOutWhenCloseFrameNotReceived() @@ -1635,6 +1805,8 @@ public async Task DeleteEndpointGracefullyTerminatesLongPolling() Assert.Equal(StatusCodes.Status202Accepted, deleteContext.Response.StatusCode); Assert.Equal("text/plain", deleteContext.Response.ContentType); + await connection.DisposeAndRemoveTask.OrTimeout(); + // Verify the connection was removed from the manager Assert.False(manager.TryGetConnection(connection.ConnectionToken, out _)); } @@ -1688,6 +1860,110 @@ public async Task DeleteEndpointGracefullyTerminatesLongPollingEvenWhenBetweenPo } } + [Fact] + public async Task DeleteEndpointTerminatesLongPollingWithHangingApplication() + { + using (StartVerifiableLog()) + { + var manager = CreateConnectionManager(LoggerFactory); + var pipeOptions = new PipeOptions(pauseWriterThreshold: 2, resumeWriterThreshold: 1); + var connection = manager.CreateConnection(pipeOptions, pipeOptions); + connection.TransportType = HttpTransportType.LongPolling; + + var dispatcher = new HttpConnectionDispatcher(manager, LoggerFactory); + + var context = MakeRequest("/foo", connection); + + var services = new ServiceCollection(); + services.AddSingleton<NeverEndingConnectionHandler>(); + var builder = new ConnectionBuilder(services.BuildServiceProvider()); + builder.UseConnectionHandler<NeverEndingConnectionHandler>(); + var app = builder.Build(); + var options = new HttpConnectionDispatcherOptions(); + + var pollTask = dispatcher.ExecuteAsync(context, options, app); + Assert.True(pollTask.IsCompleted); + + // Now send the second poll + pollTask = dispatcher.ExecuteAsync(context, options, app); + + // Issue the delete request and make sure the poll completes + var deleteContext = new DefaultHttpContext(); + deleteContext.Request.Path = "/foo"; + deleteContext.Request.QueryString = new QueryString($"?id={connection.ConnectionId}"); + deleteContext.Request.Method = "DELETE"; + + Assert.False(pollTask.IsCompleted); + + await dispatcher.ExecuteAsync(deleteContext, options, app).OrTimeout(); + + await pollTask.OrTimeout(); + + // Verify that transport shuts down + await connection.TransportTask.OrTimeout(); + + // Verify the response from the DELETE request + Assert.Equal(StatusCodes.Status202Accepted, deleteContext.Response.StatusCode); + Assert.Equal("text/plain", deleteContext.Response.ContentType); + Assert.Equal(HttpConnectionStatus.Disposed, connection.Status); + + // Verify the connection not removed because application is hanging + Assert.True(manager.TryGetConnection(connection.ConnectionId, out _)); + } + } + + [Fact] + public async Task PollCanReceiveFinalMessageAfterAppCompletes() + { + using (StartVerifiableLog()) + { + var transportType = HttpTransportType.LongPolling; + var manager = CreateConnectionManager(LoggerFactory); + var dispatcher = new HttpConnectionDispatcher(manager, LoggerFactory); + var connection = manager.CreateConnection(); + connection.TransportType = transportType; + + var waitForMessageTcs1 = new TaskCompletionSource<object>(); + var messageTcs1 = new TaskCompletionSource<object>(); + var waitForMessageTcs2 = new TaskCompletionSource<object>(); + var messageTcs2 = new TaskCompletionSource<object>(); + ConnectionDelegate connectionDelegate = async c => + { + await waitForMessageTcs1.Task.OrTimeout(); + await c.Transport.Output.WriteAsync(Encoding.UTF8.GetBytes("Message1")).OrTimeout(); + messageTcs1.TrySetResult(null); + await waitForMessageTcs2.Task.OrTimeout(); + await c.Transport.Output.WriteAsync(Encoding.UTF8.GetBytes("Message2")).OrTimeout(); + messageTcs2.TrySetResult(null); + }; + { + var options = new HttpConnectionDispatcherOptions(); + var context = MakeRequest("/foo", connection); + await dispatcher.ExecuteAsync(context, options, connectionDelegate).OrTimeout(); + + // second poll should have data + waitForMessageTcs1.SetResult(null); + await messageTcs1.Task.OrTimeout(); + + var ms = new MemoryStream(); + context.Response.Body = ms; + // Now send the second poll + await dispatcher.ExecuteAsync(context, options, connectionDelegate).OrTimeout(); + Assert.Equal("Message1", Encoding.UTF8.GetString(ms.ToArray())); + + waitForMessageTcs2.SetResult(null); + await messageTcs2.Task.OrTimeout(); + + context = MakeRequest("/foo", connection); + ms.Seek(0, SeekOrigin.Begin); + context.Response.Body = ms; + // This is the third poll which gets the final message after the app is complete + await dispatcher.ExecuteAsync(context, options, connectionDelegate).OrTimeout(); + Assert.Equal("Message2", Encoding.UTF8.GetString(ms.ToArray())); + } + } + } + [Fact] public async Task NegotiateDoesNotReturnWebSocketsWhenNotAvailable() { @@ -2000,12 +2276,12 @@ private static DefaultHttpContext MakeRequest(string path, HttpConnectionContext return context; } - private static void SetTransport(HttpContext context, HttpTransportType transportType) + private static void SetTransport(HttpContext context, HttpTransportType transportType, SyncPoint sync = null) { switch (transportType) { case HttpTransportType.WebSockets: - context.Features.Set<IHttpWebSocketFeature>(new TestWebSocketConnectionFeature()); + context.Features.Set<IHttpWebSocketFeature>(new TestWebSocketConnectionFeature(sync)); break; case HttpTransportType.ServerSentEvents: context.Request.Headers["Accept"] = "text/event-stream"; diff --git a/src/SignalR/common/Http.Connections/test/HttpConnectionManagerTests.cs b/src/SignalR/common/Http.Connections/test/HttpConnectionManagerTests.cs index ade605b08a33..05a29f0e73d1 100644 --- a/src/SignalR/common/Http.Connections/test/HttpConnectionManagerTests.cs +++ b/src/SignalR/common/Http.Connections/test/HttpConnectionManagerTests.cs @@ -235,9 +235,6 @@ public async Task CloseConnectionsEndsAllPendingConnections() try { Assert.True(result.IsCompleted); - - // We should be able to write - await connection.Transport.Output.WriteAsync(new byte[] { 1 }); } finally { @@ -248,13 +245,9 @@ public async Task CloseConnectionsEndsAllPendingConnections() connection.TransportTask = Task.Run(async () => { var result = await connection.Application.Input.ReadAsync(); - Assert.Equal(new byte[] { 1 }, result.Buffer.ToArray()); - connection.Application.Input.AdvanceTo(result.Buffer.End); - - result = await connection.Application.Input.ReadAsync(); try { - Assert.True(result.IsCompleted); + Assert.True(result.IsCanceled); } finally { diff --git a/src/SignalR/common/Http.Connections/test/Microsoft.AspNetCore.Http.Connections.Tests.csproj b/src/SignalR/common/Http.Connections/test/Microsoft.AspNetCore.Http.Connections.Tests.csproj index 3bff69e90211..47191a34e230 100644 --- a/src/SignalR/common/Http.Connections/test/Microsoft.AspNetCore.Http.Connections.Tests.csproj +++ b/src/SignalR/common/Http.Connections/test/Microsoft.AspNetCore.Http.Connections.Tests.csproj @@ -2,6 +2,8 @@ <PropertyGroup> <TargetFramework>$(DefaultNetCoreTargetFramework)</TargetFramework> + <!-- Avoid CS1705 errors due to mix of assemblies brought in transitively. --> + <CompileUsingReferenceAssemblies>false</CompileUsingReferenceAssemblies> </PropertyGroup> <ItemGroup> diff --git a/src/SignalR/common/Http.Connections/test/ServerSentEventsMessageFormatterTests.cs b/src/SignalR/common/Http.Connections/test/ServerSentEventsMessageFormatterTests.cs index 2a58e8d4dd88..16407520561f 100644 --- a/src/SignalR/common/Http.Connections/test/ServerSentEventsMessageFormatterTests.cs +++ b/src/SignalR/common/Http.Connections/test/ServerSentEventsMessageFormatterTests.cs @@ -20,7 +20,7 @@ public async Task WriteTextMessageFromSingleSegment(string encoded, string paylo var buffer = new ReadOnlySequence<byte>(Encoding.UTF8.GetBytes(payload)); var output = new MemoryStream(); - await ServerSentEventsMessageFormatter.WriteMessageAsync(buffer, output); + await ServerSentEventsMessageFormatter.WriteMessageAsync(buffer, output, default); Assert.Equal(encoded, Encoding.UTF8.GetString(output.ToArray())); } @@ -32,7 +32,7 @@ public async Task WriteTextMessageFromMultipleSegments(string encoded, string pa var buffer = ReadOnlySequenceFactory.SegmentPerByteFactory.CreateWithContent(Encoding.UTF8.GetBytes(payload)); var output = new MemoryStream(); - await ServerSentEventsMessageFormatter.WriteMessageAsync(buffer, output); + await ServerSentEventsMessageFormatter.WriteMessageAsync(buffer, output, default); Assert.Equal(encoded, Encoding.UTF8.GetString(output.ToArray())); } diff --git a/src/SignalR/common/Http.Connections/test/TestWebSocketConnectionFeature.cs b/src/SignalR/common/Http.Connections/test/TestWebSocketConnectionFeature.cs index f67dd940031e..9bbb6894dbe4 100644 --- a/src/SignalR/common/Http.Connections/test/TestWebSocketConnectionFeature.cs +++ b/src/SignalR/common/Http.Connections/test/TestWebSocketConnectionFeature.cs @@ -5,11 +5,21 @@ using System.Threading.Channels; using System.Threading.Tasks; using Microsoft.AspNetCore.Http.Features; +using Microsoft.AspNetCore.Internal; +using Microsoft.AspNetCore.SignalR.Tests; namespace Microsoft.AspNetCore.Http.Connections.Tests { internal class TestWebSocketConnectionFeature : IHttpWebSocketFeature, IDisposable { + public TestWebSocketConnectionFeature() + { } + public TestWebSocketConnectionFeature(SyncPoint sync) + { + _sync = sync; + } + + private readonly SyncPoint _sync; private readonly TaskCompletionSource<object> _accepted = new TaskCompletionSource<object>(); public bool IsWebSocketRequest => true; @@ -27,8 +37,8 @@ public Task<WebSocket> AcceptAsync(WebSocketAcceptContext context) var clientToServer = Channel.CreateUnbounded<WebSocketMessage>(); var serverToClient = Channel.CreateUnbounded<WebSocketMessage>(); - var clientSocket = new WebSocketChannel(serverToClient.Reader, clientToServer.Writer); - var serverSocket = new WebSocketChannel(clientToServer.Reader, serverToClient.Writer); + var clientSocket = new WebSocketChannel(serverToClient.Reader, clientToServer.Writer, _sync); + var serverSocket = new WebSocketChannel(clientToServer.Reader, serverToClient.Writer, _sync); Client = clientSocket; SubProtocol = context.SubProtocol; @@ -45,16 +55,18 @@ public class WebSocketChannel : WebSocket { private readonly ChannelReader<WebSocketMessage> _input; private readonly ChannelWriter<WebSocketMessage> _output; + private readonly SyncPoint _sync; private WebSocketCloseStatus? _closeStatus; private string _closeStatusDescription; private WebSocketState _state; private WebSocketMessage _internalBuffer = new WebSocketMessage(); - public WebSocketChannel(ChannelReader<WebSocketMessage> input, ChannelWriter<WebSocketMessage> output) + public WebSocketChannel(ChannelReader<WebSocketMessage> input, ChannelWriter<WebSocketMessage> output, SyncPoint sync = null) { _input = input; _output = output; + _sync = sync; } public override WebSocketCloseStatus? CloseStatus => _closeStatus; @@ -173,11 +185,17 @@ public override async Task<WebSocketReceiveResult> ReceiveAsync(ArraySegment<byt throw new InvalidOperationException("Unexpected close"); } - public override Task SendAsync(ArraySegment<byte> buffer, WebSocketMessageType messageType, bool endOfMessage, CancellationToken cancellationToken) + public override async Task SendAsync(ArraySegment<byte> buffer, WebSocketMessageType messageType, bool endOfMessage, CancellationToken cancellationToken) { + if (_sync != null) + { + await _sync.WaitToContinue(); + } + cancellationToken.ThrowIfCancellationRequested(); + var copy = new byte[buffer.Count]; Buffer.BlockCopy(buffer.Array, buffer.Offset, copy, 0, buffer.Count); - return SendMessageAsync(new WebSocketMessage + await SendMessageAsync(new WebSocketMessage { Buffer = copy, MessageType = messageType, diff --git a/src/SignalR/common/Protocols.Json/ref/Microsoft.AspNetCore.SignalR.Protocols.Json.csproj b/src/SignalR/common/Protocols.Json/ref/Microsoft.AspNetCore.SignalR.Protocols.Json.csproj index 94da81a8e3fd..e437919dfb21 100644 --- a/src/SignalR/common/Protocols.Json/ref/Microsoft.AspNetCore.SignalR.Protocols.Json.csproj +++ b/src/SignalR/common/Protocols.Json/ref/Microsoft.AspNetCore.SignalR.Protocols.Json.csproj @@ -2,13 +2,14 @@ <Project Sdk="Microsoft.NET.Sdk"> <PropertyGroup> <TargetFrameworks>netstandard2.0;$(DefaultNetCoreTargetFramework)</TargetFrameworks> + <TargetFrameworks Condition="'$(DotNetBuildFromSource)' == 'true'">$(DefaultNetCoreTargetFramework)</TargetFrameworks> </PropertyGroup> <ItemGroup Condition="'$(TargetFramework)' == 'netstandard2.0'"> <Compile Include="Microsoft.AspNetCore.SignalR.Protocols.Json.netstandard2.0.cs" /> - <Reference Include="Microsoft.AspNetCore.SignalR.Common" /> + <Reference Include="Microsoft.AspNetCore.SignalR.Common" /> </ItemGroup> <ItemGroup Condition="'$(TargetFramework)' == '$(DefaultNetCoreTargetFramework)'"> <Compile Include="Microsoft.AspNetCore.SignalR.Protocols.Json.netcoreapp.cs" /> - <Reference Include="Microsoft.AspNetCore.SignalR.Common" /> + <Reference Include="Microsoft.AspNetCore.SignalR.Common" /> </ItemGroup> </Project> diff --git a/src/SignalR/common/Protocols.Json/src/Microsoft.AspNetCore.SignalR.Protocols.Json.csproj b/src/SignalR/common/Protocols.Json/src/Microsoft.AspNetCore.SignalR.Protocols.Json.csproj index 2dd22c44a502..98865bf6c9fc 100644 --- a/src/SignalR/common/Protocols.Json/src/Microsoft.AspNetCore.SignalR.Protocols.Json.csproj +++ b/src/SignalR/common/Protocols.Json/src/Microsoft.AspNetCore.SignalR.Protocols.Json.csproj @@ -7,7 +7,6 @@ <IsAspNetCoreApp>true</IsAspNetCoreApp> <RootNamespace>Microsoft.AspNetCore.SignalR</RootNamespace> <AllowUnsafeBlocks>true</AllowUnsafeBlocks> - <IsShippingPackage>true</IsShippingPackage> </PropertyGroup> <ItemGroup> diff --git a/src/SignalR/common/Protocols.MessagePack/ref/Microsoft.AspNetCore.SignalR.Protocols.MessagePack.csproj b/src/SignalR/common/Protocols.MessagePack/ref/Microsoft.AspNetCore.SignalR.Protocols.MessagePack.csproj deleted file mode 100644 index 99f48f00d8ab..000000000000 --- a/src/SignalR/common/Protocols.MessagePack/ref/Microsoft.AspNetCore.SignalR.Protocols.MessagePack.csproj +++ /dev/null @@ -1,11 +0,0 @@ -<!-- This file is automatically generated. --> -<Project Sdk="Microsoft.NET.Sdk"> - <PropertyGroup> - <TargetFrameworks>netstandard2.0</TargetFrameworks> - </PropertyGroup> - <ItemGroup Condition="'$(TargetFramework)' == 'netstandard2.0'"> - <Compile Include="Microsoft.AspNetCore.SignalR.Protocols.MessagePack.netstandard2.0.cs" /> - <Reference Include="Microsoft.AspNetCore.SignalR.Common" /> - <Reference Include="MessagePack" /> - </ItemGroup> -</Project> diff --git a/src/SignalR/common/Protocols.MessagePack/ref/Microsoft.AspNetCore.SignalR.Protocols.MessagePack.netstandard2.0.cs b/src/SignalR/common/Protocols.MessagePack/ref/Microsoft.AspNetCore.SignalR.Protocols.MessagePack.netstandard2.0.cs deleted file mode 100644 index 70f7ce9d02ed..000000000000 --- a/src/SignalR/common/Protocols.MessagePack/ref/Microsoft.AspNetCore.SignalR.Protocols.MessagePack.netstandard2.0.cs +++ /dev/null @@ -1,34 +0,0 @@ -// Copyright (c) .NET Foundation. All rights reserved. -// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. - -namespace Microsoft.AspNetCore.SignalR -{ - public partial class MessagePackHubProtocolOptions - { - public MessagePackHubProtocolOptions() { } - public System.Collections.Generic.IList<MessagePack.IFormatterResolver> FormatterResolvers { get { throw null; } set { } } - } -} -namespace Microsoft.AspNetCore.SignalR.Protocol -{ - public partial class MessagePackHubProtocol : Microsoft.AspNetCore.SignalR.Protocol.IHubProtocol - { - public MessagePackHubProtocol() { } - public MessagePackHubProtocol(Microsoft.Extensions.Options.IOptions<Microsoft.AspNetCore.SignalR.MessagePackHubProtocolOptions> options) { } - public string Name { get { throw null; } } - public Microsoft.AspNetCore.Connections.TransferFormat TransferFormat { get { throw null; } } - public int Version { get { throw null; } } - public System.ReadOnlyMemory<byte> GetMessageBytes(Microsoft.AspNetCore.SignalR.Protocol.HubMessage message) { throw null; } - public bool IsVersionSupported(int version) { throw null; } - public bool TryParseMessage(ref System.Buffers.ReadOnlySequence<byte> input, Microsoft.AspNetCore.SignalR.IInvocationBinder binder, out Microsoft.AspNetCore.SignalR.Protocol.HubMessage message) { throw null; } - public void WriteMessage(Microsoft.AspNetCore.SignalR.Protocol.HubMessage message, System.Buffers.IBufferWriter<byte> output) { } - } -} -namespace Microsoft.Extensions.DependencyInjection -{ - public static partial class MessagePackProtocolDependencyInjectionExtensions - { - public static TBuilder AddMessagePackProtocol<TBuilder>(this TBuilder builder) where TBuilder : Microsoft.AspNetCore.SignalR.ISignalRBuilder { throw null; } - public static TBuilder AddMessagePackProtocol<TBuilder>(this TBuilder builder, System.Action<Microsoft.AspNetCore.SignalR.MessagePackHubProtocolOptions> configure) where TBuilder : Microsoft.AspNetCore.SignalR.ISignalRBuilder { throw null; } - } -} diff --git a/src/SignalR/common/Protocols.MessagePack/src/Microsoft.AspNetCore.SignalR.Protocols.MessagePack.csproj b/src/SignalR/common/Protocols.MessagePack/src/Microsoft.AspNetCore.SignalR.Protocols.MessagePack.csproj index b76c522f1ca9..993bb94a5f30 100644 --- a/src/SignalR/common/Protocols.MessagePack/src/Microsoft.AspNetCore.SignalR.Protocols.MessagePack.csproj +++ b/src/SignalR/common/Protocols.MessagePack/src/Microsoft.AspNetCore.SignalR.Protocols.MessagePack.csproj @@ -5,7 +5,7 @@ <TargetFramework>netstandard2.0</TargetFramework> <RootNamespace>Microsoft.AspNetCore.SignalR</RootNamespace> <AllowUnsafeBlocks>true</AllowUnsafeBlocks> - <IsShippingPackage>true</IsShippingPackage> + <IsPackable>true</IsPackable> </PropertyGroup> <ItemGroup> diff --git a/src/SignalR/common/Protocols.NewtonsoftJson/ref/Microsoft.AspNetCore.SignalR.Protocols.NewtonsoftJson.csproj b/src/SignalR/common/Protocols.NewtonsoftJson/ref/Microsoft.AspNetCore.SignalR.Protocols.NewtonsoftJson.csproj deleted file mode 100644 index cd39d0046a8b..000000000000 --- a/src/SignalR/common/Protocols.NewtonsoftJson/ref/Microsoft.AspNetCore.SignalR.Protocols.NewtonsoftJson.csproj +++ /dev/null @@ -1,11 +0,0 @@ -<!-- This file is automatically generated. --> -<Project Sdk="Microsoft.NET.Sdk"> - <PropertyGroup> - <TargetFrameworks>netstandard2.0</TargetFrameworks> - </PropertyGroup> - <ItemGroup Condition="'$(TargetFramework)' == 'netstandard2.0'"> - <Compile Include="Microsoft.AspNetCore.SignalR.Protocols.NewtonsoftJson.netstandard2.0.cs" /> - <Reference Include="Microsoft.AspNetCore.SignalR.Common" /> - <Reference Include="Newtonsoft.Json" /> - </ItemGroup> -</Project> diff --git a/src/SignalR/common/Protocols.NewtonsoftJson/ref/Microsoft.AspNetCore.SignalR.Protocols.NewtonsoftJson.netstandard2.0.cs b/src/SignalR/common/Protocols.NewtonsoftJson/ref/Microsoft.AspNetCore.SignalR.Protocols.NewtonsoftJson.netstandard2.0.cs deleted file mode 100644 index 61558ba6cbeb..000000000000 --- a/src/SignalR/common/Protocols.NewtonsoftJson/ref/Microsoft.AspNetCore.SignalR.Protocols.NewtonsoftJson.netstandard2.0.cs +++ /dev/null @@ -1,35 +0,0 @@ -// Copyright (c) .NET Foundation. All rights reserved. -// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. - -namespace Microsoft.AspNetCore.SignalR -{ - public partial class NewtonsoftJsonHubProtocolOptions - { - public NewtonsoftJsonHubProtocolOptions() { } - public Newtonsoft.Json.JsonSerializerSettings PayloadSerializerSettings { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute] set { } } - } -} -namespace Microsoft.AspNetCore.SignalR.Protocol -{ - public partial class NewtonsoftJsonHubProtocol : Microsoft.AspNetCore.SignalR.Protocol.IHubProtocol - { - public NewtonsoftJsonHubProtocol() { } - public NewtonsoftJsonHubProtocol(Microsoft.Extensions.Options.IOptions<Microsoft.AspNetCore.SignalR.NewtonsoftJsonHubProtocolOptions> options) { } - public string Name { get { throw null; } } - public Newtonsoft.Json.JsonSerializer PayloadSerializer { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } } - public Microsoft.AspNetCore.Connections.TransferFormat TransferFormat { get { throw null; } } - public int Version { get { throw null; } } - public System.ReadOnlyMemory<byte> GetMessageBytes(Microsoft.AspNetCore.SignalR.Protocol.HubMessage message) { throw null; } - public bool IsVersionSupported(int version) { throw null; } - public bool TryParseMessage(ref System.Buffers.ReadOnlySequence<byte> input, Microsoft.AspNetCore.SignalR.IInvocationBinder binder, out Microsoft.AspNetCore.SignalR.Protocol.HubMessage message) { throw null; } - public void WriteMessage(Microsoft.AspNetCore.SignalR.Protocol.HubMessage message, System.Buffers.IBufferWriter<byte> output) { } - } -} -namespace Microsoft.Extensions.DependencyInjection -{ - public static partial class NewtonsoftJsonProtocolDependencyInjectionExtensions - { - public static TBuilder AddNewtonsoftJsonProtocol<TBuilder>(this TBuilder builder) where TBuilder : Microsoft.AspNetCore.SignalR.ISignalRBuilder { throw null; } - public static TBuilder AddNewtonsoftJsonProtocol<TBuilder>(this TBuilder builder, System.Action<Microsoft.AspNetCore.SignalR.NewtonsoftJsonHubProtocolOptions> configure) where TBuilder : Microsoft.AspNetCore.SignalR.ISignalRBuilder { throw null; } - } -} diff --git a/src/SignalR/common/Protocols.NewtonsoftJson/src/Microsoft.AspNetCore.SignalR.Protocols.NewtonsoftJson.csproj b/src/SignalR/common/Protocols.NewtonsoftJson/src/Microsoft.AspNetCore.SignalR.Protocols.NewtonsoftJson.csproj index 04f27fbe951f..73eff24cd107 100644 --- a/src/SignalR/common/Protocols.NewtonsoftJson/src/Microsoft.AspNetCore.SignalR.Protocols.NewtonsoftJson.csproj +++ b/src/SignalR/common/Protocols.NewtonsoftJson/src/Microsoft.AspNetCore.SignalR.Protocols.NewtonsoftJson.csproj @@ -5,7 +5,7 @@ <TargetFramework>netstandard2.0</TargetFramework> <RootNamespace>Microsoft.AspNetCore.SignalR</RootNamespace> <AllowUnsafeBlocks>true</AllowUnsafeBlocks> - <IsShippingPackage>true</IsShippingPackage> + <IsPackable>true</IsPackable> </PropertyGroup> <ItemGroup> diff --git a/src/SignalR/common/Shared/PipeWriterStream.cs b/src/SignalR/common/Shared/PipeWriterStream.cs index ddb7960b63ab..43474433f46e 100644 --- a/src/SignalR/common/Shared/PipeWriterStream.cs +++ b/src/SignalR/common/Shared/PipeWriterStream.cs @@ -1,12 +1,9 @@ -// Copyright (c) .NET Foundation. All rights reserved. +// Copyright (c) .NET Foundation. All rights reserved. // Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. -using System; using System.Buffers; -using System.IO; using System.Threading; using System.Threading.Tasks; -using Microsoft.AspNetCore.Internal; namespace System.IO.Pipelines { @@ -77,7 +74,15 @@ private ValueTask WriteCoreAsync(ReadOnlyMemory<byte> source, CancellationToken _length += source.Length; var task = _pipeWriter.WriteAsync(source); - if (!task.IsCompletedSuccessfully) + if (task.IsCompletedSuccessfully) + { + // Cancellation can be triggered by PipeWriter.CancelPendingFlush + if (task.Result.IsCanceled) + { + throw new OperationCanceledException(); + } + } + else { return WriteSlowAsync(task); } diff --git a/src/SignalR/common/SignalR.Common/ref/Microsoft.AspNetCore.SignalR.Common.csproj b/src/SignalR/common/SignalR.Common/ref/Microsoft.AspNetCore.SignalR.Common.csproj index fdc6d747c768..b1ad909f3425 100644 --- a/src/SignalR/common/SignalR.Common/ref/Microsoft.AspNetCore.SignalR.Common.csproj +++ b/src/SignalR/common/SignalR.Common/ref/Microsoft.AspNetCore.SignalR.Common.csproj @@ -2,16 +2,21 @@ <Project Sdk="Microsoft.NET.Sdk"> <PropertyGroup> <TargetFrameworks>netstandard2.0;$(DefaultNetCoreTargetFramework)</TargetFrameworks> + <TargetFrameworks Condition="'$(DotNetBuildFromSource)' == 'true'">$(DefaultNetCoreTargetFramework)</TargetFrameworks> </PropertyGroup> <ItemGroup Condition="'$(TargetFramework)' == 'netstandard2.0'"> <Compile Include="Microsoft.AspNetCore.SignalR.Common.netstandard2.0.cs" /> - <Reference Include="Microsoft.AspNetCore.Connections.Abstractions" /> - <Reference Include="Microsoft.Extensions.Options" /> - <Reference Include="System.Text.Json" /> + <Reference Include="Microsoft.AspNetCore.Connections.Abstractions" /> + <Reference Include="Microsoft.Extensions.Options" /> + <Reference Include="System.Text.Json" /> + <InternalsVisibleTo Include="Microsoft.AspNetCore.SignalR.Common.Tests" Key="" /> + <InternalsVisibleTo Include="Microsoft.AspNetCore.SignalR.Tests.Utils" Key="" /> </ItemGroup> <ItemGroup Condition="'$(TargetFramework)' == '$(DefaultNetCoreTargetFramework)'"> <Compile Include="Microsoft.AspNetCore.SignalR.Common.netcoreapp.cs" /> - <Reference Include="Microsoft.AspNetCore.Connections.Abstractions" /> - <Reference Include="Microsoft.Extensions.Options" /> + <Reference Include="Microsoft.AspNetCore.Connections.Abstractions" /> + <Reference Include="Microsoft.Extensions.Options" /> + <InternalsVisibleTo Include="Microsoft.AspNetCore.SignalR.Common.Tests" Key="" /> + <InternalsVisibleTo Include="Microsoft.AspNetCore.SignalR.Tests.Utils" Key="" /> </ItemGroup> </Project> diff --git a/src/SignalR/common/SignalR.Common/src/Microsoft.AspNetCore.SignalR.Common.csproj b/src/SignalR/common/SignalR.Common/src/Microsoft.AspNetCore.SignalR.Common.csproj index eab77e2bf183..17252e2b1f59 100644 --- a/src/SignalR/common/SignalR.Common/src/Microsoft.AspNetCore.SignalR.Common.csproj +++ b/src/SignalR/common/SignalR.Common/src/Microsoft.AspNetCore.SignalR.Common.csproj @@ -7,7 +7,6 @@ <IsAspNetCoreApp>true</IsAspNetCoreApp> <RootNamespace>Microsoft.AspNetCore.SignalR</RootNamespace> <AllowUnsafeBlocks>true</AllowUnsafeBlocks> - <IsShippingPackage>true</IsShippingPackage> </PropertyGroup> <ItemGroup> diff --git a/src/SignalR/common/SignalR.Common/test/Microsoft.AspNetCore.SignalR.Common.Tests.csproj b/src/SignalR/common/SignalR.Common/test/Microsoft.AspNetCore.SignalR.Common.Tests.csproj index 1120424ee602..f5d711aaaa92 100644 --- a/src/SignalR/common/SignalR.Common/test/Microsoft.AspNetCore.SignalR.Common.Tests.csproj +++ b/src/SignalR/common/SignalR.Common/test/Microsoft.AspNetCore.SignalR.Common.Tests.csproj @@ -2,6 +2,8 @@ <PropertyGroup> <TargetFramework>$(DefaultNetCoreTargetFramework)</TargetFramework> + <!-- Avoid CS1705 errors due to mix of assemblies brought in transitively. --> + <CompileUsingReferenceAssemblies>false</CompileUsingReferenceAssemblies> </PropertyGroup> <ItemGroup> diff --git a/src/SignalR/common/testassets/Tests.Utils/Microsoft.AspNetCore.SignalR.Tests.Utils.csproj b/src/SignalR/common/testassets/Tests.Utils/Microsoft.AspNetCore.SignalR.Tests.Utils.csproj index ce47db0ac82b..3271bd2ef557 100644 --- a/src/SignalR/common/testassets/Tests.Utils/Microsoft.AspNetCore.SignalR.Tests.Utils.csproj +++ b/src/SignalR/common/testassets/Tests.Utils/Microsoft.AspNetCore.SignalR.Tests.Utils.csproj @@ -4,6 +4,8 @@ <TargetFramework>$(DefaultNetCoreTargetFramework)</TargetFramework> <RootNamespace>Microsoft.AspNetCore.SignalR.Tests</RootNamespace> <DefineConstants>$(DefineConstants);TESTUTILS</DefineConstants> + <!-- Avoid CS1705 errors due to mix of assemblies brought in transitively. --> + <CompileUsingReferenceAssemblies>false</CompileUsingReferenceAssemblies> </PropertyGroup> <ItemGroup> @@ -21,6 +23,8 @@ <Reference Include="Microsoft.AspNetCore.Testing" /> <Reference Include="Microsoft.Extensions.Logging.Testing" /> <Reference Include="Microsoft.Extensions.ValueStopwatch.Sources" /> + <!-- Avoid CS1705 errors due to mix of assemblies brought in transitively. --> + <Reference Include="Microsoft.AspNetCore.SignalR.Common" /> </ItemGroup> </Project> diff --git a/src/SignalR/common/testassets/Tests.Utils/TestClient.cs b/src/SignalR/common/testassets/Tests.Utils/TestClient.cs index b5edf50d2eb9..fe7605fed7b8 100644 --- a/src/SignalR/common/testassets/Tests.Utils/TestClient.cs +++ b/src/SignalR/common/testassets/Tests.Utils/TestClient.cs @@ -37,9 +37,10 @@ class TestClient : ITransferFormatFeature, IConnectionHeartbeatFeature, IDisposa public TransferFormat ActiveFormat { get; set; } - public TestClient(IHubProtocol protocol = null, IInvocationBinder invocationBinder = null, string userIdentifier = null) + public TestClient(IHubProtocol protocol = null, IInvocationBinder invocationBinder = null, string userIdentifier = null, long pauseWriterThreshold = 32768) { - var options = new PipeOptions(readerScheduler: PipeScheduler.Inline, writerScheduler: PipeScheduler.Inline, useSynchronizationContext: false); + var options = new PipeOptions(readerScheduler: PipeScheduler.Inline, writerScheduler: PipeScheduler.Inline, useSynchronizationContext: false, + pauseWriterThreshold: pauseWriterThreshold, resumeWriterThreshold: pauseWriterThreshold / 2); var pair = DuplexPipe.CreateConnectionPair(options, options); Connection = new DefaultConnectionContext(Guid.NewGuid().ToString(), pair.Transport, pair.Application); @@ -70,16 +71,7 @@ public async Task<Task> ConnectAsync( { if (sendHandshakeRequestMessage) { - var memoryBufferWriter = MemoryBufferWriter.Get(); - try - { - HandshakeProtocol.WriteRequestMessage(new HandshakeRequestMessage(_protocol.Name, _protocol.Version), memoryBufferWriter); - await Connection.Application.Output.WriteAsync(memoryBufferWriter.ToArray()); - } - finally - { - MemoryBufferWriter.Return(memoryBufferWriter); - } + await Connection.Application.Output.WriteAsync(GetHandshakeRequestMessage()); } var connection = handler.OnConnectedAsync(Connection); @@ -259,7 +251,7 @@ public HubMessage TryRead(bool isHandshake = false) } else { - // read first message out of the incoming data + // read first message out of the incoming data if (HandshakeProtocol.TryParseResponseMessage(ref buffer, out var responseMessage)) { return responseMessage; @@ -314,6 +306,20 @@ public void TickHeartbeat() } } + public byte[] GetHandshakeRequestMessage() + { + var memoryBufferWriter = MemoryBufferWriter.Get(); + try + { + HandshakeProtocol.WriteRequestMessage(new HandshakeRequestMessage(_protocol.Name, _protocol.Version), memoryBufferWriter); + return memoryBufferWriter.ToArray(); + } + finally + { + MemoryBufferWriter.Return(memoryBufferWriter); + } + } + private class DefaultInvocationBinder : IInvocationBinder { public IReadOnlyList<Type> GetParameterTypes(string methodName) diff --git a/src/SignalR/common/testassets/Tests.Utils/VerifyNoErrorsScope.cs b/src/SignalR/common/testassets/Tests.Utils/VerifyNoErrorsScope.cs index f23712c8d5c9..7aa1c4544fce 100644 --- a/src/SignalR/common/testassets/Tests.Utils/VerifyNoErrorsScope.cs +++ b/src/SignalR/common/testassets/Tests.Utils/VerifyNoErrorsScope.cs @@ -1,4 +1,4 @@ -// Copyright (c) .NET Foundation. All rights reserved. +// Copyright (c) .NET Foundation. All rights reserved. // Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. using System; @@ -62,4 +62,4 @@ public void Dispose() } } } -} \ No newline at end of file +} diff --git a/src/SignalR/perf/Microbenchmarks/Microsoft.AspNetCore.SignalR.Microbenchmarks.csproj b/src/SignalR/perf/Microbenchmarks/Microsoft.AspNetCore.SignalR.Microbenchmarks.csproj index 3f892a8cdf40..84f5308ae5b5 100644 --- a/src/SignalR/perf/Microbenchmarks/Microsoft.AspNetCore.SignalR.Microbenchmarks.csproj +++ b/src/SignalR/perf/Microbenchmarks/Microsoft.AspNetCore.SignalR.Microbenchmarks.csproj @@ -3,6 +3,8 @@ <PropertyGroup> <OutputType>Exe</OutputType> <TargetFramework>$(DefaultNetCoreTargetFramework)</TargetFramework> + <!-- Avoid CS1705 errors due to mix of assemblies brought in transitively. --> + <CompileUsingReferenceAssemblies>false</CompileUsingReferenceAssemblies> </PropertyGroup> <ItemGroup> diff --git a/src/SignalR/perf/Microbenchmarks/ServerSentEventsBenchmark.cs b/src/SignalR/perf/Microbenchmarks/ServerSentEventsBenchmark.cs index fd4357c95247..5b20e7209d64 100644 --- a/src/SignalR/perf/Microbenchmarks/ServerSentEventsBenchmark.cs +++ b/src/SignalR/perf/Microbenchmarks/ServerSentEventsBenchmark.cs @@ -61,7 +61,7 @@ public void GlobalSetup() _parser = new ServerSentEventsMessageParser(); _rawData = new ReadOnlySequence<byte>(protocol.GetMessageBytes(hubMessage)); var ms = new MemoryStream(); - ServerSentEventsMessageFormatter.WriteMessageAsync(_rawData, ms).GetAwaiter().GetResult(); + ServerSentEventsMessageFormatter.WriteMessageAsync(_rawData, ms, default).GetAwaiter().GetResult(); _sseFormattedData = ms.ToArray(); } @@ -81,7 +81,7 @@ public void ReadSingleMessage() [Benchmark] public Task WriteSingleMessage() { - return ServerSentEventsMessageFormatter.WriteMessageAsync(_rawData, Stream.Null); + return ServerSentEventsMessageFormatter.WriteMessageAsync(_rawData, Stream.Null, default); } public enum Message diff --git a/src/SignalR/samples/ClientSample/ClientSample.csproj b/src/SignalR/samples/ClientSample/ClientSample.csproj index 4c8d780015e1..654bf67bef79 100644 --- a/src/SignalR/samples/ClientSample/ClientSample.csproj +++ b/src/SignalR/samples/ClientSample/ClientSample.csproj @@ -3,6 +3,8 @@ <PropertyGroup> <TargetFrameworks>$(DefaultNetCoreTargetFramework);net461</TargetFrameworks> <OutputType>Exe</OutputType> + <!-- Avoid CS1705 errors due to mix of assemblies brought in transitively. --> + <CompileUsingReferenceAssemblies>false</CompileUsingReferenceAssemblies> </PropertyGroup> <ItemGroup> @@ -14,6 +16,8 @@ <Reference Include="Microsoft.Extensions.Logging.Console" /> <Reference Include="Microsoft.Extensions.Logging" /> <Reference Include="Microsoft.Extensions.CommandLineUtils.Sources" /> + <!-- Avoid CS1705 errors due to mix of assemblies brought in transitively. --> + <Reference Include="Microsoft.AspNetCore.SignalR.Common" /> </ItemGroup> </Project> diff --git a/src/SignalR/samples/JwtClientSample/JwtClientSample.csproj b/src/SignalR/samples/JwtClientSample/JwtClientSample.csproj index 916907b46c48..0e66b6c40fa6 100644 --- a/src/SignalR/samples/JwtClientSample/JwtClientSample.csproj +++ b/src/SignalR/samples/JwtClientSample/JwtClientSample.csproj @@ -3,10 +3,14 @@ <PropertyGroup> <TargetFrameworks>$(DefaultNetCoreTargetFramework)</TargetFrameworks> <OutputType>Exe</OutputType> + <!-- Avoid CS1705 errors due to mix of assemblies brought in transitively. --> + <CompileUsingReferenceAssemblies>false</CompileUsingReferenceAssemblies> </PropertyGroup> <ItemGroup> <Reference Include="Microsoft.AspNetCore.SignalR.Client" /> + <!-- Avoid CS1705 errors due to mix of assemblies brought in transitively. --> + <Reference Include="Microsoft.AspNetCore.SignalR.Common" /> </ItemGroup> </Project> diff --git a/src/SignalR/samples/SignalRSamples/SignalRSamples.csproj b/src/SignalR/samples/SignalRSamples/SignalRSamples.csproj index 97bf72df88bc..c49287b478fa 100644 --- a/src/SignalR/samples/SignalRSamples/SignalRSamples.csproj +++ b/src/SignalR/samples/SignalRSamples/SignalRSamples.csproj @@ -3,6 +3,8 @@ <PropertyGroup> <TargetFramework>$(DefaultNetCoreTargetFramework)</TargetFramework> <GenerateRazorAssemblyInfo>false</GenerateRazorAssemblyInfo> + <!-- Avoid CS1705 errors due to mix of assemblies brought in transitively. --> + <CompileUsingReferenceAssemblies>false</CompileUsingReferenceAssemblies> </PropertyGroup> <ItemGroup> @@ -20,6 +22,8 @@ <Reference Include="Microsoft.Extensions.Configuration.CommandLine" /> <Reference Include="Microsoft.Extensions.Logging.Console" /> <Reference Include="System.Reactive.Linq" /> + <!-- Avoid CS1705 errors due to mix of assemblies brought in transitively. --> + <Reference Include="Microsoft.AspNetCore.SignalR.Common" /> </ItemGroup> <Target Name="CopyTSClient" BeforeTargets="AfterBuild"> diff --git a/src/SignalR/server/Core/ref/Microsoft.AspNetCore.SignalR.Core.csproj b/src/SignalR/server/Core/ref/Microsoft.AspNetCore.SignalR.Core.csproj index 6416b75d2e5c..0f4212eacec2 100644 --- a/src/SignalR/server/Core/ref/Microsoft.AspNetCore.SignalR.Core.csproj +++ b/src/SignalR/server/Core/ref/Microsoft.AspNetCore.SignalR.Core.csproj @@ -5,10 +5,14 @@ </PropertyGroup> <ItemGroup Condition="'$(TargetFramework)' == '$(DefaultNetCoreTargetFramework)'"> <Compile Include="Microsoft.AspNetCore.SignalR.Core.netcoreapp.cs" /> - <Reference Include="Microsoft.AspNetCore.Authorization.Policy" /> - <Reference Include="Microsoft.AspNetCore.SignalR.Common" /> - <Reference Include="Microsoft.AspNetCore.SignalR.Protocols.Json" /> - <Reference Include="Microsoft.Extensions.DependencyInjection.Abstractions" /> - <Reference Include="Microsoft.Extensions.Logging.Abstractions" /> + <Reference Include="Microsoft.AspNetCore.Authorization.Policy" /> + <Reference Include="Microsoft.AspNetCore.SignalR.Common" /> + <Reference Include="Microsoft.AspNetCore.SignalR.Protocols.Json" /> + <Reference Include="Microsoft.Extensions.DependencyInjection.Abstractions" /> + <Reference Include="Microsoft.Extensions.Logging.Abstractions" /> + <InternalsVisibleTo Include="Microsoft.AspNetCore.SignalR.Tests.Utils" Key="" /> + <InternalsVisibleTo Include="Microsoft.AspNetCore.SignalR.Microbenchmarks" Key="" /> + <InternalsVisibleTo Include="Microsoft.AspNetCore.SignalR.Tests" Key="" /> + <InternalsVisibleTo Include="Microsoft.AspNetCore.SignalR.StackExchangeRedis.Tests" Key="" /> </ItemGroup> </Project> diff --git a/src/SignalR/server/Core/src/DefaultHubLifetimeManager.cs b/src/SignalR/server/Core/src/DefaultHubLifetimeManager.cs index a8a9fe209561..c00264ea2b06 100644 --- a/src/SignalR/server/Core/src/DefaultHubLifetimeManager.cs +++ b/src/SignalR/server/Core/src/DefaultHubLifetimeManager.cs @@ -82,10 +82,10 @@ public override Task RemoveFromGroupAsync(string connectionId, string groupName, /// <inheritdoc /> public override Task SendAllAsync(string methodName, object[] args, CancellationToken cancellationToken = default) { - return SendToAllConnections(methodName, args, null); + return SendToAllConnections(methodName, args, include: null, state: null, cancellationToken); } - private Task SendToAllConnections(string methodName, object[] args, Func<HubConnectionContext, object, bool> include, object state = null) + private Task SendToAllConnections(string methodName, object[] args, Func<HubConnectionContext, object, bool> include, object state = null, CancellationToken cancellationToken = default) { List<Task> tasks = null; SerializedHubMessage message = null; @@ -103,7 +103,7 @@ private Task SendToAllConnections(string methodName, object[] args, Func<HubConn message = CreateSerializedInvocationMessage(methodName, args); } - var task = connection.WriteAsync(message); + var task = connection.WriteAsync(message, cancellationToken); if (!task.IsCompletedSuccessfully) { @@ -127,7 +127,7 @@ private Task SendToAllConnections(string methodName, object[] args, Func<HubConn // Tasks and message are passed by ref so they can be lazily created inside the method post-filtering, // while still being re-usable when sending to multiple groups - private void SendToGroupConnections(string methodName, object[] args, ConcurrentDictionary<string, HubConnectionContext> connections, Func<HubConnectionContext, object, bool> include, object state, ref List<Task> tasks, ref SerializedHubMessage message) + private void SendToGroupConnections(string methodName, object[] args, ConcurrentDictionary<string, HubConnectionContext> connections, Func<HubConnectionContext, object, bool> include, object state, ref List<Task> tasks, ref SerializedHubMessage message, CancellationToken cancellationToken) { // foreach over ConcurrentDictionary avoids allocating an enumerator foreach (var connection in connections) @@ -142,7 +142,7 @@ private void SendToGroupConnections(string methodName, object[] args, Concurrent message = CreateSerializedInvocationMessage(methodName, args); } - var task = connection.Value.WriteAsync(message); + var task = connection.Value.WriteAsync(message, cancellationToken); if (!task.IsCompletedSuccessfully) { @@ -175,7 +175,7 @@ public override Task SendConnectionAsync(string connectionId, string methodName, // Write message directly to connection without caching it in memory var message = CreateInvocationMessage(methodName, args); - return connection.WriteAsync(message).AsTask(); + return connection.WriteAsync(message, cancellationToken).AsTask(); } /// <inheritdoc /> @@ -193,7 +193,7 @@ public override Task SendGroupAsync(string groupName, string methodName, object[ // group might be modified inbetween checking and sending List<Task> tasks = null; SerializedHubMessage message = null; - SendToGroupConnections(methodName, args, group, null, null, ref tasks, ref message); + SendToGroupConnections(methodName, args, group, null, null, ref tasks, ref message, cancellationToken); if (tasks != null) { @@ -221,7 +221,7 @@ public override Task SendGroupsAsync(IReadOnlyList<string> groupNames, string me var group = _groups[groupName]; if (group != null) { - SendToGroupConnections(methodName, args, group, null, null, ref tasks, ref message); + SendToGroupConnections(methodName, args, group, null, null, ref tasks, ref message, cancellationToken); } } @@ -247,7 +247,7 @@ public override Task SendGroupExceptAsync(string groupName, string methodName, o List<Task> tasks = null; SerializedHubMessage message = null; - SendToGroupConnections(methodName, args, group, (connection, state) => !((IReadOnlyList<string>)state).Contains(connection.ConnectionId), excludedConnectionIds, ref tasks, ref message); + SendToGroupConnections(methodName, args, group, (connection, state) => !((IReadOnlyList<string>)state).Contains(connection.ConnectionId), excludedConnectionIds, ref tasks, ref message, cancellationToken); if (tasks != null) { @@ -271,7 +271,7 @@ private HubMessage CreateInvocationMessage(string methodName, object[] args) /// <inheritdoc /> public override Task SendUserAsync(string userId, string methodName, object[] args, CancellationToken cancellationToken = default) { - return SendToAllConnections(methodName, args, (connection, state) => string.Equals(connection.UserIdentifier, (string)state, StringComparison.Ordinal), userId); + return SendToAllConnections(methodName, args, (connection, state) => string.Equals(connection.UserIdentifier, (string)state, StringComparison.Ordinal), userId, cancellationToken); } /// <inheritdoc /> @@ -292,19 +292,19 @@ public override Task OnDisconnectedAsync(HubConnectionContext connection) /// <inheritdoc /> public override Task SendAllExceptAsync(string methodName, object[] args, IReadOnlyList<string> excludedConnectionIds, CancellationToken cancellationToken = default) { - return SendToAllConnections(methodName, args, (connection, state) => !((IReadOnlyList<string>)state).Contains(connection.ConnectionId), excludedConnectionIds); + return SendToAllConnections(methodName, args, (connection, state) => !((IReadOnlyList<string>)state).Contains(connection.ConnectionId), excludedConnectionIds, cancellationToken); } /// <inheritdoc /> public override Task SendConnectionsAsync(IReadOnlyList<string> connectionIds, string methodName, object[] args, CancellationToken cancellationToken = default) { - return SendToAllConnections(methodName, args, (connection, state) => ((IReadOnlyList<string>)state).Contains(connection.ConnectionId), connectionIds); + return SendToAllConnections(methodName, args, (connection, state) => ((IReadOnlyList<string>)state).Contains(connection.ConnectionId), connectionIds, cancellationToken); } /// <inheritdoc /> public override Task SendUsersAsync(IReadOnlyList<string> userIds, string methodName, object[] args, CancellationToken cancellationToken = default) { - return SendToAllConnections(methodName, args, (connection, state) => ((IReadOnlyList<string>)state).Contains(connection.UserIdentifier), userIds); + return SendToAllConnections(methodName, args, (connection, state) => ((IReadOnlyList<string>)state).Contains(connection.UserIdentifier), userIds, cancellationToken); } } } diff --git a/src/SignalR/server/Core/src/HubConnectionContext.cs b/src/SignalR/server/Core/src/HubConnectionContext.cs index bd544102c082..1dc7ad89c428 100644 --- a/src/SignalR/server/Core/src/HubConnectionContext.cs +++ b/src/SignalR/server/Core/src/HubConnectionContext.cs @@ -34,6 +34,8 @@ public class HubConnectionContext private readonly long _keepAliveInterval; private readonly long _clientTimeoutInterval; private readonly SemaphoreSlim _writeLock = new SemaphoreSlim(1); + private readonly bool _useAbsoluteClientTimeout; + private readonly object _receiveMessageTimeoutLock = new object(); private StreamTracker _streamTracker; private long _lastSendTimeStamp = DateTime.UtcNow.Ticks; @@ -41,10 +43,13 @@ public class HubConnectionContext private bool _receivedMessageThisInterval = false; private ReadOnlyMemory<byte> _cachedPingMessage; private bool _clientTimeoutActive; - private bool _connectionAborted; + private volatile bool _connectionAborted; private volatile bool _allowReconnect = true; private int _streamBufferCapacity; private long? _maxMessageSize; + private bool _receivedMessageTimeoutEnabled = false; + private long _receivedMessageElapsedTicks = 0; + private long _receivedMessageTimestamp; /// <summary> /// Initializes a new instance of the <see cref="HubConnectionContext"/> class. @@ -64,6 +69,11 @@ public HubConnectionContext(ConnectionContext connectionContext, HubConnectionCo ConnectionAborted = _connectionAbortedTokenSource.Token; HubCallerContext = new DefaultHubCallerContext(this); + + if (AppContext.TryGetSwitch("Microsoft.AspNetCore.SignalR.UseAbsoluteClientTimeout", out var useAbsoluteClientTimeout)) + { + _useAbsoluteClientTimeout = useAbsoluteClientTimeout; + } } internal StreamTracker StreamTracker @@ -131,7 +141,7 @@ public virtual ValueTask WriteAsync(HubMessage message, CancellationToken cancel // Try to grab the lock synchronously, if we fail, go to the slower path if (!_writeLock.Wait(0)) { - return new ValueTask(WriteSlowAsync(message)); + return new ValueTask(WriteSlowAsync(message, cancellationToken)); } if (_connectionAborted) @@ -141,7 +151,7 @@ public virtual ValueTask WriteAsync(HubMessage message, CancellationToken cancel } // This method should never throw synchronously - var task = WriteCore(message); + var task = WriteCore(message, cancellationToken); // The write didn't complete synchronously so await completion if (!task.IsCompletedSuccessfully) @@ -167,7 +177,7 @@ public virtual ValueTask WriteAsync(SerializedHubMessage message, CancellationTo // Try to grab the lock synchronously, if we fail, go to the slower path if (!_writeLock.Wait(0)) { - return new ValueTask(WriteSlowAsync(message)); + return new ValueTask(WriteSlowAsync(message, cancellationToken)); } if (_connectionAborted) @@ -177,7 +187,7 @@ public virtual ValueTask WriteAsync(SerializedHubMessage message, CancellationTo } // This method should never throw synchronously - var task = WriteCore(message); + var task = WriteCore(message, cancellationToken); // The write didn't complete synchronously so await completion if (!task.IsCompletedSuccessfully) @@ -191,7 +201,7 @@ public virtual ValueTask WriteAsync(SerializedHubMessage message, CancellationTo return default; } - private ValueTask<FlushResult> WriteCore(HubMessage message) + private ValueTask<FlushResult> WriteCore(HubMessage message, CancellationToken cancellationToken) { try { @@ -199,7 +209,7 @@ private ValueTask<FlushResult> WriteCore(HubMessage message) // write it without caching. Protocol.WriteMessage(message, _connectionContext.Transport.Output); - return _connectionContext.Transport.Output.FlushAsync(); + return _connectionContext.Transport.Output.FlushAsync(cancellationToken); } catch (Exception ex) { @@ -211,14 +221,14 @@ private ValueTask<FlushResult> WriteCore(HubMessage message) } } - private ValueTask<FlushResult> WriteCore(SerializedHubMessage message) + private ValueTask<FlushResult> WriteCore(SerializedHubMessage message, CancellationToken cancellationToken) { try { // Grab a preserialized buffer for this protocol. var buffer = message.GetSerializedMessage(Protocol); - return _connectionContext.Transport.Output.WriteAsync(buffer); + return _connectionContext.Transport.Output.WriteAsync(buffer, cancellationToken); } catch (Exception ex) { @@ -249,10 +259,10 @@ private async Task CompleteWriteAsync(ValueTask<FlushResult> task) } } - private async Task WriteSlowAsync(HubMessage message) + private async Task WriteSlowAsync(HubMessage message, CancellationToken cancellationToken) { // Failed to get the lock immediately when entering WriteAsync so await until it is available - await _writeLock.WaitAsync(); + await _writeLock.WaitAsync(cancellationToken); try { @@ -261,7 +271,7 @@ private async Task WriteSlowAsync(HubMessage message) return; } - await WriteCore(message); + await WriteCore(message, cancellationToken); } catch (Exception ex) { @@ -274,7 +284,7 @@ private async Task WriteSlowAsync(HubMessage message) } } - private async Task WriteSlowAsync(SerializedHubMessage message) + private async Task WriteSlowAsync(SerializedHubMessage message, CancellationToken cancellationToken) { // Failed to get the lock immediately when entering WriteAsync so await until it is available await _writeLock.WaitAsync(); @@ -286,7 +296,7 @@ private async Task WriteSlowAsync(SerializedHubMessage message) return; } - await WriteCore(message); + await WriteCore(message, cancellationToken); } catch (Exception ex) { @@ -308,6 +318,7 @@ private ValueTask TryWritePingAsync() return default; } + // TODO: cancel? return new ValueTask(TryWritePingSlowAsync()); } @@ -370,6 +381,9 @@ public virtual void Abort() private void AbortAllowReconnect() { _connectionAborted = true; + // Cancel any current writes or writes that are about to happen and have already gone past the _connectionAborted bool + // We have to do this outside of the lock otherwise it could hang if the write is observing backpressure + _connectionContext.Transport.Output.CancelPendingFlush(); // If we already triggered the token then noop, this isn't thread safe but it's good enough // to avoid spawning a new task in the most common cases @@ -525,9 +539,23 @@ await WriteHandshakeResponseAsync(new HandshakeResponseMessage( internal Task AbortAsync() { AbortAllowReconnect(); + + // Acquire lock to make sure all writes are completed + if (!_writeLock.Wait(0)) + { + return AbortAsyncSlow(); + } + _writeLock.Release(); return _abortCompletedTcs.Task; } + private async Task AbortAsyncSlow() + { + await _writeLock.WaitAsync(); + _writeLock.Release(); + await _abortCompletedTcs.Task; + } + private void KeepAliveTick() { var currentTime = DateTime.UtcNow.Ticks; @@ -569,17 +597,36 @@ private void CheckClientTimeout() return; } - // If it's been too long since we've heard from the client, then close this - if (DateTime.UtcNow.Ticks - Volatile.Read(ref _lastReceivedTimeStamp) > _clientTimeoutInterval) + if (_useAbsoluteClientTimeout) { - if (!_receivedMessageThisInterval) + // If it's been too long since we've heard from the client, then close this + if (DateTime.UtcNow.Ticks - Volatile.Read(ref _lastReceivedTimeStamp) > _clientTimeoutInterval) { - Log.ClientTimeout(_logger, TimeSpan.FromTicks(_clientTimeoutInterval)); - AbortAllowReconnect(); + if (!_receivedMessageThisInterval) + { + Log.ClientTimeout(_logger, TimeSpan.FromTicks(_clientTimeoutInterval)); + AbortAllowReconnect(); + } + + _receivedMessageThisInterval = false; + Volatile.Write(ref _lastReceivedTimeStamp, DateTime.UtcNow.Ticks); } + } + else + { + lock (_receiveMessageTimeoutLock) + { + if (_receivedMessageTimeoutEnabled) + { + _receivedMessageElapsedTicks = DateTime.UtcNow.Ticks - _receivedMessageTimestamp; - _receivedMessageThisInterval = false; - Volatile.Write(ref _lastReceivedTimeStamp, DateTime.UtcNow.Ticks); + if (_receivedMessageElapsedTicks >= _clientTimeoutInterval) + { + Log.ClientTimeout(_logger, TimeSpan.FromTicks(_clientTimeoutInterval)); + AbortAllowReconnect(); + } + } + } } } @@ -628,6 +675,35 @@ internal void ResetClientTimeout() _receivedMessageThisInterval = true; } + internal void BeginClientTimeout() + { + // check if new timeout behavior is in use + if (!_useAbsoluteClientTimeout) + { + lock (_receiveMessageTimeoutLock) + { + _receivedMessageTimeoutEnabled = true; + _receivedMessageTimestamp = DateTime.UtcNow.Ticks; + } + } + } + + internal void StopClientTimeout() + { + // check if new timeout behavior is in use + if (!_useAbsoluteClientTimeout) + { + lock (_receiveMessageTimeoutLock) + { + // we received a message so stop the timer and reset it + // it will resume after the message has been processed + _receivedMessageElapsedTicks = 0; + _receivedMessageTimestamp = 0; + _receivedMessageTimeoutEnabled = false; + } + } + } + private static class Log { // Category: HubConnectionContext diff --git a/src/SignalR/server/Core/src/HubConnectionHandler.cs b/src/SignalR/server/Core/src/HubConnectionHandler.cs index 663864cbb99e..0a8f3380f91c 100644 --- a/src/SignalR/server/Core/src/HubConnectionHandler.cs +++ b/src/SignalR/server/Core/src/HubConnectionHandler.cs @@ -213,6 +213,8 @@ private async Task DispatchMessagesAsync(HubConnectionContext connection) { var input = connection.Input; var protocol = connection.Protocol; + connection.BeginClientTimeout(); + var binder = new HubConnectionBinder<THub>(_dispatcher, connection); @@ -221,6 +223,8 @@ private async Task DispatchMessagesAsync(HubConnectionContext connection) var result = await input.ReadAsync(); var buffer = result.Buffer; + connection.ResetClientTimeout(); + try { if (result.IsCanceled) @@ -230,15 +234,21 @@ private async Task DispatchMessagesAsync(HubConnectionContext connection) if (!buffer.IsEmpty) { - connection.ResetClientTimeout(); - + bool messageReceived = false; // No message limit, just parse and dispatch if (_maximumMessageSize == null) { while (protocol.TryParseMessage(ref buffer, binder, out var message)) { + messageReceived = true; + connection.StopClientTimeout(); await _dispatcher.DispatchMessageAsync(connection, message); } + + if (messageReceived) + { + connection.BeginClientTimeout(); + } } else { @@ -258,6 +268,9 @@ private async Task DispatchMessagesAsync(HubConnectionContext connection) if (protocol.TryParseMessage(ref segment, binder, out var message)) { + messageReceived = true; + connection.StopClientTimeout(); + await _dispatcher.DispatchMessageAsync(connection, message); } else if (overLength) @@ -273,6 +286,11 @@ private async Task DispatchMessagesAsync(HubConnectionContext connection) // Update the buffer to the remaining segment buffer = buffer.Slice(segment.Start); } + + if (messageReceived) + { + connection.BeginClientTimeout(); + } } } diff --git a/src/SignalR/server/Core/src/Internal/Proxies.cs b/src/SignalR/server/Core/src/Internal/Proxies.cs index 9a3edd56bdb5..8a2beb26de03 100644 --- a/src/SignalR/server/Core/src/Internal/Proxies.cs +++ b/src/SignalR/server/Core/src/Internal/Proxies.cs @@ -105,7 +105,7 @@ public AllClientProxy(HubLifetimeManager<THub> lifetimeManager) public Task SendCoreAsync(string method, object[] args, CancellationToken cancellationToken = default) { - return _lifetimeManager.SendAllAsync(method, args); + return _lifetimeManager.SendAllAsync(method, args, cancellationToken); } } diff --git a/src/SignalR/server/Core/src/Microsoft.AspNetCore.SignalR.Core.csproj b/src/SignalR/server/Core/src/Microsoft.AspNetCore.SignalR.Core.csproj index 79dcd00130e8..9a18d8ac7426 100644 --- a/src/SignalR/server/Core/src/Microsoft.AspNetCore.SignalR.Core.csproj +++ b/src/SignalR/server/Core/src/Microsoft.AspNetCore.SignalR.Core.csproj @@ -5,7 +5,7 @@ <TargetFramework>$(DefaultNetCoreTargetFramework)</TargetFramework> <IsAspNetCoreApp>true</IsAspNetCoreApp> <RootNamespace>Microsoft.AspNetCore.SignalR</RootNamespace> - <IsShippingPackage>false</IsShippingPackage> + <IsPackable>false</IsPackable> </PropertyGroup> <ItemGroup> diff --git a/src/SignalR/server/SignalR/ref/Microsoft.AspNetCore.SignalR.csproj b/src/SignalR/server/SignalR/ref/Microsoft.AspNetCore.SignalR.csproj index 7e293580fbb9..c172ea83d6b5 100644 --- a/src/SignalR/server/SignalR/ref/Microsoft.AspNetCore.SignalR.csproj +++ b/src/SignalR/server/SignalR/ref/Microsoft.AspNetCore.SignalR.csproj @@ -5,7 +5,7 @@ </PropertyGroup> <ItemGroup Condition="'$(TargetFramework)' == '$(DefaultNetCoreTargetFramework)'"> <Compile Include="Microsoft.AspNetCore.SignalR.netcoreapp.cs" /> - <Reference Include="Microsoft.AspNetCore.SignalR.Core" /> - <Reference Include="Microsoft.AspNetCore.Http.Connections" /> + <Reference Include="Microsoft.AspNetCore.SignalR.Core" /> + <Reference Include="Microsoft.AspNetCore.Http.Connections" /> </ItemGroup> </Project> diff --git a/src/SignalR/server/SignalR/src/Microsoft.AspNetCore.SignalR.csproj b/src/SignalR/server/SignalR/src/Microsoft.AspNetCore.SignalR.csproj index e4b8eb42262f..1f69a61ddc11 100644 --- a/src/SignalR/server/SignalR/src/Microsoft.AspNetCore.SignalR.csproj +++ b/src/SignalR/server/SignalR/src/Microsoft.AspNetCore.SignalR.csproj @@ -3,7 +3,7 @@ <Description>Components for providing real-time bi-directional communication across the Web.</Description> <TargetFramework>$(DefaultNetCoreTargetFramework)</TargetFramework> <IsAspNetCoreApp>true</IsAspNetCoreApp> - <IsShippingPackage>false</IsShippingPackage> + <IsPackable>false</IsPackable> </PropertyGroup> <ItemGroup> diff --git a/src/SignalR/server/SignalR/test/DefaultHubLifetimeManagerTests.cs b/src/SignalR/server/SignalR/test/DefaultHubLifetimeManagerTests.cs index 0e00c9a9ab54..ee312dbf3e66 100644 --- a/src/SignalR/server/SignalR/test/DefaultHubLifetimeManagerTests.cs +++ b/src/SignalR/server/SignalR/test/DefaultHubLifetimeManagerTests.cs @@ -1,9 +1,14 @@ // Copyright (c) .NET Foundation. All rights reserved. // Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. +using System.Collections.Generic; +using System.Threading.Tasks; +using System.Threading; +using Microsoft.AspNetCore.SignalR.Protocol; +using Microsoft.AspNetCore.SignalR.Specification.Tests; using Microsoft.Extensions.Logging; using Microsoft.Extensions.Logging.Abstractions; -using Microsoft.AspNetCore.SignalR.Specification.Tests; +using Xunit; namespace Microsoft.AspNetCore.SignalR.Tests { @@ -13,5 +18,241 @@ public override HubLifetimeManager<MyHub> CreateNewHubLifetimeManager() { return new DefaultHubLifetimeManager<MyHub>(new Logger<DefaultHubLifetimeManager<MyHub>>(NullLoggerFactory.Instance)); } + + [Fact] + public async Task SendAllAsyncWillCancelWithToken() + { + using (var client1 = new TestClient()) + using (var client2 = new TestClient(pauseWriterThreshold: 2)) + { + var manager = CreateNewHubLifetimeManager(); + var connection1 = HubConnectionContextUtils.Create(client1.Connection); + var connection2 = HubConnectionContextUtils.Create(client2.Connection); + await manager.OnConnectedAsync(connection1).OrTimeout(); + await manager.OnConnectedAsync(connection2).OrTimeout(); + var cts = new CancellationTokenSource(); + var sendTask = manager.SendAllAsync("Hello", new object[] { "World" }, cts.Token).OrTimeout(); + Assert.False(sendTask.IsCompleted); + cts.Cancel(); + await sendTask.OrTimeout(); + var message = Assert.IsType<InvocationMessage>(client1.TryRead()); + Assert.Equal("Hello", message.Target); + Assert.Single(message.Arguments); + Assert.Equal("World", (string)message.Arguments[0]); + var tcs = new TaskCompletionSource<object>(TaskCreationOptions.RunContinuationsAsynchronously); + connection2.ConnectionAborted.Register(t => + { + ((TaskCompletionSource<object>)t).SetResult(null); + }, tcs); + await tcs.Task.OrTimeout(); + Assert.False(connection1.ConnectionAborted.IsCancellationRequested); + } + } + + [Fact] + public async Task SendAllExceptAsyncWillCancelWithToken() + { + using (var client1 = new TestClient()) + using (var client2 = new TestClient(pauseWriterThreshold: 2)) + { + var manager = CreateNewHubLifetimeManager(); + var connection1 = HubConnectionContextUtils.Create(client1.Connection); + var connection2 = HubConnectionContextUtils.Create(client2.Connection); + await manager.OnConnectedAsync(connection1).OrTimeout(); + await manager.OnConnectedAsync(connection2).OrTimeout(); + var cts = new CancellationTokenSource(); + var sendTask = manager.SendAllExceptAsync("Hello", new object[] { "World" }, new List<string> { connection1.ConnectionId }, cts.Token).OrTimeout(); + Assert.False(sendTask.IsCompleted); + cts.Cancel(); + await sendTask.OrTimeout(); + var tcs = new TaskCompletionSource<object>(TaskCreationOptions.RunContinuationsAsynchronously); + connection2.ConnectionAborted.Register(t => + { + ((TaskCompletionSource<object>)t).SetResult(null); + }, tcs); + await tcs.Task.OrTimeout(); + Assert.False(connection1.ConnectionAborted.IsCancellationRequested); + Assert.Null(client1.TryRead()); + } + } + + [Fact] + public async Task SendConnectionAsyncWillCancelWithToken() + { + using (var client1 = new TestClient(pauseWriterThreshold: 2)) + { + var manager = CreateNewHubLifetimeManager(); + var connection1 = HubConnectionContextUtils.Create(client1.Connection); + await manager.OnConnectedAsync(connection1).OrTimeout(); + var cts = new CancellationTokenSource(); + var sendTask = manager.SendConnectionAsync(connection1.ConnectionId, "Hello", new object[] { "World" }, cts.Token).OrTimeout(); + Assert.False(sendTask.IsCompleted); + cts.Cancel(); + await sendTask.OrTimeout(); + var tcs = new TaskCompletionSource<object>(TaskCreationOptions.RunContinuationsAsynchronously); + connection1.ConnectionAborted.Register(t => + { + ((TaskCompletionSource<object>)t).SetResult(null); + }, tcs); + await tcs.Task.OrTimeout(); + } + } + + [Fact] + public async Task SendConnectionsAsyncWillCancelWithToken() + { + using (var client1 = new TestClient(pauseWriterThreshold: 2)) + { + var manager = CreateNewHubLifetimeManager(); + var connection1 = HubConnectionContextUtils.Create(client1.Connection); + await manager.OnConnectedAsync(connection1).OrTimeout(); + var cts = new CancellationTokenSource(); + var sendTask = manager.SendConnectionsAsync(new List<string> { connection1.ConnectionId }, "Hello", new object[] { "World" }, cts.Token).OrTimeout(); + Assert.False(sendTask.IsCompleted); + cts.Cancel(); + await sendTask.OrTimeout(); + var tcs = new TaskCompletionSource<object>(TaskCreationOptions.RunContinuationsAsynchronously); + connection1.ConnectionAborted.Register(t => + { + ((TaskCompletionSource<object>)t).SetResult(null); + }, tcs); + await tcs.Task.OrTimeout(); + } + } + + [Fact] + public async Task SendGroupAsyncWillCancelWithToken() + { + using (var client1 = new TestClient(pauseWriterThreshold: 2)) + { + var manager = CreateNewHubLifetimeManager(); + var connection1 = HubConnectionContextUtils.Create(client1.Connection); + await manager.OnConnectedAsync(connection1).OrTimeout(); + await manager.AddToGroupAsync(connection1.ConnectionId, "group").OrTimeout(); + var cts = new CancellationTokenSource(); + var sendTask = manager.SendGroupAsync("group", "Hello", new object[] { "World" }, cts.Token).OrTimeout(); + Assert.False(sendTask.IsCompleted); + cts.Cancel(); + await sendTask.OrTimeout(); + var tcs = new TaskCompletionSource<object>(TaskCreationOptions.RunContinuationsAsynchronously); + connection1.ConnectionAborted.Register(t => + { + ((TaskCompletionSource<object>)t).SetResult(null); + }, tcs); + await tcs.Task.OrTimeout(); + } + } + + [Fact] + public async Task SendGroupExceptAsyncWillCancelWithToken() + { + using (var client1 = new TestClient()) + using (var client2 = new TestClient(pauseWriterThreshold: 2)) + { + var manager = CreateNewHubLifetimeManager(); + var connection1 = HubConnectionContextUtils.Create(client1.Connection); + var connection2 = HubConnectionContextUtils.Create(client2.Connection); + await manager.OnConnectedAsync(connection1).OrTimeout(); + await manager.OnConnectedAsync(connection2).OrTimeout(); + await manager.AddToGroupAsync(connection1.ConnectionId, "group").OrTimeout(); + await manager.AddToGroupAsync(connection2.ConnectionId, "group").OrTimeout(); + var cts = new CancellationTokenSource(); + var sendTask = manager.SendGroupExceptAsync("group", "Hello", new object[] { "World" }, new List<string> { connection1.ConnectionId }, cts.Token).OrTimeout(); + Assert.False(sendTask.IsCompleted); + cts.Cancel(); + await sendTask.OrTimeout(); + var tcs = new TaskCompletionSource<object>(TaskCreationOptions.RunContinuationsAsynchronously); + connection2.ConnectionAborted.Register(t => + { + ((TaskCompletionSource<object>)t).SetResult(null); + }, tcs); + await tcs.Task.OrTimeout(); + Assert.False(connection1.ConnectionAborted.IsCancellationRequested); + Assert.Null(client1.TryRead()); + } + } + + [Fact] + public async Task SendGroupsAsyncWillCancelWithToken() + { + using (var client1 = new TestClient(pauseWriterThreshold: 2)) + { + var manager = CreateNewHubLifetimeManager(); + var connection1 = HubConnectionContextUtils.Create(client1.Connection); + await manager.OnConnectedAsync(connection1).OrTimeout(); + await manager.AddToGroupAsync(connection1.ConnectionId, "group").OrTimeout(); + var cts = new CancellationTokenSource(); + var sendTask = manager.SendGroupsAsync(new List<string> { "group" }, "Hello", new object[] { "World" }, cts.Token).OrTimeout(); + Assert.False(sendTask.IsCompleted); + cts.Cancel(); + await sendTask.OrTimeout(); + var tcs = new TaskCompletionSource<object>(TaskCreationOptions.RunContinuationsAsynchronously); + connection1.ConnectionAborted.Register(t => + { + ((TaskCompletionSource<object>)t).SetResult(null); + }, tcs); + await tcs.Task.OrTimeout(); + } + } + + [Fact] + public async Task SendUserAsyncWillCancelWithToken() + { + using (var client1 = new TestClient()) + using (var client2 = new TestClient(pauseWriterThreshold: 2)) + { + var manager = CreateNewHubLifetimeManager(); + var connection1 = HubConnectionContextUtils.Create(client1.Connection, userIdentifier: "user"); + var connection2 = HubConnectionContextUtils.Create(client2.Connection, userIdentifier: "user"); + await manager.OnConnectedAsync(connection1).OrTimeout(); + await manager.OnConnectedAsync(connection2).OrTimeout(); + var cts = new CancellationTokenSource(); + var sendTask = manager.SendUserAsync("user", "Hello", new object[] { "World" }, cts.Token).OrTimeout(); + Assert.False(sendTask.IsCompleted); + cts.Cancel(); + await sendTask.OrTimeout(); + var message = Assert.IsType<InvocationMessage>(client1.TryRead()); + Assert.Equal("Hello", message.Target); + Assert.Single(message.Arguments); + Assert.Equal("World", (string)message.Arguments[0]); + var tcs = new TaskCompletionSource<object>(TaskCreationOptions.RunContinuationsAsynchronously); + connection2.ConnectionAborted.Register(t => + { + ((TaskCompletionSource<object>)t).SetResult(null); + }, tcs); + await tcs.Task.OrTimeout(); + Assert.False(connection1.ConnectionAborted.IsCancellationRequested); + } + } + + [Fact] + public async Task SendUsersAsyncWillCancelWithToken() + { + using (var client1 = new TestClient()) + using (var client2 = new TestClient(pauseWriterThreshold: 2)) + { + var manager = CreateNewHubLifetimeManager(); + var connection1 = HubConnectionContextUtils.Create(client1.Connection, userIdentifier: "user1"); + var connection2 = HubConnectionContextUtils.Create(client2.Connection, userIdentifier: "user2"); + await manager.OnConnectedAsync(connection1).OrTimeout(); + await manager.OnConnectedAsync(connection2).OrTimeout(); + var cts = new CancellationTokenSource(); + var sendTask = manager.SendUsersAsync(new List<string> { "user1", "user2" }, "Hello", new object[] { "World" }, cts.Token).OrTimeout(); + Assert.False(sendTask.IsCompleted); + cts.Cancel(); + await sendTask.OrTimeout(); + var message = Assert.IsType<InvocationMessage>(client1.TryRead()); + Assert.Equal("Hello", message.Target); + Assert.Single(message.Arguments); + Assert.Equal("World", (string)message.Arguments[0]); + var tcs = new TaskCompletionSource<object>(TaskCreationOptions.RunContinuationsAsynchronously); + connection2.ConnectionAborted.Register(t => + { + ((TaskCompletionSource<object>)t).SetResult(null); + }, tcs); + await tcs.Task.OrTimeout(); + Assert.False(connection1.ConnectionAborted.IsCancellationRequested); + } + } } } diff --git a/src/SignalR/server/SignalR/test/HubConnectionHandlerTests.cs b/src/SignalR/server/SignalR/test/HubConnectionHandlerTests.cs index 31cd9f520620..7ea759cba3f0 100644 --- a/src/SignalR/server/SignalR/test/HubConnectionHandlerTests.cs +++ b/src/SignalR/server/SignalR/test/HubConnectionHandlerTests.cs @@ -6,9 +6,11 @@ using System.Collections.Generic; using System.Diagnostics; using System.IO; +using System.IO.Pipelines; using System.Linq; using System.Security.Claims; using System.Text; +using System.Threading; using System.Threading.Tasks; using MessagePack; using MessagePack.Formatters; @@ -16,7 +18,6 @@ using Microsoft.AspNetCore.Connections; using Microsoft.AspNetCore.Http; using Microsoft.AspNetCore.Http.Connections.Features; -using Microsoft.AspNetCore.Http.Connections.Internal; using Microsoft.AspNetCore.SignalR.Internal; using Microsoft.AspNetCore.SignalR.Protocol; using Microsoft.AspNetCore.Testing; @@ -2796,6 +2797,127 @@ public async Task ReceivingMessagesPreventsConnectionTimeoutFromOccuring() } } + internal class PipeReaderWrapper : PipeReader + { + private readonly PipeReader _originalPipeReader; + private TaskCompletionSource<object> _waitForRead; + private object _lock = new object(); + + public PipeReaderWrapper(PipeReader pipeReader) + { + _originalPipeReader = pipeReader; + _waitForRead = new TaskCompletionSource<object>(TaskCreationOptions.RunContinuationsAsynchronously); + } + + public override void AdvanceTo(SequencePosition consumed) => + _originalPipeReader.AdvanceTo(consumed); + + public override void AdvanceTo(SequencePosition consumed, SequencePosition examined) => + _originalPipeReader.AdvanceTo(consumed, examined); + + public override void CancelPendingRead() => + _originalPipeReader.CancelPendingRead(); + + public override void Complete(Exception exception = null) => + _originalPipeReader.Complete(exception); + + public override async ValueTask<ReadResult> ReadAsync(CancellationToken cancellationToken = default) + { + lock (_lock) + { + _waitForRead.SetResult(null); + } + + try + { + return await _originalPipeReader.ReadAsync(cancellationToken); + } + finally + { + lock (_lock) + { + _waitForRead = new TaskCompletionSource<object>(TaskCreationOptions.RunContinuationsAsynchronously); + } + } + } + + public override bool TryRead(out ReadResult result) => + _originalPipeReader.TryRead(out result); + + public Task WaitForReadStart() + { + lock (_lock) + { + return _waitForRead.Task; + } + } + } + + internal class CustomDuplex : IDuplexPipe + { + private readonly IDuplexPipe _originalDuplexPipe; + public readonly PipeReaderWrapper WrappedPipeReader; + + public CustomDuplex(IDuplexPipe duplexPipe) + { + _originalDuplexPipe = duplexPipe; + WrappedPipeReader = new PipeReaderWrapper(_originalDuplexPipe.Input); + } + + public PipeReader Input => WrappedPipeReader; + + public PipeWriter Output => _originalDuplexPipe.Output; + } + + [Fact] + public async Task HubMethodInvokeDoesNotCountTowardsClientTimeout() + { + using (StartVerifiableLog()) + { + var tcsService = new TcsService(); + var serviceProvider = HubConnectionHandlerTestUtils.CreateServiceProvider(services => + { + services.Configure<HubOptions>(options => + options.ClientTimeoutInterval = TimeSpan.FromMilliseconds(0)); + services.AddSingleton(tcsService); + }, LoggerFactory); + var connectionHandler = serviceProvider.GetService<HubConnectionHandler<LongRunningHub>>(); + + using (var client = new TestClient(new JsonHubProtocol())) + { + var customDuplex = new CustomDuplex(client.Connection.Transport); + client.Connection.Transport = customDuplex; + + var connectionHandlerTask = await client.ConnectAsync(connectionHandler); + // This starts the timeout logic + await client.SendHubMessageAsync(PingMessage.Instance); + + // Call long running hub method + var hubMethodTask = client.InvokeAsync(nameof(LongRunningHub.LongRunningMethod)); + await tcsService.StartedMethod.Task.OrTimeout(); + + // Tick heartbeat while hub method is running to show that close isn't triggered + client.TickHeartbeat(); + + // Unblock long running hub method + tcsService.EndMethod.SetResult(null); + + await hubMethodTask.OrTimeout(); + + // There is a small window when the hub method finishes and the timer starts again + // So we need to delay a little before ticking the heart beat. + // We do this by waiting until we know the HubConnectionHandler code is in pipe.ReadAsync() + await customDuplex.WrappedPipeReader.WaitForReadStart().OrTimeout(); + + // Tick heartbeat again now that we're outside of the hub method + client.TickHeartbeat(); + + // Connection is closed + await connectionHandlerTask.OrTimeout(); + } + } + } + [Fact] public async Task EndingConnectionSendsCloseMessageWithNoError() { diff --git a/src/SignalR/server/SignalR/test/Microsoft.AspNetCore.SignalR.Tests.csproj b/src/SignalR/server/SignalR/test/Microsoft.AspNetCore.SignalR.Tests.csproj index ff9d0f1d01b3..15574498b1ea 100644 --- a/src/SignalR/server/SignalR/test/Microsoft.AspNetCore.SignalR.Tests.csproj +++ b/src/SignalR/server/SignalR/test/Microsoft.AspNetCore.SignalR.Tests.csproj @@ -2,6 +2,8 @@ <PropertyGroup> <TargetFramework>$(DefaultNetCoreTargetFramework)</TargetFramework> + <!-- Avoid CS1705 errors due to mix of assemblies brought in transitively. --> + <CompileUsingReferenceAssemblies>false</CompileUsingReferenceAssemblies> </PropertyGroup> <ItemGroup> diff --git a/src/SignalR/server/Specification.Tests/src/Microsoft.AspNetCore.SignalR.Specification.Tests.csproj b/src/SignalR/server/Specification.Tests/src/Microsoft.AspNetCore.SignalR.Specification.Tests.csproj index acc91b8abef5..932181d40800 100644 --- a/src/SignalR/server/Specification.Tests/src/Microsoft.AspNetCore.SignalR.Specification.Tests.csproj +++ b/src/SignalR/server/Specification.Tests/src/Microsoft.AspNetCore.SignalR.Specification.Tests.csproj @@ -3,8 +3,10 @@ <PropertyGroup> <Description>Tests for users to verify their own implementations of SignalR types</Description> <TargetFramework>$(DefaultNetCoreTargetFramework)</TargetFramework> - <IsShippingPackage>true</IsShippingPackage> + <IsPackable>true</IsPackable> <HasReferenceAssembly>false</HasReferenceAssembly> + <!-- Avoid CS1705 errors due to mix of assemblies brought in transitively. --> + <CompileUsingReferenceAssemblies>false</CompileUsingReferenceAssemblies> </PropertyGroup> <ItemGroup> @@ -23,6 +25,8 @@ <Reference Include="Microsoft.AspNetCore.SignalR.Protocols.NewtonsoftJson" /> <Reference Include="xunit.assert" /> <Reference Include="xunit.extensibility.core" /> + <!-- Avoid CS1705 errors due to mix of assemblies brought in transitively. --> + <Reference Include="Microsoft.AspNetCore.SignalR.Common" /> </ItemGroup> </Project> diff --git a/src/SignalR/server/StackExchangeRedis/ref/Microsoft.AspNetCore.SignalR.StackExchangeRedis.csproj b/src/SignalR/server/StackExchangeRedis/ref/Microsoft.AspNetCore.SignalR.StackExchangeRedis.csproj deleted file mode 100644 index 107b56273ac2..000000000000 --- a/src/SignalR/server/StackExchangeRedis/ref/Microsoft.AspNetCore.SignalR.StackExchangeRedis.csproj +++ /dev/null @@ -1,13 +0,0 @@ -<!-- This file is automatically generated. --> -<Project Sdk="Microsoft.NET.Sdk"> - <PropertyGroup> - <TargetFrameworks>$(DefaultNetCoreTargetFramework)</TargetFrameworks> - </PropertyGroup> - <ItemGroup Condition="'$(TargetFramework)' == '$(DefaultNetCoreTargetFramework)'"> - <Compile Include="Microsoft.AspNetCore.SignalR.StackExchangeRedis.netcoreapp.cs" /> - <Reference Include="Microsoft.Extensions.Options" /> - <Reference Include="StackExchange.Redis" /> - <Reference Include="MessagePack" /> - <Reference Include="Microsoft.AspNetCore.SignalR.Core" /> - </ItemGroup> -</Project> diff --git a/src/SignalR/server/StackExchangeRedis/ref/Microsoft.AspNetCore.SignalR.StackExchangeRedis.netcoreapp.cs b/src/SignalR/server/StackExchangeRedis/ref/Microsoft.AspNetCore.SignalR.StackExchangeRedis.netcoreapp.cs deleted file mode 100644 index b71edc21996e..000000000000 --- a/src/SignalR/server/StackExchangeRedis/ref/Microsoft.AspNetCore.SignalR.StackExchangeRedis.netcoreapp.cs +++ /dev/null @@ -1,42 +0,0 @@ -// Copyright (c) .NET Foundation. All rights reserved. -// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. - -namespace Microsoft.AspNetCore.SignalR.StackExchangeRedis -{ - public partial class RedisHubLifetimeManager<THub> : Microsoft.AspNetCore.SignalR.HubLifetimeManager<THub>, System.IDisposable where THub : Microsoft.AspNetCore.SignalR.Hub - { - public RedisHubLifetimeManager(Microsoft.Extensions.Logging.ILogger<Microsoft.AspNetCore.SignalR.StackExchangeRedis.RedisHubLifetimeManager<THub>> logger, Microsoft.Extensions.Options.IOptions<Microsoft.AspNetCore.SignalR.StackExchangeRedis.RedisOptions> options, Microsoft.AspNetCore.SignalR.IHubProtocolResolver hubProtocolResolver) { } - public RedisHubLifetimeManager(Microsoft.Extensions.Logging.ILogger<Microsoft.AspNetCore.SignalR.StackExchangeRedis.RedisHubLifetimeManager<THub>> logger, Microsoft.Extensions.Options.IOptions<Microsoft.AspNetCore.SignalR.StackExchangeRedis.RedisOptions> options, Microsoft.AspNetCore.SignalR.IHubProtocolResolver hubProtocolResolver, Microsoft.Extensions.Options.IOptions<Microsoft.AspNetCore.SignalR.HubOptions> globalHubOptions, Microsoft.Extensions.Options.IOptions<Microsoft.AspNetCore.SignalR.HubOptions<THub>> hubOptions) { } - public override System.Threading.Tasks.Task AddToGroupAsync(string connectionId, string groupName, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) { throw null; } - public void Dispose() { } - [System.Diagnostics.DebuggerStepThroughAttribute] - public override System.Threading.Tasks.Task OnConnectedAsync(Microsoft.AspNetCore.SignalR.HubConnectionContext connection) { throw null; } - public override System.Threading.Tasks.Task OnDisconnectedAsync(Microsoft.AspNetCore.SignalR.HubConnectionContext connection) { throw null; } - public override System.Threading.Tasks.Task RemoveFromGroupAsync(string connectionId, string groupName, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) { throw null; } - public override System.Threading.Tasks.Task SendAllAsync(string methodName, object[] args, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) { throw null; } - public override System.Threading.Tasks.Task SendAllExceptAsync(string methodName, object[] args, System.Collections.Generic.IReadOnlyList<string> excludedConnectionIds, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) { throw null; } - public override System.Threading.Tasks.Task SendConnectionAsync(string connectionId, string methodName, object[] args, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) { throw null; } - public override System.Threading.Tasks.Task SendConnectionsAsync(System.Collections.Generic.IReadOnlyList<string> connectionIds, string methodName, object[] args, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) { throw null; } - public override System.Threading.Tasks.Task SendGroupAsync(string groupName, string methodName, object[] args, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) { throw null; } - public override System.Threading.Tasks.Task SendGroupExceptAsync(string groupName, string methodName, object[] args, System.Collections.Generic.IReadOnlyList<string> excludedConnectionIds, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) { throw null; } - public override System.Threading.Tasks.Task SendGroupsAsync(System.Collections.Generic.IReadOnlyList<string> groupNames, string methodName, object[] args, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) { throw null; } - public override System.Threading.Tasks.Task SendUserAsync(string userId, string methodName, object[] args, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) { throw null; } - public override System.Threading.Tasks.Task SendUsersAsync(System.Collections.Generic.IReadOnlyList<string> userIds, string methodName, object[] args, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) { throw null; } - } - public partial class RedisOptions - { - public RedisOptions() { } - public StackExchange.Redis.ConfigurationOptions Configuration { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute] set { } } - public System.Func<System.IO.TextWriter, System.Threading.Tasks.Task<StackExchange.Redis.IConnectionMultiplexer>> ConnectionFactory { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute] set { } } - } -} -namespace Microsoft.Extensions.DependencyInjection -{ - public static partial class StackExchangeRedisDependencyInjectionExtensions - { - public static Microsoft.AspNetCore.SignalR.ISignalRServerBuilder AddStackExchangeRedis(this Microsoft.AspNetCore.SignalR.ISignalRServerBuilder signalrBuilder) { throw null; } - public static Microsoft.AspNetCore.SignalR.ISignalRServerBuilder AddStackExchangeRedis(this Microsoft.AspNetCore.SignalR.ISignalRServerBuilder signalrBuilder, System.Action<Microsoft.AspNetCore.SignalR.StackExchangeRedis.RedisOptions> configure) { throw null; } - public static Microsoft.AspNetCore.SignalR.ISignalRServerBuilder AddStackExchangeRedis(this Microsoft.AspNetCore.SignalR.ISignalRServerBuilder signalrBuilder, string redisConnectionString) { throw null; } - public static Microsoft.AspNetCore.SignalR.ISignalRServerBuilder AddStackExchangeRedis(this Microsoft.AspNetCore.SignalR.ISignalRServerBuilder signalrBuilder, string redisConnectionString, System.Action<Microsoft.AspNetCore.SignalR.StackExchangeRedis.RedisOptions> configure) { throw null; } - } -} diff --git a/src/SignalR/server/StackExchangeRedis/src/Microsoft.AspNetCore.SignalR.StackExchangeRedis.csproj b/src/SignalR/server/StackExchangeRedis/src/Microsoft.AspNetCore.SignalR.StackExchangeRedis.csproj index affff6ae4afe..731b94720d86 100644 --- a/src/SignalR/server/StackExchangeRedis/src/Microsoft.AspNetCore.SignalR.StackExchangeRedis.csproj +++ b/src/SignalR/server/StackExchangeRedis/src/Microsoft.AspNetCore.SignalR.StackExchangeRedis.csproj @@ -3,7 +3,7 @@ <PropertyGroup> <Description>Provides scale-out support for ASP.NET Core SignalR using a Redis server and the StackExchange.Redis client.</Description> <TargetFramework>$(DefaultNetCoreTargetFramework)</TargetFramework> - <IsShippingPackage>true</IsShippingPackage> + <IsPackable>true</IsPackable> </PropertyGroup> <ItemGroup> diff --git a/src/SignalR/server/StackExchangeRedis/test/Microsoft.AspNetCore.SignalR.StackExchangeRedis.Tests.csproj b/src/SignalR/server/StackExchangeRedis/test/Microsoft.AspNetCore.SignalR.StackExchangeRedis.Tests.csproj index c884296369d9..e9395224a656 100644 --- a/src/SignalR/server/StackExchangeRedis/test/Microsoft.AspNetCore.SignalR.StackExchangeRedis.Tests.csproj +++ b/src/SignalR/server/StackExchangeRedis/test/Microsoft.AspNetCore.SignalR.StackExchangeRedis.Tests.csproj @@ -2,6 +2,8 @@ <PropertyGroup> <TargetFramework>$(DefaultNetCoreTargetFramework)</TargetFramework> + <!-- Avoid CS1705 errors due to mix of assemblies brought in transitively. --> + <CompileUsingReferenceAssemblies>false</CompileUsingReferenceAssemblies> </PropertyGroup> <ItemGroup> diff --git a/src/SiteExtensions/LoggingAggregate/src/Microsoft.AspNetCore.AzureAppServices.SiteExtension/Microsoft.AspNetCore.AzureAppServices.SiteExtension.csproj b/src/SiteExtensions/LoggingAggregate/src/Microsoft.AspNetCore.AzureAppServices.SiteExtension/Microsoft.AspNetCore.AzureAppServices.SiteExtension.csproj index 82e665d1c0a7..89cf2174e0b2 100644 --- a/src/SiteExtensions/LoggingAggregate/src/Microsoft.AspNetCore.AzureAppServices.SiteExtension/Microsoft.AspNetCore.AzureAppServices.SiteExtension.csproj +++ b/src/SiteExtensions/LoggingAggregate/src/Microsoft.AspNetCore.AzureAppServices.SiteExtension/Microsoft.AspNetCore.AzureAppServices.SiteExtension.csproj @@ -15,7 +15,9 @@ <GeneratePackageOnBuild>true</GeneratePackageOnBuild> <DisablePackageReferenceRestrictions>true</DisablePackageReferenceRestrictions> <NoSemVer20>true</NoSemVer20> - <IsShippingPackage>true</IsShippingPackage> + <IsPackable>true</IsPackable> + <ReferenceReferenceAssemblies>false</ReferenceReferenceAssemblies> + <ReferenceImplementationAssemblies>true</ReferenceImplementationAssemblies> <!-- Grab packages LB.csproj should have just built. --> <RestoreAdditionalProjectSources>$(RestoreAdditionalProjectSources);$(ArtifactsNonShippingPackagesDir)</RestoreAdditionalProjectSources> @@ -24,8 +26,11 @@ <ItemGroup> <Reference Include="Microsoft.AspNetCore.AzureAppServices.SiteExtension.2.1" Version="$(MicrosoftAspNetCoreAzureAppServicesSiteExtension21PackageVersion)" PrivateAssets="All" /> <Reference Include="Microsoft.AspNetCore.AzureAppServices.SiteExtension.2.2" Version="$(MicrosoftAspNetCoreAzureAppServicesSiteExtension22PackageVersion)" PrivateAssets="All" /> - <PackageReference Include="Microsoft.AspNetCore.AzureAppServices.SiteExtension.5.0.x86" Version="$(PackageVersion)" PrivateAssets="All" /> - <PackageReference Include="Microsoft.AspNetCore.AzureAppServices.SiteExtension.5.0.x64" Version="$(PackageVersion)" PrivateAssets="All" /> + <PackageReference Include="Microsoft.AspNetCore.AzureAppServices.SiteExtension.5.0.x86" Version="$(PackageVersion)-$(_PreReleaseLabel)" PrivateAssets="All" /> + <PackageReference Include="Microsoft.AspNetCore.AzureAppServices.SiteExtension.5.0.x64" Version="$(PackageVersion)-$(_PreReleaseLabel)" PrivateAssets="All" /> + <!-- When updating this add the previous SiteExtension(s) to the list above --> + <PackageReference Include="Microsoft.AspNetCore.AzureAppServices.SiteExtension.3.1.x64" Version="$(PackageVersion)-$(_PreReleaseLabel)" PrivateAssets="All" /> + <PackageReference Include="Microsoft.AspNetCore.AzureAppServices.SiteExtension.3.1.x86" Version="$(PackageVersion)-$(_PreReleaseLabel)" PrivateAssets="All" /> </ItemGroup> <ItemGroup> diff --git a/src/SiteExtensions/LoggingAggregate/test/Microsoft.AspNetCore.AzureAppServices.SiteExtension.Tests/TransformTest.cs b/src/SiteExtensions/LoggingAggregate/test/Microsoft.AspNetCore.AzureAppServices.SiteExtension.Tests/TransformTest.cs index 148048380490..6e933e4fe7c2 100644 --- a/src/SiteExtensions/LoggingAggregate/test/Microsoft.AspNetCore.AzureAppServices.SiteExtension.Tests/TransformTest.cs +++ b/src/SiteExtensions/LoggingAggregate/test/Microsoft.AspNetCore.AzureAppServices.SiteExtension.Tests/TransformTest.cs @@ -31,7 +31,7 @@ public void Transform_EmptyConfig_Added(string configFile) var depsElement = envNode.FirstChild; Assert.Equal("add", depsElement.Name); Assert.Equal("DOTNET_ADDITIONAL_DEPS", depsElement.Attributes["name"].Value); - Assert.Equal($@"{XdtExtensionPath}\additionalDeps\Microsoft.AspNetCore.AzureAppServices.HostingStartup\;" + + Assert.Equal($@"{XdtExtensionPath}\additionalDeps\;{XdtExtensionPath}\additionalDeps\Microsoft.AspNetCore.AzureAppServices.HostingStartup\;" + @"%ProgramFiles%\dotnet\additionalDeps\Microsoft.AspNetCore.AzureAppServices.HostingStartup\", depsElement.Attributes["value"].Value); @@ -62,7 +62,7 @@ public void Transform_ExistingValue_AppendsValue() Assert.Equal("add", depsElement.Name); Assert.Equal("DOTNET_ADDITIONAL_DEPS", depsElement.Attributes["name"].Value); Assert.Equal(@"ExistingValue1;"+ - $@"{XdtExtensionPath}\additionalDeps\Microsoft.AspNetCore.AzureAppServices.HostingStartup\;" + + $@"{XdtExtensionPath}\additionalDeps\;{XdtExtensionPath}\additionalDeps\Microsoft.AspNetCore.AzureAppServices.HostingStartup\;" + @"%ProgramFiles%\dotnet\additionalDeps\Microsoft.AspNetCore.AzureAppServices.HostingStartup\", depsElement.Attributes["value"].Value); diff --git a/src/SiteExtensions/LoggingBranch/LB.csproj b/src/SiteExtensions/LoggingBranch/LB.csproj index 5367207897b1..1cf9f52287fc 100644 --- a/src/SiteExtensions/LoggingBranch/LB.csproj +++ b/src/SiteExtensions/LoggingBranch/LB.csproj @@ -31,6 +31,9 @@ </ProjectReference> </ItemGroup> + <!-- No code in this project to compile. --> + <Target Name="Compile" /> + <!-- Cannot assume this project and Microsoft.AspNetCore.AzureAppServices.HostingStartup have the same package version. --> <Target Name="_GetHostingStartupPackageReference" BeforeTargets="GenerateHostingStartupDeps"> <!-- This target is defined in eng/targets/Packaging.targets and included in every C# and F# project. --> diff --git a/src/SiteExtensions/Runtime/Microsoft.AspNetCore.Runtime.SiteExtension.pkgproj b/src/SiteExtensions/Runtime/Microsoft.AspNetCore.Runtime.SiteExtension.pkgproj index 1e9d62825872..6b7e0dc606cf 100644 --- a/src/SiteExtensions/Runtime/Microsoft.AspNetCore.Runtime.SiteExtension.pkgproj +++ b/src/SiteExtensions/Runtime/Microsoft.AspNetCore.Runtime.SiteExtension.pkgproj @@ -12,7 +12,7 @@ <RuntimeIdentifier>$(TargetRuntimeIdentifier)</RuntimeIdentifier> <NoPackageAnalysis>true</NoPackageAnalysis> <DotNetUnpackFolder>$(RedistSharedFrameworkLayoutRoot)</DotNetUnpackFolder> - <IsShippingPackage>true</IsShippingPackage> + <IsPackable>true</IsPackable> <NoSemVer20>true</NoSemVer20> </PropertyGroup> diff --git a/src/SiteExtensions/Sdk/SiteExtension.targets b/src/SiteExtensions/Sdk/SiteExtension.targets index 3c4e9c9b5d06..c2bf7ea61a28 100644 --- a/src/SiteExtensions/Sdk/SiteExtension.targets +++ b/src/SiteExtensions/Sdk/SiteExtension.targets @@ -42,6 +42,11 @@ <ItemGroup> <_TemplateFiles Include="$(MSBuildThisFileDirectory)\HostingStartup\*.cs*" /> + <!-- + Always use Major.Minor.0 so that if we have to produce a new SiteExtension during a patch build it will still work for non-patch runtimes. + i.e. 3.0.0 dotnet will search for 3.0.0 and below and wouldn't find a 3.0.1 folder path + Side effect, also removes the -ci or -servicing label. + --> <_HostingStartupPackageReference Include="%(HostingStartupPackageReference.Identity)" Source="%(HostingStartupPackageReference.Source)" @@ -50,7 +55,7 @@ Project="$(_DepsOutputDirectory)%(HostingStartupPackageReference.Identity)\HostingStartup.csproj" DepsFile="$(_DepsOutputDirectory)%(HostingStartupPackageReference.Identity)\p\HostingStartup.deps.json" TrimmedDepsFile="$(_DepsOutputDirectory)%(HostingStartupPackageReference.Identity)\%(HostingStartupPackageReference.Identity).deps.json" - PackagePath="$(_BasePackagePath)\shared\Microsoft.AspNetCore.App\$(MicrosoftAspNetCoreAppPackageVersion)\" + PackagePath="$(_BasePackagePath)\shared\Microsoft.AspNetCore.App\$(AspNetCoreMajorMinorVersion).0\" /> </ItemGroup> <MakeDir Directories="$(_DepsOutputDirectory)" /> diff --git a/src/Tools/Extensions.ApiDescription.Client/src/Microsoft.Extensions.ApiDescription.Client.csproj b/src/Tools/Extensions.ApiDescription.Client/src/Microsoft.Extensions.ApiDescription.Client.csproj index c50a0115fa5c..0c631a621177 100644 --- a/src/Tools/Extensions.ApiDescription.Client/src/Microsoft.Extensions.ApiDescription.Client.csproj +++ b/src/Tools/Extensions.ApiDescription.Client/src/Microsoft.Extensions.ApiDescription.Client.csproj @@ -8,7 +8,7 @@ <NuspecFile>$(MSBuildProjectName).nuspec</NuspecFile> <PackageId>$(MSBuildProjectName)</PackageId> <PackageTags>Build Tasks;MSBuild;Swagger;OpenAPI;code generation;Web API client;service reference</PackageTags> - <IsShippingPackage>true</IsShippingPackage> + <IsPackable>true</IsPackable> <TargetFrameworks>netstandard2.0</TargetFrameworks> <DevelopmentDependency>true</DevelopmentDependency> <HasReferenceAssembly>false</HasReferenceAssembly> diff --git a/src/Tools/Extensions.ApiDescription.Server/src/Microsoft.Extensions.ApiDescription.Server.csproj b/src/Tools/Extensions.ApiDescription.Server/src/Microsoft.Extensions.ApiDescription.Server.csproj index e0d39cff01fc..40ddf13258e8 100644 --- a/src/Tools/Extensions.ApiDescription.Server/src/Microsoft.Extensions.ApiDescription.Server.csproj +++ b/src/Tools/Extensions.ApiDescription.Server/src/Microsoft.Extensions.ApiDescription.Server.csproj @@ -11,7 +11,7 @@ <NuspecFile>$(MSBuildProjectName).nuspec</NuspecFile> <PackageId>$(MSBuildProjectName)</PackageId> <PackageTags>MSBuild;Swagger;OpenAPI;code generation;Web API;service reference;document generation</PackageTags> - <IsShippingPackage>true</IsShippingPackage> + <IsPackable>true</IsPackable> <DevelopmentDependency>true</DevelopmentDependency> <!-- diff --git a/src/Tools/FirstRunCertGenerator/src/CertificateGenerator.cs b/src/Tools/FirstRunCertGenerator/src/CertificateGenerator.cs index d3f58eae35c5..d3a94baf2ec6 100644 --- a/src/Tools/FirstRunCertGenerator/src/CertificateGenerator.cs +++ b/src/Tools/FirstRunCertGenerator/src/CertificateGenerator.cs @@ -9,7 +9,7 @@ public static void GenerateAspNetHttpsCertificate() { var manager = new CertificateManager(); var now = DateTimeOffset.Now; - manager.EnsureAspNetCoreHttpsDevelopmentCertificate(now, now.AddYears(1)); + manager.EnsureAspNetCoreHttpsDevelopmentCertificate(now, now.AddYears(1), isInteractive: false); } } } diff --git a/src/Tools/FirstRunCertGenerator/test/CertificateManagerTests.cs b/src/Tools/FirstRunCertGenerator/test/CertificateManagerTests.cs index 5e131c2afd20..5651ba46220d 100644 --- a/src/Tools/FirstRunCertGenerator/test/CertificateManagerTests.cs +++ b/src/Tools/FirstRunCertGenerator/test/CertificateManagerTests.cs @@ -42,7 +42,7 @@ public void EnsureCreateHttpsCertificate_CreatesACertificate_WhenThereAreNoHttps // Act DateTimeOffset now = DateTimeOffset.UtcNow; now = new DateTimeOffset(now.Year, now.Month, now.Day, now.Hour, now.Minute, now.Second, 0, now.Offset); - var result = _manager.EnsureAspNetCoreHttpsDevelopmentCertificate(now, now.AddYears(1), CertificateName, trust: false, subject: TestCertificateSubject); + var result = _manager.EnsureAspNetCoreHttpsDevelopmentCertificate(now, now.AddYears(1), CertificateName, trust: false, subject: TestCertificateSubject, isInteractive: false); // Assert Assert.Equal(EnsureCertificateResult.Succeeded, result.ResultCode); @@ -135,12 +135,12 @@ public void EnsureCreateHttpsCertificate_DoesNotCreateACertificate_WhenThereIsAn DateTimeOffset now = DateTimeOffset.UtcNow; now = new DateTimeOffset(now.Year, now.Month, now.Day, now.Hour, now.Minute, now.Second, 0, now.Offset); - _manager.EnsureAspNetCoreHttpsDevelopmentCertificate(now, now.AddYears(1), path: null, trust: false, subject: TestCertificateSubject); + _manager.EnsureAspNetCoreHttpsDevelopmentCertificate(now, now.AddYears(1), path: null, trust: false, subject: TestCertificateSubject, isInteractive: false); var httpsCertificate = CertificateManager.ListCertificates(CertificatePurpose.HTTPS, StoreName.My, StoreLocation.CurrentUser, isValid: false).Single(c => c.Subject == TestCertificateSubject); // Act - var result = _manager.EnsureAspNetCoreHttpsDevelopmentCertificate(now, now.AddYears(1), CertificateName, trust: false, includePrivateKey: true, password: certificatePassword, subject: TestCertificateSubject); + var result = _manager.EnsureAspNetCoreHttpsDevelopmentCertificate(now, now.AddYears(1), CertificateName, trust: false, includePrivateKey: true, password: certificatePassword, subject: TestCertificateSubject, isInteractive: false); // Assert Assert.Equal(EnsureCertificateResult.ValidCertificatePresent, result.ResultCode); @@ -162,7 +162,7 @@ public void EnsureCreateHttpsCertificate_ReturnsExpiredCertificateIfVersionIsInc DateTimeOffset now = DateTimeOffset.UtcNow; now = new DateTimeOffset(now.Year, now.Month, now.Day, now.Hour, now.Minute, now.Second, 0, now.Offset); - _manager.EnsureAspNetCoreHttpsDevelopmentCertificate(now, now.AddYears(1), path: null, trust: false, subject: TestCertificateSubject); + _manager.EnsureAspNetCoreHttpsDevelopmentCertificate(now, now.AddYears(1), path: null, trust: false, subject: TestCertificateSubject, isInteractive: false); CertificateManager.AspNetHttpsCertificateVersion = 2; @@ -179,7 +179,7 @@ public void EnsureCreateHttpsCertificate_ReturnsExpiredCertificateForEmptyVersio DateTimeOffset now = DateTimeOffset.UtcNow; now = new DateTimeOffset(now.Year, now.Month, now.Day, now.Hour, now.Minute, now.Second, 0, now.Offset); CertificateManager.AspNetHttpsCertificateVersion = 0; - _manager.EnsureAspNetCoreHttpsDevelopmentCertificate(now, now.AddYears(1), path: null, trust: false, subject: TestCertificateSubject); + _manager.EnsureAspNetCoreHttpsDevelopmentCertificate(now, now.AddYears(1), path: null, trust: false, subject: TestCertificateSubject, isInteractive: false); CertificateManager.AspNetHttpsCertificateVersion = 1; @@ -196,7 +196,7 @@ public void EnsureCreateHttpsCertificate_ReturnsValidIfVersionIsZero() DateTimeOffset now = DateTimeOffset.UtcNow; now = new DateTimeOffset(now.Year, now.Month, now.Day, now.Hour, now.Minute, now.Second, 0, now.Offset); CertificateManager.AspNetHttpsCertificateVersion = 0; - _manager.EnsureAspNetCoreHttpsDevelopmentCertificate(now, now.AddYears(1), path: null, trust: false, subject: TestCertificateSubject); + _manager.EnsureAspNetCoreHttpsDevelopmentCertificate(now, now.AddYears(1), path: null, trust: false, subject: TestCertificateSubject, isInteractive: false); var httpsCertificateList = CertificateManager.ListCertificates(CertificatePurpose.HTTPS, StoreName.My, StoreLocation.CurrentUser, isValid: true); Assert.NotEmpty(httpsCertificateList); @@ -211,7 +211,7 @@ public void EnsureCreateHttpsCertificate_ReturnValidIfCertIsNewer() DateTimeOffset now = DateTimeOffset.UtcNow; now = new DateTimeOffset(now.Year, now.Month, now.Day, now.Hour, now.Minute, now.Second, 0, now.Offset); CertificateManager.AspNetHttpsCertificateVersion = 2; - _manager.EnsureAspNetCoreHttpsDevelopmentCertificate(now, now.AddYears(1), path: null, trust: false, subject: TestCertificateSubject); + _manager.EnsureAspNetCoreHttpsDevelopmentCertificate(now, now.AddYears(1), path: null, trust: false, subject: TestCertificateSubject, isInteractive: false); CertificateManager.AspNetHttpsCertificateVersion = 1; var httpsCertificateList = CertificateManager.ListCertificates(CertificatePurpose.HTTPS, StoreName.My, StoreLocation.CurrentUser, isValid: true); @@ -225,7 +225,7 @@ public void EnsureAspNetCoreHttpsDevelopmentCertificate_ReturnsCorrectResult_Whe DateTimeOffset now = DateTimeOffset.UtcNow; now = new DateTimeOffset(now.Year, now.Month, now.Day, now.Hour, now.Minute, now.Second, 0, now.Offset); - var trustFailed = _manager.EnsureAspNetCoreHttpsDevelopmentCertificate(now, now.AddYears(1), path: null, trust: true, subject: TestCertificateSubject); + var trustFailed = _manager.EnsureAspNetCoreHttpsDevelopmentCertificate(now, now.AddYears(1), path: null, trust: true, subject: TestCertificateSubject, isInteractive: false); Assert.Equal(EnsureCertificateResult.UserCancelledTrustStep, trustFailed.ResultCode); } @@ -237,7 +237,7 @@ public void EnsureAspNetCoreHttpsDevelopmentCertificate_CanRemoveCertificates() DateTimeOffset now = DateTimeOffset.UtcNow; now = new DateTimeOffset(now.Year, now.Month, now.Day, now.Hour, now.Minute, now.Second, 0, now.Offset); - _manager.EnsureAspNetCoreHttpsDevelopmentCertificate(now, now.AddYears(1), path: null, trust: true, subject: TestCertificateSubject); + _manager.EnsureAspNetCoreHttpsDevelopmentCertificate(now, now.AddYears(1), path: null, trust: true, subject: TestCertificateSubject, isInteractive: false); _manager.CleanupHttpsCertificates(TestCertificateSubject); diff --git a/src/Tools/Microsoft.dotnet-openapi/src/Microsoft.dotnet-openapi.csproj b/src/Tools/Microsoft.dotnet-openapi/src/Microsoft.dotnet-openapi.csproj index 35e9c96c788c..df92164ffe81 100644 --- a/src/Tools/Microsoft.dotnet-openapi/src/Microsoft.dotnet-openapi.csproj +++ b/src/Tools/Microsoft.dotnet-openapi/src/Microsoft.dotnet-openapi.csproj @@ -7,7 +7,7 @@ <AssemblyName>dotnet-openapi</AssemblyName> <PackageId>Microsoft.dotnet-openapi</PackageId> <PackAsTool>true</PackAsTool> - <IsShippingPackage>true</IsShippingPackage> + <IsPackable>true</IsPackable> </PropertyGroup> <ItemGroup> diff --git a/src/Tools/dotnet-dev-certs/src/Program.cs b/src/Tools/dotnet-dev-certs/src/Program.cs index 2c58ff4947fc..0afc7057357c 100644 --- a/src/Tools/dotnet-dev-certs/src/Program.cs +++ b/src/Tools/dotnet-dev-certs/src/Program.cs @@ -24,6 +24,7 @@ internal class Program private const int ErrorNoValidCertificateFound = 6; private const int ErrorCertificateNotTrusted = 7; private const int ErrorCleaningUpCertificates = 8; + private const int ErrorMacOsCertificateKeyCouldNotBeAccessible = 9; public static readonly TimeSpan HttpsCertificateValidity = TimeSpan.FromDays(365); @@ -158,7 +159,15 @@ private static int CheckHttpsCertificate(CommandOption trust, IReporter reporter } else { - reporter.Output("A valid certificate was found."); + if (RuntimeInformation.IsOSPlatform(OSPlatform.OSX) && certificateManager.HasValidCertificateWithInnaccessibleKeyAcrossPartitions()) + { + reporter.Warn($"A valid HTTPS certificate was found but it may not be accessible across security partitions. Run dotnet dev-certs https to ensure it will be accessible during development."); + return ErrorMacOsCertificateKeyCouldNotBeAccessible; + } + else + { + reporter.Verbose("A valid certificate was found."); + } } if (trust != null && trust.HasValue()) @@ -185,6 +194,20 @@ private static int EnsureHttpsCertificate(CommandOption exportPath, CommandOptio var now = DateTimeOffset.Now; var manager = new CertificateManager(); + if (RuntimeInformation.IsOSPlatform(OSPlatform.OSX) && manager.HasValidCertificateWithInnaccessibleKeyAcrossPartitions() || manager.GetHttpsCertificates().Count == 0) + { + reporter.Warn($"A valid HTTPS certificate with a key accessible across security partitions was not found. The following command will run to fix it:" + Environment.NewLine + + "'sudo security set-key-partition-list -D localhost -S unsigned:,teamid:UBF8T346G9'" + Environment.NewLine + + "This command will make the certificate key accessible across security partitions and might prompt you for your password. For more information see: https://aka.ms/aspnetcore/2.1/troubleshootcertissues"); + } + + if (RuntimeInformation.IsOSPlatform(OSPlatform.OSX) && manager.HasValidCertificateWithInnaccessibleKeyAcrossPartitions() || manager.GetHttpsCertificates().Count == 0) + { + reporter.Warn($"A valid HTTPS certificate with a key accessible across security partitions was not found. The following command will run to fix it:" + Environment.NewLine + + "'sudo security set-key-partition-list -D localhost -S unsigned:,teamid:UBF8T346G9'" + Environment.NewLine + + "This command will make the certificate key accessible across security partitions and might prompt you for your password. For more information see: https://aka.ms/aspnetcore/3.1/troubleshootcertissues"); + } + if (RuntimeInformation.IsOSPlatform(OSPlatform.OSX) && trust?.HasValue() == true) { reporter.Warn("Trusting the HTTPS development certificate was requested. If the certificate is not " + diff --git a/src/Tools/dotnet-sql-cache/src/dotnet-sql-cache.csproj b/src/Tools/dotnet-sql-cache/src/dotnet-sql-cache.csproj index 6fc54a7a871a..caa959582a36 100644 --- a/src/Tools/dotnet-sql-cache/src/dotnet-sql-cache.csproj +++ b/src/Tools/dotnet-sql-cache/src/dotnet-sql-cache.csproj @@ -6,7 +6,7 @@ <Description>Command line tool to create tables and indexes in a Microsoft SQL Server database for distributed caching.</Description> <PackageTags>cache;distributedcache;sqlserver</PackageTags> <PackAsTool>true</PackAsTool> - <IsShippingPackage>true</IsShippingPackage> + <IsPackable>true</IsPackable> </PropertyGroup> <ItemGroup>