Skip to content

Commit a162880

Browse files
authored
Adds Variable Batching (#6981)
1 parent 9d1e3ce commit a162880

File tree

653 files changed

+15331
-19577
lines changed

Some content is hidden

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

653 files changed

+15331
-19577
lines changed

src/CookieCrumble/src/CookieCrumble/Extensions/CommonTestExtensions.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,10 +16,10 @@ public static ValueTask<IRequestExecutor> CreateExceptionExecutor(
1616
if (context.ContextData.TryGetValue("ex", out var queryString))
1717
{
1818
context.Result =
19-
QueryResultBuilder
19+
OperationResultBuilder
2020
.FromResult(context.Result!.ExpectQueryResult())
2121
.SetContextData("ex", queryString)
22-
.Create();
22+
.Build();
2323
}
2424
})
2525
.UseDefaultPipeline()

src/CookieCrumble/src/CookieCrumble/Extensions/WriterExtensions.cs

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,17 @@ public static void AppendLine(this IBufferWriter<byte> snapshot)
2020
snapshot.GetSpan(1)[0] = (byte)'\n';
2121
snapshot.Advance(1);
2222
}
23+
24+
public static void AppendLine(this IBufferWriter<byte> snapshot, bool appendWhenTrue)
25+
{
26+
if (!appendWhenTrue)
27+
{
28+
return;
29+
}
30+
31+
snapshot.GetSpan(1)[0] = (byte)'\n';
32+
snapshot.Advance(1);
33+
}
2334

