/// <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(); } }
/// <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); }
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(); }
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(); }