Package org.apache.wicket.request.http

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


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

    if (shouldRedirectToPage(requestCycle))
    {
      // 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();

    final StringResponse bodyResponse = new StringResponse();
    responseObject.writeTo(bodyResponse, encoding);
    CharSequence filteredResponse = invokeResponseFilters(bodyResponse);
    response.write(filteredResponse);
  }
View Full Code Here


    {

      public void respond(final IRequestCycle requestCycle)
      {

        WebResponse r = (WebResponse)requestCycle.getResponse();

        // Determine encoding
        final String encoding = Application.get()
          .getRequestCycleSettings()
          .getResponseRequestEncoding();
        r.setContentType("text/xml; charset=" + encoding);

        r.disableCaching();

        Iterator<T> comps = getChoices(val);
        renderer.renderHeader(r);
        while (comps.hasNext())
        {
View Full Code Here

  public void respond(IRequestCycle requestCycle)
  {
    // preventing the response to component from being cached
    if (requestCycle.getResponse() instanceof WebResponse)
    {
      WebResponse response = (WebResponse)requestCycle.getResponse();
      response.disableCaching();
    }
    component.render();
  }
View Full Code Here

    try
    {
      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;
      }

      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();
        contructResponseBody(bodyResponse, encoding);
        invokeResponseFilters(bodyResponse);
        response.write(bodyResponse.getBuffer());
      }
      finally
      {
        // restore the original response
        RequestCycle.get().setResponse(response);
View Full Code Here

   * @param url
   * @param requestCycle
   */
  private void redirectTo(Url url, RequestCycle requestCycle)
  {
    WebResponse response = (WebResponse)requestCycle.getResponse();
    String relativeUrl = requestCycle.getUrlRenderer().renderUrl(url);
    response.reset();
    response.sendRedirect(relativeUrl);
  }
View Full Code Here

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

        WebRequest webRequest = application.newWebRequest(httpServletRequest, filterPath);
        WebResponse webResponse = application.newWebResponse(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

  {
    // Get a "new" ResourceResponse to write a response
    ResourceResponse data = newResourceResponse(attributes);

    WebRequest request = (WebRequest)attributes.getRequest();
    WebResponse response = (WebResponse)attributes.getResponse();

    // 1. Last Modified
    Date lastModified = data.getLastModified();
    if (lastModified != null)
    {
      response.setLastModifiedTime(lastModified.getTime());
    }

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

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

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

    if (data.getWriteCallback() == null)
    {
      throw new IllegalStateException(
        "ResourceData#setWriteCallback must be called for AbstractResource.");
    }

    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)
    {
      response.setAttachmentHeader(fileName);
    }
    else if (ContentDisposition.INLINE == disposition)
    {
      response.setInlineHeader(fileName);
    }

    // 4. Mime Type (+ encoding)
    if (mimeType != null)
    {
      if (encoding == null)
      {
        response.setContentType(mimeType);
      }
      else
      {
        response.setContentType(mimeType + "; charset=" + encoding);
      }
    }

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

    // 6. Flush the response
    // This is necessary for firefox if this resource is an image, otherwise it messes up
    // other images on page
    response.flush();

    // 7. Write Data
    data.getWriteCallback().writeData(attributes);
  }
View Full Code Here

    else
    {
      url = ((RequestCycle)requestCycle).mapUrlFor(handler).toString();
    }

    WebResponse response = (WebResponse)requestCycle.getResponse();

    response.sendRedirect(url);
  }
View Full Code Here

  protected void configureResponse()
  {
    // Get the response and application
    final RequestCycle cycle = getRequestCycle();
    final Application application = Application.get();
    final WebResponse response = (WebResponse)cycle.getResponse();

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

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

    // Write out an xml declaration if the markup stream and settings allow
    final IMarkupFragment markup = getMarkup();
    if ((markup != null) && (markup.getMarkupResourceStream().getXmlDeclaration() != null) &&
      (application.getMarkupSettings().getStripXmlDeclarationFromOutput() == false))
    {
      // Gwyn - Wed, 21 May 2008 12:23:41
      // If the xml declaration in the markup used double-quotes, use them in the output too
      // Whether it should be or not, sometimes it's significant...
      final String quoteChar = (markup.getMarkupResourceStream()
        .getXmlDeclaration()
        .indexOf('\"') == -1) ? "'" : "\"";

      response.write("<?xml version=");
      response.write(quoteChar);
      response.write("1.0");
      response.write(quoteChar);
      response.write(" encoding=");
      response.write(quoteChar);
      response.write(encoding);
      response.write(quoteChar);
      response.write("?>");
    }

    // Set response locale from session locale
    // TODO: WICKET NG Is this really necessary
    // response.setLocale(getSession().getLocale());
View Full Code Here

      // per the servlet spec
      // if absolute url still do the same
      location = redirectUrl;
    }

    WebResponse response = (WebResponse)requestCycle.getResponse();

    if (status == HttpServletResponse.SC_MOVED_TEMPORARILY)
    {
      response.sendRedirect(location);
    }
    else
    {
      response.setStatus(HttpServletResponse.SC_MOVED_PERMANENTLY);
      response.setHeader("Location", location);
    }
  }
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.