blob: 5af5df2731c6b445a285affecf0d033a5367d29e [file] [log] [blame]
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!-- NewPage -->
<html lang="en">
<head>
<!-- Generated by javadoc (version 1.7.0_80) on Wed Jun 07 15:10:50 EDT 2017 -->
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>HttpChannel (Jetty :: Project 9.2.22.v20170606 API)</title>
<meta name="date" content="2017-06-07">
<link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
</head>
<body>
<script type="text/javascript"><!--
if (location.href.indexOf('is-external=true') == -1) {
parent.document.title="HttpChannel (Jetty :: Project 9.2.22.v20170606 API)";
}
//-->
</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="topNav"><a name="navbar_top">
<!-- -->
</a><a href="#skip-navbar_top" title="Skip navigation links"></a><a name="navbar_top_firstrow">
<!-- -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../overview-summary.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="class-use/HttpChannel.html">Use</a></li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../index-all.html">Index</a></li>
<li><a href="../../../../help-doc.html">Help</a></li>
</ul>
<div class="aboutLanguage"><em><script type="text/javascript"> var _gaq = _gaq || []; _gaq.push(['_setAccount', 'UA-1149868-7']); _gaq.push(['_trackPageview']); (function() { var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true; ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js'; var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s); })(); </script></em></div>
</div>
<div class="subNav">
<ul class="navList">
<li><a href="../../../../org/eclipse/jetty/server/HostHeaderCustomizer.html" title="class in org.eclipse.jetty.server"><span class="strong">Prev Class</span></a></li>
<li><a href="../../../../org/eclipse/jetty/server/HttpChannelState.html" title="class in org.eclipse.jetty.server"><span class="strong">Next Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../index.html?org/eclipse/jetty/server/HttpChannel.html" target="_top">Frames</a></li>
<li><a href="HttpChannel.html" target="_top">No Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_top">
<li><a href="../../../../allclasses-noframe.html">All Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
allClassesLink = document.getElementById("allclasses_navbar_top");
if(window==top) {
allClassesLink.style.display = "block";
}
else {
allClassesLink.style.display = "none";
}
//-->
</script>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li><a href="#constructor_summary">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method_summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li><a href="#constructor_detail">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method_detail">Method</a></li>
</ul>
</div>
<a name="skip-navbar_top">
<!-- -->
</a></div>
<!-- ========= END OF TOP NAVBAR ========= -->
<!-- ======== START OF CLASS DATA ======== -->
<div class="header">
<div class="subTitle">org.eclipse.jetty.server</div>
<h2 title="Class HttpChannel" class="title">Class HttpChannel&lt;T&gt;</h2>
</div>
<div class="contentContainer">
<ul class="inheritance">
<li><a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
<li>
<ul class="inheritance">
<li>org.eclipse.jetty.server.HttpChannel&lt;T&gt;</li>
</ul>
</li>
</ul>
<div class="description">
<ul class="blockList">
<li class="blockList">
<dl>
<dt>All Implemented Interfaces:</dt>
<dd><a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Runnable.html?is-external=true" title="class or interface in java.lang">Runnable</a>, <a href="../../../../org/eclipse/jetty/http/HttpParser.HttpHandler.html" title="interface in org.eclipse.jetty.http">HttpParser.HttpHandler</a>&lt;T&gt;, <a href="../../../../org/eclipse/jetty/http/HttpParser.ProxyHandler.html" title="interface in org.eclipse.jetty.http">HttpParser.ProxyHandler</a>, <a href="../../../../org/eclipse/jetty/http/HttpParser.RequestHandler.html" title="interface in org.eclipse.jetty.http">HttpParser.RequestHandler</a>&lt;T&gt;</dd>
</dl>
<dl>
<dt>Direct Known Subclasses:</dt>
<dd><a href="../../../../org/eclipse/jetty/fcgi/server/HttpChannelOverFCGI.html" title="class in org.eclipse.jetty.fcgi.server">HttpChannelOverFCGI</a>, <a href="../../../../org/eclipse/jetty/spdy/server/http/HttpChannelOverSPDY.html" title="class in org.eclipse.jetty.spdy.server.http">HttpChannelOverSPDY</a>, <a href="../../../../org/eclipse/jetty/server/HttpConnection.HttpChannelOverHttp.html" title="class in org.eclipse.jetty.server">HttpConnection.HttpChannelOverHttp</a></dd>
</dl>
<hr>
<br>
<pre>public class <span class="strong">HttpChannel&lt;T&gt;</span>
extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>
implements <a href="../../../../org/eclipse/jetty/http/HttpParser.RequestHandler.html" title="interface in org.eclipse.jetty.http">HttpParser.RequestHandler</a>&lt;T&gt;, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Runnable.html?is-external=true" title="class or interface in java.lang">Runnable</a>, <a href="../../../../org/eclipse/jetty/http/HttpParser.ProxyHandler.html" title="interface in org.eclipse.jetty.http">HttpParser.ProxyHandler</a></pre>
<div class="block">HttpChannel.
Represents a single endpoint for HTTP semantic processing.
The HttpChannel is both a HttpParser.RequestHandler, where it passively receives events from
an incoming HTTP request, and a Runnable, where it actively takes control of the request/response
life cycle and calls the application (perhaps suspending and resuming with multiple calls to run).
The HttpChannel signals the switch from passive mode to active mode by returning true to one of the
HttpParser.RequestHandler callbacks. The completion of the active phase is signalled by a call to
HttpTransport.completed().</div>
</li>
</ul>
</div>
<div class="summary">
<ul class="blockList">
<li class="blockList">
<!-- ======== CONSTRUCTOR SUMMARY ======== -->
<ul class="blockList">
<li class="blockList"><a name="constructor_summary">
<!-- -->
</a>
<h3>Constructor Summary</h3>
<table class="overviewSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colOne" scope="col">Constructor and Description</th>
</tr>
<tr class="altColor">
<td class="colOne"><code><strong><a href="../../../../org/eclipse/jetty/server/HttpChannel.html#HttpChannel(org.eclipse.jetty.server.Connector,%20org.eclipse.jetty.server.HttpConfiguration,%20org.eclipse.jetty.io.EndPoint,%20org.eclipse.jetty.server.HttpTransport,%20org.eclipse.jetty.server.HttpInput)">HttpChannel</a></strong>(<a href="../../../../org/eclipse/jetty/server/Connector.html" title="interface in org.eclipse.jetty.server">Connector</a>&nbsp;connector,
<a href="../../../../org/eclipse/jetty/server/HttpConfiguration.html" title="class in org.eclipse.jetty.server">HttpConfiguration</a>&nbsp;configuration,
<a href="../../../../org/eclipse/jetty/io/EndPoint.html" title="interface in org.eclipse.jetty.io">EndPoint</a>&nbsp;endPoint,
<a href="../../../../org/eclipse/jetty/server/HttpTransport.html" title="interface in org.eclipse.jetty.server">HttpTransport</a>&nbsp;transport,
<a href="../../../../org/eclipse/jetty/server/HttpInput.html" title="class in org.eclipse.jetty.server">HttpInput</a>&lt;<a href="../../../../org/eclipse/jetty/server/HttpChannel.html" title="type parameter in HttpChannel">T</a>&gt;&nbsp;input)</code>&nbsp;</td>
</tr>
</table>
</li>
</ul>
<!-- ========== METHOD SUMMARY =========== -->
<ul class="blockList">
<li class="blockList"><a name="method_summary">
<!-- -->
</a>
<h3>Method Summary</h3>
<table class="overviewSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
<caption><span>Methods</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colLast" scope="col">Method and Description</th>
</tr>
<tr class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../../../org/eclipse/jetty/server/HttpChannel.html#abort()">abort</a></strong>()</code>
<div class="block">If a write or similar to this channel fails this method should be called.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../../../org/eclipse/jetty/server/HttpChannel.html#badMessage(int,%20java.lang.String)">badMessage</a></strong>(int&nbsp;status,
<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;reason)</code>
<div class="block">Called to signal that a bad HTTP message has been received.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><strong><a href="../../../../org/eclipse/jetty/server/HttpChannel.html#content(T)">content</a></strong>(<a href="../../../../org/eclipse/jetty/server/HttpChannel.html" title="type parameter in HttpChannel">T</a>&nbsp;item)</code>&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../../../org/eclipse/jetty/server/HttpChannel.html#continue100(int)">continue100</a></strong>(int&nbsp;available)</code>
<div class="block">If the associated response has the Expect header set to 100 Continue,
then accessing the input stream indicates that the handler/servlet
is ready for the request body and thus a 100 Continue response is sent.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../../../org/eclipse/jetty/server/HttpChannel.html#earlyEOF()">earlyEOF</a></strong>()</code>
<div class="block">Called to signal that an EOF was received unexpectedly
during the parsing of a HTTP message</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>protected void</code></td>
<td class="colLast"><code><strong><a href="../../../../org/eclipse/jetty/server/HttpChannel.html#execute(java.lang.Runnable)">execute</a></strong>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Runnable.html?is-external=true" title="class or interface in java.lang">Runnable</a>&nbsp;task)</code>&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../../../../org/eclipse/jetty/io/ByteBufferPool.html" title="interface in org.eclipse.jetty.io">ByteBufferPool</a></code></td>
<td class="colLast"><code><strong><a href="../../../../org/eclipse/jetty/server/HttpChannel.html#getByteBufferPool()">getByteBufferPool</a></strong>()</code>&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../../../../org/eclipse/jetty/server/Connector.html" title="interface in org.eclipse.jetty.server">Connector</a></code></td>
<td class="colLast"><code><strong><a href="../../../../org/eclipse/jetty/server/HttpChannel.html#getConnector()">getConnector</a></strong>()</code>&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static <a href="../../../../org/eclipse/jetty/server/HttpChannel.html" title="class in org.eclipse.jetty.server">HttpChannel</a>&lt;?&gt;</code></td>
<td class="colLast"><code><strong><a href="../../../../org/eclipse/jetty/server/HttpChannel.html#getCurrentHttpChannel()">getCurrentHttpChannel</a></strong>()</code>
<div class="block">Get the current channel that this thread is dispatched to.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../../../../org/eclipse/jetty/io/EndPoint.html" title="interface in org.eclipse.jetty.io">EndPoint</a></code></td>
<td class="colLast"><code><strong><a href="../../../../org/eclipse/jetty/server/HttpChannel.html#getEndPoint()">getEndPoint</a></strong>()</code>&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>int</code></td>
<td class="colLast"><code><strong><a href="../../../../org/eclipse/jetty/server/HttpChannel.html#getHeaderCacheSize()">getHeaderCacheSize</a></strong>()</code>&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../../../../org/eclipse/jetty/server/HttpConfiguration.html" title="class in org.eclipse.jetty.server">HttpConfiguration</a></code></td>
<td class="colLast"><code><strong><a href="../../../../org/eclipse/jetty/server/HttpChannel.html#getHttpConfiguration()">getHttpConfiguration</a></strong>()</code>&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../../../../org/eclipse/jetty/server/HttpTransport.html" title="interface in org.eclipse.jetty.server">HttpTransport</a></code></td>
<td class="colLast"><code><strong><a href="../../../../org/eclipse/jetty/server/HttpChannel.html#getHttpTransport()">getHttpTransport</a></strong>()</code>&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../../../../org/eclipse/jetty/http/HttpVersion.html" title="enum in org.eclipse.jetty.http">HttpVersion</a></code></td>
<td class="colLast"><code><strong><a href="../../../../org/eclipse/jetty/server/HttpChannel.html#getHttpVersion()">getHttpVersion</a></strong>()</code>&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>long</code></td>
<td class="colLast"><code><strong><a href="../../../../org/eclipse/jetty/server/HttpChannel.html#getIdleTimeout()">getIdleTimeout</a></strong>()</code>
<div class="block">Get the idle timeout.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="http://docs.oracle.com/javase/7/docs/api/java/net/InetSocketAddress.html?is-external=true" title="class or interface in java.net">InetSocketAddress</a></code></td>
<td class="colLast"><code><strong><a href="../../../../org/eclipse/jetty/server/HttpChannel.html#getLocalAddress()">getLocalAddress</a></strong>()</code>&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="http://docs.oracle.com/javase/7/docs/api/java/net/InetSocketAddress.html?is-external=true" title="class or interface in java.net">InetSocketAddress</a></code></td>
<td class="colLast"><code><strong><a href="../../../../org/eclipse/jetty/server/HttpChannel.html#getRemoteAddress()">getRemoteAddress</a></strong>()</code>&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../../../../org/eclipse/jetty/server/Request.html" title="class in org.eclipse.jetty.server">Request</a></code></td>
<td class="colLast"><code><strong><a href="../../../../org/eclipse/jetty/server/HttpChannel.html#getRequest()">getRequest</a></strong>()</code>&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>int</code></td>
<td class="colLast"><code><strong><a href="../../../../org/eclipse/jetty/server/HttpChannel.html#getRequests()">getRequests</a></strong>()</code>&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../../../../org/eclipse/jetty/server/Response.html" title="class in org.eclipse.jetty.server">Response</a></code></td>
<td class="colLast"><code><strong><a href="../../../../org/eclipse/jetty/server/HttpChannel.html#getResponse()">getResponse</a></strong>()</code>&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../../../../org/eclipse/jetty/util/thread/Scheduler.html" title="interface in org.eclipse.jetty.util.thread">Scheduler</a></code></td>
<td class="colLast"><code><strong><a href="../../../../org/eclipse/jetty/server/HttpChannel.html#getScheduler()">getScheduler</a></strong>()</code>&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../../../../org/eclipse/jetty/server/Server.html" title="class in org.eclipse.jetty.server">Server</a></code></td>
<td class="colLast"><code><strong><a href="../../../../org/eclipse/jetty/server/HttpChannel.html#getServer()">getServer</a></strong>()</code>&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../../../../org/eclipse/jetty/server/HttpChannelState.html" title="class in org.eclipse.jetty.server">HttpChannelState</a></code></td>
<td class="colLast"><code><strong><a href="../../../../org/eclipse/jetty/server/HttpChannel.html#getState()">getState</a></strong>()</code>&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><strong><a href="../../../../org/eclipse/jetty/server/HttpChannel.html#handle()">handle</a></strong>()</code>&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>protected void</code></td>
<td class="colLast"><code><strong><a href="../../../../org/eclipse/jetty/server/HttpChannel.html#handleException(java.lang.Throwable)">handleException</a></strong>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Throwable.html?is-external=true" title="class or interface in java.lang">Throwable</a>&nbsp;x)</code>
<div class="block">Sends an error 500, performing a special logic to detect whether the request is suspended,
to avoid concurrent writes from the application.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><strong><a href="../../../../org/eclipse/jetty/server/HttpChannel.html#headerComplete()">headerComplete</a></strong>()</code>&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><strong><a href="../../../../org/eclipse/jetty/server/HttpChannel.html#isCommitted()">isCommitted</a></strong>()</code>&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><strong><a href="../../../../org/eclipse/jetty/server/HttpChannel.html#isExpecting100Continue()">isExpecting100Continue</a></strong>()</code>&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><strong><a href="../../../../org/eclipse/jetty/server/HttpChannel.html#isExpecting102Processing()">isExpecting102Processing</a></strong>()</code>&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><strong><a href="../../../../org/eclipse/jetty/server/HttpChannel.html#messageComplete()">messageComplete</a></strong>()</code>&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><strong><a href="../../../../org/eclipse/jetty/server/HttpChannel.html#parsedHeader(org.eclipse.jetty.http.HttpField)">parsedHeader</a></strong>(<a href="../../../../org/eclipse/jetty/http/HttpField.html" title="class in org.eclipse.jetty.http">HttpField</a>&nbsp;field)</code>
<div class="block">This is the method called by parser when a HTTP Header name and value is found</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><strong><a href="../../../../org/eclipse/jetty/server/HttpChannel.html#parsedHostHeader(java.lang.String,%20int)">parsedHostHeader</a></strong>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;host,
int&nbsp;port)</code>
<div class="block">This is the method called by the parser after it has parsed the host header (and checked it's format).</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../../../org/eclipse/jetty/server/HttpChannel.html#proxied(java.lang.String,%20java.lang.String,%20java.lang.String,%20int,%20int)">proxied</a></strong>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;protocol,
<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;sAddr,
<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;dAddr,
int&nbsp;sPort,
int&nbsp;dPort)</code>&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../../../org/eclipse/jetty/server/HttpChannel.html#reset()">reset</a></strong>()</code>&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../../../org/eclipse/jetty/server/HttpChannel.html#run()">run</a></strong>()</code>&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>protected boolean</code></td>
<td class="colLast"><code><strong><a href="../../../../org/eclipse/jetty/server/HttpChannel.html#sendResponse(org.eclipse.jetty.http.HttpGenerator.ResponseInfo,%20java.nio.ByteBuffer,%20boolean)">sendResponse</a></strong>(<a href="../../../../org/eclipse/jetty/http/HttpGenerator.ResponseInfo.html" title="class in org.eclipse.jetty.http">HttpGenerator.ResponseInfo</a>&nbsp;info,
<a href="http://docs.oracle.com/javase/7/docs/api/java/nio/ByteBuffer.html?is-external=true" title="class or interface in java.nio">ByteBuffer</a>&nbsp;content,
boolean&nbsp;complete)</code>&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>protected boolean</code></td>
<td class="colLast"><code><strong><a href="../../../../org/eclipse/jetty/server/HttpChannel.html#sendResponse(org.eclipse.jetty.http.HttpGenerator.ResponseInfo,%20java.nio.ByteBuffer,%20boolean,%20org.eclipse.jetty.util.Callback)">sendResponse</a></strong>(<a href="../../../../org/eclipse/jetty/http/HttpGenerator.ResponseInfo.html" title="class in org.eclipse.jetty.http">HttpGenerator.ResponseInfo</a>&nbsp;info,
<a href="http://docs.oracle.com/javase/7/docs/api/java/nio/ByteBuffer.html?is-external=true" title="class or interface in java.nio">ByteBuffer</a>&nbsp;content,
boolean&nbsp;complete,
<a href="../../../../org/eclipse/jetty/util/Callback.html" title="interface in org.eclipse.jetty.util">Callback</a>&nbsp;callback)</code>&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>protected static <a href="../../../../org/eclipse/jetty/server/HttpChannel.html" title="class in org.eclipse.jetty.server">HttpChannel</a>&lt;?&gt;</code></td>
<td class="colLast"><code><strong><a href="../../../../org/eclipse/jetty/server/HttpChannel.html#setCurrentHttpChannel(org.eclipse.jetty.server.HttpChannel)">setCurrentHttpChannel</a></strong>(<a href="../../../../org/eclipse/jetty/server/HttpChannel.html" title="class in org.eclipse.jetty.server">HttpChannel</a>&lt;?&gt;&nbsp;channel)</code>&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../../../org/eclipse/jetty/server/HttpChannel.html#setIdleTimeout(long)">setIdleTimeout</a></strong>(long&nbsp;timeoutMs)</code>
<div class="block">Set the idle timeout.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><strong><a href="../../../../org/eclipse/jetty/server/HttpChannel.html#startRequest(org.eclipse.jetty.http.HttpMethod,%20java.lang.String,%20java.nio.ByteBuffer,%20org.eclipse.jetty.http.HttpVersion)">startRequest</a></strong>(<a href="../../../../org/eclipse/jetty/http/HttpMethod.html" title="enum in org.eclipse.jetty.http">HttpMethod</a>&nbsp;httpMethod,
<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;method,
<a href="http://docs.oracle.com/javase/7/docs/api/java/nio/ByteBuffer.html?is-external=true" title="class or interface in java.nio">ByteBuffer</a>&nbsp;uri,
<a href="../../../../org/eclipse/jetty/http/HttpVersion.html" title="enum in org.eclipse.jetty.http">HttpVersion</a>&nbsp;version)</code>
<div class="block">This is the method called by parser when the HTTP request line is parsed</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
<td class="colLast"><code><strong><a href="../../../../org/eclipse/jetty/server/HttpChannel.html#toString()">toString</a></strong>()</code>&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><strong><a href="../../../../org/eclipse/jetty/server/HttpChannel.html#useDirectBuffers()">useDirectBuffers</a></strong>()</code>&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>protected void</code></td>
<td class="colLast"><code><strong><a href="../../../../org/eclipse/jetty/server/HttpChannel.html#write(java.nio.ByteBuffer,%20boolean,%20org.eclipse.jetty.util.Callback)">write</a></strong>(<a href="http://docs.oracle.com/javase/7/docs/api/java/nio/ByteBuffer.html?is-external=true" title="class or interface in java.nio">ByteBuffer</a>&nbsp;content,
boolean&nbsp;complete,
<a href="../../../../org/eclipse/jetty/util/Callback.html" title="interface in org.eclipse.jetty.util">Callback</a>&nbsp;callback)</code>
<div class="block">Non-Blocking write, committing the response if needed.</div>
</td>
</tr>
</table>
<ul class="blockList">
<li class="blockList"><a name="methods_inherited_from_class_java.lang.Object">
<!-- -->
</a>
<h3>Methods inherited from class&nbsp;java.lang.<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
<code><a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#clone()" title="class or interface in java.lang">clone</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#equals(java.lang.Object)" title="class or interface in java.lang">equals</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#finalize()" title="class or interface in java.lang">finalize</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#getClass()" title="class or interface in java.lang">getClass</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#hashCode()" title="class or interface in java.lang">hashCode</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#notify()" title="class or interface in java.lang">notify</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#notifyAll()" title="class or interface in java.lang">notifyAll</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#wait()" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#wait(long)" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#wait(long,%20int)" title="class or interface in java.lang">wait</a></code></li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
<div class="details">
<ul class="blockList">
<li class="blockList">
<!-- ========= CONSTRUCTOR DETAIL ======== -->
<ul class="blockList">
<li class="blockList"><a name="constructor_detail">
<!-- -->
</a>
<h3>Constructor Detail</h3>
<a name="HttpChannel(org.eclipse.jetty.server.Connector, org.eclipse.jetty.server.HttpConfiguration, org.eclipse.jetty.io.EndPoint, org.eclipse.jetty.server.HttpTransport, org.eclipse.jetty.server.HttpInput)">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>HttpChannel</h4>
<pre>public&nbsp;HttpChannel(<a href="../../../../org/eclipse/jetty/server/Connector.html" title="interface in org.eclipse.jetty.server">Connector</a>&nbsp;connector,
<a href="../../../../org/eclipse/jetty/server/HttpConfiguration.html" title="class in org.eclipse.jetty.server">HttpConfiguration</a>&nbsp;configuration,
<a href="../../../../org/eclipse/jetty/io/EndPoint.html" title="interface in org.eclipse.jetty.io">EndPoint</a>&nbsp;endPoint,
<a href="../../../../org/eclipse/jetty/server/HttpTransport.html" title="interface in org.eclipse.jetty.server">HttpTransport</a>&nbsp;transport,
<a href="../../../../org/eclipse/jetty/server/HttpInput.html" title="class in org.eclipse.jetty.server">HttpInput</a>&lt;<a href="../../../../org/eclipse/jetty/server/HttpChannel.html" title="type parameter in HttpChannel">T</a>&gt;&nbsp;input)</pre>
</li>
</ul>
</li>
</ul>
<!-- ============ METHOD DETAIL ========== -->
<ul class="blockList">
<li class="blockList"><a name="method_detail">
<!-- -->
</a>
<h3>Method Detail</h3>
<a name="getCurrentHttpChannel()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getCurrentHttpChannel</h4>
<pre>public static&nbsp;<a href="../../../../org/eclipse/jetty/server/HttpChannel.html" title="class in org.eclipse.jetty.server">HttpChannel</a>&lt;?&gt;&nbsp;getCurrentHttpChannel()</pre>
<div class="block">Get the current channel that this thread is dispatched to.</div>
<dl><dt><span class="strong">Returns:</span></dt><dd>the current HttpChannel or null</dd><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../org/eclipse/jetty/server/Request.html#getAttribute(java.lang.String)"><code>for a more general way to access the HttpChannel</code></a></dd></dl>
</li>
</ul>
<a name="setCurrentHttpChannel(org.eclipse.jetty.server.HttpChannel)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setCurrentHttpChannel</h4>
<pre>protected static&nbsp;<a href="../../../../org/eclipse/jetty/server/HttpChannel.html" title="class in org.eclipse.jetty.server">HttpChannel</a>&lt;?&gt;&nbsp;setCurrentHttpChannel(<a href="../../../../org/eclipse/jetty/server/HttpChannel.html" title="class in org.eclipse.jetty.server">HttpChannel</a>&lt;?&gt;&nbsp;channel)</pre>
</li>
</ul>
<a name="getState()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getState</h4>
<pre>public&nbsp;<a href="../../../../org/eclipse/jetty/server/HttpChannelState.html" title="class in org.eclipse.jetty.server">HttpChannelState</a>&nbsp;getState()</pre>
</li>
</ul>
<a name="getHttpVersion()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getHttpVersion</h4>
<pre>public&nbsp;<a href="../../../../org/eclipse/jetty/http/HttpVersion.html" title="enum in org.eclipse.jetty.http">HttpVersion</a>&nbsp;getHttpVersion()</pre>
</li>
</ul>
<a name="getRequests()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getRequests</h4>
<pre>public&nbsp;int&nbsp;getRequests()</pre>
<dl><dt><span class="strong">Returns:</span></dt><dd>the number of requests handled by this connection</dd></dl>
</li>
</ul>
<a name="getConnector()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getConnector</h4>
<pre>public&nbsp;<a href="../../../../org/eclipse/jetty/server/Connector.html" title="interface in org.eclipse.jetty.server">Connector</a>&nbsp;getConnector()</pre>
</li>
</ul>
<a name="getHttpTransport()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getHttpTransport</h4>
<pre>public&nbsp;<a href="../../../../org/eclipse/jetty/server/HttpTransport.html" title="interface in org.eclipse.jetty.server">HttpTransport</a>&nbsp;getHttpTransport()</pre>
</li>
</ul>
<a name="getIdleTimeout()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getIdleTimeout</h4>
<pre>public&nbsp;long&nbsp;getIdleTimeout()</pre>
<div class="block">Get the idle timeout.
<p>This is implemented as a call to <a href="../../../../org/eclipse/jetty/io/EndPoint.html#getIdleTimeout()"><code>EndPoint.getIdleTimeout()</code></a>, but may be
overridden by channels that have timeouts different from their connections.</div>
</li>
</ul>
<a name="setIdleTimeout(long)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setIdleTimeout</h4>
<pre>public&nbsp;void&nbsp;setIdleTimeout(long&nbsp;timeoutMs)</pre>
<div class="block">Set the idle timeout.
<p>This is implemented as a call to <a href="../../../../org/eclipse/jetty/io/EndPoint.html#setIdleTimeout(long)"><code>EndPoint.setIdleTimeout(long)</code></a>, but may be
overridden by channels that have timeouts different from their connections.</div>
</li>
</ul>
<a name="getByteBufferPool()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getByteBufferPool</h4>
<pre>public&nbsp;<a href="../../../../org/eclipse/jetty/io/ByteBufferPool.html" title="interface in org.eclipse.jetty.io">ByteBufferPool</a>&nbsp;getByteBufferPool()</pre>
</li>
</ul>
<a name="getHttpConfiguration()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getHttpConfiguration</h4>
<pre>public&nbsp;<a href="../../../../org/eclipse/jetty/server/HttpConfiguration.html" title="class in org.eclipse.jetty.server">HttpConfiguration</a>&nbsp;getHttpConfiguration()</pre>
</li>
</ul>
<a name="getServer()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getServer</h4>
<pre>public&nbsp;<a href="../../../../org/eclipse/jetty/server/Server.html" title="class in org.eclipse.jetty.server">Server</a>&nbsp;getServer()</pre>
</li>
</ul>
<a name="getRequest()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getRequest</h4>
<pre>public&nbsp;<a href="../../../../org/eclipse/jetty/server/Request.html" title="class in org.eclipse.jetty.server">Request</a>&nbsp;getRequest()</pre>
</li>
</ul>
<a name="getResponse()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getResponse</h4>
<pre>public&nbsp;<a href="../../../../org/eclipse/jetty/server/Response.html" title="class in org.eclipse.jetty.server">Response</a>&nbsp;getResponse()</pre>
</li>
</ul>
<a name="getEndPoint()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getEndPoint</h4>
<pre>public&nbsp;<a href="../../../../org/eclipse/jetty/io/EndPoint.html" title="interface in org.eclipse.jetty.io">EndPoint</a>&nbsp;getEndPoint()</pre>
</li>
</ul>
<a name="getLocalAddress()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getLocalAddress</h4>
<pre>public&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/net/InetSocketAddress.html?is-external=true" title="class or interface in java.net">InetSocketAddress</a>&nbsp;getLocalAddress()</pre>
</li>
</ul>
<a name="getRemoteAddress()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getRemoteAddress</h4>
<pre>public&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/net/InetSocketAddress.html?is-external=true" title="class or interface in java.net">InetSocketAddress</a>&nbsp;getRemoteAddress()</pre>
</li>
</ul>
<a name="getHeaderCacheSize()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getHeaderCacheSize</h4>
<pre>public&nbsp;int&nbsp;getHeaderCacheSize()</pre>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../../org/eclipse/jetty/http/HttpParser.HttpHandler.html#getHeaderCacheSize()">getHeaderCacheSize</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../org/eclipse/jetty/http/HttpParser.HttpHandler.html" title="interface in org.eclipse.jetty.http">HttpParser.HttpHandler</a>&lt;<a href="../../../../org/eclipse/jetty/server/HttpChannel.html" title="type parameter in HttpChannel">T</a>&gt;</code></dd>
<dt><span class="strong">Returns:</span></dt><dd>the size in bytes of the per parser header cache</dd></dl>
</li>
</ul>
<a name="continue100(int)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>continue100</h4>
<pre>public&nbsp;void&nbsp;continue100(int&nbsp;available)
throws <a href="http://docs.oracle.com/javase/7/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
<div class="block">If the associated response has the Expect header set to 100 Continue,
then accessing the input stream indicates that the handler/servlet
is ready for the request body and thus a 100 Continue response is sent.</div>
<dl><dt><span class="strong">Throws:</span></dt>
<dd><code><a href="http://docs.oracle.com/javase/7/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code> - if the InputStream cannot be created</dd></dl>
</li>
</ul>
<a name="reset()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>reset</h4>
<pre>public&nbsp;void&nbsp;reset()</pre>
</li>
</ul>
<a name="run()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>run</h4>
<pre>public&nbsp;void&nbsp;run()</pre>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Runnable.html?is-external=true#run()" title="class or interface in java.lang">run</a></code>&nbsp;in interface&nbsp;<code><a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Runnable.html?is-external=true" title="class or interface in java.lang">Runnable</a></code></dd>
</dl>
</li>
</ul>
<a name="handle()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>handle</h4>
<pre>public&nbsp;boolean&nbsp;handle()</pre>
<dl><dt><span class="strong">Returns:</span></dt><dd>True if the channel is ready to continue handling (ie it is not suspended)</dd></dl>
</li>
</ul>
<a name="handleException(java.lang.Throwable)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>handleException</h4>
<pre>protected&nbsp;void&nbsp;handleException(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Throwable.html?is-external=true" title="class or interface in java.lang">Throwable</a>&nbsp;x)</pre>
<div class="block"><p>Sends an error 500, performing a special logic to detect whether the request is suspended,
to avoid concurrent writes from the application.</p>
<p>It may happen that the application suspends, and then throws an exception, while an application
spawned thread writes the response content; in such case, we attempt to commit the error directly
bypassing the <a href="../../../../org/eclipse/jetty/server/handler/ErrorHandler.html" title="class in org.eclipse.jetty.server.handler"><code>ErrorHandler</code></a> mechanisms and the response OutputStream.</p></div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>x</code> - the Throwable that caused the problem</dd></dl>
</li>
</ul>
<a name="isExpecting100Continue()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isExpecting100Continue</h4>
<pre>public&nbsp;boolean&nbsp;isExpecting100Continue()</pre>
</li>
</ul>
<a name="isExpecting102Processing()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isExpecting102Processing</h4>
<pre>public&nbsp;boolean&nbsp;isExpecting102Processing()</pre>
</li>
</ul>
<a name="toString()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>toString</h4>
<pre>public&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;toString()</pre>
<dl>
<dt><strong>Overrides:</strong></dt>
<dd><code><a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#toString()" title="class or interface in java.lang">toString</a></code>&nbsp;in class&nbsp;<code><a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></code></dd>
</dl>
</li>
</ul>
<a name="proxied(java.lang.String, java.lang.String, java.lang.String, int, int)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>proxied</h4>
<pre>public&nbsp;void&nbsp;proxied(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;protocol,
<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;sAddr,
<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;dAddr,
int&nbsp;sPort,
int&nbsp;dPort)</pre>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../../org/eclipse/jetty/http/HttpParser.ProxyHandler.html#proxied(java.lang.String,%20java.lang.String,%20java.lang.String,%20int,%20int)">proxied</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../org/eclipse/jetty/http/HttpParser.ProxyHandler.html" title="interface in org.eclipse.jetty.http">HttpParser.ProxyHandler</a></code></dd>
</dl>
</li>
</ul>
<a name="startRequest(org.eclipse.jetty.http.HttpMethod, java.lang.String, java.nio.ByteBuffer, org.eclipse.jetty.http.HttpVersion)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>startRequest</h4>
<pre>public&nbsp;boolean&nbsp;startRequest(<a href="../../../../org/eclipse/jetty/http/HttpMethod.html" title="enum in org.eclipse.jetty.http">HttpMethod</a>&nbsp;httpMethod,
<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;method,
<a href="http://docs.oracle.com/javase/7/docs/api/java/nio/ByteBuffer.html?is-external=true" title="class or interface in java.nio">ByteBuffer</a>&nbsp;uri,
<a href="../../../../org/eclipse/jetty/http/HttpVersion.html" title="enum in org.eclipse.jetty.http">HttpVersion</a>&nbsp;version)</pre>
<div class="block"><strong>Description copied from interface:&nbsp;<code><a href="../../../../org/eclipse/jetty/http/HttpParser.RequestHandler.html#startRequest(org.eclipse.jetty.http.HttpMethod,%20java.lang.String,%20java.nio.ByteBuffer,%20org.eclipse.jetty.http.HttpVersion)">HttpParser.RequestHandler</a></code></strong></div>
<div class="block">This is the method called by parser when the HTTP request line is parsed</div>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../../org/eclipse/jetty/http/HttpParser.RequestHandler.html#startRequest(org.eclipse.jetty.http.HttpMethod,%20java.lang.String,%20java.nio.ByteBuffer,%20org.eclipse.jetty.http.HttpVersion)">startRequest</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../org/eclipse/jetty/http/HttpParser.RequestHandler.html" title="interface in org.eclipse.jetty.http">HttpParser.RequestHandler</a>&lt;<a href="../../../../org/eclipse/jetty/server/HttpChannel.html" title="type parameter in HttpChannel">T</a>&gt;</code></dd>
<dt><span class="strong">Parameters:</span></dt><dd><code>httpMethod</code> - The method as enum if of a known type</dd><dd><code>method</code> - The method as a string</dd><dd><code>uri</code> - The raw bytes of the URI. These are copied into a ByteBuffer that will not be changed until this parser is reset and reused.</dd>
<dt><span class="strong">Returns:</span></dt><dd>true if handling parsing should return.</dd></dl>
</li>
</ul>
<a name="parsedHeader(org.eclipse.jetty.http.HttpField)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>parsedHeader</h4>
<pre>public&nbsp;boolean&nbsp;parsedHeader(<a href="../../../../org/eclipse/jetty/http/HttpField.html" title="class in org.eclipse.jetty.http">HttpField</a>&nbsp;field)</pre>
<div class="block"><strong>Description copied from interface:&nbsp;<code><a href="../../../../org/eclipse/jetty/http/HttpParser.HttpHandler.html#parsedHeader(org.eclipse.jetty.http.HttpField)">HttpParser.HttpHandler</a></code></strong></div>
<div class="block">This is the method called by parser when a HTTP Header name and value is found</div>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../../org/eclipse/jetty/http/HttpParser.HttpHandler.html#parsedHeader(org.eclipse.jetty.http.HttpField)">parsedHeader</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../org/eclipse/jetty/http/HttpParser.HttpHandler.html" title="interface in org.eclipse.jetty.http">HttpParser.HttpHandler</a>&lt;<a href="../../../../org/eclipse/jetty/server/HttpChannel.html" title="type parameter in HttpChannel">T</a>&gt;</code></dd>
<dt><span class="strong">Parameters:</span></dt><dd><code>field</code> - The field parsed</dd>
<dt><span class="strong">Returns:</span></dt><dd>True if the parser should return to its caller</dd></dl>
</li>
</ul>
<a name="parsedHostHeader(java.lang.String, int)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>parsedHostHeader</h4>
<pre>public&nbsp;boolean&nbsp;parsedHostHeader(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;host,
int&nbsp;port)</pre>
<div class="block"><strong>Description copied from interface:&nbsp;<code><a href="../../../../org/eclipse/jetty/http/HttpParser.RequestHandler.html#parsedHostHeader(java.lang.String,%20int)">HttpParser.RequestHandler</a></code></strong></div>
<div class="block">This is the method called by the parser after it has parsed the host header (and checked it's format). This is
called after the <a href="../../../../org/eclipse/jetty/http/HttpParser.HttpHandler.html#parsedHeader(org.eclipse.jetty.http.HttpField)"><code>HttpParser.HttpHandler.parsedHeader(HttpField)</code></a> methods and before
HttpHandler#headerComplete();</div>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../../org/eclipse/jetty/http/HttpParser.RequestHandler.html#parsedHostHeader(java.lang.String,%20int)">parsedHostHeader</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../org/eclipse/jetty/http/HttpParser.RequestHandler.html" title="interface in org.eclipse.jetty.http">HttpParser.RequestHandler</a>&lt;<a href="../../../../org/eclipse/jetty/server/HttpChannel.html" title="type parameter in HttpChannel">T</a>&gt;</code></dd>
</dl>
</li>
</ul>
<a name="headerComplete()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>headerComplete</h4>
<pre>public&nbsp;boolean&nbsp;headerComplete()</pre>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../../org/eclipse/jetty/http/HttpParser.HttpHandler.html#headerComplete()">headerComplete</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../org/eclipse/jetty/http/HttpParser.HttpHandler.html" title="interface in org.eclipse.jetty.http">HttpParser.HttpHandler</a>&lt;<a href="../../../../org/eclipse/jetty/server/HttpChannel.html" title="type parameter in HttpChannel">T</a>&gt;</code></dd>
</dl>
</li>
</ul>
<a name="content(java.lang.Object)">
<!-- -->
</a><a name="content(T)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>content</h4>
<pre>public&nbsp;boolean&nbsp;content(<a href="../../../../org/eclipse/jetty/server/HttpChannel.html" title="type parameter in HttpChannel">T</a>&nbsp;item)</pre>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../../org/eclipse/jetty/http/HttpParser.HttpHandler.html#content(T)">content</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../org/eclipse/jetty/http/HttpParser.HttpHandler.html" title="interface in org.eclipse.jetty.http">HttpParser.HttpHandler</a>&lt;<a href="../../../../org/eclipse/jetty/server/HttpChannel.html" title="type parameter in HttpChannel">T</a>&gt;</code></dd>
</dl>
</li>
</ul>
<a name="messageComplete()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>messageComplete</h4>
<pre>public&nbsp;boolean&nbsp;messageComplete()</pre>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../../org/eclipse/jetty/http/HttpParser.HttpHandler.html#messageComplete()">messageComplete</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../org/eclipse/jetty/http/HttpParser.HttpHandler.html" title="interface in org.eclipse.jetty.http">HttpParser.HttpHandler</a>&lt;<a href="../../../../org/eclipse/jetty/server/HttpChannel.html" title="type parameter in HttpChannel">T</a>&gt;</code></dd>
</dl>
</li>
</ul>
<a name="earlyEOF()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>earlyEOF</h4>
<pre>public&nbsp;void&nbsp;earlyEOF()</pre>
<div class="block"><strong>Description copied from interface:&nbsp;<code><a href="../../../../org/eclipse/jetty/http/HttpParser.HttpHandler.html#earlyEOF()">HttpParser.HttpHandler</a></code></strong></div>
<div class="block">Called to signal that an EOF was received unexpectedly
during the parsing of a HTTP message</div>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../../org/eclipse/jetty/http/HttpParser.HttpHandler.html#earlyEOF()">earlyEOF</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../org/eclipse/jetty/http/HttpParser.HttpHandler.html" title="interface in org.eclipse.jetty.http">HttpParser.HttpHandler</a>&lt;<a href="../../../../org/eclipse/jetty/server/HttpChannel.html" title="type parameter in HttpChannel">T</a>&gt;</code></dd>
</dl>
</li>
</ul>
<a name="badMessage(int, java.lang.String)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>badMessage</h4>
<pre>public&nbsp;void&nbsp;badMessage(int&nbsp;status,
<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;reason)</pre>
<div class="block"><strong>Description copied from interface:&nbsp;<code><a href="../../../../org/eclipse/jetty/http/HttpParser.HttpHandler.html#badMessage(int,%20java.lang.String)">HttpParser.HttpHandler</a></code></strong></div>
<div class="block">Called to signal that a bad HTTP message has been received.</div>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../../org/eclipse/jetty/http/HttpParser.HttpHandler.html#badMessage(int,%20java.lang.String)">badMessage</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../org/eclipse/jetty/http/HttpParser.HttpHandler.html" title="interface in org.eclipse.jetty.http">HttpParser.HttpHandler</a>&lt;<a href="../../../../org/eclipse/jetty/server/HttpChannel.html" title="type parameter in HttpChannel">T</a>&gt;</code></dd>
<dt><span class="strong">Parameters:</span></dt><dd><code>status</code> - The bad status to send</dd><dd><code>reason</code> - The textual reason for badness</dd></dl>
</li>
</ul>
<a name="sendResponse(org.eclipse.jetty.http.HttpGenerator.ResponseInfo, java.nio.ByteBuffer, boolean, org.eclipse.jetty.util.Callback)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>sendResponse</h4>
<pre>protected&nbsp;boolean&nbsp;sendResponse(<a href="../../../../org/eclipse/jetty/http/HttpGenerator.ResponseInfo.html" title="class in org.eclipse.jetty.http">HttpGenerator.ResponseInfo</a>&nbsp;info,
<a href="http://docs.oracle.com/javase/7/docs/api/java/nio/ByteBuffer.html?is-external=true" title="class or interface in java.nio">ByteBuffer</a>&nbsp;content,
boolean&nbsp;complete,
<a href="../../../../org/eclipse/jetty/util/Callback.html" title="interface in org.eclipse.jetty.util">Callback</a>&nbsp;callback)</pre>
</li>
</ul>
<a name="sendResponse(org.eclipse.jetty.http.HttpGenerator.ResponseInfo, java.nio.ByteBuffer, boolean)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>sendResponse</h4>
<pre>protected&nbsp;boolean&nbsp;sendResponse(<a href="../../../../org/eclipse/jetty/http/HttpGenerator.ResponseInfo.html" title="class in org.eclipse.jetty.http">HttpGenerator.ResponseInfo</a>&nbsp;info,
<a href="http://docs.oracle.com/javase/7/docs/api/java/nio/ByteBuffer.html?is-external=true" title="class or interface in java.nio">ByteBuffer</a>&nbsp;content,
boolean&nbsp;complete)
throws <a href="http://docs.oracle.com/javase/7/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
<dl><dt><span class="strong">Throws:</span></dt>
<dd><code><a href="http://docs.oracle.com/javase/7/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code></dd></dl>
</li>
</ul>
<a name="isCommitted()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isCommitted</h4>
<pre>public&nbsp;boolean&nbsp;isCommitted()</pre>
</li>
</ul>
<a name="write(java.nio.ByteBuffer, boolean, org.eclipse.jetty.util.Callback)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>write</h4>
<pre>protected&nbsp;void&nbsp;write(<a href="http://docs.oracle.com/javase/7/docs/api/java/nio/ByteBuffer.html?is-external=true" title="class or interface in java.nio">ByteBuffer</a>&nbsp;content,
boolean&nbsp;complete,
<a href="../../../../org/eclipse/jetty/util/Callback.html" title="interface in org.eclipse.jetty.util">Callback</a>&nbsp;callback)</pre>
<div class="block"><p>Non-Blocking write, committing the response if needed.</p></div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>content</code> - the content buffer to write</dd><dd><code>complete</code> - whether the content is complete for the response</dd><dd><code>callback</code> - Callback when complete or failed</dd></dl>
</li>
</ul>
<a name="execute(java.lang.Runnable)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>execute</h4>
<pre>protected&nbsp;void&nbsp;execute(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Runnable.html?is-external=true" title="class or interface in java.lang">Runnable</a>&nbsp;task)</pre>
</li>
</ul>
<a name="getScheduler()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getScheduler</h4>
<pre>public&nbsp;<a href="../../../../org/eclipse/jetty/util/thread/Scheduler.html" title="interface in org.eclipse.jetty.util.thread">Scheduler</a>&nbsp;getScheduler()</pre>
</li>
</ul>
<a name="useDirectBuffers()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>useDirectBuffers</h4>
<pre>public&nbsp;boolean&nbsp;useDirectBuffers()</pre>
<dl><dt><span class="strong">Returns:</span></dt><dd>true if the HttpChannel can efficiently use direct buffer (typically this means it is not over SSL or a multiplexed protocol)</dd></dl>
</li>
</ul>
<a name="abort()">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>abort</h4>
<pre>public&nbsp;void&nbsp;abort()</pre>
<div class="block">If a write or similar to this channel fails this method should be called. The standard implementation
is to call <a href="../../../../org/eclipse/jetty/server/HttpTransport.html#abort()"><code>HttpTransport.abort()</code></a></div>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
</div>
<!-- ========= END OF CLASS DATA ========= -->
<!-- ======= START OF BOTTOM NAVBAR ====== -->
<div class="bottomNav"><a name="navbar_bottom">
<!-- -->
</a><a href="#skip-navbar_bottom" title="Skip navigation links"></a><a name="navbar_bottom_firstrow">
<!-- -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../overview-summary.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="class-use/HttpChannel.html">Use</a></li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../index-all.html">Index</a></li>
<li><a href="../../../../help-doc.html">Help</a></li>
</ul>
<div class="aboutLanguage"><em><script type="text/javascript"> var _gaq = _gaq || []; _gaq.push(['_setAccount', 'UA-1149868-7']); _gaq.push(['_trackPageview']); (function() { var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true; ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js'; var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s); })(); </script></em></div>
</div>
<div class="subNav">
<ul class="navList">
<li><a href="../../../../org/eclipse/jetty/server/HostHeaderCustomizer.html" title="class in org.eclipse.jetty.server"><span class="strong">Prev Class</span></a></li>
<li><a href="../../../../org/eclipse/jetty/server/HttpChannelState.html" title="class in org.eclipse.jetty.server"><span class="strong">Next Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../index.html?org/eclipse/jetty/server/HttpChannel.html" target="_top">Frames</a></li>
<li><a href="HttpChannel.html" target="_top">No Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_bottom">
<li><a href="../../../../allclasses-noframe.html">All Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
allClassesLink = document.getElementById("allclasses_navbar_bottom");
if(window==top) {
allClassesLink.style.display = "block";
}
else {
allClassesLink.style.display = "none";
}
//-->
</script>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li><a href="#constructor_summary">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method_summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li><a href="#constructor_detail">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method_detail">Method</a></li>
</ul>
</div>
<a name="skip-navbar_bottom">
<!-- -->
</a></div>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
<p class="legalCopy"><small>Copyright &#169; 1995-2017 <a href="http://webtide.com">Webtide</a>. All Rights Reserved.</small></p>
</body>
</html>