public void NormalPassThrough_Success()
        {
            AppFunc middleware = new PassiveValidator(
                env =>
                {
                    env[OwinConstants.ResponseStatusCode] = 200;
                    return TaskHelpers.Completed();
                }).Invoke;

            Request request = Request.Create();
            request.CancellationToken = new CancellationTokenSource().Token;
            request.Body = Stream.Null;
            request.Method = "GET";
            request.Path = "/foo";
            request.PathBase = string.Empty;
            request.Protocol = "HTTP/1.1";
            request.QueryString = "foo=bar";
            request.Scheme = "http";
            request.Version = "1.0";
            request.HostWithPort = "hostname:8080";

            request.Environment[OwinConstants.ResponseBody] = new MemoryStream();

            middleware(request.Environment).Wait();

            Response response = new Response(request.Environment);

            Assert.That(response.StatusCode, Is.EqualTo(200), ReadBody(response.OutputStream));
            Assert.That(response.Headers.GetHeader("X-OwinValidatorWarning"), Is.Null);
        }
        public void NormalPassThrough_Success()
        {
            AppFunc middleware = new PassiveValidator(
                env =>
            {
                env[OwinConstants.ResponseStatusCode] = 200;
                return(TaskHelpers.Completed());
            }).Invoke;

            Request request = Request.Create();

            request.CancellationToken = new CancellationTokenSource().Token;
            request.Body         = Stream.Null;
            request.Method       = "GET";
            request.Path         = "/foo";
            request.PathBase     = string.Empty;
            request.Protocol     = "HTTP/1.1";
            request.QueryString  = "foo=bar";
            request.Scheme       = "http";
            request.Version      = "1.0";
            request.HostWithPort = "hostname:8080";

            request.Environment[OwinConstants.ResponseBody] = new MemoryStream();

            middleware(request.Environment).Wait();

            Response response = new Response(request.Environment);

            Assert.That(response.StatusCode, Is.EqualTo(200), ReadBody(response.OutputStream));
            Assert.That(response.Headers.GetHeader("X-OwinValidatorWarning"), Is.Null);
        }
Exemple #3
0
        public static IAppBuilder UsePassiveValidator(this IAppBuilder builder)
        {
            IList <string> warnings = new List <string>();

            if (!PassiveValidator.TryValidateProperties(builder.Properties, warnings))
            {
                throw new InvalidOperationException(warnings.Aggregate("builder.Properties are invalid", (a, b) => a + "\r\n" + b));
            }

            if (warnings.Count != 0)
            {
                var builderProperties = new BuilderProperties(builder.Properties);
                var output            = builderProperties.TraceOutput ?? Console.Out;
                output.WriteLine(warnings.Aggregate("builder.Properties are invalid", (a, b) => a + "\r\n" + b));
            }

            return(builder.UseType <PassiveValidator>());
        }