Package org.apache.wicket.request.http

Examples of org.apache.wicket.request.http.WebResponse


      // no need to render
      return null;
    }

    // keep the original response
    final WebResponse originalResponse = (WebResponse)requestCycle.getResponse();

    // buffered web response for page
    BufferedWebResponse response = new BufferedWebResponse(originalResponse);

    // keep the original base URL
    Url originalBaseUrl = requestCycle.getUrlRenderer().setBaseUrl(targetUrl);

    try
    {
      requestCycle.setResponse(response);
      requestablePage.renderPage();

      if (scheduled == null && requestCycle.getRequestHandlerScheduledAfterCurrent() != null)
      {
        // This is a special case.
        // During page render another request handler got scheduled and will want to
        // overwrite the response, so we need to let it.
        // Just preserve the meta data headers. Clear the initial actions because they are
        // already copied into the new response's actions
        originalResponse.reset();
        response.writeMetaData(originalResponse);
        return null;
      }
      else
      {
View Full Code Here


   */
  protected void redirectTo(Url url, RequestCycle requestCycle)
  {
    bindSessionIfNeeded();

    WebResponse response = (WebResponse)requestCycle.getResponse();
    String relativeUrl = requestCycle.getUrlRenderer().renderUrl(url);
    response.sendRedirect(relativeUrl);
  }
View Full Code Here

   */
  @Override
  public final void respond(final IRequestCycle requestCycle)
  {
    final RequestCycle rc = (RequestCycle)requestCycle;
    final WebResponse response = (WebResponse)requestCycle.getResponse();

    if (responseObject.containsPage())
    {
      // the page itself has been added to the request target, we simply issue a redirect
      // back to the page
      IRequestHandler handler = new RenderPageRequestHandler(new PageProvider(page));
      final String url = rc.urlFor(handler).toString();
      response.sendRedirect(url);
      return;
    }

    respondersFrozen = true;

    for (ITargetRespondListener listener : respondListeners)
    {
      listener.onTargetRespond(this);
    }

    final Application app = page.getApplication();

    page.send(app, Broadcast.BREADTH, this);

    // Determine encoding
    final String encoding = app.getRequestCycleSettings().getResponseRequestEncoding();

    // Set content type based on markup type for page
    responseObject.setContentType(response, encoding);

    // Make sure it is not cached by a client
    response.disableCaching();

    try
    {
      final StringResponse bodyResponse = new StringResponse();
      responseObject.writeTo(bodyResponse, encoding);
      CharSequence filteredResponse = invokeResponseFilters(bodyResponse);
      response.write(filteredResponse);
    }
    finally
    {
      // restore the original response
      rc.setResponse(response);
View Full Code Here

      {
        // No redirect; process the request
        ThreadContext.setApplication(application);

        WebRequest webRequest = application.createWebRequest(httpServletRequest, filterPath);
        WebResponse webResponse = application.createWebResponse(webRequest,
          httpServletResponse);

        RequestCycle requestCycle = application.createRequestCycle(webRequest, webResponse);
        if (!requestCycle.processRequestAndDetach())
        {
          if (chain != null)
          {
            chain.doFilter(request, response);
          }
          res = false;
        }
        else
        {
          webResponse.flush();
        }
      }
      else
      {
        if (Strings.isEmpty(httpServletRequest.getQueryString()) == false)
View Full Code Here

    Response response = attributes.getResponse();

    if (response instanceof WebResponse)
    {
      Duration duration = data.getCacheDuration();
      WebResponse webResponse = (WebResponse)response;
      if (duration.compareTo(Duration.NONE) > 0)
      {
        webResponse.enableCaching(duration, data.getCacheScope());
      }
      else
      {
        webResponse.disableCaching();
      }
    }
  }
View Full Code Here

  protected void setResponseHeaders(final ResourceResponse data, final Attributes attributes)
  {
    Response response = attributes.getResponse();
    if (response instanceof WebResponse)
    {
      WebResponse webResponse = (WebResponse)response;

      // 1. Last Modified
      Time lastModified = data.getLastModified();
      if (lastModified != null)
      {
        webResponse.setLastModifiedTime(lastModified);
      }

      // 2. Caching
      configureCache(data, attributes);

      if (!data.dataNeedsToBeWritten(attributes))
      {
        webResponse.setStatus(HttpServletResponse.SC_NOT_MODIFIED);
        return;
      }

      if (data.getErrorCode() != null)
      {
        webResponse.sendError(data.getErrorCode(), data.getErrorMessage());
        return;
      }

      String fileName = data.getFileName();
      ContentDisposition disposition = data.getContentDisposition();
      String mimeType = data.getContentType();
      long contentLength = data.getContentLength();

      // 3. Content Disposition
      if (ContentDisposition.ATTACHMENT == disposition)
      {
        webResponse.setAttachmentHeader(fileName);
      }
      else if (ContentDisposition.INLINE == disposition)
      {
        webResponse.setInlineHeader(fileName);
      }

      // 4. Mime Type (+ encoding)
      if (mimeType != null)
      {
        final String encoding = data.getTextEncoding();
       
        if (encoding == null)
        {
          webResponse.setContentType(mimeType);
        }
        else
        {
          webResponse.setContentType(mimeType + "; charset=" + encoding);
        }
      }

      // 5. Content Length
      if (contentLength != -1)
      {
        webResponse.setContentLength(contentLength);
      }

      // add custom headers and values
      final HttpHeaderCollection headers = data.getHeaders();

      for (String name : headers.getHeaderNames())
      {
        checkHeaderAccess(name);

        for (String value : headers.getHeaderValues(name))
        {
          webResponse.addHeader(name, value);
        }
      }

      // 6. Flush the response
      flushResponseAfterHeaders(webResponse);
View Full Code Here

   * @return the configured WebResponse object
   */
  WebResponse createWebResponse(final WebRequest webRequest,
    final HttpServletResponse httpServletResponse)
  {
    WebResponse webResponse = newWebResponse(webRequest, httpServletResponse);

    boolean shouldBufferResponse = getRequestCycleSettings().getBufferResponse();
    return shouldBufferResponse ? new HeaderBufferingWebResponse(webResponse) : webResponse;
  }
View Full Code Here

        insert = ((accept == null) || (accept.indexOf(MarkupType.XML_MIME) != -1));
      }

      if (insert)
      {
        WebResponse response = (WebResponse)cycle.getResponse();
        response.write("<?xml version='1.0'");
        String encoding = getRequestCycleSettings().getResponseRequestEncoding();
        if (Strings.isEmpty(encoding) == false)
        {
          response.write(" encoding='");
          response.write(encoding);
          response.write("'");
        }
        response.write(" ?>");
      }
    }
  }
View Full Code Here

      // no need to render
      return null;
    }

    // keep the original response
    final WebResponse originalResponse = (WebResponse)requestCycle.getResponse();

    // buffered web response for page
    BufferedWebResponse response = new BufferedWebResponse(originalResponse);

    // keep the original base URL
    Url originalBaseUrl = requestCycle.getUrlRenderer().setBaseUrl(targetUrl);

    try
    {
      requestCycle.setResponse(response);
      requestablePage.renderPage();

      if (scheduled == null && requestCycle.getRequestHandlerScheduledAfterCurrent() != null)
      {
        // This is a special case.
        // During page render another request handler got scheduled and will want to
        // overwrite the response, so we need to let it.
        // Just preserve the meta data headers. Clear the initial actions because they are
        // already copied into the new response's actions
        originalResponse.reset();
        response.writeMetaData(originalResponse);
        return null;
      }
      else
      {
View Full Code Here

   */
  protected void redirectTo(Url url, RequestCycle requestCycle)
  {
    bindSessionIfNeeded();

    WebResponse response = (WebResponse)requestCycle.getResponse();
    String relativeUrl = requestCycle.getUrlRenderer().renderUrl(url);
    response.sendRedirect(relativeUrl);
  }
View Full Code Here

TOP

Related Classes of org.apache.wicket.request.http.WebResponse

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.