Skip to content

Commit

Permalink
Optimized middleware access to the request executor
Browse files Browse the repository at this point in the history
  • Loading branch information
michaelstaib committed Nov 12, 2022
1 parent 009e87b commit 96c46b7
Showing 1 changed file with 6 additions and 8 deletions.
14 changes: 6 additions & 8 deletions src/HotChocolate/AspNetCore/src/AspNetCore/MiddlewareBase.cs
Expand Up @@ -17,6 +17,7 @@ public class MiddlewareBase : IDisposable
private readonly RequestDelegate _next;
private readonly IHttpResponseFormatter _responseFormatter;
private bool _disposed;
private readonly RequestExecutorProxy _executorProxy;

protected MiddlewareBase(
RequestDelegate next,
Expand All @@ -35,7 +36,7 @@ public class MiddlewareBase : IDisposable
throw new ArgumentNullException(nameof(responseFormatter));
SchemaName = schemaName;
IsDefaultSchema = SchemaName.EqualsOrdinal(Schema.DefaultName);
ExecutorProxy = new RequestExecutorProxy(executorResolver, schemaName);
_executorProxy = new RequestExecutorProxy(executorResolver, schemaName);
}

/// <summary>
Expand All @@ -51,7 +52,7 @@ public class MiddlewareBase : IDisposable
/// <summary>
/// Gets the request executor proxy.
/// </summary>
protected RequestExecutorProxy ExecutorProxy { get; }
protected RequestExecutorProxy ExecutorProxy => _executorProxy;

/// <summary>
/// Invokes the next middleware in line.
Expand All @@ -71,7 +72,7 @@ public class MiddlewareBase : IDisposable
/// Returns the request executor for this middleware.
/// </returns>
protected ValueTask<IRequestExecutor> GetExecutorAsync(CancellationToken cancellationToken)
=> ExecutorProxy.GetRequestExecutorAsync(cancellationToken);
=> _executorProxy.GetRequestExecutorAsync(cancellationToken);

/// <summary>
/// Gets the schema for this middleware.
Expand All @@ -82,11 +83,8 @@ protected ValueTask<IRequestExecutor> GetExecutorAsync(CancellationToken cancell
/// <returns>
/// Returns the schema for this middleware.
/// </returns>
protected async ValueTask<ISchema> GetSchemaAsync(CancellationToken cancellationToken)
{
var requestExecutor = await GetExecutorAsync(cancellationToken);
return requestExecutor.Schema;
}
protected ValueTask<ISchema> GetSchemaAsync(CancellationToken cancellationToken)
=> _executorProxy.GetSchemaAsync(cancellationToken);

protected ValueTask WriteResultAsync(
HttpContext context,
Expand Down

0 comments on commit 96c46b7

Please sign in to comment.