public DefaultGrainBuilder(IGrainReference grainReferenceProvider, IOptions <OrleansHttpGatewayOptions> config)
        {
            if (config == null)
            {
                throw new ArgumentNullException(nameof(config));
            }

            this._grainReferenceProvider = grainReferenceProvider ?? throw new ArgumentNullException(nameof(IGrainReference));
            this._options = config.Value;
        }
 public OrleansRequesterMiddleware(OcelotRequestDelegate next,
                                   IClusterClientBuilder clusterClientBuilder,
                                   IGrainReference grainReference,
                                   IGrainMethodInvoker grainInvoker,
                                   IRouteValuesBuilder routeValuesBuilder,
                                   IOptions <OrleansRequesterConfiguration> config,
                                   IOrleansAuthorisation authorisation,
                                   IOcelotLoggerFactory loggerFactory)
     : base(loggerFactory.CreateLogger <OrleansRequesterMiddleware>())
 {
     this._clusterClientBuilder = clusterClientBuilder;
     this._grainReference       = grainReference;
     this._grainInvoker         = grainInvoker;
     this._routeValuesBuilder   = routeValuesBuilder;
     this._logger        = loggerFactory.CreateLogger <OrleansRequesterMiddleware>();
     this._config        = config?.Value;
     this._authorisation = authorisation;
     this._next          = next;
 }