1 module hunt.http.codec.http.model.BytesContentProvider;
2 
3 // import hunt.io.ByteBuffer;
4 // import java.util.Iterator;
5 // import java.util.NoSuchElementException;
6 
7 // /**
8 //  * A {@link ContentProvider} for byte arrays.
9 //  */
10 // class BytesContentProvider :AbstractTypedContentProvider {
11 //     private byte[][] bytes;
12 //     private long length;
13 
14 //     this(byte[]... bytes) {
15 //         this("application/octet-stream", bytes);
16 //     }
17 
18 //     this(string contentType, byte[]... bytes) {
19 //         super(contentType);
20 //         this.bytes = bytes;
21 //         long length = 0;
22 //         for (byte[] buffer : bytes)
23 //             length += buffer.length;
24 //         this.length = length;
25 //     }
26 
27 //     override
28 //     long getLength() {
29 //         return length;
30 //     }
31 
32 //     override
33 //     Iterator!ByteBuffer iterator() {
34 //         return new Iterator!ByteBuffer() {
35 //             private int index;
36 
37 //             override
38 //             bool hasNext() {
39 //                 return index < bytes.length;
40 //             }
41 
42 //             override
43 //             ByteBuffer next() {
44 //                 try {
45 //                     return BufferUtils.toBuffer(bytes[index++]);
46 //                 } catch (ArrayIndexOutOfBoundsException x) {
47 //                     throw new NoSuchElementException();
48 //                 }
49 //             }
50 
51 //             override
52 //             void remove() {
53 //                 throw new UnsupportedOperationException();
54 //             }
55 //         };
56 //     }
57 // }