Skip to content

Conversation

CarnaViire
Copy link
Member

Fix WebHeaderCollection header restrictions docs according to its implementation.

Header restrictions are not checked since WebHeaderCollection was transferred to .NET Core.

@CarnaViire CarnaViire requested review from gewarren and a team October 12, 2020 16:15
@opbld32
Copy link

opbld32 commented Oct 12, 2020

Docs Build status updates of commit 4f3d5d3:

⚠️ Validation status: warnings

File Status Preview URL Details
xml/Microsoft.Build.Graph/ProjectGraph.xml ⚠️Warning View Details
xml/Microsoft.Extensions.DependencyInjection/PollyHttpClientBuilderExtensions.xml ⚠️Warning View Details
xml/Microsoft.Extensions.DependencyInjection/PollyServiceCollectionExtensions.xml ⚠️Warning View Details
xml/Microsoft.Extensions.Localization/ResourceManagerStringLocalizer.xml ⚠️Warning View Details
xml/System.Net/WebHeaderCollection.xml ✅Succeeded View

xml/Microsoft.Build.Graph/ProjectGraph.xml

  • Line 0, Column 0: [Warning-xref-not-found] Cross reference not found: 'Microsoft.Build.BackEnd.CircularDependencyException'.
  • Line 0, Column 0: [Warning-xref-not-found] Cross reference not found: 'Microsoft.Build.BackEnd.CircularDependencyException'.
  • Line 0, Column 0: [Warning-xref-not-found] Cross reference not found: 'Microsoft.Build.BackEnd.CircularDependencyException'.

xml/Microsoft.Extensions.DependencyInjection/PollyHttpClientBuilderExtensions.xml

  • Line 0, Column 0: [Warning-xref-not-found] Cross reference not found: 'Polly.IAsyncPolicy`1'.
  • Line 0, Column 0: [Warning-xref-not-found] Cross reference not found: 'Polly.Registry.IReadOnlyPolicyRegistry`1'.
  • Line 0, Column 0: [Warning-xref-not-found] Cross reference not found: 'Polly.IAsyncPolicy`1'.
  • Line 0, Column 0: [Warning-xref-not-found] Cross reference not found: 'Polly.Registry.IReadOnlyPolicyRegistry`1'.
  • Line 0, Column 0: [Warning-xref-not-found] Cross reference not found: 'Polly.Registry.IReadOnlyPolicyRegistry`1'.
  • Line 0, Column 0: [Warning-xref-not-found] Cross reference not found: 'Polly.Registry.IReadOnlyPolicyRegistry`1'.
  • Line 0, Column 0: [Warning-xref-not-found] Cross reference not found: 'Polly.IAsyncPolicy`1'.
  • Line 0, Column 0: [Warning-xref-not-found] Cross reference not found: 'Polly.PolicyBuilder`1'.
  • Line 0, Column 0: [Warning-xref-not-found] Cross reference not found: 'Polly.IAsyncPolicy`1'.
  • Line 0, Column 0: [Warning-xref-not-found] Cross reference not found: 'Polly.Policy'.
  • Line 0, Column 0: [Warning-xref-not-found] Cross reference not found: 'Polly.PolicyBuilder`1'.
  • Line 0, Column 0: [Warning-xref-not-found] Cross reference not found: 'Polly.IAsyncPolicy`1'.
  • Line 0, Column 0: [Warning-xref-not-found] Cross reference not found: 'Polly.IAsyncPolicy`1'.
  • Line 0, Column 0: [Warning-xref-not-found] Cross reference not found: 'Polly.IAsyncPolicy`1'.
  • Line 0, Column 0: [Warning-xref-not-found] Cross reference not found: 'Polly.IAsyncPolicy`1'.
  • Line 0, Column 0: [Warning-xref-not-found] Cross reference not found: 'Polly.IAsyncPolicy`1'.
  • Line 0, Column 0: [Warning-xref-not-found] Cross reference not found: 'Polly.IAsyncPolicy`1'.
  • Line 0, Column 0: [Warning-xref-not-found] Cross reference not found: 'Polly.IAsyncPolicy`1'.
  • Line 0, Column 0: [Warning-xref-not-found] Cross reference not found: 'Polly.IAsyncPolicy`1'.
  • Line 0, Column 0: [Warning-xref-not-found] Cross reference not found: 'Polly.IAsyncPolicy`1'.

