Package rabbit.http

Examples of rabbit.http.HttpHeader


      response.setHeader ("Content-type", "text/plain");
    }

    private void do404 (String filename)
  throws IOException {
  HttpHeader response = con.getHttpGenerator ().get404 (filename);
  sendHeader (response);
    }
View Full Code Here


  }
    }
   
    private void handleFailedRequestRead (Throwable t) {
  if (t instanceof RequestLineTooLongException) {
      HttpHeader err = getHttpGenerator ().get414 ();
      sendAndClose (err);
  } else {     
      getLogger ().logInfo ("Exception when reading request: " +
          getStackTrace (t));
      closeDown ();
View Full Code Here

    private void handleInternalError (Throwable t) {
  extraInfo =
      extraInfo != null ? extraInfo + t.toString () : t.toString ();
  String message = getStackTrace (t);
  getLogger ().logError ("Internal Error: " + message);
  HttpHeader internalError = getHttpGenerator ().get500 (t);
  sendAndClose (internalError)
    }
View Full Code Here

    private void filterAndHandleRequest () {
  // Filter the request based on the header.
  // A response means that the request is blocked.
  // For ad blocking, bad header configuration (http/1.1 correctness) ...
  HttpHeaderFilterer filterer = proxy.getHttpHeaderFilterer ();
  HttpHeader badresponse = filterer.filterHttpIn (this, channel, request);
  if (badresponse != null) {
      statusCode = badresponse.getStatusCode ();
      sendAndClose (badresponse);
  } else {
      status = "Handling request";
      if (getMeta ())
    handleMeta ();
View Full Code Here

            cause.toString ());
  tryStaleEntry (rh, cause);
    }

    private void setMayCacheFromCC (RequestHandler rh) {
  HttpHeader resp = rh.webHeader;
  for (String val : resp.getHeaders ("Cache-Control")) {
      if ("public".equals (val)
    || "must-revalidate".equals (val)
    || val.startsWith ("s-maxage=")) {
    String auth = request.getHeader ("Authorization");   
    if (auth != null) {
View Full Code Here

      proxy.getCache ().entryChanged (rh.entry,
              request, rh.dataHook);
        }
    }

    HttpHeader bad = cc.checkExpectations (this, request, rh.webHeader);
    if (bad == null) {
        HttpHeaderFilterer filterer =
      proxy.getHttpHeaderFilterer ();
        bad = filterer.filterHttpOut (this, channel, rh.webHeader);
    }
View Full Code Here

      }
  }  
    }

    private boolean handleConditional (RequestHandler rh) throws IOException {
  HttpHeader cachedHeader = rh.dataHook;
  proxy.releaseWebConnection (rh.wc);
  if (addedINM)
      request.removeHeader ("If-None-Match");
  if (addedIMS)
      request.removeHeader ("If-Modified-Since");

  if (checkWeakEtag (cachedHeader, rh.webHeader)) {
      NotModifiedHandler nmh = new NotModifiedHandler ();
      nmh.updateHeader (rh, getLogger ());
      setMayCache (false);
      try {
    HttpHeader res304 = nmh.is304 (request, this, rh);
    if (res304 != null) {
        sendAndClose (res304);
        return true;
    } else {
        if (rh.content != null)
View Full Code Here

  }
    }
   
    HttpHeader setupCachedEntry (RequestHandler rh) throws IOException {
  SCC swc = new SCC (this, request, requestBuffer, rh);
  HttpHeader ret = swc.establish ();
  return ret;
    }
View Full Code Here

    public HttpHeader is304 (HttpHeader in, Connection con,
           Connection.RequestHandler rh) {
  CacheEntry entry = rh.entry;
  if (entry == null)
      return null;
  HttpHeader oldresp = rh.dataHook;

  /* if we should have gotten anything but a 2xx or a 304,
   * we should act like IMS and INM was not there.
   */
  /* This should not be needed, it is checked before we enter this method.
  HttpHeader expfail = checkExpectations (in, oldresp);
  if (expfail != null)
      return expfail;
  */

  String ifRange = in.getHeader ("If-Range");
  if (ifRange != null)
      return null;
 
  String sims = in.getHeader ("If-Modified-Since");
  String sums = in.getHeader ("If-Unmodified-Since");
  List<String> vinm = in.getHeaders ("If-None-Match");
  String et = oldresp.getHeader ("Etag");
  String range = in.getHeader ("Range");
  boolean mustUseStrong = range != null;
  boolean etagMatch = false;
  Date ims = null;
  Date ums = null;
  Date dm = null;
  if (sims != null)
      ims = HttpDateParser.getDate (sims);
  if (sums != null)
      ums = HttpDateParser.getDate (sums);
  if (ims != null || ums != null) {
      String lm = oldresp.getHeader ("Last-Modified");
      if (lm == null)
    return ematch (con, etagMatch, oldresp);
      dm = HttpDateParser.getDate (lm);
  }
 
View Full Code Here

    }
   
    void updateHeader (Connection.RequestHandler rh, Logger logger) {
  if (rh.entry == null)
      return;
  HttpHeader cachedHeader = rh.dataHook;
  updateHeader (rh, cachedHeader, "Date");
  updateHeader (rh, cachedHeader, "Expires");
  updateHeader (rh, cachedHeader, "Content-Location");
  List<String> ccs = rh.webHeader.getHeaders ("Cache-Control");
  if (ccs.size () > 0) {
      cachedHeader.removeHeader ("Cache-Control");
      for (String cc : ccs)
    cachedHeader.addHeader ("Cache-Control", cc);
  }
  List<String> varys = rh.webHeader.getHeaders ("Vary");
  if (varys.size () > 0) {
      cachedHeader.removeHeader ("Vary");
      for (String v : varys)
    cachedHeader.addHeader ("Vary", v);
  }
 
  WarningsHandler wh = new WarningsHandler ();
  wh.removeWarnings (logger, cachedHeader, true);
  wh.updateWarnings (cachedHeader, rh.webHeader)
View Full Code Here

TOP

Related Classes of rabbit.http.HttpHeader

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.