Package org.apache.wicket.request.http

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


  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.getErrorCode() != null)
      {
        webResponse.sendError(data.getErrorCode(), data.getErrorMessage());
        return;
      }

      if (data.getStatusCode() != null)
      {
        webResponse.setStatus(data.getStatusCode());
        return;
      }

      if (!data.dataNeedsToBeWritten(attributes))
      {
        webResponse.setStatus(HttpServletResponse.SC_NOT_MODIFIED);
        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


  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();
    }

    Page page = component.getPage();

    page.startComponentRender(component);
View Full Code Here

      WebRequest request = (WebRequest)requestCycle.getRequest();
      Url baseURL = Url.parse(request.getHeader("Wicket-Ajax-BaseURL"), request.getCharset());

      rc.getUrlRenderer().setBaseUrl(baseURL);

      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();

      // 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();

      response.write("<?xml version=\"1.0\" encoding=\"");
      response.write(encoding);
      response.write("\"?>");
      response.write("<ajax-response>");

      // invoke onbeforerespond event on listeners
      fireOnBeforeRespondListeners();

      // normal behavior
      Iterator<CharSequence> it = prependJavascripts.iterator();
      while (it.hasNext())
      {
        CharSequence js = it.next();
        respondInvocation(response, js);
      }

      // process added components
      respondComponents(response);

      fireOnAfterRespondListeners(response);

      // execute the dom ready javascripts as first javascripts
      // after component replacement
      it = domReadyJavascripts.iterator();
      while (it.hasNext())
      {
        CharSequence js = it.next();
        respondInvocation(response, js);
      }
      it = appendJavascripts.iterator();
      while (it.hasNext())
      {
        CharSequence js = it.next();
        respondInvocation(response, js);
      }

      response.write("</ajax-response>");

      rc.getUrlRenderer().setBaseUrl(oldBaseURL);
    }
    finally
    {
View Full Code Here

  @Override
  protected void configureResponse()
  {
    if (getRequestCycle().getResponse() instanceof WebResponse)
    {
      final WebResponse response = (WebResponse)getRequestCycle().getResponse();
      setHeaders(response);
    }

    super.configureResponse();
  }
View Full Code Here

  {
    RedirectRequestHandler handler = new RedirectRequestHandler(REDIRECT_URL,
      HttpServletResponse.SC_MOVED_PERMANENTLY);

    IRequestCycle requestCycle = Mockito.mock(IRequestCycle.class);
    WebResponse webResponse = Mockito.mock(WebResponse.class);

    Mockito.when(requestCycle.getResponse()).thenReturn(webResponse);

    handler.respond(requestCycle);
View Full Code Here

  {
    RedirectRequestHandler handler = new RedirectRequestHandler(REDIRECT_URL,
      HttpServletResponse.SC_MOVED_TEMPORARILY);

    IRequestCycle requestCycle = Mockito.mock(IRequestCycle.class);
    WebResponse webResponse = Mockito.mock(WebResponse.class);

    Mockito.when(requestCycle.getResponse()).thenReturn(webResponse);

    handler.respond(requestCycle);
View Full Code Here

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

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

    response.sendRedirect(url);
  }
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.sendRedirect(relativeUrl);
  }
View Full Code Here

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

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

  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: NG Is this really necessary
    // response.setLocale(getSession().getLocale());
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.