xml/Microsoft.Extensions.DependencyInjection/PollyServiceCollectionExtensions.xml

  • Line 0, Column 0: [Warning-xref-not-found] Cross reference not found: 'Polly.Registry.IPolicyRegistry`1'.
  • Line 0, Column 0: [Warning-xref-not-found] Cross reference not found: 'Polly.Registry.PolicyRegistry'.
  • Line 0, Column 0: [Warning-xref-not-found] Cross reference not found: 'Polly.Registry.PolicyRegistry'.
  • Line 0, Column 0: [Warning-xref-not-found] Cross reference not found: 'Polly.Registry.IPolicyRegistry`1'.
  • Line 0, Column 0: [Warning-xref-not-found] Cross reference not found: 'Polly.Registry.IReadOnlyPolicyRegistry`1'.
  • Line 0, Column 0: [Warning-xref-not-found] Cross reference not found: 'Polly.Registry.IPolicyRegistry`1'.
  • Line 0, Column 0: [Warning-xref-not-found] Cross reference not found: 'Polly.Registry.IPolicyRegistry`1'.
  • Line 0, Column 0: [Warning-xref-not-found] Cross reference not found: 'Polly.Registry.IPolicyRegistry`1'.
  • Line 0, Column 0: [Warning-xref-not-found] Cross reference not found: 'Polly.Registry.IPolicyRegistry`1'.
  • Line 0, Column 0: [Warning-xref-not-found] Cross reference not found: 'Polly.Registry.IPolicyRegistry`1'.
  • Line 0, Column 0: [Warning-xref-not-found] Cross reference not found: 'Polly.Registry.IPolicyRegistry`1'.
  • Line 0, Column 0: [Warning-xref-not-found] Cross reference not found: 'Polly.Registry.IReadOnlyPolicyRegistry`1'.
  • Line 0, Column 0: [Warning-xref-not-found] Cross reference not found: 'Polly.Registry.IPolicyRegistry`1'.
  • Line 0, Column 0: [Warning-xref-not-found] Cross reference not found: 'Polly.Registry.IReadOnlyPolicyRegistry`1'.

xml/Microsoft.Extensions.Localization/ResourceManagerStringLocalizer.xml

  • Line 0, Column 0: [Warning-xref-not-found] Cross reference not found: 'Microsoft.Extensions.Localization.ResourceManagerStringLocalizer._resourceManager'.
  • Line 0, Column 0: [Warning-xref-not-found] Cross reference not found: 'Microsoft.Extensions.Localization.Internal.AssemblyWrapper'.
  • Line 0, Column 0: [Warning-xref-not-found] Cross reference not found: 'Microsoft.Extensions.Localization.Internal.IResourceStringProvider'.
  • Line 0, Column 0: [Warning-xref-not-found] Cross reference not found: 'Microsoft.Extensions.Localization.Internal.AssemblyWrapper'.
  • Line 0, Column 0: [Warning-xref-not-found] Cross reference not found: 'Microsoft.Extensions.Localization.Internal.IResourceStringProvider'.

For more details, please refer to the build report.

If you see build warnings/errors with permission issues, it might be due to single sign-on (SSO) enabled on Microsoft's GitHub organizations. Please follow instructions here to re-authorize your GitHub account to Docs Build.

Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.

Note: Your PR may contain errors or warnings unrelated to the files you changed. This happens when external dependencies like GitHub alias, Microsoft alias, cross repo links are updated. Please use these instructions to resolve them.

For any questions, please:

