1 module hunt.http.codec.http.model.MultiPartWriter;
2 
3 // import java.io.FilterWriter;
4 // import hunt.Exceptions;
5 // import java.io.Writer;
6 
7 // class MultiPartWriter :FilterWriter {
8 
9 // 	private static string __CRLF = "\015\012";
10 // 	private static string __DASHDASH = "--";
11 
12 // 	static string MULTIPART_MIXED = MultiPartOutputStream.MULTIPART_MIXED;
13 // 	static string MULTIPART_X_MIXED_REPLACE = MultiPartOutputStream.MULTIPART_X_MIXED_REPLACE;
14 
15 // 	private string boundary;
16 
17 // 	private bool inPart = false;
18 
19 // 	this(Writer out) throws IOException {
20 // 		super(out);
21 // 		boundary = "hunt" + System.identityHashCode(this) + to!long(System.currentTimeMillis(), 36);
22 
23 // 		inPart = false;
24 // 	}
25 
26 // 	/**
27 // 	 * End the current part.
28 // 	 * 
29 // 	 * @exception IOException
30 // 	 *                IOException
31 // 	 */
32 // 	override
33 // 	void close() throws IOException {
34 // 		try {
35 // 			if (inPart)
36 // 				out.write(__CRLF);
37 // 			out.write(__DASHDASH);
38 // 			out.write(boundary);
39 // 			out.write(__DASHDASH);
40 // 			out.write(__CRLF);
41 // 			inPart = false;
42 // 		} finally {
43 // 			super.close();
44 // 		}
45 // 	}
46 
47 // 	string getBoundary() {
48 // 		return boundary;
49 // 	}
50 
51 // 	/**
52 // 	 * Start creation of the next Content.
53 // 	 * 
54 // 	 * @param contentType
55 // 	 *            the content type
56 // 	 * @throws IOException
57 // 	 *             if unable to write the part
58 // 	 */
59 // 	void startPart(string contentType) throws IOException {
60 // 		if (inPart)
61 // 			out.write(__CRLF);
62 // 		out.write(__DASHDASH);
63 // 		out.write(boundary);
64 // 		out.write(__CRLF);
65 // 		out.write("Content-Type: ");
66 // 		out.write(contentType);
67 // 		out.write(__CRLF);
68 // 		out.write(__CRLF);
69 // 		inPart = true;
70 // 	}
71 
72 // 	/**
73 // 	 * end creation of the next Content.
74 // 	 * 
75 // 	 * @throws IOException
76 // 	 *             if unable to write the part
77 // 	 */
78 // 	void endPart() throws IOException {
79 // 		if (inPart)
80 // 			out.write(__CRLF);
81 // 		inPart = false;
82 // 	}
83 
84 // 	/**
85 // 	 * Start creation of the next Content.
86 // 	 * 
87 // 	 * @param contentType
88 // 	 *            the content type of the part
89 // 	 * @param headers
90 // 	 *            the part headers
91 // 	 * @throws IOException
92 // 	 *             if unable to write the part
93 // 	 */
94 // 	void startPart(string contentType, string[] headers) throws IOException {
95 // 		if (inPart)
96 // 			out.write(__CRLF);
97 // 		out.write(__DASHDASH);
98 // 		out.write(boundary);
99 // 		out.write(__CRLF);
100 // 		out.write("Content-Type: ");
101 // 		out.write(contentType);
102 // 		out.write(__CRLF);
103 // 		for (int i = 0; headers != null && i < headers.length; i++) {
104 // 			out.write(headers[i]);
105 // 			out.write(__CRLF);
106 // 		}
107 // 		out.write(__CRLF);
108 // 		inPart = true;
109 // 	}
110 
111 // }