package middleware
Type Members
- trait GraphQLMetricsCollector extends AnyRef
- class LoggingMetricsCollector extends GraphQLMetricsCollector with StrictLogging
- class MetricsCollectionMiddleware extends MiddlewareErrorField[SangriaGraphQlContext]
- class NoopMetricsCollector extends GraphQLMetricsCollector with StrictLogging
- class ResponseMetadataMiddleware extends MiddlewareExtension[SangriaGraphQlContext] with MiddlewareAfterField[SangriaGraphQlContext] with MiddlewareErrorField[SangriaGraphQlContext]
-
class
SlowLogMiddleware extends Middleware[SangriaGraphQlContext] with MiddlewareExtension[SangriaGraphQlContext] with MiddlewareAfterField[SangriaGraphQlContext] with MiddlewareErrorField[SangriaGraphQlContext]
Why is this wrapper on sangria.slowlog.SlowLog necessary? It's type signature is
Middleware[Any] with MiddlewareAfterField[Any] with MiddlewareErrorField[Any] with MiddlewareExtension[Any]whereAnyrefers to the "userContext".Why is this wrapper on sangria.slowlog.SlowLog necessary? It's type signature is
Middleware[Any] with MiddlewareAfterField[Any] with MiddlewareErrorField[Any] with MiddlewareExtension[Any]whereAnyrefers to the "userContext". This prevents more specific userContext types such asSangriaGraphQlContextfrom directly working.Once the library is updated to support parametric types, we should get rid of this delegate and instantiate the SlowLog directly to pass into
Executor.execute