Skip to content

Commit a0866ea

Browse files
authored
Add Fusion Transport Layer (#8410)
1 parent 03ba732 commit a0866ea

File tree

234 files changed

+3576
-2602
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

234 files changed

+3576
-2602
lines changed

src/All.slnx

Lines changed: 11 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -40,12 +40,13 @@
4040
<Project Path="HotChocolate/AspNetCore/src/AspNetCore.Authorization.Opa/HotChocolate.AspNetCore.Authorization.Opa.csproj" />
4141
<Project Path="HotChocolate/AspNetCore/src/AspNetCore.Authorization/HotChocolate.AspNetCore.Authorization.csproj" />
4242
<Project Path="HotChocolate/AspNetCore/src/AspNetCore.CommandLine/HotChocolate.AspNetCore.CommandLine.csproj" />
43+
<Project Path="HotChocolate/AspNetCore/src/AspNetCore.Pipeline/HotChocolate.AspNetCore.Pipeline.csproj" />
4344
<Project Path="HotChocolate/AspNetCore/src/AspNetCore/HotChocolate.AspNetCore.csproj" />
4445
<Project Path="HotChocolate/AspNetCore/src/Transport.Abstractions/HotChocolate.Transport.Abstractions.csproj" />
46+
<Project Path="HotChocolate/AspNetCore/src/Transport.Formatters/HotChocolate.Transport.Formatters.csproj" />
4547
<Project Path="HotChocolate/AspNetCore/src/Transport.Http/HotChocolate.Transport.Http.csproj" />
4648
<Project Path="HotChocolate/AspNetCore/src/Transport.Sockets.Client/HotChocolate.Transport.Sockets.Client.csproj" />
4749
<Project Path="HotChocolate/AspNetCore/src/Transport.Sockets/HotChocolate.Transport.Sockets.csproj" />
48-
<Project Path="HotChocolate/AspNetCore/src/Transport.Formatters/HotChocolate.Transport.Formatters.csproj" />
4950
</Folder>
5051
<Folder Name="/HotChocolate/AspNetCore/test/">
5152
<Project Path="HotChocolate/AspNetCore/test/AspNetCore.Authorization.Opa.Tests/HotChocolate.AspNetCore.Authorization.Opa.Tests.csproj" />
@@ -67,12 +68,12 @@
6768
</Folder>
6869
<Folder Name="/HotChocolate/Caching/" />
6970
<Folder Name="/HotChocolate/Caching/src/">
70-
<Project Path="HotChocolate/Caching/src/Caching/HotChocolate.Caching.csproj" />
7171
<Project Path="HotChocolate/Caching/src/Caching.Memory/HotChocolate.Caching.Memory.csproj" />
72+
<Project Path="HotChocolate/Caching/src/Caching/HotChocolate.Caching.csproj" />
7273
</Folder>
7374
<Folder Name="/HotChocolate/Caching/test/">
74-
<Project Path="HotChocolate/Caching/test/Caching.Tests/HotChocolate.Caching.Tests.csproj" />
7575
<Project Path="HotChocolate/Caching/test/Caching.Memory.Tests/HotChocolate.Caching.Memory.Tests.csproj" />
76+
<Project Path="HotChocolate/Caching/test/Caching.Tests/HotChocolate.Caching.Tests.csproj" />
7677
</Folder>
7778
<Folder Name="/HotChocolate/Core/" />
7879
<Folder Name="/HotChocolate/Core/src/">
@@ -95,8 +96,8 @@
9596
<Project Path="HotChocolate/Core/src/Subscriptions/HotChocolate.Subscriptions.csproj" />
9697
<Project Path="HotChocolate/Core/src/Types.Abstractions/HotChocolate.Types.Abstractions.csproj" />
9798
<Project Path="HotChocolate/Core/src/Types.Analyzers/HotChocolate.Types.Analyzers.csproj" />
98-
<Project Path="HotChocolate/Core/src/Types.CursorPagination/HotChocolate.Types.CursorPagination.csproj" />
9999
<Project Path="HotChocolate/Core/src/Types.CursorPagination.Extensions/HotChocolate.Types.CursorPagination.Extensions.csproj" />
100+
<Project Path="HotChocolate/Core/src/Types.CursorPagination/HotChocolate.Types.CursorPagination.csproj" />
100101
<Project Path="HotChocolate/Core/src/Types.Errors/HotChocolate.Types.Errors.csproj" />
101102
<Project Path="HotChocolate/Core/src/Types.Json/HotChocolate.Types.Json.csproj" />
102103
<Project Path="HotChocolate/Core/src/Types.Mutations/HotChocolate.Types.Mutations.csproj" />
@@ -174,6 +175,7 @@
174175
</Folder>
175176
<Folder Name="/HotChocolate/Fusion-vnext/" />
176177
<Folder Name="/HotChocolate/Fusion-vnext/src/">
178+
<Project Path="HotChocolate/Fusion-vnext/src/Fusion.AspNetCore/HotChocolate.Fusion.AspNetCore.csproj" />
177179
<Project Path="HotChocolate/Fusion-vnext/src/Fusion.CommandLine/HotChocolate.Fusion.CommandLine.csproj" />
178180
<Project Path="HotChocolate/Fusion-vnext/src/Fusion.Composition/HotChocolate.Fusion.Composition.csproj" />
179181
<Project Path="HotChocolate/Fusion-vnext/src/Fusion.Execution.Types/HotChocolate.Fusion.Execution.Types.csproj" />
@@ -182,6 +184,7 @@
182184
<Project Path="HotChocolate/Fusion-vnext/src/Fusion.Utilities/HotChocolate.Fusion.Utilities.csproj" />
183185
</Folder>
184186
<Folder Name="/HotChocolate/Fusion-vnext/test/">
187+
<Project Path="HotChocolate/Fusion-vnext/test/Fusion.AspNetCore.Tests/HotChocolate.Fusion.AspNetCore.Tests.csproj" />
185188
<Project Path="HotChocolate/Fusion-vnext/test/Fusion.CommandLine.Tests/HotChocolate.Fusion.CommandLine.Tests.csproj" />
186189
<Project Path="HotChocolate/Fusion-vnext/test/Fusion.Composition.Tests/HotChocolate.Fusion.Composition.Tests.csproj" />
187190
<Project Path="HotChocolate/Fusion-vnext/test/Fusion.Execution.Tests/HotChocolate.Fusion.Execution.Tests.csproj" />
@@ -230,12 +233,12 @@
230233
</Folder>
231234
<Folder Name="/HotChocolate/PersistedOperations/" />
232235
<Folder Name="/HotChocolate/PersistedOperations/src/">
236+
<Project Path="HotChocolate/PersistedOperations/src/PersistedOperations.Abstractions/HotChocolate.PersistedOperations.Abstractions.csproj" />
233237
<Project Path="HotChocolate/PersistedOperations/src/PersistedOperations.AzureBlobStorage/HotChocolate.PersistedOperations.AzureBlobStorage.csproj" />
234238
<Project Path="HotChocolate/PersistedOperations/src/PersistedOperations.FileSystem/HotChocolate.PersistedOperations.FileSystem.csproj" />
235239
<Project Path="HotChocolate/PersistedOperations/src/PersistedOperations.InMemory/HotChocolate.PersistedOperations.InMemory.csproj" />
236-
<Project Path="HotChocolate/PersistedOperations/src/PersistedOperations.Redis/HotChocolate.PersistedOperations.Redis.csproj" />
237-
<Project Path="HotChocolate/PersistedOperations/src/PersistedOperations.Abstractions/HotChocolate.PersistedOperations.Abstractions.csproj" />
238240
<Project Path="HotChocolate/PersistedOperations/src/PersistedOperations.Pipeline/HotChocolate.PersistedOperations.Pipeline.csproj" />
241+
<Project Path="HotChocolate/PersistedOperations/src/PersistedOperations.Redis/HotChocolate.PersistedOperations.Redis.csproj" />
239242
</Folder>
240243
<Folder Name="/HotChocolate/PersistedOperations/test/">
241244
<Project Path="HotChocolate/PersistedOperations/test/PersistedOperations.AzureBlobStorage.Tests/HotChocolate.PersistedOperations.AzureBlobStorage.Tests.csproj" />
@@ -275,9 +278,9 @@
275278
<Folder Name="/HotChocolate/Utilities/" />
276279
<Folder Name="/HotChocolate/Utilities/src/">
277280
<Project Path="HotChocolate/Utilities/src/Utilities.Buffers/HotChocolate.Utilities.Buffers.csproj" />
278-
<Project Path="HotChocolate/Utilities/src/Utilities.Tasks/HotChocolate.Utilities.Tasks.csproj" />
279281
<Project Path="HotChocolate/Utilities/src/Utilities.DependencyInjection/HotChocolate.Utilities.DependencyInjection.csproj" />
280282
<Project Path="HotChocolate/Utilities/src/Utilities.Introspection/HotChocolate.Utilities.Introspection.csproj" />
283+
<Project Path="HotChocolate/Utilities/src/Utilities.Tasks/HotChocolate.Utilities.Tasks.csproj" />
281284
<Project Path="HotChocolate/Utilities/src/Utilities/HotChocolate.Utilities.csproj" />
282285
</Folder>
283286
<Folder Name="/HotChocolate/Utilities/test/">
@@ -326,4 +329,4 @@
326329
<Folder Name="/StrawberryShake/Tooling/test/">
327330
<Project Path="StrawberryShake/Tooling/test/Configuration.Tests/StrawberryShake.Tools.Configuration.Tests.csproj" />
328331
</Folder>
329-
</Solution>
332+
</Solution>

src/CookieCrumble/src/CookieCrumble.HotChocolate/Formatters/OperationResultSnapshotValueFormatter.cs

Lines changed: 21 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -9,44 +9,46 @@ internal sealed class OperationResultSnapshotValueFormatter : SnapshotValueForma
99
{
1010
protected override void Format(IBufferWriter<byte> snapshot, OperationResult value)
1111
{
12-
var next = false;
12+
var writer = new Utf8JsonWriter(
13+
snapshot,
14+
new JsonWriterOptions
15+
{
16+
Indented = true,
17+
SkipValidation = true,
18+
Encoder = System.Text.Encodings.Web.JavaScriptEncoder.UnsafeRelaxedJsonEscaping
19+
});
20+
21+
writer.WriteStartObject();
1322

1423
if (value.RequestIndex.HasValue)
1524
{
16-
snapshot.Append("RequestIndex: ");
17-
snapshot.Append(value.RequestIndex.Value.ToString());
18-
next = true;
25+
writer.WriteNumber("requestIndex", value.RequestIndex.Value);
1926
}
2027

2128
if (value.VariableIndex.HasValue)
2229
{
23-
snapshot.AppendLine(appendWhenTrue: next);
24-
snapshot.Append("VariableIndex: ");
25-
snapshot.Append(value.VariableIndex.Value.ToString());
26-
next = true;
30+
writer.WriteNumber("variableIndex", value.VariableIndex.Value);
2731
}
2832

2933
if (value.Data.ValueKind is JsonValueKind.Object)
3034
{
31-
snapshot.AppendLine(appendWhenTrue: next);
32-
snapshot.Append("Data: ");
33-
snapshot.Append(value.Data.ToString());
34-
next = true;
35+
writer.WritePropertyName("data");
36+
value.Data.WriteTo(writer);
3537
}
3638

3739
if (value.Errors.ValueKind is JsonValueKind.Array)
3840
{
39-
snapshot.AppendLine(appendWhenTrue: next);
40-
snapshot.Append("Errors: ");
41-
snapshot.Append(value.Errors.ToString());
42-
next = true;
41+
writer.WritePropertyName("errors");
42+
value.Errors.WriteTo(writer);
4343
}
4444

4545
if (value.Extensions.ValueKind is JsonValueKind.Object)
4646
{
47-
snapshot.AppendLine(appendWhenTrue: next);
48-
snapshot.Append("Extensions: ");
49-
snapshot.Append(value.Extensions.ToString());
47+
writer.WritePropertyName("extensions");
48+
value.Extensions.WriteTo(writer);
5049
}
50+
51+
writer.WriteEndObject();
52+
writer.Flush();
5153
}
5254
}

src/HotChocolate/AspNetCore/HotChocolate.AspNetCore.slnx

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
<Project Path="src/AspNetCore.Authorization.Opa/HotChocolate.AspNetCore.Authorization.Opa.csproj" />
44
<Project Path="src/AspNetCore.Authorization/HotChocolate.AspNetCore.Authorization.csproj" />
55
<Project Path="src/AspNetCore.CommandLine/HotChocolate.AspNetCore.CommandLine.csproj" />
6+
<Project Path="src/AspNetCore.Pipeline/HotChocolate.AspNetCore.Pipeline.csproj" />
67
<Project Path="src/AspNetCore/HotChocolate.AspNetCore.csproj" />
78
<Project Path="src/Transport.Abstractions/HotChocolate.Transport.Abstractions.csproj" />
89
<Project Path="src/Transport.Http/HotChocolate.Transport.Http.csproj" />

src/HotChocolate/AspNetCore/src/AspNetCore/AcceptMediaType.cs renamed to src/HotChocolate/AspNetCore/src/AspNetCore.Pipeline/AcceptMediaType.cs

Lines changed: 13 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,3 @@
1-
using HotChocolate.Utilities;
21
using Microsoft.Extensions.Primitives;
32

43
namespace HotChocolate.AspNetCore;
@@ -48,45 +47,47 @@ internal AcceptMediaType(
4847
Charset = charset.HasValue ? charset.Value : null;
4948
IsUtf8 = Charset?.Equals("utf-8", StringComparison.OrdinalIgnoreCase) ?? true;
5049

51-
if (Type.EqualsOrdinal(ContentType.Types.All) && SubType.EqualsOrdinal(ContentType.Types.All))
50+
if (Type.Equals(ContentType.Types.All, StringComparison.Ordinal)
51+
&& SubType.Equals(ContentType.Types.All, StringComparison.Ordinal))
5252
{
5353
Kind = AcceptMediaTypeKind.All;
5454
}
55-
else if (Type.EqualsOrdinal(ContentType.Types.Application))
55+
else if (Type.Equals(ContentType.Types.Application, StringComparison.Ordinal))
5656
{
57-
if (SubType.EqualsOrdinal(ContentType.Types.All))
57+
if (SubType.Equals(ContentType.Types.All, StringComparison.Ordinal))
5858
{
5959
Kind = AcceptMediaTypeKind.AllApplication;
6060
}
61-
else if (SubType.EqualsOrdinal(ContentType.SubTypes.GraphQLResponse))
61+
else if (SubType.Equals(ContentType.SubTypes.GraphQLResponse, StringComparison.Ordinal))
6262
{
6363
Kind = AcceptMediaTypeKind.ApplicationGraphQL;
6464
}
65-
else if (SubType.EqualsOrdinal(ContentType.SubTypes.GraphQLResponseStream))
65+
else if (SubType.Equals(ContentType.SubTypes.GraphQLResponseStream, StringComparison.Ordinal))
6666
{
6767
Kind = AcceptMediaTypeKind.ApplicationGraphQLStream;
6868
}
69-
else if (SubType.EqualsOrdinal(ContentType.SubTypes.Json))
69+
else if (SubType.Equals(ContentType.SubTypes.Json, StringComparison.Ordinal))
7070
{
7171
Kind = AcceptMediaTypeKind.ApplicationJson;
7272
}
73-
else if (SubType.EqualsOrdinal(ContentType.SubTypes.JsonLines))
73+
else if (SubType.Equals(ContentType.SubTypes.JsonLines, StringComparison.Ordinal))
7474
{
7575
Kind = AcceptMediaTypeKind.ApplicationJsonLines;
7676
}
7777
}
78-
else if (Type.EqualsOrdinal(ContentType.Types.MultiPart))
78+
else if (Type.Equals(ContentType.Types.MultiPart, StringComparison.Ordinal))
7979
{
80-
if (SubType.EqualsOrdinal(ContentType.Types.All))
80+
if (SubType.Equals(ContentType.Types.All, StringComparison.Ordinal))
8181
{
8282
Kind = AcceptMediaTypeKind.AllMultiPart;
8383
}
84-
else if (SubType.EqualsOrdinal(ContentType.SubTypes.Mixed))
84+
else if (SubType.Equals(ContentType.SubTypes.Mixed, StringComparison.Ordinal))
8585
{
8686
Kind = AcceptMediaTypeKind.MultiPartMixed;
8787
}
8888
}
89-
else if (Type.EqualsOrdinal(ContentType.Types.Text) && SubType.EqualsOrdinal(ContentType.SubTypes.EventStream))
89+
else if (Type.Equals(ContentType.Types.Text, StringComparison.Ordinal)
90+
&& SubType.Equals(ContentType.SubTypes.EventStream, StringComparison.Ordinal))
9091
{
9192
Kind = AcceptMediaTypeKind.EventStream;
9293
}

src/HotChocolate/AspNetCore/src/AspNetCore/AllowedGetOperations.cs renamed to src/HotChocolate/AspNetCore/src/AspNetCore.Pipeline/AllowedGetOperations.cs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@ namespace HotChocolate.AspNetCore;
33
[Flags]
44
public enum AllowedGetOperations
55
{
6+
None = 0,
67
Query = 1,
78
Mutation = 2,
89
Subscription = 4,

0 commit comments

Comments
 (0)