public abstract class org.apache.http.impl.io.AbstractSessionInputBuffer extends java.lang.Object implements org.apache.http.io.SessionInputBuffer, org.apache.http.io.BufferInfo
{
private java.io.InputStream inStream;
private byte[] buffer;
private org.apache.http.util.ByteArrayBuffer lineBuffer;
private java.nio.charset.Charset charset;
private boolean ascii;
private int maxLineLen;
private int minChunkLimit;
private org.apache.http.impl.io.HttpTransportMetricsImpl metrics;
private java.nio.charset.CodingErrorAction onMalformedCharAction;
private java.nio.charset.CodingErrorAction onUnmappableCharAction;
private int bufferPos;
private int bufferLen;
private java.nio.charset.CharsetDecoder decoder;
private java.nio.CharBuffer cbuf;
public void <init>()
{
org.apache.http.impl.io.AbstractSessionInputBuffer v;
v := @this: org.apache.http.impl.io.AbstractSessionInputBuffer;
specialinvoke v.<java.lang.Object: void <init>()>();
return;
}
protected void init(java.io.InputStream, int, org.apache.http.params.HttpParams)
{
byte[] v;
java.nio.charset.Charset v, v, v;
java.nio.charset.CodingErrorAction v, v;
int v, v, v, v;
boolean v;
org.apache.http.util.ByteArrayBuffer v;
org.apache.http.impl.io.HttpTransportMetricsImpl v;
org.apache.http.impl.io.AbstractSessionInputBuffer v;
org.apache.http.params.HttpParams v;
java.lang.Object v, v, v;
java.io.InputStream v;
v := @this: org.apache.http.impl.io.AbstractSessionInputBuffer;
v := @parameter: java.io.InputStream;
v := @parameter: int;
v := @parameter: org.apache.http.params.HttpParams;
staticinvoke <org.apache.http.util.Args: java.lang.Object notNull(java.lang.Object,java.lang.String)>(v, "Input stream");
staticinvoke <org.apache.http.util.Args: int notNegative(int,java.lang.String)>(v, "Buffer size");
staticinvoke <org.apache.http.util.Args: java.lang.Object notNull(java.lang.Object,java.lang.String)>(v, "HTTP parameters");
v.<org.apache.http.impl.io.AbstractSessionInputBuffer: java.io.InputStream inStream> = v;
v = newarray (byte)[v];
v.<org.apache.http.impl.io.AbstractSessionInputBuffer: byte[] buffer> = v;
v.<org.apache.http.impl.io.AbstractSessionInputBuffer: int bufferPos> = 0;
v.<org.apache.http.impl.io.AbstractSessionInputBuffer: int bufferLen> = 0;
v = new org.apache.http.util.ByteArrayBuffer;
specialinvoke v.<org.apache.http.util.ByteArrayBuffer: void <init>(int)>(v);
v.<org.apache.http.impl.io.AbstractSessionInputBuffer: org.apache.http.util.ByteArrayBuffer lineBuffer> = v;
v = interfaceinvoke v.<org.apache.http.params.HttpParams: java.lang.Object getParameter(java.lang.String)>("http.protocol.element-charset");
if v == null goto label;
v = staticinvoke <java.nio.charset.Charset: java.nio.charset.Charset forName(java.lang.String)>(v);
goto label;
label:
v = <org.apache.http.Consts: java.nio.charset.Charset ASCII>;
label:
v.<org.apache.http.impl.io.AbstractSessionInputBuffer: java.nio.charset.Charset charset> = v;
v = v.<org.apache.http.impl.io.AbstractSessionInputBuffer: java.nio.charset.Charset charset>;
v = <org.apache.http.Consts: java.nio.charset.Charset ASCII>;
v = virtualinvoke v.<java.nio.charset.Charset: boolean equals(java.lang.Object)>(v);
v.<org.apache.http.impl.io.AbstractSessionInputBuffer: boolean ascii> = v;
v.<org.apache.http.impl.io.AbstractSessionInputBuffer: java.nio.charset.CharsetDecoder decoder> = null;
v = (int) -1;
v = interfaceinvoke v.<org.apache.http.params.HttpParams: int getIntParameter(java.lang.String,int)>("http.connection.max-line-length", v);
v.<org.apache.http.impl.io.AbstractSessionInputBuffer: int maxLineLen> = v;
v = interfaceinvoke v.<org.apache.http.params.HttpParams: int getIntParameter(java.lang.String,int)>("http.connection.min-chunk-limit", 512);
v.<org.apache.http.impl.io.AbstractSessionInputBuffer: int minChunkLimit> = v;
v = virtualinvoke v.<org.apache.http.impl.io.AbstractSessionInputBuffer: org.apache.http.impl.io.HttpTransportMetricsImpl createTransportMetrics()>();
v.<org.apache.http.impl.io.AbstractSessionInputBuffer: org.apache.http.impl.io.HttpTransportMetricsImpl metrics> = v;
v = interfaceinvoke v.<org.apache.http.params.HttpParams: java.lang.Object getParameter(java.lang.String)>("http.malformed.input.action");
if v == null goto label;
v = v;
goto label;
label:
v = <java.nio.charset.CodingErrorAction: java.nio.charset.CodingErrorAction REPORT>;
label:
v.<org.apache.http.impl.io.AbstractSessionInputBuffer: java.nio.charset.CodingErrorAction onMalformedCharAction> = v;
v = interfaceinvoke v.<org.apache.http.params.HttpParams: java.lang.Object getParameter(java.lang.String)>("http.unmappable.input.action");
if v == null goto label;
v = v;
goto label;
label:
v = <java.nio.charset.CodingErrorAction: java.nio.charset.CodingErrorAction REPORT>;
label:
v.<org.apache.http.impl.io.AbstractSessionInputBuffer: java.nio.charset.CodingErrorAction onUnmappableCharAction> = v;
return;
}
protected org.apache.http.impl.io.HttpTransportMetricsImpl createTransportMetrics()
{
org.apache.http.impl.io.HttpTransportMetricsImpl v;
org.apache.http.impl.io.AbstractSessionInputBuffer v;
v := @this: org.apache.http.impl.io.AbstractSessionInputBuffer;
v = new org.apache.http.impl.io.HttpTransportMetricsImpl;
specialinvoke v.<org.apache.http.impl.io.HttpTransportMetricsImpl: void <init>()>();
return v;
}
public int capacity()
{
int v;
byte[] v;
org.apache.http.impl.io.AbstractSessionInputBuffer v;
v := @this: org.apache.http.impl.io.AbstractSessionInputBuffer;
v = v.<org.apache.http.impl.io.AbstractSessionInputBuffer: byte[] buffer>;
v = lengthof v;
return v;
}
public int length()
{
int v, v, v;
org.apache.http.impl.io.AbstractSessionInputBuffer v;
v := @this: org.apache.http.impl.io.AbstractSessionInputBuffer;
v = v.<org.apache.http.impl.io.AbstractSessionInputBuffer: int bufferLen>;
v = v.<org.apache.http.impl.io.AbstractSessionInputBuffer: int bufferPos>;
v = v - v;
return v;
}
public int available()
{
int v, v, v;
org.apache.http.impl.io.AbstractSessionInputBuffer v;
v := @this: org.apache.http.impl.io.AbstractSessionInputBuffer;
v = virtualinvoke v.<org.apache.http.impl.io.AbstractSessionInputBuffer: int capacity()>();
v = virtualinvoke v.<org.apache.http.impl.io.AbstractSessionInputBuffer: int length()>();
v = v - v;
return v;
}
protected int fillBuffer() throws java.io.IOException
{
byte[] v, v, v, v;
int v, v, v, v, v, v, v, v, v, v, v, v;
org.apache.http.impl.io.HttpTransportMetricsImpl v;
org.apache.http.impl.io.AbstractSessionInputBuffer v;
java.io.InputStream v;
v := @this: org.apache.http.impl.io.AbstractSessionInputBuffer;
v = v.<org.apache.http.impl.io.AbstractSessionInputBuffer: int bufferPos>;
if v <= 0 goto label;
v = v.<org.apache.http.impl.io.AbstractSessionInputBuffer: int bufferLen>;
v = v.<org.apache.http.impl.io.AbstractSessionInputBuffer: int bufferPos>;
v = v - v;
if v <= 0 goto label;
v = v.<org.apache.http.impl.io.AbstractSessionInputBuffer: byte[] buffer>;
v = v.<org.apache.http.impl.io.AbstractSessionInputBuffer: int bufferPos>;
v = v.<org.apache.http.impl.io.AbstractSessionInputBuffer: byte[] buffer>;
staticinvoke <java.lang.System: void arraycopy(java.lang.Object,int,java.lang.Object,int,int)>(v, v, v, 0, v);
label:
v.<org.apache.http.impl.io.AbstractSessionInputBuffer: int bufferPos> = 0;
v.<org.apache.http.impl.io.AbstractSessionInputBuffer: int bufferLen> = v;
label:
v = v.<org.apache.http.impl.io.AbstractSessionInputBuffer: int bufferLen>;
v = v.<org.apache.http.impl.io.AbstractSessionInputBuffer: byte[] buffer>;
v = lengthof v;
v = v - v;
v = v.<org.apache.http.impl.io.AbstractSessionInputBuffer: java.io.InputStream inStream>;
v = v.<org.apache.http.impl.io.AbstractSessionInputBuffer: byte[] buffer>;
v = virtualinvoke v.<java.io.InputStream: int read(byte[],int,int)>(v, v, v);
v = (int) -1;
if v != v goto label;
v = (int) -1;
return v;
label:
v = v + v;
v.<org.apache.http.impl.io.AbstractSessionInputBuffer: int bufferLen> = v;
v = v.<org.apache.http.impl.io.AbstractSessionInputBuffer: org.apache.http.impl.io.HttpTransportMetricsImpl metrics>;
virtualinvoke v.<org.apache.http.impl.io.HttpTransportMetricsImpl: void incrementBytesTransferred(long)>(v);
return v;
}
protected boolean hasBufferedData()
{
int v, v;
org.apache.http.impl.io.AbstractSessionInputBuffer v;
boolean v;
v := @this: org.apache.http.impl.io.AbstractSessionInputBuffer;
v = v.<org.apache.http.impl.io.AbstractSessionInputBuffer: int bufferPos>;
v = v.<org.apache.http.impl.io.AbstractSessionInputBuffer: int bufferLen>;
if v >= v goto label;
v = 1;
goto label;
label:
v = 0;
label:
return v;
}
public int read() throws java.io.IOException
{
byte[] v;
org.apache.http.impl.io.AbstractSessionInputBuffer v;
short v;
byte v;
int v, v, v, v, v;
boolean v;
v := @this: org.apache.http.impl.io.AbstractSessionInputBuffer;
label:
v = virtualinvoke v.<org.apache.http.impl.io.AbstractSessionInputBuffer: boolean hasBufferedData()>();
if v != 0 goto label;
v = virtualinvoke v.<org.apache.http.impl.io.AbstractSessionInputBuffer: int fillBuffer()>();
v = (int) -1;
if v != v goto label;
v = (int) -1;
return v;
label:
v = v.<org.apache.http.impl.io.AbstractSessionInputBuffer: byte[] buffer>;
v = v.<org.apache.http.impl.io.AbstractSessionInputBuffer: int bufferPos>;
v = v + 1;
v.<org.apache.http.impl.io.AbstractSessionInputBuffer: int bufferPos> = v;
v = v[v];
v = v & 255;
return v;
}
public int read(byte[], int, int) throws java.io.IOException
{
byte[] v, v, v;
int v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v;
boolean v, v;
org.apache.http.impl.io.HttpTransportMetricsImpl v;
org.apache.http.impl.io.AbstractSessionInputBuffer v;
java.io.InputStream v;
v := @this: org.apache.http.impl.io.AbstractSessionInputBuffer;
v := @parameter: byte[];
v := @parameter: int;
v := @parameter: int;
if v != null goto label;
return 0;
label:
v = virtualinvoke v.<org.apache.http.impl.io.AbstractSessionInputBuffer: boolean hasBufferedData()>();
if v == 0 goto label;
v = v.<org.apache.http.impl.io.AbstractSessionInputBuffer: int bufferLen>;
v = v.<org.apache.http.impl.io.AbstractSessionInputBuffer: int bufferPos>;
v = v - v;
v = staticinvoke <java.lang.Math: int min(int,int)>(v, v);
v = v.<org.apache.http.impl.io.AbstractSessionInputBuffer: byte[] buffer>;
v = v.<org.apache.http.impl.io.AbstractSessionInputBuffer: int bufferPos>;
staticinvoke <java.lang.System: void arraycopy(java.lang.Object,int,java.lang.Object,int,int)>(v, v, v, v, v);
v = v.<org.apache.http.impl.io.AbstractSessionInputBuffer: int bufferPos>;
v = v + v;
v.<org.apache.http.impl.io.AbstractSessionInputBuffer: int bufferPos> = v;
return v;
label:
v = v.<org.apache.http.impl.io.AbstractSessionInputBuffer: int minChunkLimit>;
if v <= v goto label;
v = v.<org.apache.http.impl.io.AbstractSessionInputBuffer: java.io.InputStream inStream>;
v = virtualinvoke v.<java.io.InputStream: int read(byte[],int,int)>(v, v, v);
if v <= 0 goto label;
v = v.<org.apache.http.impl.io.AbstractSessionInputBuffer: org.apache.http.impl.io.HttpTransportMetricsImpl metrics>;
virtualinvoke v.<org.apache.http.impl.io.HttpTransportMetricsImpl: void incrementBytesTransferred(long)>(v);
label:
return v;
label:
v = virtualinvoke v.<org.apache.http.impl.io.AbstractSessionInputBuffer: boolean hasBufferedData()>();
if v != 0 goto label;
v = virtualinvoke v.<org.apache.http.impl.io.AbstractSessionInputBuffer: int fillBuffer()>();
v = (int) -1;
if v != v goto label;
v = (int) -1;
return v;
label:
v = v.<org.apache.http.impl.io.AbstractSessionInputBuffer: int bufferLen>;
v = v.<org.apache.http.impl.io.AbstractSessionInputBuffer: int bufferPos>;
v = v - v;
v = staticinvoke <java.lang.Math: int min(int,int)>(v, v);
v = v.<org.apache.http.impl.io.AbstractSessionInputBuffer: byte[] buffer>;
v = v.<org.apache.http.impl.io.AbstractSessionInputBuffer: int bufferPos>;
staticinvoke <java.lang.System: void arraycopy(java.lang.Object,int,java.lang.Object,int,int)>(v, v, v, v, v);
v = v.<org.apache.http.impl.io.AbstractSessionInputBuffer: int bufferPos>;
v = v + v;
v.<org.apache.http.impl.io.AbstractSessionInputBuffer: int bufferPos> = v;
return v;
}
public int read(byte[]) throws java.io.IOException
{
byte[] v;
int v, v;
org.apache.http.impl.io.AbstractSessionInputBuffer v;
v := @this: org.apache.http.impl.io.AbstractSessionInputBuffer;
v := @parameter: byte[];
if v != null goto label;
return 0;
label:
v = lengthof v;
v = virtualinvoke v.<org.apache.http.impl.io.AbstractSessionInputBuffer: int read(byte[],int,int)>(v, 0, v);
return v;
}
private int locateLF()
{
byte[] v;
byte v;
int v, v, v;
org.apache.http.impl.io.AbstractSessionInputBuffer v;
v := @this: org.apache.http.impl.io.AbstractSessionInputBuffer;
v = v.<org.apache.http.impl.io.AbstractSessionInputBuffer: int bufferPos>;
label:
v = v.<org.apache.http.impl.io.AbstractSessionInputBuffer: int bufferLen>;
if v >= v goto label;
v = v.<org.apache.http.impl.io.AbstractSessionInputBuffer: byte[] buffer>;
v = v[v];
if v != 10 goto label;
return v;
label:
v = v + 1;
goto label;
label:
v = (int) -1;
return v;
}
public int readLine(org.apache.http.util.CharArrayBuffer) throws java.io.IOException
{
byte[] v, v;
boolean v, v, v, v;
org.apache.http.util.ByteArrayBuffer v, v, v, v, v;
int v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v;
java.io.IOException v;
org.apache.http.impl.io.AbstractSessionInputBuffer v;
org.apache.http.util.CharArrayBuffer v;
v := @this: org.apache.http.impl.io.AbstractSessionInputBuffer;
v := @parameter: org.apache.http.util.CharArrayBuffer;
staticinvoke <org.apache.http.util.Args: java.lang.Object notNull(java.lang.Object,java.lang.String)>(v, "Char array buffer");
v = 0;
v = 1;
label:
if v == 0 goto label;
v = specialinvoke v.<org.apache.http.impl.io.AbstractSessionInputBuffer: int locateLF()>();
v = (int) -1;
if v == v goto label;
v = v.<org.apache.http.impl.io.AbstractSessionInputBuffer: org.apache.http.util.ByteArrayBuffer lineBuffer>;
v = virtualinvoke v.<org.apache.http.util.ByteArrayBuffer: boolean isEmpty()>();
if v == 0 goto label;
v = specialinvoke v.<org.apache.http.impl.io.AbstractSessionInputBuffer: int lineFromReadBuffer(org.apache.http.util.CharArrayBuffer,int)>(v, v);
return v;
label:
v = 0;
v = v + 1;
v = v.<org.apache.http.impl.io.AbstractSessionInputBuffer: int bufferPos>;
v = v - v;
v = v.<org.apache.http.impl.io.AbstractSessionInputBuffer: org.apache.http.util.ByteArrayBuffer lineBuffer>;
v = v.<org.apache.http.impl.io.AbstractSessionInputBuffer: byte[] buffer>;
v = v.<org.apache.http.impl.io.AbstractSessionInputBuffer: int bufferPos>;
virtualinvoke v.<org.apache.http.util.ByteArrayBuffer: void append(byte[],int,int)>(v, v, v);
v = v + 1;
v.<org.apache.http.impl.io.AbstractSessionInputBuffer: int bufferPos> = v;
goto label;
label:
v = virtualinvoke v.<org.apache.http.impl.io.AbstractSessionInputBuffer: boolean hasBufferedData()>();
if v == 0 goto label;
v = v.<org.apache.http.impl.io.AbstractSessionInputBuffer: int bufferLen>;
v = v.<org.apache.http.impl.io.AbstractSessionInputBuffer: int bufferPos>;
v = v - v;
v = v.<org.apache.http.impl.io.AbstractSessionInputBuffer: org.apache.http.util.ByteArrayBuffer lineBuffer>;
v = v.<org.apache.http.impl.io.AbstractSessionInputBuffer: byte[] buffer>;
v = v.<org.apache.http.impl.io.AbstractSessionInputBuffer: int bufferPos>;
virtualinvoke v.<org.apache.http.util.ByteArrayBuffer: void append(byte[],int,int)>(v, v, v);
v = v.<org.apache.http.impl.io.AbstractSessionInputBuffer: int bufferLen>;
v.<org.apache.http.impl.io.AbstractSessionInputBuffer: int bufferPos> = v;
label:
v = virtualinvoke v.<org.apache.http.impl.io.AbstractSessionInputBuffer: int fillBuffer()>();
v = (int) -1;
if v != v goto label;
v = 0;
label:
v = v.<org.apache.http.impl.io.AbstractSessionInputBuffer: int maxLineLen>;
if v <= 0 goto label;
v = v.<org.apache.http.impl.io.AbstractSessionInputBuffer: org.apache.http.util.ByteArrayBuffer lineBuffer>;
v = virtualinvoke v.<org.apache.http.util.ByteArrayBuffer: int length()>();
v = v.<org.apache.http.impl.io.AbstractSessionInputBuffer: int maxLineLen>;
if v < v goto label;
v = new java.io.IOException;
specialinvoke v.<java.io.IOException: void <init>(java.lang.String)>("Maximum line length limit exceeded");
throw v;
label:
v = (int) -1;
if v != v goto label;
v = v.<org.apache.http.impl.io.AbstractSessionInputBuffer: org.apache.http.util.ByteArrayBuffer lineBuffer>;
v = virtualinvoke v.<org.apache.http.util.ByteArrayBuffer: boolean isEmpty()>();
if v == 0 goto label;
v = (int) -1;
return v;
label:
v = specialinvoke v.<org.apache.http.impl.io.AbstractSessionInputBuffer: int lineFromLineBuffer(org.apache.http.util.CharArrayBuffer)>(v);
return v;
}
private int lineFromLineBuffer(org.apache.http.util.CharArrayBuffer) throws java.io.IOException
{
byte[] v;
java.nio.ByteBuffer v;
int v, v, v, v, v;
boolean v;
org.apache.http.util.ByteArrayBuffer v, v, v, v, v, v;
org.apache.http.impl.io.AbstractSessionInputBuffer v;
org.apache.http.util.CharArrayBuffer v;
v := @this: org.apache.http.impl.io.AbstractSessionInputBuffer;
v := @parameter: org.apache.http.util.CharArrayBuffer;
v = v.<org.apache.http.impl.io.AbstractSessionInputBuffer: org.apache.http.util.ByteArrayBuffer lineBuffer>;
v = virtualinvoke v.<org.apache.http.util.ByteArrayBuffer: int length()>();
if v <= 0 goto label;
v = v.<org.apache.http.impl.io.AbstractSessionInputBuffer: org.apache.http.util.ByteArrayBuffer lineBuffer>;
v = v - 1;
v = virtualinvoke v.<org.apache.http.util.ByteArrayBuffer: int byteAt(int)>(v);
if v != 10 goto label;
v = v - 1;
label:
if v <= 0 goto label;
v = v.<org.apache.http.impl.io.AbstractSessionInputBuffer: org.apache.http.util.ByteArrayBuffer lineBuffer>;
v = v - 1;
v = virtualinvoke v.<org.apache.http.util.ByteArrayBuffer: int byteAt(int)>(v);
if v != 13 goto label;
v = v - 1;
label:
v = v.<org.apache.http.impl.io.AbstractSessionInputBuffer: boolean ascii>;
if v == 0 goto label;
v = v.<org.apache.http.impl.io.AbstractSessionInputBuffer: org.apache.http.util.ByteArrayBuffer lineBuffer>;
virtualinvoke v.<org.apache.http.util.CharArrayBuffer: void append(org.apache.http.util.ByteArrayBuffer,int,int)>(v, 0, v);
goto label;
label:
v = v.<org.apache.http.impl.io.AbstractSessionInputBuffer: org.apache.http.util.ByteArrayBuffer lineBuffer>;
v = virtualinvoke v.<org.apache.http.util.ByteArrayBuffer: byte[] buffer()>();
v = staticinvoke <java.nio.ByteBuffer: java.nio.ByteBuffer wrap(byte[],int,int)>(v, 0, v);
v = specialinvoke v.<org.apache.http.impl.io.AbstractSessionInputBuffer: int appendDecoded(org.apache.http.util.CharArrayBuffer,java.nio.ByteBuffer)>(v, v);
label:
v = v.<org.apache.http.impl.io.AbstractSessionInputBuffer: org.apache.http.util.ByteArrayBuffer lineBuffer>;
virtualinvoke v.<org.apache.http.util.ByteArrayBuffer: void clear()>();
return v;
}
private int lineFromReadBuffer(org.apache.http.util.CharArrayBuffer, int) throws java.io.IOException
{
byte[] v, v, v;
org.apache.http.impl.io.AbstractSessionInputBuffer v;
java.nio.ByteBuffer v;
org.apache.http.util.CharArrayBuffer v;
byte v;
int v, v, v, v, v, v;
boolean v;
v := @this: org.apache.http.impl.io.AbstractSessionInputBuffer;
v := @parameter: org.apache.http.util.CharArrayBuffer;
v := @parameter: int;
v = v.<org.apache.http.impl.io.AbstractSessionInputBuffer: int bufferPos>;
v = v;
v = v + 1;
v.<org.apache.http.impl.io.AbstractSessionInputBuffer: int bufferPos> = v;
if v <= v goto label;
v = v.<org.apache.http.impl.io.AbstractSessionInputBuffer: byte[] buffer>;
v = v - 1;
v = v[v];
if v != 13 goto label;
v = v - 1;
label:
v = v - v;
v = v.<org.apache.http.impl.io.AbstractSessionInputBuffer: boolean ascii>;
if v == 0 goto label;
v = v.<org.apache.http.impl.io.AbstractSessionInputBuffer: byte[] buffer>;
virtualinvoke v.<org.apache.http.util.CharArrayBuffer: void append(byte[],int,int)>(v, v, v);
goto label;
label:
v = v.<org.apache.http.impl.io.AbstractSessionInputBuffer: byte[] buffer>;
v = staticinvoke <java.nio.ByteBuffer: java.nio.ByteBuffer wrap(byte[],int,int)>(v, v, v);
v = specialinvoke v.<org.apache.http.impl.io.AbstractSessionInputBuffer: int appendDecoded(org.apache.http.util.CharArrayBuffer,java.nio.ByteBuffer)>(v, v);
label:
return v;
}
private int appendDecoded(org.apache.http.util.CharArrayBuffer, java.nio.ByteBuffer) throws java.io.IOException
{
java.nio.ByteBuffer v;
java.nio.charset.CoderResult v, v;
java.nio.charset.Charset v;
java.nio.charset.CodingErrorAction v, v;
int v, v, v, v;
boolean v, v;
java.nio.CharBuffer v, v, v, v, v;
java.nio.charset.CharsetDecoder v, v, v, v, v, v, v;
org.apache.http.impl.io.AbstractSessionInputBuffer v;
org.apache.http.util.CharArrayBuffer v;
v := @this: org.apache.http.impl.io.AbstractSessionInputBuffer;
v := @parameter: org.apache.http.util.CharArrayBuffer;
v := @parameter: java.nio.ByteBuffer;
v = virtualinvoke v.<java.nio.ByteBuffer: boolean hasRemaining()>();
if v != 0 goto label;
return 0;
label:
v = v.<org.apache.http.impl.io.AbstractSessionInputBuffer: java.nio.charset.CharsetDecoder decoder>;
if v != null goto label;
v = v.<org.apache.http.impl.io.AbstractSessionInputBuffer: java.nio.charset.Charset charset>;
v = virtualinvoke v.<java.nio.charset.Charset: java.nio.charset.CharsetDecoder newDecoder()>();
v.<org.apache.http.impl.io.AbstractSessionInputBuffer: java.nio.charset.CharsetDecoder decoder> = v;
v = v.<org.apache.http.impl.io.AbstractSessionInputBuffer: java.nio.charset.CharsetDecoder decoder>;
v = v.<org.apache.http.impl.io.AbstractSessionInputBuffer: java.nio.charset.CodingErrorAction onMalformedCharAction>;
virtualinvoke v.<java.nio.charset.CharsetDecoder: java.nio.charset.CharsetDecoder onMalformedInput(java.nio.charset.CodingErrorAction)>(v);
v = v.<org.apache.http.impl.io.AbstractSessionInputBuffer: java.nio.charset.CharsetDecoder decoder>;
v = v.<org.apache.http.impl.io.AbstractSessionInputBuffer: java.nio.charset.CodingErrorAction onUnmappableCharAction>;
virtualinvoke v.<java.nio.charset.CharsetDecoder: java.nio.charset.CharsetDecoder onUnmappableCharacter(java.nio.charset.CodingErrorAction)>(v);
label:
v = v.<org.apache.http.impl.io.AbstractSessionInputBuffer: java.nio.CharBuffer cbuf>;
if v != null goto label;
v = staticinvoke <java.nio.CharBuffer: java.nio.CharBuffer allocate(int)>(1024);
v.<org.apache.http.impl.io.AbstractSessionInputBuffer: java.nio.CharBuffer cbuf> = v;
label:
v = v.<org.apache.http.impl.io.AbstractSessionInputBuffer: java.nio.charset.CharsetDecoder decoder>;
virtualinvoke v.<java.nio.charset.CharsetDecoder: java.nio.charset.CharsetDecoder reset()>();
v = 0;
label:
v = virtualinvoke v.<java.nio.ByteBuffer: boolean hasRemaining()>();
if v == 0 goto label;
v = v.<org.apache.http.impl.io.AbstractSessionInputBuffer: java.nio.charset.CharsetDecoder decoder>;
v = v.<org.apache.http.impl.io.AbstractSessionInputBuffer: java.nio.CharBuffer cbuf>;
v = virtualinvoke v.<java.nio.charset.CharsetDecoder: java.nio.charset.CoderResult decode(java.nio.ByteBuffer,java.nio.CharBuffer,boolean)>(v, v, 1);
v = specialinvoke v.<org.apache.http.impl.io.AbstractSessionInputBuffer: int handleDecodingResult(java.nio.charset.CoderResult,org.apache.http.util.CharArrayBuffer,java.nio.ByteBuffer)>(v, v, v);
v = v + v;
goto label;
label:
v = v.<org.apache.http.impl.io.AbstractSessionInputBuffer: java.nio.charset.CharsetDecoder decoder>;
v = v.<org.apache.http.impl.io.AbstractSessionInputBuffer: java.nio.CharBuffer cbuf>;
v = virtualinvoke v.<java.nio.charset.CharsetDecoder: java.nio.charset.CoderResult flush(java.nio.CharBuffer)>(v);
v = specialinvoke v.<org.apache.http.impl.io.AbstractSessionInputBuffer: int handleDecodingResult(java.nio.charset.CoderResult,org.apache.http.util.CharArrayBuffer,java.nio.ByteBuffer)>(v, v, v);
v = v + v;
v = v.<org.apache.http.impl.io.AbstractSessionInputBuffer: java.nio.CharBuffer cbuf>;
virtualinvoke v.<java.nio.CharBuffer: java.nio.CharBuffer clear()>();
return v;
}
private int handleDecodingResult(java.nio.charset.CoderResult, org.apache.http.util.CharArrayBuffer, java.nio.ByteBuffer) throws java.io.IOException
{
java.nio.CharBuffer v, v, v, v, v;
char v;
org.apache.http.impl.io.AbstractSessionInputBuffer v;
java.nio.ByteBuffer v;
org.apache.http.util.CharArrayBuffer v;
java.nio.charset.CoderResult v;
int v;
boolean v, v;
v := @this: org.apache.http.impl.io.AbstractSessionInputBuffer;
v := @parameter: java.nio.charset.CoderResult;
v := @parameter: org.apache.http.util.CharArrayBuffer;
v := @parameter: java.nio.ByteBuffer;
v = virtualinvoke v.<java.nio.charset.CoderResult: boolean isError()>();
if v == 0 goto label;
virtualinvoke v.<java.nio.charset.CoderResult: void throwException()>();
label:
v = v.<org.apache.http.impl.io.AbstractSessionInputBuffer: java.nio.CharBuffer cbuf>;
virtualinvoke v.<java.nio.CharBuffer: java.nio.CharBuffer flip()>();
v = v.<org.apache.http.impl.io.AbstractSessionInputBuffer: java.nio.CharBuffer cbuf>;
v = virtualinvoke v.<java.nio.CharBuffer: int remaining()>();
label:
v = v.<org.apache.http.impl.io.AbstractSessionInputBuffer: java.nio.CharBuffer cbuf>;
v = virtualinvoke v.<java.nio.CharBuffer: boolean hasRemaining()>();
if v == 0 goto label;
v = v.<org.apache.http.impl.io.AbstractSessionInputBuffer: java.nio.CharBuffer cbuf>;
v = virtualinvoke v.<java.nio.CharBuffer: char get()>();
virtualinvoke v.<org.apache.http.util.CharArrayBuffer: void append(char)>(v);
goto label;
label:
v = v.<org.apache.http.impl.io.AbstractSessionInputBuffer: java.nio.CharBuffer cbuf>;
virtualinvoke v.<java.nio.CharBuffer: java.nio.CharBuffer compact()>();
return v;
}
public java.lang.String readLine() throws java.io.IOException
{
org.apache.http.util.CharArrayBuffer v;
int v, v;
java.lang.String v;
org.apache.http.impl.io.AbstractSessionInputBuffer v;
v := @this: org.apache.http.impl.io.AbstractSessionInputBuffer;
v = new org.apache.http.util.CharArrayBuffer;
specialinvoke v.<org.apache.http.util.CharArrayBuffer: void <init>(int)>(64);
v = virtualinvoke v.<org.apache.http.impl.io.AbstractSessionInputBuffer: int readLine(org.apache.http.util.CharArrayBuffer)>(v);
v = (int) -1;
if v == v goto label;
v = virtualinvoke v.<org.apache.http.util.CharArrayBuffer: java.lang.String toString()>();
return v;
label:
return null;
}
public org.apache.http.io.HttpTransportMetrics getMetrics()
{
org.apache.http.impl.io.HttpTransportMetricsImpl v;
org.apache.http.impl.io.AbstractSessionInputBuffer v;
v := @this: org.apache.http.impl.io.AbstractSessionInputBuffer;
v = v.<org.apache.http.impl.io.AbstractSessionInputBuffer: org.apache.http.impl.io.HttpTransportMetricsImpl metrics>;
return v;
}
}