blob: d501aebae3fcafbe2387b161491508f60086b875 [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:15 GMT+01:00 2012 -->
<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
<TITLE>
HttpAsyncRequestHandler (HttpComponents Core 4.2.2 API)
</TITLE>
<META NAME="keywords" CONTENT="org.apache.http.nio.protocol.HttpAsyncRequestHandler interface">
<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../stylesheet.css" TITLE="Style">
<SCRIPT type="text/javascript">
function windowTitle()
{
parent.document.title="HttpAsyncRequestHandler (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/HttpAsyncRequestHandler.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;<A HREF="../../../../../org/apache/http/nio/protocol/HttpAsyncRequestExecutor.html" title="class in org.apache.http.nio.protocol"><B>PREV CLASS</B></A>&nbsp;
&nbsp;<A HREF="../../../../../org/apache/http/nio/protocol/HttpAsyncRequestHandlerRegistry.html" title="class in org.apache.http.nio.protocol"><B>NEXT CLASS</B></A></FONT></TD>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
<A HREF="../../../../../index.html?org/apache/http/nio/protocol/HttpAsyncRequestHandler.html" target="_top"><B>FRAMES</B></A> &nbsp;
&nbsp;<A HREF="HttpAsyncRequestHandler.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;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
DETAIL:&nbsp;FIELD&nbsp;|&nbsp;CONSTR&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.nio.protocol</FONT>
<BR>
Interface HttpAsyncRequestHandler&lt;T&gt;</H2>
<DL>
<DT><B>All Known Implementing Classes:</B> <DD><A HREF="../../../../../org/apache/http/nio/protocol/BasicAsyncRequestHandler.html" title="class in org.apache.http.nio.protocol">BasicAsyncRequestHandler</A></DD>
</DL>
<HR>
<DL>
<DT><PRE>public interface <B>HttpAsyncRequestHandler&lt;T&gt;</B></DL>
</PRE>
<P>
<tt>HttpAsyncRequestHandler</tt> represents a routine for asynchronous
processing of a specific group of non-blocking HTTP requests. Protocol
handlers are designed to take care of protocol specific aspects, whereas
individual request handlers are expected to take care of application
specific HTTP processing. The main purpose of a request handler is to
generate a response object with a content entity to be sent back to
the client in response to the given request.
<P>
<P>
<DL>
<DT><B>Since:</B></DT>
<DD>4.2</DD>
</DL>
<HR>
<P>
<!-- ========== 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;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/http/nio/protocol/HttpAsyncRequestHandler.html#handle(T, org.apache.http.nio.protocol.HttpAsyncExchange, org.apache.http.protocol.HttpContext)">handle</A></B>(<A HREF="../../../../../org/apache/http/nio/protocol/HttpAsyncRequestHandler.html" title="type parameter in HttpAsyncRequestHandler">T</A>&nbsp;data,
<A HREF="../../../../../org/apache/http/nio/protocol/HttpAsyncExchange.html" title="interface in org.apache.http.nio.protocol">HttpAsyncExchange</A>&nbsp;httpExchange,
<A HREF="../../../../../org/apache/http/protocol/HttpContext.html" title="interface in org.apache.http.protocol">HttpContext</A>&nbsp;context)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Triggered to complete request processing and to initiate the process of
generating a response.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="../../../../../org/apache/http/nio/protocol/HttpAsyncRequestConsumer.html" title="interface in org.apache.http.nio.protocol">HttpAsyncRequestConsumer</A>&lt;<A HREF="../../../../../org/apache/http/nio/protocol/HttpAsyncRequestHandler.html" title="type parameter in HttpAsyncRequestHandler">T</A>&gt;</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/http/nio/protocol/HttpAsyncRequestHandler.html#processRequest(org.apache.http.HttpRequest, org.apache.http.protocol.HttpContext)">processRequest</A></B>(<A HREF="../../../../../org/apache/http/HttpRequest.html" title="interface in org.apache.http">HttpRequest</A>&nbsp;request,
<A HREF="../../../../../org/apache/http/protocol/HttpContext.html" title="interface in org.apache.http.protocol">HttpContext</A>&nbsp;context)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Triggered when an incoming request is received.</TD>
</TR>
</TABLE>
&nbsp;
<P>
<!-- ============ 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="processRequest(org.apache.http.HttpRequest, org.apache.http.protocol.HttpContext)"><!-- --></A><H3>
processRequest</H3>
<PRE>
<A HREF="../../../../../org/apache/http/nio/protocol/HttpAsyncRequestConsumer.html" title="interface in org.apache.http.nio.protocol">HttpAsyncRequestConsumer</A>&lt;<A HREF="../../../../../org/apache/http/nio/protocol/HttpAsyncRequestHandler.html" title="type parameter in HttpAsyncRequestHandler">T</A>&gt; <B>processRequest</B>(<A HREF="../../../../../org/apache/http/HttpRequest.html" title="interface in org.apache.http">HttpRequest</A>&nbsp;request,
<A HREF="../../../../../org/apache/http/protocol/HttpContext.html" title="interface in org.apache.http.protocol">HttpContext</A>&nbsp;context)
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>Triggered when an incoming request is received. This method should
return a <A HREF="../../../../../org/apache/http/nio/protocol/HttpAsyncRequestConsumer.html" title="interface in org.apache.http.nio.protocol"><CODE>HttpAsyncRequestConsumer</CODE></A> that will be used to process
the request and consume message content if enclosed. The consumer
can optionally parse or transform the message content into a structured
object which is then passed onto
the <A HREF="../../../../../org/apache/http/nio/protocol/HttpAsyncRequestHandler.html#handle(T, org.apache.http.nio.protocol.HttpAsyncExchange, org.apache.http.protocol.HttpContext)"><CODE>handle(Object, HttpAsyncExchange, HttpContext)</CODE></A>
method for further processing.
<P>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>request</CODE> - the entity enclosing request.<DD><CODE>context</CODE> - the execution context.
<DT><B>Returns:</B><DD>request consumer.
<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 or a processing
problem.</DL>
</DD>
</DL>
<HR>
<A NAME="handle(java.lang.Object,org.apache.http.nio.protocol.HttpAsyncExchange,org.apache.http.protocol.HttpContext)"><!-- --></A><A NAME="handle(T, org.apache.http.nio.protocol.HttpAsyncExchange, org.apache.http.protocol.HttpContext)"><!-- --></A><H3>
handle</H3>
<PRE>
void <B>handle</B>(<A HREF="../../../../../org/apache/http/nio/protocol/HttpAsyncRequestHandler.html" title="type parameter in HttpAsyncRequestHandler">T</A>&nbsp;data,
<A HREF="../../../../../org/apache/http/nio/protocol/HttpAsyncExchange.html" title="interface in org.apache.http.nio.protocol">HttpAsyncExchange</A>&nbsp;httpExchange,
<A HREF="../../../../../org/apache/http/protocol/HttpContext.html" title="interface in org.apache.http.protocol">HttpContext</A>&nbsp;context)
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>Triggered to complete request processing and to initiate the process of
generating a response. This method does not have to submit a response
immediately. It can defer transmission of an HTTP response back to
the client without blocking the I/O thread by delegating the process
of request handling to another service or a worker thread. HTTP response
can be submitted as a later a later point of time using
<A HREF="../../../../../org/apache/http/nio/protocol/HttpAsyncExchange.html" title="interface in org.apache.http.nio.protocol"><CODE>HttpAsyncExchange</CODE></A> once response content becomes available.
<P>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>data</CODE> - request data returned by the request consumer.<DD><CODE>httpExchange</CODE> - HTTP exchange.<DD><CODE>context</CODE> - HTTP execution context.
<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 or a processing
problem.</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/HttpAsyncRequestHandler.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;<A HREF="../../../../../org/apache/http/nio/protocol/HttpAsyncRequestExecutor.html" title="class in org.apache.http.nio.protocol"><B>PREV CLASS</B></A>&nbsp;
&nbsp;<A HREF="../../../../../org/apache/http/nio/protocol/HttpAsyncRequestHandlerRegistry.html" title="class in org.apache.http.nio.protocol"><B>NEXT CLASS</B></A></FONT></TD>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
<A HREF="../../../../../index.html?org/apache/http/nio/protocol/HttpAsyncRequestHandler.html" target="_top"><B>FRAMES</B></A> &nbsp;
&nbsp;<A HREF="HttpAsyncRequestHandler.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;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
DETAIL:&nbsp;FIELD&nbsp;|&nbsp;CONSTR&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>