## Remarks
The <xref:System.Net.WebHeaderCollection> class is generally accessed through <xref:System.Net.WebRequest.Headers%2A?displayProperty=nameWithType> or <xref:System.Net.WebResponse.Headers%2A?displayProperty=nameWithType>. Some common headers are considered restricted and are either exposed directly by the API (such as `Content-Type`) or protected by the system and cannot be changed.
The <xref:System.Net.WebHeaderCollection> class is generally accessed through <xref:System.Net.WebRequest.Headers%2A?displayProperty=nameWithType> or <xref:System.Net.WebResponse.Headers%2A?displayProperty=nameWithType>. On .NET Framework, some common headers are considered restricted and are either exposed directly by the API (such as `Content-Type`) or protected by the system and cannot be changed. This does *not* apply to .NET Core versions through version 3.1, .NET 5.0 and later versions.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
The <xref:System.Net.WebHeaderCollection> class is generally accessed through <xref:System.Net.WebRequest.Headers%2A?displayProperty=nameWithType> or <xref:System.Net.WebResponse.Headers%2A?displayProperty=nameWithType>. On .NET Framework, some common headers are considered restricted and are either exposed directly by the API (such as `Content-Type`) or protected by the system and cannot be changed. This does *not* apply to .NET Core versions through version 3.1, .NET 5.0 and later versions.
The <xref:System.Net.WebHeaderCollection> class is generally accessed through <xref:System.Net.WebRequest.Headers%2A?displayProperty=nameWithType> or <xref:System.Net.WebResponse.Headers%2A?displayProperty=nameWithType>.
On .NET Framework, some common headers are considered restricted and are either exposed directly by the API (such as `Content-Type`) or protected by the system and cannot be changed. This does *not* apply to .NET Core and .NET 5.0 and later versions.

@opbld32
Copy link

opbld32 commented Oct 13, 2020

Docs Build status updates of commit 4d4a643:

✅ Validation status: passed

File Status Preview URL Details
xml/System.Net/WebHeaderCollection.xml ✅Succeeded View

For more details, please refer to the build report.

Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.

For any questions, please:

The <xref:System.Net.WebHeaderCollection> class is generally accessed through <xref:System.Net.WebRequest.Headers%2A?displayProperty=nameWithType> or <xref:System.Net.WebResponse.Headers%2A?displayProperty=nameWithType>.
On .NET Framework, some common headers are considered restricted and are either exposed directly by the API (such as `Content-Type`) or protected by the system and cannot be changed. This does *not* apply to .NET Core versions through version 3.1, .NET 5.0 and later versions.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
On .NET Framework, some common headers are considered restricted and are either exposed directly by the API (such as `Content-Type`) or protected by the system and cannot be changed. This does *not* apply to .NET Core versions through version 3.1, .NET 5.0 and later versions.
On .NET Framework, some common headers are considered restricted and are either exposed directly by the API (such as `Content-Type`) or protected by the system and cannot be changed. This does *not* apply to .NET Core - none of the headers are restricted there.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'd leave out the .NET Core versions IMO -- it is missing from the time the APIs were ported to .NET Core -- whichever the version was.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I followed the pattern from when I described max header length check behavior change here #4642 but I see now that current situation is a bit different (for max length check, it also changed since 5.0, that's why .NET Core version was explicitly specified) -- but I'd still leave ".NET Core, .NET 5.0 and later versions" to avoid confusion

@opbld33
Copy link

opbld33 commented Oct 13, 2020

Docs Build status updates of commit 54e6158:

🕙 Pending: waiting for processors (5 builds ahead of you)

⚠️ Docs Build is busy, currently there are 5 builds ahead of this one, for more information you can view the Build queue graph on the Docs Portal.

@opbld31
Copy link

opbld31 commented Oct 13, 2020

Docs Build status updates of commit 54e6158:

✅ Validation status: passed

File Status Preview URL Details
xml/System.Net/WebHeaderCollection.xml ✅Succeeded View

For more details, please refer to the build report.

Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.

For any questions, please:

Copy link
Member

@karelz karelz left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Feels weird that .NET has version (5.0) while .NET Core does not (maybe we should leave out both versions?), but if @gewarren agrees that it follows established patterns, I am fine too.

@gewarren
Copy link
Contributor

Feels weird that .NET has version (5.0) while .NET Core does not (maybe we should leave out both versions?), but if @gewarren agrees that it follows established patterns, I am fine too.

It's tricky because .NET 5 is technically .NET Core. We could change it to "This does not apply to .NET Core and .NET 5+".

@opbld31
Copy link

opbld31 commented Oct 19, 2020

Docs Build status updates of commit 76b24f7:

✅ Validation status: passed

File Status Preview URL Details
xml/System.Net/WebHeaderCollection.xml ✅Succeeded View

For more details, please refer to the build report.

Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.

For any questions, please:

@CarnaViire CarnaViire requested a review from gewarren October 19, 2020 11:25
@CarnaViire CarnaViire merged commit 3f29e64 into dotnet:master Oct 19, 2020
@CarnaViire CarnaViire deleted the webheadercollection_fix_restrictions branch October 19, 2020 18:20
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

7 participants