Package ch.entwine.weblounge.common.impl.request

Examples of ch.entwine.weblounge.common.impl.request.WebloungeResponseImpl


      response = ((ServletResponseWrapper) response).getResponse();
    }

    // Last resort
    if (response instanceof HttpServletResponse)
      return new WebloungeResponseImpl((HttpServletResponse) response);

    return null;
  }
View Full Code Here


      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;
            logger.debug("{} served request {}", handler, request);
            if (response.hasError()) {
              logger.debug("Request processing failed on {}", request);
              fireRequestFailed(request, response, site);
            } else {
              fireRequestDelivered(request, response, site);
            }
            return;
          }
        } catch (Throwable t) {
          response.invalidate();
          String params = RequestUtils.dumpParameters(request);
          if (t.getCause() != null) {
            t = t.getCause();
          }
          logger.error("Request handler '{}' failed to handle {} {}", new Object[] {
              handler,
              request,
              params });
          logger.error(t.getMessage(), t);
          DispatchUtils.sendInternalError(t.getMessage(), request, response);
          break;
        }
      }
    } finally {
      securityService.setSite(null);
      if (requestServed) {
        response.endResponse();
        response.flushBuffer();
        logger.debug("Finished processing of {}", httpRequest.getRequestURI());
      } else {
        logger.debug("No handler found for {}", request);
        DispatchUtils.sendNotFound(request, response);
        if (cache != null)
View Full Code Here

   * @param site
   *          the target site
   */
  protected void fireRequestFailed(WebloungeRequest request,
      WebloungeResponse response, Site site) {
    WebloungeResponseImpl resp = ((WebloungeResponseImpl) response);
    for (int i = 0; i < requestListeners.size(); i++) {
      RequestListener listener = requestListeners.get(i);
      listener.requestFailed(request, response, resp.getStatus());
    }
    if (site != null)
      site.requestFailed(request, response, resp.getStatus());
  }
View Full Code Here

      WebloungeRequestImpl webloungeRequest = new WebloungeRequestImpl(httpRequest, environment);
      webloungeRequest.init(site);
      webloungeRequest.setUser(securityService.getUser());
      String requestPath = UrlUtils.concat("/site", httpRequest.getPathInfo());
      request = new SiteRequestWrapper(webloungeRequest, requestPath, false);
      response = new WebloungeResponseImpl(httpResponse);
      ((WebloungeResponseImpl) response).setRequest(webloungeRequest);
    }

    // Make sure the resource exists, Jasper will not produce a meaningful error
    // message, but a PWC6117: File "null" not found
View Full Code Here

TOP

Related Classes of ch.entwine.weblounge.common.impl.request.WebloungeResponseImpl

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.