/// <exception cref="System.IO.IOException"/> /// <exception cref="Javax.Servlet.ServletException"/> public override void DoFilter(ServletRequest request, ServletResponse response, FilterChain filterChain) { KMSAuthenticationFilter.KMSResponse kmsResponse = new KMSAuthenticationFilter.KMSResponse (response); base.DoFilter(request, kmsResponse, filterChain); if (kmsResponse.statusCode != HttpServletResponse.ScOk && kmsResponse.statusCode != HttpServletResponse.ScCreated && kmsResponse.statusCode != HttpServletResponse .ScUnauthorized) { KMSWebApp.GetInvalidCallsMeter().Mark(); } // HttpServletResponse.SC_UNAUTHORIZED is because the request does not // belong to an authenticated user. if (kmsResponse.statusCode == HttpServletResponse.ScUnauthorized) { KMSWebApp.GetUnauthenticatedCallsMeter().Mark(); string method = ((HttpServletRequest)request).GetMethod(); StringBuilder requestURL = ((HttpServletRequest)request).GetRequestURL(); string queryString = ((HttpServletRequest)request).GetQueryString(); if (queryString != null) { requestURL.Append("?").Append(queryString); } KMSWebApp.GetKMSAudit().Unauthenticated(request.GetRemoteHost(), method, requestURL .ToString(), kmsResponse.msg); } }