Package org.apache.wicket.request.http

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


    @Override
    protected byte[] getImageData(Attributes attributes)
    {
      // Handle caching
      setLastModifiedTime(Time.now());
      final WebResponse response = (WebResponse)RequestCycle.get().getResponse();
      response.setHeader("Cache-Control", "no-cache, must-revalidate, max-age=0, no-store");

      // If we don't have data
      if (data == null || data.get() == null)
      {
        // Create the image and turn it into data
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();
      String encoding = null;

      if (mimeType != null && mimeType.contains("text"))
      {
        encoding = data.getTextEncoding();
      }

      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)
      {
        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
      // This is necessary for firefox if this resource is an image, otherwise it messes up
      // other images on page
      webResponse.flush();
    }
  }
View Full Code Here

   * @param url
   * @param requestCycle
   */
  protected void redirectTo(Url url, RequestCycle requestCycle)
  {
    WebResponse response = (WebResponse)requestCycle.getResponse();
    String relativeUrl = requestCycle.getUrlRenderer().renderUrl(url);
    response.sendRedirect(relativeUrl);
  }
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

   * @see org.apache.wicket.request.handler.IPageRequestHandler#respond(org.apache.wicket.request.IRequestCycle)
   */
  public final void respond(final IRequestCycle requestCycle)
  {
    final RequestCycle rc = (RequestCycle)requestCycle;
    final WebResponse response = (WebResponse)requestCycle.getResponse();

    if (markupIdToComponent.values().contains(page))
    {
      // 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 = Application.get();

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

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

    // Set content type based on markup type for page
    response.setContentType("text/xml; charset=" + encoding);

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

    try
    {
      final StringResponse bodyResponse = new StringResponse();
      constructResponseBody(bodyResponse, encoding);
      CharSequence filteredResponse = invokeResponseFilters(bodyResponse);
      response.write(filteredResponse);
    }
    finally
    {
      // restore the original response
      RequestCycle.get().setResponse(response);
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

  public void respond(final IRequestCycle requestCycle)
  {
    String encoding = getEncoding(requestCycle);

    // Get servlet response to use when responding with resource
    final WebResponse response = (WebResponse)requestCycle.getResponse();
    response.setContentType(contentType + ";charset=" + encoding);

    // send string to client
    try
    {
      response.write(string.getBytes(encoding));
    }
    catch (IOException e)
    {
      throw new RuntimeException("Unable to render string: " + e.getMessage(), e);
    }
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.