2435
public static void AppendSeparator(this IBufferWriter<byte> snapshot)
2536
{

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

Lines changed: 25 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -8,24 +8,43 @@ internal sealed class OperationResultSnapshotValueFormatter : SnapshotValueForma
88
{
99
protected override void Format(IBufferWriter<byte> snapshot, OperationResult value)
1010
{
11+
var next = false;
12+
13+
if(value.RequestIndex.HasValue)
14+
{
15+
snapshot.Append("RequestIndex: ");
16+
snapshot.Append(value.RequestIndex.Value.ToString());
17+
next = true;
18+
}
19+
20+
if(value.VariableIndex.HasValue)
21+
{
22+
snapshot.AppendLine(appendWhenTrue: next);
23+
snapshot.Append("VariableIndex: ");
24+
snapshot.Append(value.VariableIndex.Value.ToString());
25+
next = true;
26+
}
27+
1128
if (value.Data.ValueKind is JsonValueKind.Object)
1229
{
13-
snapshot.Append("Data:");
14-
snapshot.AppendLine();
30+
snapshot.AppendLine(appendWhenTrue: next);
31+
snapshot.Append("Data: ");
1532
snapshot.Append(value.Data.ToString());
33+
next = true;
1634
}
1735

1836
if (value.Errors.ValueKind is JsonValueKind.Array)
1937
{
20-
snapshot.Append("Errors:");
21-
snapshot.AppendLine();
38+
snapshot.AppendLine(appendWhenTrue: next);
39+
snapshot.Append("Errors: ");
2240
snapshot.Append(value.Errors.ToString());
41+
next = true;
2342
}
2443

2544
if (value.Extensions.ValueKind is JsonValueKind.Object)
2645
{
27-
snapshot.Append("Extensions:");
28-
snapshot.AppendLine();
46+
snapshot.AppendLine(appendWhenTrue: next);
47+
snapshot.Append("Extensions: ");
2948
snapshot.Append(value.Extensions.ToString());
3049
}
3150
}

src/HotChocolate/ApolloFederation/test/ApolloFederation.Tests/CertificationSchema/AnnotationBased/CertificationTests.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ public async Task Subgraph_SDL()
3333
// assert
3434
Assert.IsType<ObjectResult>(
3535
Assert.IsType<ObjectResult>(
36-
Assert.IsType<QueryResult>(result).Data)
36+
Assert.IsType<OperationResult>(result).Data)
3737
.GetValueOrDefault("_service"))
3838
.GetValueOrDefault("sdl")
3939
.MatchSnapshot();

src/HotChocolate/ApolloFederation/test/ApolloFederation.Tests/CertificationSchema/CodeFirst/CertificationTests.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ public async Task Subgraph_SDL()
3333
""");
3434

3535
// assert
36-
var queryResult = Assert.IsType<QueryResult>(result);
36+
var queryResult = Assert.IsType<OperationResult>(result);
3737
var data = Assert.IsType<ObjectResult>(queryResult.Data);
3838
var service = Assert.IsType<ObjectResult>(data.GetValueOrDefault("_service"));
3939
service.GetValueOrDefault("sdl").MatchSnapshot();

src/HotChocolate/AspNetCore/src/AspNetCore/DefaultHttpRequestInterceptor.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ public class DefaultHttpRequestInterceptor : IHttpRequestInterceptor
1313
public virtual ValueTask OnCreateAsync(
1414
HttpContext context,
1515
IRequestExecutor requestExecutor,
16-
IQueryRequestBuilder requestBuilder,
16+
OperationRequestBuilder requestBuilder,
1717
CancellationToken cancellationToken)
1818
{
1919
var userState = new UserState(context.User);

src/HotChocolate/AspNetCore/src/AspNetCore/DefaultSocketSessionInterceptor.cs

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -18,13 +18,13 @@ public virtual ValueTask<ConnectionStatus> OnConnectAsync(
1818
public virtual ValueTask OnRequestAsync(
1919
ISocketSession session,
2020
string operationSessionId,
21-
IQueryRequestBuilder requestBuilder,
21+
OperationRequestBuilder requestBuilder,
2222
CancellationToken cancellationToken = default)
2323
{
2424
var context = session.Connection.HttpContext;
2525
var userState = new UserState(context.User);
2626
var serviceScopeFactory = session.Connection.RequestServices.GetService<IServiceScopeFactory>();
27-
27+
2828
requestBuilder.TryAddGlobalState(nameof(IServiceScopeFactory), serviceScopeFactory);
2929
requestBuilder.TryAddGlobalState(nameof(CancellationToken), session.Connection.RequestAborted);
3030
requestBuilder.TryAddGlobalState(nameof(HttpContext), context);
@@ -47,10 +47,10 @@ public virtual ValueTask OnRequestAsync(
4747
return default;
4848
}
4949

50-
public virtual ValueTask<IQueryResult> OnResultAsync(
50+
public virtual ValueTask<IOperationResult> OnResultAsync(
5151
ISocketSession session,
5252
string operationSessionId,
53-
IQueryResult result,
53+
IOperationResult result,
5454
CancellationToken cancellationToken = default)
5555
=> new(result);
5656

src/HotChocolate/AspNetCore/src/AspNetCore/DelegateHttpRequestInterceptor.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ public DelegateHttpRequestInterceptor(HttpRequestInterceptorDelegate interceptor
1414
public override async ValueTask OnCreateAsync(
1515
HttpContext context,
1616
IRequestExecutor requestExecutor,
17-
IQueryRequestBuilder requestBuilder,
17+
OperationRequestBuilder requestBuilder,
1818
CancellationToken cancellationToken)
1919
{
2020
await _interceptor(context, requestExecutor, requestBuilder, cancellationToken);

src/HotChocolate/AspNetCore/src/AspNetCore/ErrorHelper.cs

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -25,14 +25,14 @@ public static IError NoSupportedAcceptMediaType()
2525
.SetCode(ErrorCodes.Server.NoSupportedAcceptMediaType)
2626
.Build();
2727

28-
public static IQueryResult TypeNameIsEmpty()
29-
=> QueryResultBuilder.CreateError(
28+
public static IOperationResult TypeNameIsEmpty()
29+
=> OperationResultBuilder.CreateError(
3030
new Error(
3131
ErrorHelper_TypeNameIsEmpty,
3232
code: ErrorCodes.Server.TypeParameterIsEmpty));
3333

34-
public static IQueryResult InvalidTypeName(string typeName)
35-
=> QueryResultBuilder.CreateError(
34+
public static IOperationResult InvalidTypeName(string typeName)
35+
=> OperationResultBuilder.CreateError(
3636
new Error(
3737
ErrorHelper_InvalidTypeName,
3838
code: ErrorCodes.Server.InvalidTypeName,
@@ -41,8 +41,8 @@ public static IQueryResult InvalidTypeName(string typeName)
4141
{ nameof(typeName), typeName },
4242
}));
4343

44-
public static IQueryResult TypeNotFound(string typeName)
45-
=> QueryResultBuilder.CreateError(
44+
public static IOperationResult TypeNotFound(string typeName)
45+
=> OperationResultBuilder.CreateError(
4646
new Error(
4747
string.Format(ErrorHelper_TypeNotFound, typeName),
4848
code: ErrorCodes.Server.TypeDoesNotExist,
@@ -51,8 +51,8 @@ public static IQueryResult TypeNotFound(string typeName)
5151
{ nameof(typeName), typeName },
5252
}));
5353

54-
public static IQueryResult InvalidAcceptMediaType(string headerValue)
55-
=> QueryResultBuilder.CreateError(
54+
public static IOperationResult InvalidAcceptMediaType(string headerValue)
55+
=> OperationResultBuilder.CreateError(
5656
new Error(
5757
string.Format(ErrorHelper_InvalidAcceptMediaType, headerValue),
5858
code: ErrorCodes.Server.InvalidAcceptHeaderValue,
@@ -61,8 +61,8 @@ public static IQueryResult InvalidAcceptMediaType(string headerValue)
6161
{ nameof(headerValue), headerValue },
6262
}));
6363

64-
public static IQueryResult MultiPartRequestPreflightRequired()
65-
=> QueryResultBuilder.CreateError(
64+
public static IOperationResult MultiPartRequestPreflightRequired()
65+
=> OperationResultBuilder.CreateError(
6666
new Error(
6767
ErrorHelper_MultiPartRequestPreflightRequired,
6868
code: ErrorCodes.Server.MultiPartPreflightRequired));

src/HotChocolate/AspNetCore/src/AspNetCore/HeaderUtilities.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -165,7 +165,7 @@ public AcceptHeaderResult(string headerValue)
165165

166166
public AcceptMediaType[] AcceptMediaTypes { get; }
167167

168-
public IQueryResult? ErrorResult { get; }
168+
public IOperationResult? ErrorResult { get; }
169169

170170
[MemberNotNullWhen(true, nameof(ErrorResult))]
171171
public bool HasError { get; }

0 commit comments

Comments
 (0)