if (cache != null) {
httpResponse = cache.createCacheableResponse(httpRequest, httpResponse);
}
// Wrap request and response
WebloungeRequestImpl request = new WebloungeRequestImpl(httpRequest, siteServlet, environment);
WebloungeResponseImpl response = new WebloungeResponseImpl(httpResponse);
// Configure request and response objects
request.init(site);
response.setRequest(request);
response.setResponseCache(cache);
response.setCharacterEncoding(DEFAULT_RESPONSE_ENCODING);
response.setHeader("X-Powered-By", POWERED_BY);
response.setDateHeader("Date", Calendar.getInstance().getTimeInMillis());
// Notify listeners about starting request
fireRequestStarted(request, response, site);
boolean requestServed = false;
// Ask the registered request handler if they are willing to handle
// the request.
try {
securityService.setSite(site);
request.setUser(securityService.getUser());
for (RequestHandler handler : requestHandler) {
try {
logger.trace("Asking {} to serve {}", handler, request);
if (handler.service(request, response)) {
requestServed = true;