Ejemplo n.º 1
0
 protected void writeCu(CachedUrl cu) throws IOException {
   String url = cu.getUrl();
   long contentSize = cu.getContentSize();
   CIProperties props = cu.getProperties();
   long fetchTime = Long.parseLong(props.getProperty(CachedUrl.PROPERTY_FETCH_TIME));
   InputStream contentIn = cu.getUnfilteredInputStream();
   try {
     if (isResponse) {
       String hdrString = getHttpResponseString(cu);
       long size = contentSize + hdrString.length();
       InputStream headerIn = new ReaderInputStream(new StringReader(hdrString));
       InputStream concat = new SequenceInputStream(headerIn, contentIn);
       try {
         aw.write(xlateFilename(url), cu.getContentType(), getHostIp(), fetchTime, size, concat);
       } finally {
         IOUtil.safeClose(concat);
       }
     } else {
       aw.write(
           xlateFilename(url),
           cu.getContentType(),
           getHostIp(),
           fetchTime,
           cu.getContentSize(),
           contentIn);
     }
   } finally {
     AuUtil.safeRelease(cu);
   }
 }
Ejemplo n.º 2
0
 protected String getHttpResponseString(CachedUrl cu) {
   Properties cuProps = cu.getProperties();
   Properties filteredProps = filterResponseProps(cuProps);
   String hdrString = PropUtil.toHeaderString(filteredProps);
   StringBuilder sb = new StringBuilder(hdrString.length() + 30);
   String line1 = inferHttpResponseCode(cu, cuProps);
   sb.append(line1);
   sb.append(Constants.CRLF);
   sb.append(hdrString);
   sb.append(Constants.CRLF);
   return sb.toString();
 }