private async Task HandleRequestAsync(HttpContext context)
        {
            IRequestExecutor requestExecutor = await GetExecutorAsync(context.RequestAborted);

            string fileName =
                requestExecutor.Schema.Name.IsEmpty ||
                requestExecutor.Schema.Name.Equals(Schema.DefaultName)
                    ? "schema.graphql"
                    : requestExecutor.Schema.Name + ".schema.graphql";

            context.Response.ContentType = ContentType.GraphQL;
            context.Response.Headers.Add(
                "Content-Disposition",
                new[] { $"attachment; filename=\"{fileName}\"" });

            await SchemaSerializer.SerializeAsync(
                requestExecutor.Schema,
                context.Response.Body,
                indented : true,
                context.RequestAborted)
            .ConfigureAwait(false);
        }