@Override public void log(Request jettyRequest, Response jettyResponse) { JettyServerAdapter adapter = new JettyServerAdapter(jettyRequest, jettyResponse); IAccessEvent accessEvent = new AccessEvent(jettyRequest, jettyResponse, adapter); if (getFilterChainDecision(accessEvent) == FilterReply.DENY) { return; } aai.appendLoopOnAppenders(accessEvent); }
private IAccessEvent createEvent() { DummyServerAdapter dummyAdapter = new DummyServerAdapter(request, response); return new AccessEvent(request, response, dummyAdapter); }
static public IAccessEvent buildNewAccessEvent() { DummyRequest request = new DummyRequest(); DummyResponse response = new DummyResponse(); DummyServerAdapter adapter = new DummyServerAdapter(request, response); return new AccessEvent(request, response, adapter); }
@Test public void testExpectFalse() throws EvaluationException { request.setRequestUri("test"); IAccessEvent ae = new AccessEvent(request, response, serverAdapter); assertFalse(evaluator.evaluate(ae)); }
private IAccessEvent createAccessEvent(String uri) { DummyRequest request = new DummyRequest(); request.setRequestUri(uri); DummyResponse response = new DummyResponse(); DummyServerAdapter adapter = new DummyServerAdapter(request, response); return new AccessEvent(request, response, adapter); } }
@Test public void testExpectTrue() throws EvaluationException { request.setRequestUri(expectedURL1); IAccessEvent ae = new AccessEvent(request, response, serverAdapter); assertTrue(evaluator.evaluate(ae)); }
@Override public void invoke(Request request, Response response) throws IOException, ServletException { try { if (!alreadySetLogbackStatusManager) { alreadySetLogbackStatusManager = true; org.apache.catalina.Context tomcatContext = request.getContext(); if (tomcatContext != null) { ServletContext sc = tomcatContext.getServletContext(); if (sc != null) { sc.setAttribute(AccessConstants.LOGBACK_STATUS_MANAGER_KEY, getStatusManager()); } } } getNext().invoke(request, response); TomcatServerAdapter adapter = new TomcatServerAdapter(request, response); IAccessEvent accessEvent = new AccessEvent(request, response, adapter); addThreadName(accessEvent); if (getFilterChainDecision(accessEvent) == FilterReply.DENY) { return; } // TODO better exception handling aai.appendLoopOnAppenders(accessEvent); } finally { request.removeAttribute(AccessConstants.LOGBACK_STATUS_MANAGER_KEY); } }
@Test public void testExpectTrueMultiple() throws EvaluationException { evaluator.addURL(expectedURL2); request.setRequestUri(expectedURL2); IAccessEvent ae = new AccessEvent(request, response, serverAdapter); assertTrue(evaluator.evaluate(ae)); } }
@Test public void smoke() throws EvaluationException { evaluator.setExpression("event.getProtocol().equals(\"testProtocol\")"); evaluator.start(); IAccessEvent ae = new AccessEvent(request, response, serverAdapter); assertTrue(evaluator.evaluate(ae)); }
@Test public void block() throws EvaluationException { evaluator.setExpression("String protocol = event.getProtocol();" + "return protocol.equals(\"testProtocol\");"); evaluator.start(); IAccessEvent ae = new AccessEvent(request, response, serverAdapter); assertTrue(evaluator.evaluate(ae)); }
@Test public void invalidExpression() throws EvaluationException { evaluator.setExpression("return true"); evaluator.start(); IAccessEvent ae = new AccessEvent(request, response, serverAdapter); try { evaluator.evaluate(ae); fail("Was expecting an exception"); } catch (IllegalStateException e) { } } }
@Test public void testAttributesAreNotTakenFromRecycledRequestWhenProcessingDeferred() { DummyRequest request = new DummyRequest(); DummyResponse response = new DummyResponse(); DummyServerAdapter adapter = new DummyServerAdapter(request, response); IAccessEvent event = new AccessEvent(request, response, adapter); request.setAttribute("testKey", "ORIGINAL"); event.prepareForDeferredProcessing(); request.setAttribute("testKey", "NEW"); // Event should capture the original value assertEquals("ORIGINAL", event.getAttribute("testKey")); } }