public DevServerManifestReader(DevServerContext context, DevServerBackchannelFactory backchannelFactory)
        {
            if (context == null)
            {
                throw new ArgumentNullException(nameof(context));
            }

            if (backchannelFactory == null)
            {
                throw new ArgumentNullException(nameof(backchannelFactory));
            }

            backchannel = backchannelFactory.Create(context.ManifestUri);
            backchannel.DefaultRequestHeaders.Add("Connection", "keep-alive");
        }
        public DevServerReverseProxyMiddleware(
            DevServerContext context,
            DevServerBackchannelFactory backchannelFactory,
            RequestDelegate next)
        {
            if (context == null)
            {
                throw new ArgumentNullException(nameof(context));
            }

            if (backchannelFactory == null)
            {
                throw new ArgumentNullException(nameof(backchannelFactory));
            }

            this.next          = next ?? throw new ArgumentNullException(nameof(next));
            this.devServerHost = context.DevServerHost;
            this.backchannel   = backchannelFactory.Create(context.DevServerUri);
        }