1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28 package org.apache.http.impl;
29
30 import java.io.ByteArrayOutputStream;
31 import java.nio.charset.Charset;
32 import java.nio.charset.CharsetEncoder;
33
34 import org.apache.http.impl.io.HttpTransportMetricsImpl;
35 import org.apache.http.impl.io.SessionOutputBufferImpl;
36
37
38
39
40
41 public class SessionOutputBufferMock extends SessionOutputBufferImpl {
42
43 public static final int BUFFER_SIZE = 16;
44
45 private final ByteArrayOutputStream buffer;
46
47 public SessionOutputBufferMock(
48 final ByteArrayOutputStream buffer,
49 final int bufferSize,
50 final int fragementSizeHint,
51 final CharsetEncoder encoder) {
52 super(new HttpTransportMetricsImpl(), bufferSize, fragementSizeHint, encoder);
53 bind(buffer);
54 this.buffer = buffer;
55 }
56
57 public SessionOutputBufferMock(
58 final ByteArrayOutputStream buffer,
59 final int bufferSize) {
60 this(buffer, bufferSize, bufferSize, null);
61 }
62
63 public SessionOutputBufferMock(
64 final CharsetEncoder encoder) {
65 this(new ByteArrayOutputStream(), BUFFER_SIZE, BUFFER_SIZE, encoder);
66 }
67
68 public SessionOutputBufferMock(
69 final Charset charset) {
70 this(new ByteArrayOutputStream(), BUFFER_SIZE, BUFFER_SIZE,
71 charset != null ? charset.newEncoder() : null);
72 }
73
74 public SessionOutputBufferMock(final ByteArrayOutputStream buffer) {
75 this(buffer, BUFFER_SIZE, BUFFER_SIZE, null);
76 }
77
78 public SessionOutputBufferMock() {
79 this(new ByteArrayOutputStream());
80 }
81
82 public byte[] getData() {
83 return this.buffer != null ? this.buffer.toByteArray() : new byte[] {};
84 }
85
86 }