use of javax.servlet.ServletRequest in project gerrit by GerritCodeReview.
the class HttpPluginServlet method service.
@Override
public void service(HttpServletRequest req, HttpServletResponse res) throws IOException, ServletException {
List<String> parts = Lists.newArrayList(Splitter.on('/').limit(3).omitEmptyStrings().split(Strings.nullToEmpty(RequestUtil.getEncodedPathInfo(req))));
if (isApiCall(req, parts)) {
managerApi.service(req, res);
return;
}
String name = parts.get(0);
final PluginHolder holder = plugins.get(name);
if (holder == null) {
CacheHeaders.setNotCacheable(res);
res.sendError(HttpServletResponse.SC_NOT_FOUND);
return;
}
HttpServletRequest wr = wrapper.create(req, name);
FilterChain chain = new FilterChain() {
@Override
public void doFilter(ServletRequest req, ServletResponse res) throws IOException {
onDefault(holder, (HttpServletRequest) req, (HttpServletResponse) res);
}
};
if (holder.filter != null) {
holder.filter.doFilter(wr, res, chain);
} else {
chain.doFilter(wr, res);
}
}
use of javax.servlet.ServletRequest in project indy by Commonjava.
the class RequestScopeListener method requestInitialized.
@Override
public void requestInitialized(final ServletRequestEvent evt) {
final BoundRequestContext ctx = CDI.current().select(BoundRequestContext.class).get();
final Map<String, Object> instanceMap = new HashMap<>();
final ServletRequest req = evt.getServletRequest();
req.setAttribute(CDI_CONTEXT, ctx);
req.setAttribute(CDI_INSTANCE_MAP, instanceMap);
ctx.associate(instanceMap);
ctx.activate();
}
use of javax.servlet.ServletRequest in project indy by Commonjava.
the class RequestScopeListener method requestDestroyed.
@Override
public void requestDestroyed(final ServletRequestEvent evt) {
final ServletRequest req = evt.getServletRequest();
@SuppressWarnings("unchecked") final Map<String, Object> instanceMap = (Map<String, Object>) req.getAttribute(CDI_INSTANCE_MAP);
final BoundRequestContext ctx = (BoundRequestContext) req.getAttribute(CDI_CONTEXT);
ctx.invalidate();
ctx.deactivate();
ctx.dissociate(instanceMap);
req.removeAttribute(CDI_CONTEXT);
req.removeAttribute(CDI_INSTANCE_MAP);
}
use of javax.servlet.ServletRequest in project sling by apache.
the class LogTracerTest method checkTracing.
@Test
public void checkTracing() throws Exception {
HttpServletRequest request = mock(SlingHttpServletRequest.class);
HttpServletResponse response = mock(HttpServletResponse.class);
when(request.getParameter(LogTracer.PARAM_TRACER_CONFIG)).thenReturn("a.b.c;level=trace,a.b;level=debug");
activateTracer();
Level oldLevel = rootLogger().getLevel();
rootLogger().setLevel(Level.INFO);
FilterChain chain = new FilterChain() {
@Override
public void doFilter(ServletRequest request, ServletResponse response) throws IOException, ServletException {
TurboFilter turboFilter = context.getService(TurboFilter.class);
assertNotNull(turboFilter);
getLogContext().addTurboFilter(turboFilter);
getLogger("a").info("a-info");
getLogger("a").debug("a-debug");
getLogger("a.b").info("a.b-info");
getLogger("a.b").debug("a.b-debug");
getLogger("a.b").trace("a.b-trace");
getLogger("a.b.c").debug("a.b.c-debug");
getLogger("a.b.c").trace("a.b.c-trace");
getLogger("a.b.c.d").trace("a.b.c.d-trace");
if (getLogger("a.b.c").isTraceEnabled()) {
getLogger("a.b.c").trace("a.b.c-trace2");
}
}
};
Filter filter = getFilter(true);
filter.doFilter(request, response, chain);
assertNull(context.getService(TurboFilter.class));
List<String> logs = logCollector.getLogs();
assertThat(logs, hasItem("a-info"));
assertThat(logs, not(hasItem("a-debug")));
assertThat(logs, hasItem("a.b-info"));
assertThat(logs, hasItem("a.b-debug"));
assertThat(logs, not(hasItem("a.b-trace")));
assertThat(logs, hasItem("a.b.c-debug"));
assertThat(logs, hasItem("a.b.c-trace"));
assertThat(logs, hasItem("a.b.c-trace2"));
assertThat(logs, hasItem("a.b.c.d-trace"));
rootLogger().setLevel(oldLevel);
}
use of javax.servlet.ServletRequest in project sling by apache.
the class LogTracerTest method turboFilterRegisteredWhenTracingRequested.
@Test
public void turboFilterRegisteredWhenTracingRequested() throws Exception {
HttpServletRequest request = mock(HttpServletRequest.class);
HttpServletResponse response = mock(HttpServletResponse.class);
when(request.getHeader(LogTracer.HEADER_TRACER_CONFIG)).thenReturn("foo.bar");
activateTracer();
FilterChain chain = new FilterChain() {
@Override
public void doFilter(ServletRequest request, ServletResponse response) throws IOException, ServletException {
assertNotNull(context.getService(TurboFilter.class));
}
};
Filter filter = getFilter(false);
filter.doFilter(request, response, chain);
assertNull("TurboFilter should get removed once request is done", context.getService(TurboFilter.class));
}
Aggregations