Change HttpRequest/ResponseJsonExtensions namespace (#23496)
This commit is contained in:
parent
a97746b72b
commit
0bc8ad7e6e
|
|
@ -13,9 +13,24 @@ namespace Microsoft.AspNetCore.Http
|
||||||
{
|
{
|
||||||
public static string GetServerVariable(this Microsoft.AspNetCore.Http.HttpContext context, string variableName) { throw null; }
|
public static string GetServerVariable(this Microsoft.AspNetCore.Http.HttpContext context, string variableName) { throw null; }
|
||||||
}
|
}
|
||||||
public static partial class HttpRequestExtensions
|
public static partial class HttpRequestJsonExtensions
|
||||||
{
|
{
|
||||||
public static bool HasJsonContentType(this Microsoft.AspNetCore.Http.HttpRequest request) { throw null; }
|
public static bool HasJsonContentType(this Microsoft.AspNetCore.Http.HttpRequest request) { throw null; }
|
||||||
|
[System.Diagnostics.DebuggerStepThroughAttribute]
|
||||||
|
public static System.Threading.Tasks.ValueTask<object?> ReadFromJsonAsync(this Microsoft.AspNetCore.Http.HttpRequest request, System.Type type, System.Text.Json.JsonSerializerOptions? options, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) { throw null; }
|
||||||
|
public static System.Threading.Tasks.ValueTask<object?> ReadFromJsonAsync(this Microsoft.AspNetCore.Http.HttpRequest request, System.Type type, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) { throw null; }
|
||||||
|
[System.Diagnostics.DebuggerStepThroughAttribute]
|
||||||
|
public static System.Threading.Tasks.ValueTask<TValue> ReadFromJsonAsync<TValue>(this Microsoft.AspNetCore.Http.HttpRequest request, System.Text.Json.JsonSerializerOptions? options, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) { throw null; }
|
||||||
|
public static System.Threading.Tasks.ValueTask<TValue> ReadFromJsonAsync<TValue>(this Microsoft.AspNetCore.Http.HttpRequest request, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) { throw null; }
|
||||||
|
}
|
||||||
|
public static partial class HttpResponseJsonExtensions
|
||||||
|
{
|
||||||
|
public static System.Threading.Tasks.Task WriteAsJsonAsync(this Microsoft.AspNetCore.Http.HttpResponse response, object? value, System.Type type, System.Text.Json.JsonSerializerOptions? options, string? contentType, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) { throw null; }
|
||||||
|
public static System.Threading.Tasks.Task WriteAsJsonAsync(this Microsoft.AspNetCore.Http.HttpResponse response, object? value, System.Type type, System.Text.Json.JsonSerializerOptions? options, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) { throw null; }
|
||||||
|
public static System.Threading.Tasks.Task WriteAsJsonAsync(this Microsoft.AspNetCore.Http.HttpResponse response, object? value, System.Type type, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) { throw null; }
|
||||||
|
public static System.Threading.Tasks.Task WriteAsJsonAsync<TValue>(this Microsoft.AspNetCore.Http.HttpResponse response, [System.Diagnostics.CodeAnalysis.AllowNullAttribute] TValue value, System.Text.Json.JsonSerializerOptions? options, string? contentType, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) { throw null; }
|
||||||
|
public static System.Threading.Tasks.Task WriteAsJsonAsync<TValue>(this Microsoft.AspNetCore.Http.HttpResponse response, [System.Diagnostics.CodeAnalysis.AllowNullAttribute] TValue value, System.Text.Json.JsonSerializerOptions? options, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) { throw null; }
|
||||||
|
public static System.Threading.Tasks.Task WriteAsJsonAsync<TValue>(this Microsoft.AspNetCore.Http.HttpResponse response, [System.Diagnostics.CodeAnalysis.AllowNullAttribute] TValue value, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) { throw null; }
|
||||||
}
|
}
|
||||||
public static partial class ResponseExtensions
|
public static partial class ResponseExtensions
|
||||||
{
|
{
|
||||||
|
|
@ -133,24 +148,6 @@ namespace Microsoft.AspNetCore.Http.Headers
|
||||||
}
|
}
|
||||||
namespace Microsoft.AspNetCore.Http.Json
|
namespace Microsoft.AspNetCore.Http.Json
|
||||||
{
|
{
|
||||||
public static partial class HttpRequestJsonExtensions
|
|
||||||
{
|
|
||||||
[System.Diagnostics.DebuggerStepThroughAttribute]
|
|
||||||
public static System.Threading.Tasks.ValueTask<object?> ReadFromJsonAsync(this Microsoft.AspNetCore.Http.HttpRequest request, System.Type type, System.Text.Json.JsonSerializerOptions? options, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) { throw null; }
|
|
||||||
public static System.Threading.Tasks.ValueTask<object?> ReadFromJsonAsync(this Microsoft.AspNetCore.Http.HttpRequest request, System.Type type, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) { throw null; }
|
|
||||||
[System.Diagnostics.DebuggerStepThroughAttribute]
|
|
||||||
public static System.Threading.Tasks.ValueTask<TValue> ReadFromJsonAsync<TValue>(this Microsoft.AspNetCore.Http.HttpRequest request, System.Text.Json.JsonSerializerOptions? options, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) { throw null; }
|
|
||||||
public static System.Threading.Tasks.ValueTask<TValue> ReadFromJsonAsync<TValue>(this Microsoft.AspNetCore.Http.HttpRequest request, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) { throw null; }
|
|
||||||
}
|
|
||||||
public static partial class HttpResponseJsonExtensions
|
|
||||||
{
|
|
||||||
public static System.Threading.Tasks.Task WriteAsJsonAsync(this Microsoft.AspNetCore.Http.HttpResponse response, object? value, System.Type type, System.Text.Json.JsonSerializerOptions? options, string? contentType, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) { throw null; }
|
|
||||||
public static System.Threading.Tasks.Task WriteAsJsonAsync(this Microsoft.AspNetCore.Http.HttpResponse response, object? value, System.Type type, System.Text.Json.JsonSerializerOptions? options, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) { throw null; }
|
|
||||||
public static System.Threading.Tasks.Task WriteAsJsonAsync(this Microsoft.AspNetCore.Http.HttpResponse response, object? value, System.Type type, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) { throw null; }
|
|
||||||
public static System.Threading.Tasks.Task WriteAsJsonAsync<TValue>(this Microsoft.AspNetCore.Http.HttpResponse response, [System.Diagnostics.CodeAnalysis.AllowNullAttribute] TValue value, System.Text.Json.JsonSerializerOptions? options, string? contentType, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) { throw null; }
|
|
||||||
public static System.Threading.Tasks.Task WriteAsJsonAsync<TValue>(this Microsoft.AspNetCore.Http.HttpResponse response, [System.Diagnostics.CodeAnalysis.AllowNullAttribute] TValue value, System.Text.Json.JsonSerializerOptions? options, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) { throw null; }
|
|
||||||
public static System.Threading.Tasks.Task WriteAsJsonAsync<TValue>(this Microsoft.AspNetCore.Http.HttpResponse response, [System.Diagnostics.CodeAnalysis.AllowNullAttribute] TValue value, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) { throw null; }
|
|
||||||
}
|
|
||||||
public partial class JsonOptions
|
public partial class JsonOptions
|
||||||
{
|
{
|
||||||
public JsonOptions() { }
|
public JsonOptions() { }
|
||||||
|
|
|
||||||
|
|
@ -1,54 +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 Microsoft.Extensions.Primitives;
|
|
||||||
using Microsoft.Net.Http.Headers;
|
|
||||||
|
|
||||||
#nullable enable
|
|
||||||
|
|
||||||
namespace Microsoft.AspNetCore.Http
|
|
||||||
{
|
|
||||||
public static class HttpRequestExtensions
|
|
||||||
{
|
|
||||||
/// <summary>
|
|
||||||
/// Checks the Content-Type header for JSON types.
|
|
||||||
/// </summary>
|
|
||||||
/// <returns>true if the Content-Type header represents a JSON content type; otherwise, false.</returns>
|
|
||||||
public static bool HasJsonContentType(this HttpRequest request)
|
|
||||||
{
|
|
||||||
return request.HasJsonContentType(out _);
|
|
||||||
}
|
|
||||||
|
|
||||||
internal static bool HasJsonContentType(this HttpRequest request, out StringSegment charset)
|
|
||||||
{
|
|
||||||
if (request == null)
|
|
||||||
{
|
|
||||||
throw new ArgumentNullException(nameof(request));
|
|
||||||
}
|
|
||||||
|
|
||||||
if (!MediaTypeHeaderValue.TryParse(request.ContentType, out var mt))
|
|
||||||
{
|
|
||||||
charset = StringSegment.Empty;
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
// Matches application/json
|
|
||||||
if (mt.MediaType.Equals(JsonConstants.JsonContentType, StringComparison.OrdinalIgnoreCase))
|
|
||||||
{
|
|
||||||
charset = mt.Charset;
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
|
|
||||||
// Matches +json, e.g. application/ld+json
|
|
||||||
if (mt.Suffix.Equals("json", StringComparison.OrdinalIgnoreCase))
|
|
||||||
{
|
|
||||||
charset = mt.Charset;
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
|
|
||||||
charset = StringSegment.Empty;
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
@ -7,13 +7,15 @@ using System.Text;
|
||||||
using System.Text.Json;
|
using System.Text.Json;
|
||||||
using System.Threading;
|
using System.Threading;
|
||||||
using System.Threading.Tasks;
|
using System.Threading.Tasks;
|
||||||
|
using Microsoft.AspNetCore.Http.Json;
|
||||||
using Microsoft.Extensions.DependencyInjection;
|
using Microsoft.Extensions.DependencyInjection;
|
||||||
using Microsoft.Extensions.Options;
|
using Microsoft.Extensions.Options;
|
||||||
using Microsoft.Extensions.Primitives;
|
using Microsoft.Extensions.Primitives;
|
||||||
|
using Microsoft.Net.Http.Headers;
|
||||||
|
|
||||||
#nullable enable
|
#nullable enable
|
||||||
|
|
||||||
namespace Microsoft.AspNetCore.Http.Json
|
namespace Microsoft.AspNetCore.Http
|
||||||
{
|
{
|
||||||
public static class HttpRequestJsonExtensions
|
public static class HttpRequestJsonExtensions
|
||||||
{
|
{
|
||||||
|
|
@ -137,6 +139,47 @@ namespace Microsoft.AspNetCore.Http.Json
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Checks the Content-Type header for JSON types.
|
||||||
|
/// </summary>
|
||||||
|
/// <returns>true if the Content-Type header represents a JSON content type; otherwise, false.</returns>
|
||||||
|
public static bool HasJsonContentType(this HttpRequest request)
|
||||||
|
{
|
||||||
|
return request.HasJsonContentType(out _);
|
||||||
|
}
|
||||||
|
|
||||||
|
private static bool HasJsonContentType(this HttpRequest request, out StringSegment charset)
|
||||||
|
{
|
||||||
|
if (request == null)
|
||||||
|
{
|
||||||
|
throw new ArgumentNullException(nameof(request));
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!MediaTypeHeaderValue.TryParse(request.ContentType, out var mt))
|
||||||
|
{
|
||||||
|
charset = StringSegment.Empty;
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Matches application/json
|
||||||
|
if (mt.MediaType.Equals(JsonConstants.JsonContentType, StringComparison.OrdinalIgnoreCase))
|
||||||
|
{
|
||||||
|
charset = mt.Charset;
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Matches +json, e.g. application/ld+json
|
||||||
|
if (mt.Suffix.Equals("json", StringComparison.OrdinalIgnoreCase))
|
||||||
|
{
|
||||||
|
charset = mt.Charset;
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
charset = StringSegment.Empty;
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
private static JsonSerializerOptions ResolveSerializerOptions(HttpContext httpContext)
|
private static JsonSerializerOptions ResolveSerializerOptions(HttpContext httpContext)
|
||||||
{
|
{
|
||||||
// Attempt to resolve options from DI then fallback to default options
|
// Attempt to resolve options from DI then fallback to default options
|
||||||
|
|
|
||||||
|
|
@ -6,12 +6,13 @@ using System.Diagnostics.CodeAnalysis;
|
||||||
using System.Text.Json;
|
using System.Text.Json;
|
||||||
using System.Threading;
|
using System.Threading;
|
||||||
using System.Threading.Tasks;
|
using System.Threading.Tasks;
|
||||||
|
using Microsoft.AspNetCore.Http.Json;
|
||||||
using Microsoft.Extensions.DependencyInjection;
|
using Microsoft.Extensions.DependencyInjection;
|
||||||
using Microsoft.Extensions.Options;
|
using Microsoft.Extensions.Options;
|
||||||
|
|
||||||
#nullable enable
|
#nullable enable
|
||||||
|
|
||||||
namespace Microsoft.AspNetCore.Http.Json
|
namespace Microsoft.AspNetCore.Http
|
||||||
{
|
{
|
||||||
public static partial class HttpResponseJsonExtensions
|
public static partial class HttpResponseJsonExtensions
|
||||||
{
|
{
|
||||||
|
|
|
||||||
|
|
@ -8,7 +8,6 @@ using System.Text;
|
||||||
using System.Text.Json;
|
using System.Text.Json;
|
||||||
using System.Threading;
|
using System.Threading;
|
||||||
using System.Threading.Tasks;
|
using System.Threading.Tasks;
|
||||||
using Microsoft.AspNetCore.Http.Json;
|
|
||||||
using Xunit;
|
using Xunit;
|
||||||
|
|
||||||
#nullable enable
|
#nullable enable
|
||||||
|
|
|
||||||
|
|
@ -2,14 +2,12 @@
|
||||||
// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.
|
// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.
|
||||||
|
|
||||||
using System;
|
using System;
|
||||||
using System.Diagnostics.CodeAnalysis;
|
|
||||||
using System.IO;
|
using System.IO;
|
||||||
using System.Text;
|
using System.Text;
|
||||||
using System.Text.Json;
|
using System.Text.Json;
|
||||||
using System.Text.Json.Serialization;
|
using System.Text.Json.Serialization;
|
||||||
using System.Threading;
|
using System.Threading;
|
||||||
using System.Threading.Tasks;
|
using System.Threading.Tasks;
|
||||||
using Microsoft.AspNetCore.Http.Json;
|
|
||||||
using Xunit;
|
using Xunit;
|
||||||
|
|
||||||
#nullable enable
|
#nullable enable
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue