Start line:  
End line:  

Snippet Preview

Snippet HTML Code

Stack Overflow Questions
  //
  //  ========================================================================
  //  Copyright (c) 1995-2013 Mort Bay Consulting Pty. Ltd.
  //  ------------------------------------------------------------------------
  //  All rights reserved. This program and the accompanying materials
  //  are made available under the terms of the Eclipse Public License v1.0
  //  and Apache License v2.0 which accompanies this distribution.
  //
  //      The Eclipse Public License is available at
 //      http://www.eclipse.org/legal/epl-v10.html
 //
 //      The Apache License v2.0 is available at
 //      http://www.opensource.org/licenses/apache2.0.php
 //
 //  You may elect to redistribute this code under either of these licenses.
 //  ========================================================================
 //
 
 package org.eclipse.jetty.util;
 
 
 
 /* ================================================================ */
Handle a multipart MIME response.
 
 public class MultiPartOutputStream extends FilterOutputStream
 {
     /* ------------------------------------------------------------ */
     private static final byte[] __CRLF={'\r','\n'};
     private static final byte[] __DASHDASH={'-','-'};
     
     public static String MULTIPART_MIXED="multipart/mixed";
     public static String MULTIPART_X_MIXED_REPLACE="multipart/x-mixed-replace";
     
     /* ------------------------------------------------------------ */
     private String boundary;
     private byte[] boundaryBytes;
 
     /* ------------------------------------------------------------ */
     private boolean inPart=false;    
     
     /* ------------------------------------------------------------ */
     public MultiPartOutputStream(OutputStream out)
     throws IOException
     {
         super(out);
 
          = "jetty"+System.identityHashCode(this)+
         Long.toString(System.currentTimeMillis(),36);
 
         =false;
     }
 
     
 
     /* ------------------------------------------------------------ */
    
End the current part.

Throws:
java.io.IOException IOException
 
     @Override
     public void close()
          throws IOException
     {
         if ()
             .write();
         .write();
         .write();
         .write();
         .write();
         =false;
         super.close();
     }
     
     /* ------------------------------------------------------------ */
     public String getBoundary()
     {
         return ;
     }
 
     public OutputStream getOut() {return ;}
     
     /* ------------------------------------------------------------ */
    
Start creation of the next Content.
 
     public void startPart(String contentType)
          throws IOException
     {
         if ()
             .write();
         =true;
         .write();
         .write();
        .write();
        if (contentType != null)
            .write(("Content-Type: "+contentType).getBytes(.));
        .write();
        .write();
    }
        
    /* ------------------------------------------------------------ */
    
Start creation of the next Content.
    public void startPart(String contentTypeString[] headers)
         throws IOException
    {
        if ()
            .write();
        =true;
        .write();
        .write();
        .write();
        if (contentType != null)
            .write(("Content-Type: "+contentType).getBytes(.));
        .write();
        for (int i=0;headers!=null && i<headers.length;i++)
        {
            .write(headers[i].getBytes(.));
            .write();
        }
        .write();
    }
    
    /* ------------------------------------------------------------ */
    @Override
    public void write(byte[] bint offint lenthrows IOException
    {
        .write(b,off,len);
    }
New to GrepCode? Check out our FAQ X