Ejemplo n.º 1
0
 /// <summary>Sets the slf4j <code>MDC</code> and delegates the request to the chain.</summary>
 /// <param name="request">servlet request.</param>
 /// <param name="response">servlet response.</param>
 /// <param name="chain">filter chain.</param>
 /// <exception cref="System.IO.IOException">thrown if an IO error occurrs.</exception>
 /// <exception cref="Javax.Servlet.ServletException">thrown if a servet error occurrs.
 ///     </exception>
 public virtual void DoFilter(ServletRequest request, ServletResponse response, FilterChain
                              chain)
 {
     try
     {
         MDC.Clear();
         string hostname = HostnameFilter.Get();
         if (hostname != null)
         {
             MDC.Put("hostname", HostnameFilter.Get());
         }
         Principal principal = ((HttpServletRequest)request).GetUserPrincipal();
         string    user      = (principal != null) ? principal.GetName() : null;
         if (user != null)
         {
             MDC.Put("user", user);
         }
         MDC.Put("method", ((HttpServletRequest)request).GetMethod());
         MDC.Put("path", ((HttpServletRequest)request).GetPathInfo());
         chain.DoFilter(request, response);
     }
     finally
     {
         MDC.Clear();
     }
 }
Ejemplo n.º 2
0
 /// <exception cref="System.IO.IOException"/>
 /// <exception cref="Javax.Servlet.ServletException"/>
 public void DoFilter(ServletRequest servletRequest, ServletResponse servletResponse
                      )
 {
     NUnit.Framework.Assert.IsTrue(HostnameFilter.Get().Contains("localhost") || HostnameFilter
                                   .Get().Contains("127.0.0.1"));
     invoked.Set(true);
 }
Ejemplo n.º 3
0
        public virtual void TestMissingHostname()
        {
            ServletRequest request = Org.Mockito.Mockito.Mock <ServletRequest>();

            Org.Mockito.Mockito.When(request.GetRemoteAddr()).ThenReturn(null);
            ServletResponse response = Org.Mockito.Mockito.Mock <ServletResponse>();
            AtomicBoolean   invoked  = new AtomicBoolean();
            FilterChain     chain    = new _FilterChain_79(invoked);
            Filter          filter   = new HostnameFilter();

            filter.Init(null);
            NUnit.Framework.Assert.IsNull(HostnameFilter.Get());
            filter.DoFilter(request, response, chain);
            NUnit.Framework.Assert.IsTrue(invoked.Get());
            NUnit.Framework.Assert.IsNull(HostnameFilter.Get());
            filter.Destroy();
        }
Ejemplo n.º 4
0
        public virtual void Hostname()
        {
            ServletRequest request = Org.Mockito.Mockito.Mock <ServletRequest>();

            Org.Mockito.Mockito.When(request.GetRemoteAddr()).ThenReturn("localhost");
            ServletResponse response = Org.Mockito.Mockito.Mock <ServletResponse>();
            AtomicBoolean   invoked  = new AtomicBoolean();
            FilterChain     chain    = new _FilterChain_49(invoked);
            // Hostname was set to "localhost", but may get resolved automatically to
            // "127.0.0.1" depending on OS.
            Filter filter = new HostnameFilter();

            filter.Init(null);
            NUnit.Framework.Assert.IsNull(HostnameFilter.Get());
            filter.DoFilter(request, response, chain);
            NUnit.Framework.Assert.IsTrue(invoked.Get());
            NUnit.Framework.Assert.IsNull(HostnameFilter.Get());
            filter.Destroy();
        }