Update corefx dependencies and react to changes in JSON API (#9563)
This commit is contained in:
parent
5ff2910d09
commit
9212f4a3df
|
|
@ -1,4 +1,4 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!--
|
||||
|
||||
This file is used by automation to update Versions.props and may be used for other purposes, such as
|
||||
|
|
@ -285,96 +285,96 @@
|
|||
<Uri>https://github.com/aspnet/Extensions</Uri>
|
||||
<Sha>358e5fd9eb213b60f94c01aaacf27d2297aa4f30</Sha>
|
||||
</Dependency>
|
||||
<Dependency Name="Microsoft.Bcl.Json.Sources" Version="4.6.0-preview5.19217.11" CoherentParentDependency="Microsoft.NETCore.App">
|
||||
<Dependency Name="Microsoft.Bcl.Json.Sources" Version="4.6.0-preview5.19218.11" CoherentParentDependency="Microsoft.NETCore.App">
|
||||
<Uri>https://github.com/dotnet/corefx</Uri>
|
||||
<Sha>315fd00cb2465390900209919cdb2bf6bc44ae0e</Sha>
|
||||
<Sha>0a9a366e290aded3e9bf5d082d6beee5ff560177</Sha>
|
||||
</Dependency>
|
||||
<Dependency Name="Microsoft.CSharp" Version="4.6.0-preview5.19217.11" CoherentParentDependency="Microsoft.NETCore.App">
|
||||
<Dependency Name="Microsoft.CSharp" Version="4.6.0-preview5.19218.11" CoherentParentDependency="Microsoft.NETCore.App">
|
||||
<Uri>https://github.com/dotnet/corefx</Uri>
|
||||
<Sha>315fd00cb2465390900209919cdb2bf6bc44ae0e</Sha>
|
||||
<Sha>0a9a366e290aded3e9bf5d082d6beee5ff560177</Sha>
|
||||
</Dependency>
|
||||
<Dependency Name="Microsoft.Win32.Registry" Version="4.6.0-preview5.19217.11" CoherentParentDependency="Microsoft.NETCore.App">
|
||||
<Dependency Name="Microsoft.Win32.Registry" Version="4.6.0-preview5.19218.11" CoherentParentDependency="Microsoft.NETCore.App">
|
||||
<Uri>https://github.com/dotnet/corefx</Uri>
|
||||
<Sha>315fd00cb2465390900209919cdb2bf6bc44ae0e</Sha>
|
||||
<Sha>0a9a366e290aded3e9bf5d082d6beee5ff560177</Sha>
|
||||
</Dependency>
|
||||
<Dependency Name="System.ComponentModel.Annotations" Version="4.6.0-preview5.19217.11" CoherentParentDependency="Microsoft.NETCore.App">
|
||||
<Dependency Name="System.ComponentModel.Annotations" Version="4.6.0-preview5.19218.11" CoherentParentDependency="Microsoft.NETCore.App">
|
||||
<Uri>https://github.com/dotnet/corefx</Uri>
|
||||
<Sha>315fd00cb2465390900209919cdb2bf6bc44ae0e</Sha>
|
||||
<Sha>0a9a366e290aded3e9bf5d082d6beee5ff560177</Sha>
|
||||
</Dependency>
|
||||
<Dependency Name="System.Data.SqlClient" Version="4.7.0-preview5.19217.11" CoherentParentDependency="Microsoft.NETCore.App">
|
||||
<Dependency Name="System.Data.SqlClient" Version="4.7.0-preview5.19218.11" CoherentParentDependency="Microsoft.NETCore.App">
|
||||
<Uri>https://github.com/dotnet/corefx</Uri>
|
||||
<Sha>315fd00cb2465390900209919cdb2bf6bc44ae0e</Sha>
|
||||
<Sha>0a9a366e290aded3e9bf5d082d6beee5ff560177</Sha>
|
||||
</Dependency>
|
||||
<Dependency Name="System.Diagnostics.EventLog" Version="4.6.0-preview5.19217.11" CoherentParentDependency="Microsoft.NETCore.App">
|
||||
<Dependency Name="System.Diagnostics.EventLog" Version="4.6.0-preview5.19218.11" CoherentParentDependency="Microsoft.NETCore.App">
|
||||
<Uri>https://github.com/dotnet/corefx</Uri>
|
||||
<Sha>315fd00cb2465390900209919cdb2bf6bc44ae0e</Sha>
|
||||
<Sha>0a9a366e290aded3e9bf5d082d6beee5ff560177</Sha>
|
||||
</Dependency>
|
||||
<Dependency Name="System.IO.Pipelines" Version="4.6.0-preview5.19217.11" CoherentParentDependency="Microsoft.NETCore.App">
|
||||
<Dependency Name="System.IO.Pipelines" Version="4.6.0-preview5.19218.11" CoherentParentDependency="Microsoft.NETCore.App">
|
||||
<Uri>https://github.com/dotnet/corefx</Uri>
|
||||
<Sha>315fd00cb2465390900209919cdb2bf6bc44ae0e</Sha>
|
||||
<Sha>0a9a366e290aded3e9bf5d082d6beee5ff560177</Sha>
|
||||
</Dependency>
|
||||
<Dependency Name="System.Net.Http.WinHttpHandler" Version="4.6.0-preview5.19217.11" CoherentParentDependency="Microsoft.NETCore.App">
|
||||
<Dependency Name="System.Net.Http.WinHttpHandler" Version="4.6.0-preview5.19218.11" CoherentParentDependency="Microsoft.NETCore.App">
|
||||
<Uri>https://github.com/dotnet/corefx</Uri>
|
||||
<Sha>315fd00cb2465390900209919cdb2bf6bc44ae0e</Sha>
|
||||
<Sha>0a9a366e290aded3e9bf5d082d6beee5ff560177</Sha>
|
||||
</Dependency>
|
||||
<Dependency Name="System.Net.WebSockets.WebSocketProtocol" Version="4.6.0-preview5.19217.11" CoherentParentDependency="Microsoft.NETCore.App">
|
||||
<Dependency Name="System.Net.WebSockets.WebSocketProtocol" Version="4.6.0-preview5.19218.11" CoherentParentDependency="Microsoft.NETCore.App">
|
||||
<Uri>https://github.com/dotnet/corefx</Uri>
|
||||
<Sha>315fd00cb2465390900209919cdb2bf6bc44ae0e</Sha>
|
||||
<Sha>0a9a366e290aded3e9bf5d082d6beee5ff560177</Sha>
|
||||
</Dependency>
|
||||
<Dependency Name="System.Reflection.Metadata" Version="1.7.0-preview5.19217.11" CoherentParentDependency="Microsoft.NETCore.App">
|
||||
<Dependency Name="System.Reflection.Metadata" Version="1.7.0-preview5.19218.11" CoherentParentDependency="Microsoft.NETCore.App">
|
||||
<Uri>https://github.com/dotnet/corefx</Uri>
|
||||
<Sha>315fd00cb2465390900209919cdb2bf6bc44ae0e</Sha>
|
||||
<Sha>0a9a366e290aded3e9bf5d082d6beee5ff560177</Sha>
|
||||
</Dependency>
|
||||
<Dependency Name="System.Runtime.CompilerServices.Unsafe" Version="4.6.0-preview5.19217.11" CoherentParentDependency="Microsoft.NETCore.App">
|
||||
<Dependency Name="System.Runtime.CompilerServices.Unsafe" Version="4.6.0-preview5.19218.11" CoherentParentDependency="Microsoft.NETCore.App">
|
||||
<Uri>https://github.com/dotnet/corefx</Uri>
|
||||
<Sha>315fd00cb2465390900209919cdb2bf6bc44ae0e</Sha>
|
||||
<Sha>0a9a366e290aded3e9bf5d082d6beee5ff560177</Sha>
|
||||
</Dependency>
|
||||
<Dependency Name="System.Security.Cryptography.Cng" Version="4.6.0-preview5.19217.11" CoherentParentDependency="Microsoft.NETCore.App">
|
||||
<Dependency Name="System.Security.Cryptography.Cng" Version="4.6.0-preview5.19218.11" CoherentParentDependency="Microsoft.NETCore.App">
|
||||
<Uri>https://github.com/dotnet/corefx</Uri>
|
||||
<Sha>315fd00cb2465390900209919cdb2bf6bc44ae0e</Sha>
|
||||
<Sha>0a9a366e290aded3e9bf5d082d6beee5ff560177</Sha>
|
||||
</Dependency>
|
||||
<Dependency Name="System.Security.Cryptography.Pkcs" Version="4.6.0-preview5.19217.11" CoherentParentDependency="Microsoft.NETCore.App">
|
||||
<Dependency Name="System.Security.Cryptography.Pkcs" Version="4.6.0-preview5.19218.11" CoherentParentDependency="Microsoft.NETCore.App">
|
||||
<Uri>https://github.com/dotnet/corefx</Uri>
|
||||
<Sha>315fd00cb2465390900209919cdb2bf6bc44ae0e</Sha>
|
||||
<Sha>0a9a366e290aded3e9bf5d082d6beee5ff560177</Sha>
|
||||
</Dependency>
|
||||
<Dependency Name="System.Security.Cryptography.Xml" Version="4.6.0-preview5.19217.11" CoherentParentDependency="Microsoft.NETCore.App">
|
||||
<Dependency Name="System.Security.Cryptography.Xml" Version="4.6.0-preview5.19218.11" CoherentParentDependency="Microsoft.NETCore.App">
|
||||
<Uri>https://github.com/dotnet/corefx</Uri>
|
||||
<Sha>315fd00cb2465390900209919cdb2bf6bc44ae0e</Sha>
|
||||
<Sha>0a9a366e290aded3e9bf5d082d6beee5ff560177</Sha>
|
||||
</Dependency>
|
||||
<Dependency Name="System.Security.Permissions" Version="4.6.0-preview5.19217.11" CoherentParentDependency="Microsoft.NETCore.App">
|
||||
<Dependency Name="System.Security.Permissions" Version="4.6.0-preview5.19218.11" CoherentParentDependency="Microsoft.NETCore.App">
|
||||
<Uri>https://github.com/dotnet/corefx</Uri>
|
||||
<Sha>315fd00cb2465390900209919cdb2bf6bc44ae0e</Sha>
|
||||
<Sha>0a9a366e290aded3e9bf5d082d6beee5ff560177</Sha>
|
||||
</Dependency>
|
||||
<Dependency Name="System.Security.Principal.Windows" Version="4.6.0-preview5.19217.11" CoherentParentDependency="Microsoft.NETCore.App">
|
||||
<Dependency Name="System.Security.Principal.Windows" Version="4.6.0-preview5.19218.11" CoherentParentDependency="Microsoft.NETCore.App">
|
||||
<Uri>https://github.com/dotnet/corefx</Uri>
|
||||
<Sha>315fd00cb2465390900209919cdb2bf6bc44ae0e</Sha>
|
||||
<Sha>0a9a366e290aded3e9bf5d082d6beee5ff560177</Sha>
|
||||
</Dependency>
|
||||
<Dependency Name="System.ServiceProcess.ServiceController" Version="4.6.0-preview5.19217.11" CoherentParentDependency="Microsoft.NETCore.App">
|
||||
<Dependency Name="System.ServiceProcess.ServiceController" Version="4.6.0-preview5.19218.11" CoherentParentDependency="Microsoft.NETCore.App">
|
||||
<Uri>https://github.com/dotnet/corefx</Uri>
|
||||
<Sha>315fd00cb2465390900209919cdb2bf6bc44ae0e</Sha>
|
||||
<Sha>0a9a366e290aded3e9bf5d082d6beee5ff560177</Sha>
|
||||
</Dependency>
|
||||
<Dependency Name="System.Text.Encodings.Web" Version="4.6.0-preview5.19217.11" CoherentParentDependency="Microsoft.NETCore.App">
|
||||
<Dependency Name="System.Text.Encodings.Web" Version="4.6.0-preview5.19218.11" CoherentParentDependency="Microsoft.NETCore.App">
|
||||
<Uri>https://github.com/dotnet/corefx</Uri>
|
||||
<Sha>315fd00cb2465390900209919cdb2bf6bc44ae0e</Sha>
|
||||
<Sha>0a9a366e290aded3e9bf5d082d6beee5ff560177</Sha>
|
||||
</Dependency>
|
||||
<Dependency Name="System.Threading.Channels" Version="4.6.0-preview5.19217.11" CoherentParentDependency="Microsoft.NETCore.App">
|
||||
<Dependency Name="System.Threading.Channels" Version="4.6.0-preview5.19218.11" CoherentParentDependency="Microsoft.NETCore.App">
|
||||
<Uri>https://github.com/dotnet/corefx</Uri>
|
||||
<Sha>315fd00cb2465390900209919cdb2bf6bc44ae0e</Sha>
|
||||
<Sha>0a9a366e290aded3e9bf5d082d6beee5ff560177</Sha>
|
||||
</Dependency>
|
||||
<Dependency Name="Microsoft.Extensions.DependencyModel" Version="3.0.0-preview5-27618-01" CoherentParentDependency="Microsoft.Extensions.Logging">
|
||||
<Dependency Name="Microsoft.Extensions.DependencyModel" Version="3.0.0-preview5-27619-03" CoherentParentDependency="Microsoft.Extensions.Logging">
|
||||
<Uri>https://github.com/dotnet/core-setup</Uri>
|
||||
<Sha>0ed64989889a5a371a81c926cb87d0abea9f1763</Sha>
|
||||
<Sha>de216246a046668d10279f7e113a2b9384660652</Sha>
|
||||
</Dependency>
|
||||
<Dependency Name="Microsoft.NETCore.App" Version="3.0.0-preview5-27618-01" CoherentParentDependency="Microsoft.Extensions.Logging">
|
||||
<Dependency Name="Microsoft.NETCore.App" Version="3.0.0-preview5-27619-03" CoherentParentDependency="Microsoft.Extensions.Logging">
|
||||
<Uri>https://github.com/dotnet/core-setup</Uri>
|
||||
<Sha>0ed64989889a5a371a81c926cb87d0abea9f1763</Sha>
|
||||
<Sha>de216246a046668d10279f7e113a2b9384660652</Sha>
|
||||
</Dependency>
|
||||
</ProductDependencies>
|
||||
<ToolsetDependencies>
|
||||
<!-- Listed explicitly to workaround https://github.com/dotnet/cli/issues/10528 -->
|
||||
<Dependency Name="Microsoft.NETCore.Platforms" Version="3.0.0-preview5.19217.11" CoherentParentDependency="Microsoft.NETCore.App">
|
||||
<Dependency Name="Microsoft.NETCore.Platforms" Version="3.0.0-preview5.19218.11" CoherentParentDependency="Microsoft.NETCore.App">
|
||||
<Uri>https://github.com/dotnet/corefx</Uri>
|
||||
<Sha>315fd00cb2465390900209919cdb2bf6bc44ae0e</Sha>
|
||||
<Sha>0a9a366e290aded3e9bf5d082d6beee5ff560177</Sha>
|
||||
</Dependency>
|
||||
<Dependency Name="Internal.AspNetCore.Analyzers" Version="3.0.0-preview5.19218.3" CoherentParentDependency="Microsoft.EntityFrameworkCore">
|
||||
<Uri>https://github.com/aspnet/Extensions</Uri>
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
<!--
|
||||
<!--
|
||||
|
||||
This file defines the versions of external dependencies used by ASP.NET Core.
|
||||
This file might be updated by automation.
|
||||
|
|
@ -19,30 +19,30 @@
|
|||
<!-- Packages from dotnet/arcade -->
|
||||
<MicrosoftDotNetGenAPIPackageVersion>1.0.0-beta.19218.1</MicrosoftDotNetGenAPIPackageVersion>
|
||||
<!-- Packages from dotnet/core-setup -->
|
||||
<MicrosoftExtensionsDependencyModelPackageVersion>3.0.0-preview5-27618-01</MicrosoftExtensionsDependencyModelPackageVersion>
|
||||
<MicrosoftNETCoreAppPackageVersion>3.0.0-preview5-27618-01</MicrosoftNETCoreAppPackageVersion>
|
||||
<MicrosoftExtensionsDependencyModelPackageVersion>3.0.0-preview5-27619-03</MicrosoftExtensionsDependencyModelPackageVersion>
|
||||
<MicrosoftNETCoreAppPackageVersion>3.0.0-preview5-27619-03</MicrosoftNETCoreAppPackageVersion>
|
||||
<!-- Packages from dotnet/corefx -->
|
||||
<MicrosoftBclJsonSourcesPackageVersion>4.6.0-preview5.19217.11</MicrosoftBclJsonSourcesPackageVersion>
|
||||
<MicrosoftCSharpPackageVersion>4.6.0-preview5.19217.11</MicrosoftCSharpPackageVersion>
|
||||
<MicrosoftWin32RegistryPackageVersion>4.6.0-preview5.19217.11</MicrosoftWin32RegistryPackageVersion>
|
||||
<SystemComponentModelAnnotationsPackageVersion>4.6.0-preview5.19217.11</SystemComponentModelAnnotationsPackageVersion>
|
||||
<SystemDataSqlClientPackageVersion>4.7.0-preview5.19217.11</SystemDataSqlClientPackageVersion>
|
||||
<SystemDiagnosticsEventLogPackageVersion>4.6.0-preview5.19217.11</SystemDiagnosticsEventLogPackageVersion>
|
||||
<SystemIOPipelinesPackageVersion>4.6.0-preview5.19217.11</SystemIOPipelinesPackageVersion>
|
||||
<SystemNetHttpWinHttpHandlerPackageVersion>4.6.0-preview5.19217.11</SystemNetHttpWinHttpHandlerPackageVersion>
|
||||
<SystemNetWebSocketsWebSocketProtocolPackageVersion>4.6.0-preview5.19217.11</SystemNetWebSocketsWebSocketProtocolPackageVersion>
|
||||
<SystemReflectionMetadataPackageVersion>1.7.0-preview5.19217.11</SystemReflectionMetadataPackageVersion>
|
||||
<SystemRuntimeCompilerServicesUnsafePackageVersion>4.6.0-preview5.19217.11</SystemRuntimeCompilerServicesUnsafePackageVersion>
|
||||
<SystemSecurityCryptographyCngPackageVersion>4.6.0-preview5.19217.11</SystemSecurityCryptographyCngPackageVersion>
|
||||
<SystemSecurityCryptographyPkcsPackageVersion>4.6.0-preview5.19217.11</SystemSecurityCryptographyPkcsPackageVersion>
|
||||
<SystemSecurityCryptographyXmlPackageVersion>4.6.0-preview5.19217.11</SystemSecurityCryptographyXmlPackageVersion>
|
||||
<SystemSecurityPermissionsPackageVersion>4.6.0-preview5.19217.11</SystemSecurityPermissionsPackageVersion>
|
||||
<SystemSecurityPrincipalWindowsPackageVersion>4.6.0-preview5.19217.11</SystemSecurityPrincipalWindowsPackageVersion>
|
||||
<SystemServiceProcessServiceControllerPackageVersion>4.6.0-preview5.19217.11</SystemServiceProcessServiceControllerPackageVersion>
|
||||
<SystemTextEncodingsWebPackageVersion>4.6.0-preview5.19217.11</SystemTextEncodingsWebPackageVersion>
|
||||
<SystemThreadingChannelsPackageVersion>4.6.0-preview5.19217.11</SystemThreadingChannelsPackageVersion>
|
||||
<MicrosoftBclJsonSourcesPackageVersion>4.6.0-preview5.19218.11</MicrosoftBclJsonSourcesPackageVersion>
|
||||
<MicrosoftCSharpPackageVersion>4.6.0-preview5.19218.11</MicrosoftCSharpPackageVersion>
|
||||
<MicrosoftWin32RegistryPackageVersion>4.6.0-preview5.19218.11</MicrosoftWin32RegistryPackageVersion>
|
||||
<SystemComponentModelAnnotationsPackageVersion>4.6.0-preview5.19218.11</SystemComponentModelAnnotationsPackageVersion>
|
||||
<SystemDataSqlClientPackageVersion>4.7.0-preview5.19218.11</SystemDataSqlClientPackageVersion>
|
||||
<SystemDiagnosticsEventLogPackageVersion>4.6.0-preview5.19218.11</SystemDiagnosticsEventLogPackageVersion>
|
||||
<SystemIOPipelinesPackageVersion>4.6.0-preview5.19218.11</SystemIOPipelinesPackageVersion>
|
||||
<SystemNetHttpWinHttpHandlerPackageVersion>4.6.0-preview5.19218.11</SystemNetHttpWinHttpHandlerPackageVersion>
|
||||
<SystemNetWebSocketsWebSocketProtocolPackageVersion>4.6.0-preview5.19218.11</SystemNetWebSocketsWebSocketProtocolPackageVersion>
|
||||
<SystemReflectionMetadataPackageVersion>1.7.0-preview5.19218.11</SystemReflectionMetadataPackageVersion>
|
||||
<SystemRuntimeCompilerServicesUnsafePackageVersion>4.6.0-preview5.19218.11</SystemRuntimeCompilerServicesUnsafePackageVersion>
|
||||
<SystemSecurityCryptographyCngPackageVersion>4.6.0-preview5.19218.11</SystemSecurityCryptographyCngPackageVersion>
|
||||
<SystemSecurityCryptographyPkcsPackageVersion>4.6.0-preview5.19218.11</SystemSecurityCryptographyPkcsPackageVersion>
|
||||
<SystemSecurityCryptographyXmlPackageVersion>4.6.0-preview5.19218.11</SystemSecurityCryptographyXmlPackageVersion>
|
||||
<SystemSecurityPermissionsPackageVersion>4.6.0-preview5.19218.11</SystemSecurityPermissionsPackageVersion>
|
||||
<SystemSecurityPrincipalWindowsPackageVersion>4.6.0-preview5.19218.11</SystemSecurityPrincipalWindowsPackageVersion>
|
||||
<SystemServiceProcessServiceControllerPackageVersion>4.6.0-preview5.19218.11</SystemServiceProcessServiceControllerPackageVersion>
|
||||
<SystemTextEncodingsWebPackageVersion>4.6.0-preview5.19218.11</SystemTextEncodingsWebPackageVersion>
|
||||
<SystemThreadingChannelsPackageVersion>4.6.0-preview5.19218.11</SystemThreadingChannelsPackageVersion>
|
||||
<!-- Only listed explicitly to workaround https://github.com/dotnet/cli/issues/10528 -->
|
||||
<MicrosoftNETCorePlatformsPackageVersion>3.0.0-preview5.19217.11</MicrosoftNETCorePlatformsPackageVersion>
|
||||
<MicrosoftNETCorePlatformsPackageVersion>3.0.0-preview5.19218.11</MicrosoftNETCorePlatformsPackageVersion>
|
||||
<!-- Packages from aspnet/Extensions -->
|
||||
<InternalAspNetCoreAnalyzersPackageVersion>3.0.0-preview5.19218.3</InternalAspNetCoreAnalyzersPackageVersion>
|
||||
<MicrosoftAspNetCoreAnalyzerTestingPackageVersion>3.0.0-preview5.19218.3</MicrosoftAspNetCoreAnalyzerTestingPackageVersion>
|
||||
|
|
|
|||
|
|
@ -85,7 +85,7 @@ namespace Microsoft.AspNetCore.Mvc.ViewFeatures.Infrastructure
|
|||
|
||||
using (var bufferWriter = new ArrayBufferWriter<byte>())
|
||||
{
|
||||
var writer = new Utf8JsonWriter(bufferWriter);
|
||||
using var writer = new Utf8JsonWriter(bufferWriter);
|
||||
writer.WriteStartObject();
|
||||
foreach (var (key, value) in values)
|
||||
{
|
||||
|
|
|
|||
|
|
@ -103,7 +103,7 @@ namespace JwtBearerSample
|
|||
|
||||
private void Serialize(IList<Todo> todos, IBufferWriter<byte> output)
|
||||
{
|
||||
var writer = new Utf8JsonWriter(output);
|
||||
using var writer = new Utf8JsonWriter(output);
|
||||
writer.WriteStartArray();
|
||||
foreach (var todo in todos)
|
||||
{
|
||||
|
|
|
|||
|
|
@ -4,6 +4,7 @@
|
|||
using System;
|
||||
using System.Buffers;
|
||||
using System.Collections.Generic;
|
||||
using System.Diagnostics;
|
||||
using System.IO;
|
||||
using System.Text;
|
||||
using System.Text.Json;
|
||||
|
|
@ -35,25 +36,25 @@ namespace Microsoft.AspNetCore.Http.Connections
|
|||
|
||||
public static void WriteResponse(NegotiationResponse response, IBufferWriter<byte> output)
|
||||
{
|
||||
var writer = new Utf8JsonWriter(output, new JsonWriterState(new JsonWriterOptions() { SkipValidation = true }));
|
||||
using var writer = new Utf8JsonWriter(output, new JsonWriterOptions() { SkipValidation = true });
|
||||
writer.WriteStartObject();
|
||||
|
||||
if (!string.IsNullOrEmpty(response.Url))
|
||||
{
|
||||
writer.WriteString(UrlPropertyNameBytes, response.Url, escape: false);
|
||||
writer.WriteString(UrlPropertyNameBytes, response.Url);
|
||||
}
|
||||
|
||||
if (!string.IsNullOrEmpty(response.AccessToken))
|
||||
{
|
||||
writer.WriteString(AccessTokenPropertyNameBytes, response.AccessToken, escape: false);
|
||||
writer.WriteString(AccessTokenPropertyNameBytes, response.AccessToken);
|
||||
}
|
||||
|
||||
if (!string.IsNullOrEmpty(response.ConnectionId))
|
||||
{
|
||||
writer.WriteString(ConnectionIdPropertyNameBytes, response.ConnectionId, escape: false);
|
||||
writer.WriteString(ConnectionIdPropertyNameBytes, response.ConnectionId);
|
||||
}
|
||||
|
||||
writer.WriteStartArray(AvailableTransportsPropertyNameBytes, escape: false);
|
||||
writer.WriteStartArray(AvailableTransportsPropertyNameBytes);
|
||||
|
||||
if (response.AvailableTransports != null)
|
||||
{
|
||||
|
|
@ -62,20 +63,20 @@ namespace Microsoft.AspNetCore.Http.Connections
|
|||
writer.WriteStartObject();
|
||||
if (availableTransport.Transport != null)
|
||||
{
|
||||
writer.WriteString(TransportPropertyNameBytes, availableTransport.Transport, escape: false);
|
||||
writer.WriteString(TransportPropertyNameBytes, availableTransport.Transport);
|
||||
}
|
||||
else
|
||||
{
|
||||
// Might be able to remove this after https://github.com/dotnet/corefx/issues/34632 is resolved
|
||||
writer.WriteNull(TransportPropertyNameBytes, escape: false);
|
||||
writer.WriteNull(TransportPropertyNameBytes);
|
||||
}
|
||||
writer.WriteStartArray(TransferFormatsPropertyNameBytes, escape: false);
|
||||
writer.WriteStartArray(TransferFormatsPropertyNameBytes);
|
||||
|
||||
if (availableTransport.TransferFormats != null)
|
||||
{
|
||||
foreach (var transferFormat in availableTransport.TransferFormats)
|
||||
{
|
||||
writer.WriteStringValue(transferFormat, escape: false);
|
||||
writer.WriteStringValue(transferFormat);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -87,7 +88,8 @@ namespace Microsoft.AspNetCore.Http.Connections
|
|||
writer.WriteEndArray();
|
||||
writer.WriteEndObject();
|
||||
|
||||
writer.Flush(isFinalBlock: true);
|
||||
writer.Flush();
|
||||
Debug.Assert(writer.CurrentDepth == 0);
|
||||
}
|
||||
|
||||
public static NegotiationResponse ParseResponse(ReadOnlySpan<byte> content)
|
||||
|
|
|
|||
|
|
@ -4,6 +4,7 @@
|
|||
using System;
|
||||
using System.Buffers;
|
||||
using System.Collections.Generic;
|
||||
using System.Diagnostics;
|
||||
using System.IO;
|
||||
using System.Runtime.ExceptionServices;
|
||||
using System.Text.Json;
|
||||
|
|
@ -443,55 +444,56 @@ namespace Microsoft.AspNetCore.SignalR.Protocol
|
|||
|
||||
private void WriteMessageCore(HubMessage message, IBufferWriter<byte> stream)
|
||||
{
|
||||
var writer = new Utf8JsonWriter(stream);
|
||||
using var writer = new Utf8JsonWriter(stream);
|
||||
|
||||
writer.WriteStartObject();
|
||||
switch (message)
|
||||
{
|
||||
case InvocationMessage m:
|
||||
WriteMessageType(ref writer, HubProtocolConstants.InvocationMessageType);
|
||||
WriteHeaders(ref writer, m);
|
||||
WriteInvocationMessage(m, ref writer);
|
||||
WriteMessageType(writer, HubProtocolConstants.InvocationMessageType);
|
||||
WriteHeaders(writer, m);
|
||||
WriteInvocationMessage(m, writer);
|
||||
break;
|
||||
case StreamInvocationMessage m:
|
||||
WriteMessageType(ref writer, HubProtocolConstants.StreamInvocationMessageType);
|
||||
WriteHeaders(ref writer, m);
|
||||
WriteStreamInvocationMessage(m, ref writer);
|
||||
WriteMessageType(writer, HubProtocolConstants.StreamInvocationMessageType);
|
||||
WriteHeaders(writer, m);
|
||||
WriteStreamInvocationMessage(m, writer);
|
||||
break;
|
||||
case StreamItemMessage m:
|
||||
WriteMessageType(ref writer, HubProtocolConstants.StreamItemMessageType);
|
||||
WriteHeaders(ref writer, m);
|
||||
WriteStreamItemMessage(m, ref writer);
|
||||
WriteMessageType(writer, HubProtocolConstants.StreamItemMessageType);
|
||||
WriteHeaders(writer, m);
|
||||
WriteStreamItemMessage(m, writer);
|
||||
break;
|
||||
case CompletionMessage m:
|
||||
WriteMessageType(ref writer, HubProtocolConstants.CompletionMessageType);
|
||||
WriteHeaders(ref writer, m);
|
||||
WriteCompletionMessage(m, ref writer);
|
||||
WriteMessageType(writer, HubProtocolConstants.CompletionMessageType);
|
||||
WriteHeaders(writer, m);
|
||||
WriteCompletionMessage(m, writer);
|
||||
break;
|
||||
case CancelInvocationMessage m:
|
||||
WriteMessageType(ref writer, HubProtocolConstants.CancelInvocationMessageType);
|
||||
WriteHeaders(ref writer, m);
|
||||
WriteCancelInvocationMessage(m, ref writer);
|
||||
WriteMessageType(writer, HubProtocolConstants.CancelInvocationMessageType);
|
||||
WriteHeaders(writer, m);
|
||||
WriteCancelInvocationMessage(m, writer);
|
||||
break;
|
||||
case PingMessage _:
|
||||
WriteMessageType(ref writer, HubProtocolConstants.PingMessageType);
|
||||
WriteMessageType(writer, HubProtocolConstants.PingMessageType);
|
||||
break;
|
||||
case CloseMessage m:
|
||||
WriteMessageType(ref writer, HubProtocolConstants.CloseMessageType);
|
||||
WriteCloseMessage(m, ref writer);
|
||||
WriteMessageType(writer, HubProtocolConstants.CloseMessageType);
|
||||
WriteCloseMessage(m, writer);
|
||||
break;
|
||||
default:
|
||||
throw new InvalidOperationException($"Unsupported message type: {message.GetType().FullName}");
|
||||
}
|
||||
writer.WriteEndObject();
|
||||
writer.Flush();
|
||||
Debug.Assert(writer.CurrentDepth == 0);
|
||||
}
|
||||
|
||||
private void WriteHeaders(ref Utf8JsonWriter writer, HubInvocationMessage message)
|
||||
private void WriteHeaders(Utf8JsonWriter writer, HubInvocationMessage message)
|
||||
{
|
||||
if (message.Headers != null && message.Headers.Count > 0)
|
||||
{
|
||||
writer.WriteStartObject(HeadersPropertyNameBytes, escape: false);
|
||||
writer.WriteStartObject(HeadersPropertyNameBytes);
|
||||
foreach (var value in message.Headers)
|
||||
{
|
||||
writer.WriteString(value.Key, value.Value);
|
||||
|
|
@ -500,64 +502,64 @@ namespace Microsoft.AspNetCore.SignalR.Protocol
|
|||
}
|
||||
}
|
||||
|
||||
private void WriteCompletionMessage(CompletionMessage message, ref Utf8JsonWriter writer)
|
||||
private void WriteCompletionMessage(CompletionMessage message, Utf8JsonWriter writer)
|
||||
{
|
||||
WriteInvocationId(message, ref writer);
|
||||
WriteInvocationId(message, writer);
|
||||
if (!string.IsNullOrEmpty(message.Error))
|
||||
{
|
||||
writer.WriteString(ErrorPropertyNameBytes, message.Error, escape: false);
|
||||
writer.WriteString(ErrorPropertyNameBytes, message.Error);
|
||||
}
|
||||
else if (message.HasResult)
|
||||
{
|
||||
using var token = GetParsedObject(message.Result, message.Result?.GetType());
|
||||
token.RootElement.WriteAsProperty(ResultPropertyNameBytes, ref writer);
|
||||
token.RootElement.WriteAsProperty(ResultPropertyNameBytes, writer);
|
||||
}
|
||||
}
|
||||
|
||||
private void WriteCancelInvocationMessage(CancelInvocationMessage message, ref Utf8JsonWriter writer)
|
||||
private void WriteCancelInvocationMessage(CancelInvocationMessage message, Utf8JsonWriter writer)
|
||||
{
|
||||
WriteInvocationId(message, ref writer);
|
||||
WriteInvocationId(message, writer);
|
||||
}
|
||||
|
||||
private void WriteStreamItemMessage(StreamItemMessage message, ref Utf8JsonWriter writer)
|
||||
private void WriteStreamItemMessage(StreamItemMessage message, Utf8JsonWriter writer)
|
||||
{
|
||||
WriteInvocationId(message, ref writer);
|
||||
WriteInvocationId(message, writer);
|
||||
|
||||
using var token = GetParsedObject(message.Item, message.Item?.GetType());
|
||||
token.RootElement.WriteAsProperty(ItemPropertyNameBytes, ref writer);
|
||||
token.RootElement.WriteAsProperty(ItemPropertyNameBytes, writer);
|
||||
}
|
||||
|
||||
private void WriteInvocationMessage(InvocationMessage message, ref Utf8JsonWriter writer)
|
||||
private void WriteInvocationMessage(InvocationMessage message, Utf8JsonWriter writer)
|
||||
{
|
||||
WriteInvocationId(message, ref writer);
|
||||
writer.WriteString(TargetPropertyNameBytes, message.Target, escape: false);
|
||||
WriteInvocationId(message, writer);
|
||||
writer.WriteString(TargetPropertyNameBytes, message.Target);
|
||||
|
||||
WriteArguments(message.Arguments, ref writer);
|
||||
WriteArguments(message.Arguments, writer);
|
||||
|
||||
WriteStreamIds(message.StreamIds, ref writer);
|
||||
WriteStreamIds(message.StreamIds, writer);
|
||||
}
|
||||
|
||||
private void WriteStreamInvocationMessage(StreamInvocationMessage message, ref Utf8JsonWriter writer)
|
||||
private void WriteStreamInvocationMessage(StreamInvocationMessage message, Utf8JsonWriter writer)
|
||||
{
|
||||
WriteInvocationId(message, ref writer);
|
||||
writer.WriteString(TargetPropertyNameBytes, message.Target, escape: false);
|
||||
WriteInvocationId(message, writer);
|
||||
writer.WriteString(TargetPropertyNameBytes, message.Target);
|
||||
|
||||
WriteArguments(message.Arguments, ref writer);
|
||||
WriteArguments(message.Arguments, writer);
|
||||
|
||||
WriteStreamIds(message.StreamIds, ref writer);
|
||||
WriteStreamIds(message.StreamIds, writer);
|
||||
}
|
||||
|
||||
private void WriteCloseMessage(CloseMessage message, ref Utf8JsonWriter writer)
|
||||
private void WriteCloseMessage(CloseMessage message, Utf8JsonWriter writer)
|
||||
{
|
||||
if (message.Error != null)
|
||||
{
|
||||
writer.WriteString(ErrorPropertyNameBytes, message.Error, escape: false);
|
||||
writer.WriteString(ErrorPropertyNameBytes, message.Error);
|
||||
}
|
||||
}
|
||||
|
||||
private void WriteArguments(object[] arguments, ref Utf8JsonWriter writer)
|
||||
private void WriteArguments(object[] arguments, Utf8JsonWriter writer)
|
||||
{
|
||||
writer.WriteStartArray(ArgumentsPropertyNameBytes, escape: false);
|
||||
writer.WriteStartArray(ArgumentsPropertyNameBytes);
|
||||
foreach (var argument in arguments)
|
||||
{
|
||||
var type = argument?.GetType();
|
||||
|
|
@ -572,7 +574,7 @@ namespace Microsoft.AspNetCore.SignalR.Protocol
|
|||
else
|
||||
{
|
||||
using var token = GetParsedObject(argument, type);
|
||||
token.RootElement.WriteAsValue(ref writer);
|
||||
token.RootElement.WriteAsValue(writer);
|
||||
}
|
||||
}
|
||||
writer.WriteEndArray();
|
||||
|
|
@ -585,14 +587,14 @@ namespace Microsoft.AspNetCore.SignalR.Protocol
|
|||
return token;
|
||||
}
|
||||
|
||||
private void WriteStreamIds(string[] streamIds, ref Utf8JsonWriter writer)
|
||||
private void WriteStreamIds(string[] streamIds, Utf8JsonWriter writer)
|
||||
{
|
||||
if (streamIds == null)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
writer.WriteStartArray(StreamIdsPropertyNameBytes, escape: false);
|
||||
writer.WriteStartArray(StreamIdsPropertyNameBytes);
|
||||
foreach (var streamId in streamIds)
|
||||
{
|
||||
writer.WriteStringValue(streamId);
|
||||
|
|
@ -600,17 +602,17 @@ namespace Microsoft.AspNetCore.SignalR.Protocol
|
|||
writer.WriteEndArray();
|
||||
}
|
||||
|
||||
private static void WriteInvocationId(HubInvocationMessage message, ref Utf8JsonWriter writer)
|
||||
private static void WriteInvocationId(HubInvocationMessage message, Utf8JsonWriter writer)
|
||||
{
|
||||
if (!string.IsNullOrEmpty(message.InvocationId))
|
||||
{
|
||||
writer.WriteString(InvocationIdPropertyNameBytes, message.InvocationId, escape: false);
|
||||
writer.WriteString(InvocationIdPropertyNameBytes, message.InvocationId);
|
||||
}
|
||||
}
|
||||
|
||||
private static void WriteMessageType(ref Utf8JsonWriter writer, int type)
|
||||
private static void WriteMessageType(Utf8JsonWriter writer, int type)
|
||||
{
|
||||
writer.WriteNumber(TypePropertyNameBytes, type, escape: false);
|
||||
writer.WriteNumber(TypePropertyNameBytes, type);
|
||||
}
|
||||
|
||||
private HubMessage BindCancelInvocationMessage(string invocationId)
|
||||
|
|
|
|||
|
|
@ -4,6 +4,7 @@
|
|||
using System;
|
||||
using System.Buffers;
|
||||
using System.Collections.Concurrent;
|
||||
using System.Diagnostics;
|
||||
using System.IO;
|
||||
using System.Text;
|
||||
using System.Text.Json;
|
||||
|
|
@ -59,13 +60,14 @@ namespace Microsoft.AspNetCore.SignalR.Protocol
|
|||
/// <param name="output">The output writer.</param>
|
||||
public static void WriteRequestMessage(HandshakeRequestMessage requestMessage, IBufferWriter<byte> output)
|
||||
{
|
||||
var writer = new Utf8JsonWriter(output, new JsonWriterState(new JsonWriterOptions() { SkipValidation = true }));
|
||||
using var writer = new Utf8JsonWriter(output, new JsonWriterOptions() { SkipValidation = true });
|
||||
|
||||
writer.WriteStartObject();
|
||||
writer.WriteString(ProtocolPropertyNameBytes, requestMessage.Protocol, escape: false);
|
||||
writer.WriteNumber(ProtocolVersionPropertyNameBytes, requestMessage.Version, escape: false);
|
||||
writer.WriteString(ProtocolPropertyNameBytes, requestMessage.Protocol);
|
||||
writer.WriteNumber(ProtocolVersionPropertyNameBytes, requestMessage.Version);
|
||||
writer.WriteEndObject();
|
||||
writer.Flush(isFinalBlock: true);
|
||||
writer.Flush();
|
||||
Debug.Assert(writer.CurrentDepth == 0);
|
||||
|
||||
TextMessageFormatter.WriteRecordSeparator(output);
|
||||
}
|
||||
|
|
@ -77,7 +79,7 @@ namespace Microsoft.AspNetCore.SignalR.Protocol
|
|||
/// <param name="output">The output writer.</param>
|
||||
public static void WriteResponseMessage(HandshakeResponseMessage responseMessage, IBufferWriter<byte> output)
|
||||
{
|
||||
var writer = new Utf8JsonWriter(output, new JsonWriterState(new JsonWriterOptions() { SkipValidation = true }));
|
||||
using var writer = new Utf8JsonWriter(output, new JsonWriterOptions() { SkipValidation = true });
|
||||
|
||||
writer.WriteStartObject();
|
||||
if (!string.IsNullOrEmpty(responseMessage.Error))
|
||||
|
|
@ -85,10 +87,11 @@ namespace Microsoft.AspNetCore.SignalR.Protocol
|
|||
writer.WriteString(ErrorPropertyNameBytes, responseMessage.Error);
|
||||
}
|
||||
|
||||
writer.WriteNumber(MinorVersionPropertyNameBytes, responseMessage.MinorVersion, escape: false);
|
||||
writer.WriteNumber(MinorVersionPropertyNameBytes, responseMessage.MinorVersion);
|
||||
|
||||
writer.WriteEndObject();
|
||||
writer.Flush(isFinalBlock: true);
|
||||
writer.Flush();
|
||||
Debug.Assert(writer.CurrentDepth == 0);
|
||||
|
||||
TextMessageFormatter.WriteRecordSeparator(output);
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue