blob: d3dada95a06a20831e72d5d98870d28f5560c37e [file] [log] [blame]
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!--NewPage-->
<HTML>
<HEAD>
<!-- Generated by javadoc (build 1.5.0_22) on Tue Sep 18 20:44:13 GMT+01:00 2012 -->
<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
<TITLE>
AbstractMessageParser (HttpComponents Core 4.2.2 API)
</TITLE>
<META NAME="keywords" CONTENT="org.apache.http.impl.io.AbstractMessageParser class">
<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../stylesheet.css" TITLE="Style">
<SCRIPT type="text/javascript">
function windowTitle()
{
parent.document.title="AbstractMessageParser (HttpComponents Core 4.2.2 API)";
}
</SCRIPT>
<NOSCRIPT>
</NOSCRIPT>
</HEAD>
<BODY BGCOLOR="white" onload="windowTitle();">
<!-- ========= START OF TOP NAVBAR ======= -->
<A NAME="navbar_top"><!-- --></A>
<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
<TR>
<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
<A NAME="navbar_top_firstrow"><!-- --></A>
<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
<TR ALIGN="center" VALIGN="top">
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/AbstractMessageParser.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
</TR>
</TABLE>
</TD>
<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
</EM>
</TD>
</TR>
<TR>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
&nbsp;PREV CLASS&nbsp;
&nbsp;<A HREF="../../../../../org/apache/http/impl/io/AbstractMessageWriter.html" title="class in org.apache.http.impl.io"><B>NEXT CLASS</B></A></FONT></TD>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
<A HREF="../../../../../index.html?org/apache/http/impl/io/AbstractMessageParser.html" target="_top"><B>FRAMES</B></A> &nbsp;
&nbsp;<A HREF="AbstractMessageParser.html" target="_top"><B>NO FRAMES</B></A> &nbsp;
&nbsp;<SCRIPT type="text/javascript">
<!--
if(window==top) {
document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>');
}
//-->
</SCRIPT>
<NOSCRIPT>
<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>
</NOSCRIPT>
</FONT></TD>
</TR>
<TR>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
</TR>
</TABLE>
<A NAME="skip-navbar_top"></A>
<!-- ========= END OF TOP NAVBAR ========= -->
<HR>
<!-- ======== START OF CLASS DATA ======== -->
<H2>
<FONT SIZE="-1">
org.apache.http.impl.io</FONT>
<BR>
Class AbstractMessageParser&lt;T extends <A HREF="../../../../../org/apache/http/HttpMessage.html" title="interface in org.apache.http">HttpMessage</A>&gt;</H2>
<PRE>
<A HREF="http://download.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html" title="class or interface in java.lang">java.lang.Object</A>
<IMG SRC="../../../../../resources/inherit.gif" ALT="extended by "><B>org.apache.http.impl.io.AbstractMessageParser&lt;T&gt;</B>
</PRE>
<DL>
<DT><B>All Implemented Interfaces:</B> <DD><A HREF="../../../../../org/apache/http/io/HttpMessageParser.html" title="interface in org.apache.http.io">HttpMessageParser</A>&lt;T&gt;</DD>
</DL>
<DL>
<DT><B>Direct Known Subclasses:</B> <DD><A HREF="../../../../../org/apache/http/impl/io/DefaultHttpRequestParser.html" title="class in org.apache.http.impl.io">DefaultHttpRequestParser</A>, <A HREF="../../../../../org/apache/http/impl/io/DefaultHttpResponseParser.html" title="class in org.apache.http.impl.io">DefaultHttpResponseParser</A>, <A HREF="../../../../../org/apache/http/impl/io/HttpRequestParser.html" title="class in org.apache.http.impl.io">HttpRequestParser</A>, <A HREF="../../../../../org/apache/http/impl/io/HttpResponseParser.html" title="class in org.apache.http.impl.io">HttpResponseParser</A></DD>
</DL>
<HR>
<DL>
<DT><PRE><FONT SIZE="-1"><A HREF="../../../../../org/apache/http/annotation/NotThreadSafe.html" title="annotation in org.apache.http.annotation">@NotThreadSafe</A>
</FONT>public abstract class <B>AbstractMessageParser&lt;T extends <A HREF="../../../../../org/apache/http/HttpMessage.html" title="interface in org.apache.http">HttpMessage</A>&gt;</B><DT>extends <A HREF="http://download.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A><DT>implements <A HREF="../../../../../org/apache/http/io/HttpMessageParser.html" title="interface in org.apache.http.io">HttpMessageParser</A>&lt;T&gt;</DL>
</PRE>
<P>
Abstract base class for HTTP message parsers that obtain input from
an instance of <A HREF="../../../../../org/apache/http/io/SessionInputBuffer.html" title="interface in org.apache.http.io"><CODE>SessionInputBuffer</CODE></A>.
<p>
The following parameters can be used to customize the behavior of this
class:
<ul>
<li><A HREF="../../../../../org/apache/http/params/CoreConnectionPNames.html#MAX_HEADER_COUNT"><CODE>CoreConnectionPNames.MAX_HEADER_COUNT</CODE></A></li>
<li><A HREF="../../../../../org/apache/http/params/CoreConnectionPNames.html#MAX_LINE_LENGTH"><CODE>CoreConnectionPNames.MAX_LINE_LENGTH</CODE></A></li>
</ul>
<P>
<P>
<DL>
<DT><B>Since:</B></DT>
<DD>4.0</DD>
</DL>
<HR>
<P>
<!-- =========== FIELD SUMMARY =========== -->
<A NAME="field_summary"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
<B>Field Summary</B></FONT></TH>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected &nbsp;<A HREF="../../../../../org/apache/http/message/LineParser.html" title="interface in org.apache.http.message">LineParser</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/http/impl/io/AbstractMessageParser.html#lineParser">lineParser</A></B></CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
</TABLE>
&nbsp;
<!-- ======== CONSTRUCTOR SUMMARY ======== -->
<A NAME="constructor_summary"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
<B>Constructor Summary</B></FONT></TH>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><CODE><B><A HREF="../../../../../org/apache/http/impl/io/AbstractMessageParser.html#AbstractMessageParser(org.apache.http.io.SessionInputBuffer, org.apache.http.message.LineParser, org.apache.http.params.HttpParams)">AbstractMessageParser</A></B>(<A HREF="../../../../../org/apache/http/io/SessionInputBuffer.html" title="interface in org.apache.http.io">SessionInputBuffer</A>&nbsp;buffer,
<A HREF="../../../../../org/apache/http/message/LineParser.html" title="interface in org.apache.http.message">LineParser</A>&nbsp;parser,
<A HREF="../../../../../org/apache/http/params/HttpParams.html" title="interface in org.apache.http.params">HttpParams</A>&nbsp;params)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Creates an instance of this class.</TD>
</TR>
</TABLE>
&nbsp;
<!-- ========== METHOD SUMMARY =========== -->
<A NAME="method_summary"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
<B>Method Summary</B></FONT></TH>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="../../../../../org/apache/http/impl/io/AbstractMessageParser.html" title="type parameter in AbstractMessageParser">T</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/http/impl/io/AbstractMessageParser.html#parse()">parse</A></B>()</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Generates an instance of <A HREF="../../../../../org/apache/http/HttpMessage.html" title="interface in org.apache.http"><CODE>HttpMessage</CODE></A> from the underlying data
source.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected abstract &nbsp;<A HREF="../../../../../org/apache/http/impl/io/AbstractMessageParser.html" title="type parameter in AbstractMessageParser">T</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/http/impl/io/AbstractMessageParser.html#parseHead(org.apache.http.io.SessionInputBuffer)">parseHead</A></B>(<A HREF="../../../../../org/apache/http/io/SessionInputBuffer.html" title="interface in org.apache.http.io">SessionInputBuffer</A>&nbsp;sessionBuffer)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Subclasses must override this method to generate an instance of
<A HREF="../../../../../org/apache/http/HttpMessage.html" title="interface in org.apache.http"><CODE>HttpMessage</CODE></A> based on the initial input from the session buffer.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>static&nbsp;<A HREF="../../../../../org/apache/http/Header.html" title="interface in org.apache.http">Header</A>[]</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/http/impl/io/AbstractMessageParser.html#parseHeaders(org.apache.http.io.SessionInputBuffer, int, int, org.apache.http.message.LineParser)">parseHeaders</A></B>(<A HREF="../../../../../org/apache/http/io/SessionInputBuffer.html" title="interface in org.apache.http.io">SessionInputBuffer</A>&nbsp;inbuffer,
int&nbsp;maxHeaderCount,
int&nbsp;maxLineLen,
<A HREF="../../../../../org/apache/http/message/LineParser.html" title="interface in org.apache.http.message">LineParser</A>&nbsp;parser)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Parses HTTP headers from the data receiver stream according to the generic
format as given in Section 3.1 of RFC 822, RFC-2616 Section 4 and 19.3.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>static&nbsp;<A HREF="../../../../../org/apache/http/Header.html" title="interface in org.apache.http">Header</A>[]</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/http/impl/io/AbstractMessageParser.html#parseHeaders(org.apache.http.io.SessionInputBuffer, int, int, org.apache.http.message.LineParser, java.util.List)">parseHeaders</A></B>(<A HREF="../../../../../org/apache/http/io/SessionInputBuffer.html" title="interface in org.apache.http.io">SessionInputBuffer</A>&nbsp;inbuffer,
int&nbsp;maxHeaderCount,
int&nbsp;maxLineLen,
<A HREF="../../../../../org/apache/http/message/LineParser.html" title="interface in org.apache.http.message">LineParser</A>&nbsp;parser,
<A HREF="http://download.oracle.com/javase/1.5.0/docs/api/java/util/List.html" title="class or interface in java.util">List</A>&lt;<A HREF="../../../../../org/apache/http/util/CharArrayBuffer.html" title="class in org.apache.http.util">CharArrayBuffer</A>&gt;&nbsp;headerLines)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Parses HTTP headers from the data receiver stream according to the generic
format as given in Section 3.1 of RFC 822, RFC-2616 Section 4 and 19.3.</TD>
</TR>
</TABLE>
&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
<TH ALIGN="left"><B>Methods inherited from class java.lang.<A HREF="http://download.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A></B></TH>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><CODE><A HREF="http://download.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html#clone()" title="class or interface in java.lang">clone</A>, <A HREF="http://download.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html#equals(java.lang.Object)" title="class or interface in java.lang">equals</A>, <A HREF="http://download.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html#finalize()" title="class or interface in java.lang">finalize</A>, <A HREF="http://download.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html#getClass()" title="class or interface in java.lang">getClass</A>, <A HREF="http://download.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html#hashCode()" title="class or interface in java.lang">hashCode</A>, <A HREF="http://download.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html#notify()" title="class or interface in java.lang">notify</A>, <A HREF="http://download.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html#notifyAll()" title="class or interface in java.lang">notifyAll</A>, <A HREF="http://download.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html#toString()" title="class or interface in java.lang">toString</A>, <A HREF="http://download.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html#wait()" title="class or interface in java.lang">wait</A>, <A HREF="http://download.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html#wait(long)" title="class or interface in java.lang">wait</A>, <A HREF="http://download.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html#wait(long, int)" title="class or interface in java.lang">wait</A></CODE></TD>
</TR>
</TABLE>
&nbsp;
<P>
<!-- ============ FIELD DETAIL =========== -->
<A NAME="field_detail"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
<B>Field Detail</B></FONT></TH>
</TR>
</TABLE>
<A NAME="lineParser"><!-- --></A><H3>
lineParser</H3>
<PRE>
protected final <A HREF="../../../../../org/apache/http/message/LineParser.html" title="interface in org.apache.http.message">LineParser</A> <B>lineParser</B></PRE>
<DL>
<DL>
</DL>
</DL>
<!-- ========= CONSTRUCTOR DETAIL ======== -->
<A NAME="constructor_detail"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
<B>Constructor Detail</B></FONT></TH>
</TR>
</TABLE>
<A NAME="AbstractMessageParser(org.apache.http.io.SessionInputBuffer, org.apache.http.message.LineParser, org.apache.http.params.HttpParams)"><!-- --></A><H3>
AbstractMessageParser</H3>
<PRE>
public <B>AbstractMessageParser</B>(<A HREF="../../../../../org/apache/http/io/SessionInputBuffer.html" title="interface in org.apache.http.io">SessionInputBuffer</A>&nbsp;buffer,
<A HREF="../../../../../org/apache/http/message/LineParser.html" title="interface in org.apache.http.message">LineParser</A>&nbsp;parser,
<A HREF="../../../../../org/apache/http/params/HttpParams.html" title="interface in org.apache.http.params">HttpParams</A>&nbsp;params)</PRE>
<DL>
<DD>Creates an instance of this class.
<P>
<DL>
<DT><B>Parameters:</B><DD><CODE>buffer</CODE> - the session input buffer.<DD><CODE>parser</CODE> - the line parser.<DD><CODE>params</CODE> - HTTP parameters.</DL>
</DL>
<!-- ============ METHOD DETAIL ========== -->
<A NAME="method_detail"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
<B>Method Detail</B></FONT></TH>
</TR>
</TABLE>
<A NAME="parseHeaders(org.apache.http.io.SessionInputBuffer, int, int, org.apache.http.message.LineParser)"><!-- --></A><H3>
parseHeaders</H3>
<PRE>
public static <A HREF="../../../../../org/apache/http/Header.html" title="interface in org.apache.http">Header</A>[] <B>parseHeaders</B>(<A HREF="../../../../../org/apache/http/io/SessionInputBuffer.html" title="interface in org.apache.http.io">SessionInputBuffer</A>&nbsp;inbuffer,
int&nbsp;maxHeaderCount,
int&nbsp;maxLineLen,
<A HREF="../../../../../org/apache/http/message/LineParser.html" title="interface in org.apache.http.message">LineParser</A>&nbsp;parser)
throws <A HREF="../../../../../org/apache/http/HttpException.html" title="class in org.apache.http">HttpException</A>,
<A HREF="http://download.oracle.com/javase/1.5.0/docs/api/java/io/IOException.html" title="class or interface in java.io">IOException</A></PRE>
<DL>
<DD>Parses HTTP headers from the data receiver stream according to the generic
format as given in Section 3.1 of RFC 822, RFC-2616 Section 4 and 19.3.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>inbuffer</CODE> - Session input buffer<DD><CODE>maxHeaderCount</CODE> - maximum number of headers allowed. If the number
of headers received from the data stream exceeds maxCount value, an
IOException will be thrown. Setting this parameter to a negative value
or zero will disable the check.<DD><CODE>maxLineLen</CODE> - maximum number of characters for a header line,
including the continuation lines. Setting this parameter to a negative
value or zero will disable the check.<DD><CODE>parser</CODE> - line parser to use. Can be <code>null</code>, in which case
the default implementation of this interface will be used.
<DT><B>Returns:</B><DD>array of HTTP headers
<DT><B>Throws:</B>
<DD><CODE><A HREF="http://download.oracle.com/javase/1.5.0/docs/api/java/io/IOException.html" title="class or interface in java.io">IOException</A></CODE> - in case of an I/O error
<DD><CODE><A HREF="../../../../../org/apache/http/HttpException.html" title="class in org.apache.http">HttpException</A></CODE> - in case of HTTP protocol violation</DL>
</DD>
</DL>
<HR>
<A NAME="parseHeaders(org.apache.http.io.SessionInputBuffer, int, int, org.apache.http.message.LineParser, java.util.List)"><!-- --></A><H3>
parseHeaders</H3>
<PRE>
public static <A HREF="../../../../../org/apache/http/Header.html" title="interface in org.apache.http">Header</A>[] <B>parseHeaders</B>(<A HREF="../../../../../org/apache/http/io/SessionInputBuffer.html" title="interface in org.apache.http.io">SessionInputBuffer</A>&nbsp;inbuffer,
int&nbsp;maxHeaderCount,
int&nbsp;maxLineLen,
<A HREF="../../../../../org/apache/http/message/LineParser.html" title="interface in org.apache.http.message">LineParser</A>&nbsp;parser,
<A HREF="http://download.oracle.com/javase/1.5.0/docs/api/java/util/List.html" title="class or interface in java.util">List</A>&lt;<A HREF="../../../../../org/apache/http/util/CharArrayBuffer.html" title="class in org.apache.http.util">CharArrayBuffer</A>&gt;&nbsp;headerLines)
throws <A HREF="../../../../../org/apache/http/HttpException.html" title="class in org.apache.http">HttpException</A>,
<A HREF="http://download.oracle.com/javase/1.5.0/docs/api/java/io/IOException.html" title="class or interface in java.io">IOException</A></PRE>
<DL>
<DD>Parses HTTP headers from the data receiver stream according to the generic
format as given in Section 3.1 of RFC 822, RFC-2616 Section 4 and 19.3.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>inbuffer</CODE> - Session input buffer<DD><CODE>maxHeaderCount</CODE> - maximum number of headers allowed. If the number
of headers received from the data stream exceeds maxCount value, an
IOException will be thrown. Setting this parameter to a negative value
or zero will disable the check.<DD><CODE>maxLineLen</CODE> - maximum number of characters for a header line,
including the continuation lines. Setting this parameter to a negative
value or zero will disable the check.<DD><CODE>parser</CODE> - line parser to use.<DD><CODE>headerLines</CODE> - List of header lines. This list will be used to store
intermediate results. This makes it possible to resume parsing of
headers in case of a <A HREF="http://download.oracle.com/javase/1.5.0/docs/api/java/io/InterruptedIOException.html" title="class or interface in java.io"><CODE>InterruptedIOException</CODE></A>.
<DT><B>Returns:</B><DD>array of HTTP headers
<DT><B>Throws:</B>
<DD><CODE><A HREF="http://download.oracle.com/javase/1.5.0/docs/api/java/io/IOException.html" title="class or interface in java.io">IOException</A></CODE> - in case of an I/O error
<DD><CODE><A HREF="../../../../../org/apache/http/HttpException.html" title="class in org.apache.http">HttpException</A></CODE> - in case of HTTP protocol violation<DT><B>Since:</B></DT>
<DD>4.1</DD>
</DL>
</DD>
</DL>
<HR>
<A NAME="parseHead(org.apache.http.io.SessionInputBuffer)"><!-- --></A><H3>
parseHead</H3>
<PRE>
protected abstract <A HREF="../../../../../org/apache/http/impl/io/AbstractMessageParser.html" title="type parameter in AbstractMessageParser">T</A> <B>parseHead</B>(<A HREF="../../../../../org/apache/http/io/SessionInputBuffer.html" title="interface in org.apache.http.io">SessionInputBuffer</A>&nbsp;sessionBuffer)
throws <A HREF="http://download.oracle.com/javase/1.5.0/docs/api/java/io/IOException.html" title="class or interface in java.io">IOException</A>,
<A HREF="../../../../../org/apache/http/HttpException.html" title="class in org.apache.http">HttpException</A>,
<A HREF="../../../../../org/apache/http/ParseException.html" title="class in org.apache.http">ParseException</A></PRE>
<DL>
<DD>Subclasses must override this method to generate an instance of
<A HREF="../../../../../org/apache/http/HttpMessage.html" title="interface in org.apache.http"><CODE>HttpMessage</CODE></A> based on the initial input from the session buffer.
<p>
Usually this method is expected to read just the very first line or
the very first valid from the data stream and based on the input generate
an appropriate instance of <A HREF="../../../../../org/apache/http/HttpMessage.html" title="interface in org.apache.http"><CODE>HttpMessage</CODE></A>.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>sessionBuffer</CODE> - the session input buffer.
<DT><B>Returns:</B><DD>HTTP message based on the input from the session buffer.
<DT><B>Throws:</B>
<DD><CODE><A HREF="http://download.oracle.com/javase/1.5.0/docs/api/java/io/IOException.html" title="class or interface in java.io">IOException</A></CODE> - in case of an I/O error.
<DD><CODE><A HREF="../../../../../org/apache/http/HttpException.html" title="class in org.apache.http">HttpException</A></CODE> - in case of HTTP protocol violation.
<DD><CODE><A HREF="../../../../../org/apache/http/ParseException.html" title="class in org.apache.http">ParseException</A></CODE> - in case of a parse error.</DL>
</DD>
</DL>
<HR>
<A NAME="parse()"><!-- --></A><H3>
parse</H3>
<PRE>
public <A HREF="../../../../../org/apache/http/impl/io/AbstractMessageParser.html" title="type parameter in AbstractMessageParser">T</A> <B>parse</B>()
throws <A HREF="http://download.oracle.com/javase/1.5.0/docs/api/java/io/IOException.html" title="class or interface in java.io">IOException</A>,
<A HREF="../../../../../org/apache/http/HttpException.html" title="class in org.apache.http">HttpException</A></PRE>
<DL>
<DD><B>Description copied from interface: <CODE><A HREF="../../../../../org/apache/http/io/HttpMessageParser.html#parse()">HttpMessageParser</A></CODE></B></DD>
<DD>Generates an instance of <A HREF="../../../../../org/apache/http/HttpMessage.html" title="interface in org.apache.http"><CODE>HttpMessage</CODE></A> from the underlying data
source.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../../org/apache/http/io/HttpMessageParser.html#parse()">parse</A></CODE> in interface <CODE><A HREF="../../../../../org/apache/http/io/HttpMessageParser.html" title="interface in org.apache.http.io">HttpMessageParser</A>&lt;<A HREF="../../../../../org/apache/http/impl/io/AbstractMessageParser.html" title="type parameter in AbstractMessageParser">T</A> extends <A HREF="../../../../../org/apache/http/HttpMessage.html" title="interface in org.apache.http">HttpMessage</A>&gt;</CODE></DL>
</DD>
<DD><DL>
<DT><B>Returns:</B><DD>HTTP message
<DT><B>Throws:</B>
<DD><CODE><A HREF="http://download.oracle.com/javase/1.5.0/docs/api/java/io/IOException.html" title="class or interface in java.io">IOException</A></CODE> - in case of an I/O error
<DD><CODE><A HREF="../../../../../org/apache/http/HttpException.html" title="class in org.apache.http">HttpException</A></CODE> - in case of HTTP protocol violation</DL>
</DD>
</DL>
<!-- ========= END OF CLASS DATA ========= -->
<HR>
<!-- ======= START OF BOTTOM NAVBAR ====== -->
<A NAME="navbar_bottom"><!-- --></A>
<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
<TR>
<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
<A NAME="navbar_bottom_firstrow"><!-- --></A>
<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
<TR ALIGN="center" VALIGN="top">
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/AbstractMessageParser.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
</TR>
</TABLE>
</TD>
<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
</EM>
</TD>
</TR>
<TR>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
&nbsp;PREV CLASS&nbsp;
&nbsp;<A HREF="../../../../../org/apache/http/impl/io/AbstractMessageWriter.html" title="class in org.apache.http.impl.io"><B>NEXT CLASS</B></A></FONT></TD>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
<A HREF="../../../../../index.html?org/apache/http/impl/io/AbstractMessageParser.html" target="_top"><B>FRAMES</B></A> &nbsp;
&nbsp;<A HREF="AbstractMessageParser.html" target="_top"><B>NO FRAMES</B></A> &nbsp;
&nbsp;<SCRIPT type="text/javascript">
<!--
if(window==top) {
document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>');
}
//-->
</SCRIPT>
<NOSCRIPT>
<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>
</NOSCRIPT>
</FONT></TD>
</TR>
<TR>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
</TR>
</TABLE>
<A NAME="skip-navbar_bottom"></A>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
<HR>
Copyright &#169; 2005-2012 <a href="http://www.apache.org/">The Apache Software Foundation</a>. All Rights Reserved.
</BODY>
</HTML>