From e5a22ece90e20d0c3f6907319b2b098b0fcfd76b Mon Sep 17 00:00:00 2001
From: asesidaa <1061472754@qq.com>
Date: Sat, 9 Jul 2022 21:26:39 +0800
Subject: [PATCH] Use locally compiled new version of EmbedIO Remove backports
Skip trimming of FilterOperator and FilterDefinition
---
.../GC-local-server-rewrite.csproj | 4 +-
.../backports/CustomResponseSerializer.cs | 74 -------------------
.../backports/JsonDataAttribute.cs | 41 ----------
GC-local-server-rewrite/server/Server.cs | 36 +++------
MudAdmin/ILLink.Descriptors.xml | 12 +++
MudAdmin/MudAdmin.csproj | 17 ++++-
MudAdmin/Pages/User.razor | 2 +-
SharedProject/models/Navigator.cs | 4 +
8 files changed, 42 insertions(+), 148 deletions(-)
delete mode 100644 GC-local-server-rewrite/backports/CustomResponseSerializer.cs
delete mode 100644 GC-local-server-rewrite/backports/JsonDataAttribute.cs
create mode 100644 MudAdmin/ILLink.Descriptors.xml
diff --git a/GC-local-server-rewrite/GC-local-server-rewrite.csproj b/GC-local-server-rewrite/GC-local-server-rewrite.csproj
index abbc67a..5f2f0cc 100644
--- a/GC-local-server-rewrite/GC-local-server-rewrite.csproj
+++ b/GC-local-server-rewrite/GC-local-server-rewrite.csproj
@@ -14,8 +14,8 @@
-
-
+
+
diff --git a/GC-local-server-rewrite/backports/CustomResponseSerializer.cs b/GC-local-server-rewrite/backports/CustomResponseSerializer.cs
deleted file mode 100644
index d6de2ab..0000000
--- a/GC-local-server-rewrite/backports/CustomResponseSerializer.cs
+++ /dev/null
@@ -1,74 +0,0 @@
-using EmbedIO;
-
-namespace GCLocalServerRewrite.backports;
-
-///
-/// Provides custom response serializer callbacks.
-///
-public static class CustomResponseSerializer
-{
- private static readonly ResponseSerializerCallback CHUNKED_ENCODING_BASE_SERIALIZER = GetBaseSerializer(false);
- private static readonly ResponseSerializerCallback BUFFERING_BASE_SERIALIZER = GetBaseSerializer(true);
-
- ///
- /// Sends data in a HTTP response without serialization.
- ///
- ///
- /// to write the response body to a memory buffer first,
- /// then send it all together with a Content-Length header; to use chunked
- /// transfer encoding.
- ///
- /// A that can be used to serialize data to a HTTP response.
- ///
- ///
- /// s and one-dimensional arrays of s
- /// are sent to the client unchanged; every other type is converted to a string.
- ///
- ///
- /// The ContentType set on the response is used to negotiate
- /// a compression method, according to request headers.
- ///
- ///
- /// Strings (and other types converted to strings) are sent with the encoding specified by
- /// .
- ///
- ///
- public static ResponseSerializerCallback None(bool bufferResponse)
- {
- return bufferResponse ? BUFFERING_BASE_SERIALIZER : CHUNKED_ENCODING_BASE_SERIALIZER;
- }
-
- private static ResponseSerializerCallback GetBaseSerializer(bool bufferResponse)
- {
- return async (context, data) =>
- {
- if (data is null)
- {
- return;
- }
-
- var isBinaryResponse = data is byte[];
-
- if (!context.TryDetermineCompression(context.Response.ContentType, out var preferCompression))
- {
- preferCompression = true;
- }
-
- preferCompression = false;
-
- if (isBinaryResponse)
- {
- var responseBytes = (byte[])data;
- using var stream = context.OpenResponseStream(bufferResponse, preferCompression);
- await stream.WriteAsync(responseBytes).ConfigureAwait(false);
- }
- else
- {
- var responseString = data is string stringData ? stringData : data.ToString() ?? string.Empty;
- await using var text = context.OpenResponseText(context.Response.ContentEncoding, bufferResponse,
- preferCompression);
- await text.WriteAsync(responseString).ConfigureAwait(false);
- }
- };
- }
-}
\ No newline at end of file
diff --git a/GC-local-server-rewrite/backports/JsonDataAttribute.cs b/GC-local-server-rewrite/backports/JsonDataAttribute.cs
deleted file mode 100644
index f14696f..0000000
--- a/GC-local-server-rewrite/backports/JsonDataAttribute.cs
+++ /dev/null
@@ -1,41 +0,0 @@
-using System;
-using System.Threading.Tasks;
-
-namespace EmbedIO.WebApi
-{
- ///
- /// Specifies that a parameter of a controller method will receive
- /// an object obtained by deserializing the request body as JSON.
- /// The received object will be
- /// only if the deserialized object is null.
- /// If the request body is not valid JSON,
- /// or if it cannot be deserialized to the type of the parameter,
- /// a 400 Bad Request response will be sent to the client.
- /// This class cannot be inherited.
- ///
- ///
- ///
- [AttributeUsage(AttributeTargets.Parameter)]
- public class JsonDataAttribute : Attribute, IRequestDataAttribute
- {
- ///
- public async Task