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 // }