public void IsIpAllowed_ReturnsTrue_ForNonWhiteListedIps()
        {
            var req = new HttpRequestMessage();
            req.Properties.Add(HttpPropertyKeys.RequestContextKey, new HttpRequestContext { IsLocal = false });

            req.IsIpAllowed().ShouldBeFalse();
        }
        public void IsIpAllowed_ReturnsTrue_ForLocalIps()
        {
            var req = new HttpRequestMessage();
            req.Properties.Add(HttpPropertyKeys.RequestContextKey, new HttpRequestContext { IsLocal = true });

            req.IsIpAllowed().ShouldBeTrue();
        }
        public void IsIpAllowed_ReturnsTrue_ForWhiteListedIps()
        {
            var req = new HttpRequestMessage();
            req.Properties.Add(HttpPropertyKeys.RequestContextKey, new HttpRequestContext { IsLocal = false });
            req.Properties.Add("System.ServiceModel.Channels.RemoteEndpointMessageProperty", new IpConfig { Address = "192.168.0.196" });

            req.IsIpAllowed().ShouldBeTrue();
        }
Ejemplo n.º 4
0
        protected override async Task<HttpResponseMessage> SendAsync(HttpRequestMessage request,
            CancellationToken cancellationToken)
        {
            if (request.IsIpAllowed())
            {
                return await base.SendAsync(request, cancellationToken);
            }

            return request.CreateErrorResponse(HttpStatusCode.Forbidden, "Cannot view this resource");
        }