Package com.caucho.server.http

Examples of com.caucho.server.http.HttpServletResponseImpl


                  ServletContext application)
    throws IOException
  {
    // server/1kk7
    CauchoRequest cRequest = (CauchoRequest) req;
    HttpServletResponseImpl responseImpl = (HttpServletResponseImpl) res;

    AbstractHttpRequest absRequest = cRequest.getAbstractHttpRequest();
    HttpServletRequestImpl request = absRequest.getRequestFacade();
    AbstractHttpResponse response = responseImpl.getAbstractHttpResponse();

    // skip excluded urls
    if (_excludes.length > 0) {
      byte []data = absRequest.getUriBuffer();
      int sublen = absRequest.getUriLength();
View Full Code Here


    throws IOException
  {
    if (! _request.hasRequest())
      return false;

    HttpServletResponseImpl response = _request.getResponseFacade();

    int statusCode = response.getStatus();

    CharBuffer cb = _cb;
    cb.clear();
    cb.append((char) ((statusCode / 100) % 10 + '0'));
    cb.append((char) ((statusCode / 10) % 10 + '0'));
    cb.append((char) (statusCode % 10 + '0'));
    cb.append(' ');
    cb.append(response.getStatusMessage());

    _req.writeStatus(cb);

    if (statusCode >= 400) {
      removeHeader("ETag");
      removeHeader("Last-Modified");
    }
    else if (response.isNoCache()) {
      removeHeader("ETag");
      removeHeader("Last-Modified");

      setHeader("Expires", "Thu, 01 Dec 1994 16:00:00 GMT");
      _req.writeHeader("Cache-Control", "no-cache");
    }
    else if (response.isPrivateCache())
      _req.writeHeader("Cache-Control", "private");

    int load = (int) (1000 * _req.getServer().getCpuLoad());
    if (Alarm.isTest())
      load = 0;

    _req.writeString(HmuxRequest.HMUX_META_HEADER, "cpu-load");
    _req.writeString(HmuxRequest.HMUX_STRING, String.valueOf(load));

    int size = _headerKeys.size();
    for (int i = 0; i < size; i++) {
      String key = (String) _headerKeys.get(i);
      String value = (String) _headerValues.get(i);

      _req.writeHeader(key, value);
    }

    if (_contentLength >= 0) {
      cb.clear();
      cb.append(_contentLength);
      _req.writeHeader("Content-Length", cb);
    }
    else if (length >= 0) {
      cb.clear();
      cb.append(length);
      _req.writeHeader("Content-Length", cb);
    }

    HttpServletResponseImpl responseFacade = _request.getResponseFacade();

    long now = Alarm.getCurrentTime();
    ArrayList<Cookie> cookiesOut = responseFacade.getCookies();

    if (cookiesOut != null) {
      size = cookiesOut.size();
      for (int i = 0; i < size; i++) {
        Cookie cookie = cookiesOut.get(i);
        int cookieVersion = cookie.getVersion();

        fillCookie(cb, cookie, now, 0, false);
        _req.writeHeader("Set-Cookie", cb);
        if (cookieVersion > 0) {
          fillCookie(cb, cookie, now, cookieVersion, true);
          _req.writeHeader("Set-Cookie2", cb);
        }
      }
    }

    String contentType = responseFacade.getContentTypeImpl();
    String charEncoding = responseFacade.getCharacterEncodingImpl();

    if (contentType != null) {
      if (charEncoding != null)
        _req.writeHeader("Content-Type", contentType + "; charset=" + charEncoding);
      else
View Full Code Here

    throws ServletException, IOException
  {
    HttpServletRequest req = (HttpServletRequest) request;

    if (response instanceof HttpServletResponseImpl) {
      HttpServletResponseImpl res
        = (HttpServletResponseImpl) response;

      // server/1k67
      res.setNoCacheUnlessVary(true);
    }

    for (RequestPredicate predicate : _predicates) {
      if (! predicate.isMatch(req)) {
        if (log.isLoggable(Level.FINEST))
View Full Code Here

   * Sends busy response for preview mode.
   */
  private boolean sendBusyResponse()
    throws IOException
  {
    HttpServletResponseImpl response = getResponseFacade();

    response.sendError(503);

    return true;
  }
View Full Code Here

  private void sendRedirect(HttpServletResponse res, String url)
    throws IOException
  {
    String encUrl;
   
    HttpServletResponseImpl resImpl = null;
   
    if (res instanceof HttpServletResponseImpl) {
      resImpl = (HttpServletResponseImpl) res;

      encUrl = resImpl.encodeAbsoluteRedirect(url);
    }
    else
      encUrl = res.encodeRedirectURL(url);
   
    try {
      res.reset();
    } catch (Exception e) {
      log.log(Level.FINER, e.toString(), e);
    }
   
    res.setStatus(HttpServletResponse.SC_MOVED_PERMANENTLY);
    res.setHeader("Location", encUrl);
    res.setContentType("text/html; charset=utf-8");
   
    PrintWriter out = res.getWriter();
   
    out.println("The URL has moved <a href=\"" + encUrl + "\">here</a>");
   
    if (resImpl != null)
      resImpl.close();
  }
View Full Code Here

   */
  public void service(ServletRequest request, ServletResponse response)
    throws IOException, ServletException
  {
    HttpServletRequestImpl req = (HttpServletRequestImpl) request;
    HttpServletResponseImpl res = (HttpServletResponseImpl) response;

    String upgrade = req.getHeader("Upgrade");

    if (! "WebSocket".equals(upgrade)) {
      // eventually can use alt method
      res.sendError(400, "Upgrade denied:" + upgrade);
      return;
    }
   
    String ipAddress = req.getRemoteAddr();
   
View Full Code Here

                             Invocation invocation)
    throws ServletException, IOException
  {
    HttpServletRequestWrapper parentRequest = null;
    HttpServletRequestImpl bottomRequest = null;
    HttpServletResponseImpl bottomResponse = null;
   
    HttpServletRequest req = request;
    while (req != null && req instanceof HttpServletRequestWrapper) {
      parentRequest = (HttpServletRequestWrapper) req;
     
View Full Code Here

    throws IOException
  {
    if (! _request.hasRequest())
      return false;

    HttpServletResponseImpl response = _request.getResponseFacade();

    int statusCode = response.getStatus();
    String statusMessage = response.getStatusMessage();

    WriteStream os = _req.getWriteStream();

    os.print("Status: ");
    os.print(statusCode);
    os.print(' ');
    os.print(statusMessage);
    os.print("\r\n");

    CharBuffer cb = _cb;

    if (statusCode >= 400) {
      removeHeader("ETag");
      removeHeader("Last-Modified");
    }
    else if (response.isNoCache()) {
      removeHeader("ETag");
      removeHeader("Last-Modified");

      setHeader("Expires", "Thu, 01 Dec 1994 16:00:00 GMT");

      os.print("Cache-Control: no-cache\r\n");
    }
    else if (response.isPrivateCache()) {
      os.print("Cache-Control: private\r\n");
    }

    int size = _headerKeys.size();
    for (int i = 0; i < size; i++) {
      String key = (String) _headerKeys.get(i);
      String value = (String) _headerValues.get(i);

      os.print(key);
      os.print(": ");
      os.print(value);
      os.print("\r\n");
    }

    long now = Alarm.getCurrentTime();
    ArrayList<Cookie> cookiesOut = response.getCookies();

    if (cookiesOut != null) {
      size = cookiesOut.size();
      for (int i = 0; i < size; i++) {
        Cookie cookie = cookiesOut.get(i);
        int cookieVersion = cookie.getVersion();

        fillCookie(cb, cookie, now, 0, false);

        os.print("Set-Cookie: ");
        os.print(cb);
        os.print("\r\n");

        if (cookieVersion > 0) {
          fillCookie(cb, cookie, now, cookieVersion, true);

          os.print("Set-Cookie2: ");
          os.print(cb);
          os.print("\r\n");
        }
      }
    }

    String contentType = response.getContentTypeImpl();
    String charEncoding = response.getCharacterEncodingImpl();

    if (contentType != null) {
      if (charEncoding != null) {
        os.print("Content-Type: ");
        os.print(contentType);
View Full Code Here

      if (async != null)
        async.complete();
    }

    if (response instanceof HttpServletResponseImpl) {
      HttpServletResponseImpl resFacade = (HttpServletResponseImpl) response;
      resFacade.killCache();
      resFacade.setNoCache(true);
    }

    if (rootExn instanceof ClientDisconnectException)
      throw (ClientDisconnectException) rootExn;
View Full Code Here

  {
    HttpServletRequest req = (HttpServletRequest) request;
    HttpServletResponse res = (HttpServletResponse) response;

    if (res instanceof HttpServletResponseImpl) {
      HttpServletResponseImpl cRes = (HttpServletResponseImpl) res;

      cRes.setNoCacheUnlessVary(true);
    }

    for (int i = 0; i < _conditions.length; i++) {
      if (! _conditions[i].isMatch(req, res)) {
        if (_isFiner)
View Full Code Here

TOP

Related Classes of com.caucho.server.http.HttpServletResponseImpl

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.