uWebSockets.js/docs/generated/interfaces/httpresponse.html
2020-06-08 16:51:11 +02:00

840 lines
46 KiB
HTML

<!doctype html>
<html class="default no-js">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<title>HttpResponse | uWebSockets.js v18.1.0 documentation</title>
<meta name="description" content="">
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="stylesheet" href="../assets/css/main.css">
</head>
<body>
<header>
<div class="tsd-page-toolbar">
<div class="container">
<div class="table-wrap">
<div class="table-cell" id="tsd-search" data-index="../assets/js/search.js" data-base="..">
<div class="field">
<label for="tsd-search-field" class="tsd-widget search no-caption">Search</label>
<input id="tsd-search-field" type="text" />
</div>
<ul class="results">
<li class="state loading">Preparing search index...</li>
<li class="state failure">The search index is not available</li>
</ul>
<a href="../index.html" class="title">uWebSockets.js v18.1.0 documentation</a>
</div>
<div class="table-cell" id="tsd-widgets">
<div id="tsd-filter">
<a href="#" class="tsd-widget options no-caption" data-toggle="options">Options</a>
<div class="tsd-filter-group">
<div class="tsd-select" id="tsd-filter-visibility">
<span class="tsd-select-label">All</span>
<ul class="tsd-select-list">
<li data-value="public">Public</li>
<li data-value="protected">Public/Protected</li>
<li data-value="private" class="selected">All</li>
</ul>
</div>
<input type="checkbox" id="tsd-filter-inherited" checked />
<label class="tsd-widget" for="tsd-filter-inherited">Inherited</label>
<input type="checkbox" id="tsd-filter-only-exported" />
<label class="tsd-widget" for="tsd-filter-only-exported">Only exported</label>
</div>
</div>
<a href="#" class="tsd-widget menu no-caption" data-toggle="menu">Menu</a>
</div>
</div>
</div>
</div>
<div class="tsd-page-title">
<div class="container">
<ul class="tsd-breadcrumb">
<li>
<a href="../index.html">Globals</a>
</li>
<li>
<a href="httpresponse.html">HttpResponse</a>
</li>
</ul>
<h1>Interface HttpResponse</h1>
</div>
</div>
</header>
<div class="container container-main">
<div class="row">
<div class="col-8 col-content">
<section class="tsd-panel tsd-comment">
<div class="tsd-comment tsd-typography">
<div class="lead">
<p>An HttpResponse is valid until either onAborted callback or any of the .end/.tryEnd calls succeed. You may attach user data to this object.</p>
</div>
</div>
</section>
<section class="tsd-panel tsd-hierarchy">
<h3>Hierarchy</h3>
<ul class="tsd-hierarchy">
<li>
<span class="target">HttpResponse</span>
</li>
</ul>
</section>
<section class="tsd-panel tsd-kind-interface">
<h3 class="tsd-before-signature">Indexable</h3>
<div class="tsd-signature tsd-kind-icon"><span class="tsd-signature-symbol">[</span>key: <span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">]: </span><span class="tsd-signature-type">any</span></div>
<div class="tsd-comment tsd-typography">
<div class="lead">
<p>Arbitrary user data may be attached to this object</p>
</div>
</div>
</section>
<section class="tsd-panel-group tsd-index-group">
<h2>Index</h2>
<section class="tsd-panel tsd-index-panel">
<div class="tsd-index-content">
<section class="tsd-index-section ">
<h3>Methods</h3>
<ul class="tsd-index-list">
<li class="tsd-kind-method tsd-parent-kind-interface"><a href="httpresponse.html#close" class="tsd-kind-icon">close</a></li>
<li class="tsd-kind-method tsd-parent-kind-interface"><a href="httpresponse.html#cork" class="tsd-kind-icon">cork</a></li>
<li class="tsd-kind-method tsd-parent-kind-interface"><a href="httpresponse.html#end" class="tsd-kind-icon">end</a></li>
<li class="tsd-kind-method tsd-parent-kind-interface"><a href="httpresponse.html#getproxiedremoteaddress" class="tsd-kind-icon">get<wbr>Proxied<wbr>Remote<wbr>Address</a></li>
<li class="tsd-kind-method tsd-parent-kind-interface"><a href="httpresponse.html#getproxiedremoteaddressastext" class="tsd-kind-icon">get<wbr>Proxied<wbr>Remote<wbr>Address<wbr>AsText</a></li>
<li class="tsd-kind-method tsd-parent-kind-interface"><a href="httpresponse.html#getremoteaddress" class="tsd-kind-icon">get<wbr>Remote<wbr>Address</a></li>
<li class="tsd-kind-method tsd-parent-kind-interface"><a href="httpresponse.html#getremoteaddressastext" class="tsd-kind-icon">get<wbr>Remote<wbr>Address<wbr>AsText</a></li>
<li class="tsd-kind-method tsd-parent-kind-interface"><a href="httpresponse.html#getwriteoffset" class="tsd-kind-icon">get<wbr>Write<wbr>Offset</a></li>
<li class="tsd-kind-method tsd-parent-kind-interface"><a href="httpresponse.html#onaborted" class="tsd-kind-icon">on<wbr>Aborted</a></li>
<li class="tsd-kind-method tsd-parent-kind-interface"><a href="httpresponse.html#ondata" class="tsd-kind-icon">on<wbr>Data</a></li>
<li class="tsd-kind-method tsd-parent-kind-interface"><a href="httpresponse.html#onwritable" class="tsd-kind-icon">on<wbr>Writable</a></li>
<li class="tsd-kind-method tsd-parent-kind-interface"><a href="httpresponse.html#tryend" class="tsd-kind-icon">try<wbr>End</a></li>
<li class="tsd-kind-method tsd-parent-kind-interface tsd-has-type-parameter"><a href="httpresponse.html#upgrade" class="tsd-kind-icon">upgrade</a></li>
<li class="tsd-kind-method tsd-parent-kind-interface"><a href="httpresponse.html#write" class="tsd-kind-icon">write</a></li>
<li class="tsd-kind-method tsd-parent-kind-interface"><a href="httpresponse.html#writeheader" class="tsd-kind-icon">write<wbr>Header</a></li>
<li class="tsd-kind-method tsd-parent-kind-interface"><a href="httpresponse.html#writestatus" class="tsd-kind-icon">write<wbr>Status</a></li>
</ul>
</section>
</div>
</section>
</section>
<section class="tsd-panel-group tsd-member-group ">
<h2>Methods</h2>
<section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-interface">
<a name="close" class="tsd-anchor"></a>
<h3>close</h3>
<ul class="tsd-signatures tsd-kind-method tsd-parent-kind-interface">
<li class="tsd-signature tsd-kind-icon">close<span class="tsd-signature-symbol">(</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><a href="httpresponse.html" class="tsd-signature-type">HttpResponse</a></li>
</ul>
<ul class="tsd-descriptions">
<li class="tsd-description">
<aside class="tsd-sources">
<ul>
<li>Defined in <a href="https://github.com/uNetworking/uWebSockets.js/blob/1989d69/docs/index.d.ts#L106">index.d.ts:106</a></li>
</ul>
</aside>
<div class="tsd-comment tsd-typography">
<div class="lead">
<p>Immediately force closes the connection.</p>
</div>
</div>
<h4 class="tsd-returns-title">Returns <a href="httpresponse.html" class="tsd-signature-type">HttpResponse</a></h4>
</li>
</ul>
</section>
<section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-interface">
<a name="cork" class="tsd-anchor"></a>
<h3>cork</h3>
<ul class="tsd-signatures tsd-kind-method tsd-parent-kind-interface">
<li class="tsd-signature tsd-kind-icon">cork<span class="tsd-signature-symbol">(</span>cb<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">function</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">void</span></li>
</ul>
<ul class="tsd-descriptions">
<li class="tsd-description">
<aside class="tsd-sources">
<ul>
<li>Defined in <a href="https://github.com/uNetworking/uWebSockets.js/blob/1989d69/docs/index.d.ts#L151">index.d.ts:151</a></li>
</ul>
</aside>
<div class="tsd-comment tsd-typography">
<div class="lead">
<p>Corking a response is a performance improvement in both CPU and network, as you ready the IO system for writing multiple chunks at once.
By default, you&#39;re corked in the immediately executing top portion of the route handler. In all other cases, such as when returning from
await, or when being called back from an async database request or anything that isn&#39;t directly executing in the route handler, you&#39;ll want
to cork before calling writeStatus, writeHeader or just write. Corking takes a callback in which you execute the writeHeader, writeStatus and
such calls, in one atomic IO operation. This is important, not only for TCP but definitely for TLS where each write would otherwise result
in one TLS block being sent off, each with one send syscall.</p>
</div>
<p>Example usage:</p>
<p>res.cork(() =&gt; {
res.writeStatus(&quot;200 OK&quot;).writeHeader(&quot;Some&quot;, &quot;Value&quot;).write(&quot;Hello world!&quot;);
});</p>
</div>
<h4 class="tsd-parameters-title">Parameters</h4>
<ul class="tsd-parameters">
<li>
<h5>cb: <span class="tsd-signature-type">function</span></h5>
<ul class="tsd-parameters">
<li class="tsd-parameter-siganture">
<ul class="tsd-signatures tsd-kind-type-literal tsd-is-not-exported">
<li class="tsd-signature tsd-kind-icon"><span class="tsd-signature-symbol">(</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">void</span></li>
</ul>
<ul class="tsd-descriptions">
<li class="tsd-description">
<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">void</span></h4>
</li>
</ul>
</li>
</ul>
</li>
</ul>
<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">void</span></h4>
</li>
</ul>
</section>
<section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-interface">
<a name="end" class="tsd-anchor"></a>
<h3>end</h3>
<ul class="tsd-signatures tsd-kind-method tsd-parent-kind-interface">
<li class="tsd-signature tsd-kind-icon">end<span class="tsd-signature-symbol">(</span>body<span class="tsd-signature-symbol">?: </span><a href="../index.html#recognizedstring" class="tsd-signature-type">RecognizedString</a><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><a href="httpresponse.html" class="tsd-signature-type">HttpResponse</a></li>
</ul>
<ul class="tsd-descriptions">
<li class="tsd-description">
<aside class="tsd-sources">
<ul>
<li>Defined in <a href="https://github.com/uNetworking/uWebSockets.js/blob/1989d69/docs/index.d.ts#L101">index.d.ts:101</a></li>
</ul>
</aside>
<div class="tsd-comment tsd-typography">
<div class="lead">
<p>Ends this response by copying the contents of body.</p>
</div>
</div>
<h4 class="tsd-parameters-title">Parameters</h4>
<ul class="tsd-parameters">
<li>
<h5><span class="tsd-flag ts-flagOptional">Optional</span> body: <a href="../index.html#recognizedstring" class="tsd-signature-type">RecognizedString</a></h5>
</li>
</ul>
<h4 class="tsd-returns-title">Returns <a href="httpresponse.html" class="tsd-signature-type">HttpResponse</a></h4>
</li>
</ul>
</section>
<section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-interface">
<a name="getproxiedremoteaddress" class="tsd-anchor"></a>
<h3>get<wbr>Proxied<wbr>Remote<wbr>Address</h3>
<ul class="tsd-signatures tsd-kind-method tsd-parent-kind-interface">
<li class="tsd-signature tsd-kind-icon">get<wbr>Proxied<wbr>Remote<wbr>Address<span class="tsd-signature-symbol">(</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">ArrayBuffer</span></li>
</ul>
<ul class="tsd-descriptions">
<li class="tsd-description">
<aside class="tsd-sources">
<ul>
<li>Defined in <a href="https://github.com/uNetworking/uWebSockets.js/blob/1989d69/docs/index.d.ts#L133">index.d.ts:133</a></li>
</ul>
</aside>
<div class="tsd-comment tsd-typography">
<div class="lead">
<p>Returns the remote IP address in binary format (4 or 16 bytes), as reported by the PROXY Protocol v2 compatible proxy.</p>
</div>
</div>
<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">ArrayBuffer</span></h4>
</li>
</ul>
</section>
<section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-interface">
<a name="getproxiedremoteaddressastext" class="tsd-anchor"></a>
<h3>get<wbr>Proxied<wbr>Remote<wbr>Address<wbr>AsText</h3>
<ul class="tsd-signatures tsd-kind-method tsd-parent-kind-interface">
<li class="tsd-signature tsd-kind-icon">get<wbr>Proxied<wbr>Remote<wbr>Address<wbr>AsText<span class="tsd-signature-symbol">(</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">ArrayBuffer</span></li>
</ul>
<ul class="tsd-descriptions">
<li class="tsd-description">
<aside class="tsd-sources">
<ul>
<li>Defined in <a href="https://github.com/uNetworking/uWebSockets.js/blob/1989d69/docs/index.d.ts#L136">index.d.ts:136</a></li>
</ul>
</aside>
<div class="tsd-comment tsd-typography">
<div class="lead">
<p>Returns the remote IP address as text, as reported by the PROXY Protocol v2 compatible proxy.</p>
</div>
</div>
<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">ArrayBuffer</span></h4>
</li>
</ul>
</section>
<section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-interface">
<a name="getremoteaddress" class="tsd-anchor"></a>
<h3>get<wbr>Remote<wbr>Address</h3>
<ul class="tsd-signatures tsd-kind-method tsd-parent-kind-interface">
<li class="tsd-signature tsd-kind-icon">get<wbr>Remote<wbr>Address<span class="tsd-signature-symbol">(</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">ArrayBuffer</span></li>
</ul>
<ul class="tsd-descriptions">
<li class="tsd-description">
<aside class="tsd-sources">
<ul>
<li>Defined in <a href="https://github.com/uNetworking/uWebSockets.js/blob/1989d69/docs/index.d.ts#L127">index.d.ts:127</a></li>
</ul>
</aside>
<div class="tsd-comment tsd-typography">
<div class="lead">
<p>Returns the remote IP address in binary format (4 or 16 bytes).</p>
</div>
</div>
<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">ArrayBuffer</span></h4>
</li>
</ul>
</section>
<section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-interface">
<a name="getremoteaddressastext" class="tsd-anchor"></a>
<h3>get<wbr>Remote<wbr>Address<wbr>AsText</h3>
<ul class="tsd-signatures tsd-kind-method tsd-parent-kind-interface">
<li class="tsd-signature tsd-kind-icon">get<wbr>Remote<wbr>Address<wbr>AsText<span class="tsd-signature-symbol">(</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">ArrayBuffer</span></li>
</ul>
<ul class="tsd-descriptions">
<li class="tsd-description">
<aside class="tsd-sources">
<ul>
<li>Defined in <a href="https://github.com/uNetworking/uWebSockets.js/blob/1989d69/docs/index.d.ts#L130">index.d.ts:130</a></li>
</ul>
</aside>
<div class="tsd-comment tsd-typography">
<div class="lead">
<p>Returns the remote IP address as text.</p>
</div>
</div>
<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">ArrayBuffer</span></h4>
</li>
</ul>
</section>
<section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-interface">
<a name="getwriteoffset" class="tsd-anchor"></a>
<h3>get<wbr>Write<wbr>Offset</h3>
<ul class="tsd-signatures tsd-kind-method tsd-parent-kind-interface">
<li class="tsd-signature tsd-kind-icon">get<wbr>Write<wbr>Offset<span class="tsd-signature-symbol">(</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">number</span></li>
</ul>
<ul class="tsd-descriptions">
<li class="tsd-description">
<aside class="tsd-sources">
<ul>
<li>Defined in <a href="https://github.com/uNetworking/uWebSockets.js/blob/1989d69/docs/index.d.ts#L109">index.d.ts:109</a></li>
</ul>
</aside>
<div class="tsd-comment tsd-typography">
<div class="lead">
<p>Returns the global byte write offset for this response. Use with onWritable.</p>
</div>
</div>
<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">number</span></h4>
</li>
</ul>
</section>
<section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-interface">
<a name="onaborted" class="tsd-anchor"></a>
<h3>on<wbr>Aborted</h3>
<ul class="tsd-signatures tsd-kind-method tsd-parent-kind-interface">
<li class="tsd-signature tsd-kind-icon">on<wbr>Aborted<span class="tsd-signature-symbol">(</span>handler<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">function</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><a href="httpresponse.html" class="tsd-signature-type">HttpResponse</a></li>
</ul>
<ul class="tsd-descriptions">
<li class="tsd-description">
<aside class="tsd-sources">
<ul>
<li>Defined in <a href="https://github.com/uNetworking/uWebSockets.js/blob/1989d69/docs/index.d.ts#L121">index.d.ts:121</a></li>
</ul>
</aside>
<div class="tsd-comment tsd-typography">
<div class="lead">
<p>Every HttpResponse MUST have an attached abort handler IF you do not respond
to it immediately inside of the callback. Returning from an Http request handler
without attaching (by calling onAborted) an abort handler is ill-use and will termiante.
When this event emits, the response has been aborted and may not be used.</p>
</div>
</div>
<h4 class="tsd-parameters-title">Parameters</h4>
<ul class="tsd-parameters">
<li>
<h5>handler: <span class="tsd-signature-type">function</span></h5>
<ul class="tsd-parameters">
<li class="tsd-parameter-siganture">
<ul class="tsd-signatures tsd-kind-type-literal tsd-is-not-exported">
<li class="tsd-signature tsd-kind-icon"><span class="tsd-signature-symbol">(</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">void</span></li>
</ul>
<ul class="tsd-descriptions">
<li class="tsd-description">
<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">void</span></h4>
</li>
</ul>
</li>
</ul>
</li>
</ul>
<h4 class="tsd-returns-title">Returns <a href="httpresponse.html" class="tsd-signature-type">HttpResponse</a></h4>
</li>
</ul>
</section>
<section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-interface">
<a name="ondata" class="tsd-anchor"></a>
<h3>on<wbr>Data</h3>
<ul class="tsd-signatures tsd-kind-method tsd-parent-kind-interface">
<li class="tsd-signature tsd-kind-icon">on<wbr>Data<span class="tsd-signature-symbol">(</span>handler<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">function</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><a href="httpresponse.html" class="tsd-signature-type">HttpResponse</a></li>
</ul>
<ul class="tsd-descriptions">
<li class="tsd-description">
<aside class="tsd-sources">
<ul>
<li>Defined in <a href="https://github.com/uNetworking/uWebSockets.js/blob/1989d69/docs/index.d.ts#L124">index.d.ts:124</a></li>
</ul>
</aside>
<div class="tsd-comment tsd-typography">
<div class="lead">
<p>Handler for reading data from POST and such requests. You MUST copy the data of chunk if isLast is not true. We Neuter ArrayBuffers on return, making it zero length.</p>
</div>
</div>
<h4 class="tsd-parameters-title">Parameters</h4>
<ul class="tsd-parameters">
<li>
<h5>handler: <span class="tsd-signature-type">function</span></h5>
<ul class="tsd-parameters">
<li class="tsd-parameter-siganture">
<ul class="tsd-signatures tsd-kind-type-literal tsd-is-not-exported">
<li class="tsd-signature tsd-kind-icon"><span class="tsd-signature-symbol">(</span>chunk<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">ArrayBuffer</span>, isLast<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">boolean</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">void</span></li>
</ul>
<ul class="tsd-descriptions">
<li class="tsd-description">
<h4 class="tsd-parameters-title">Parameters</h4>
<ul class="tsd-parameters">
<li>
<h5>chunk: <span class="tsd-signature-type">ArrayBuffer</span></h5>
</li>
<li>
<h5>isLast: <span class="tsd-signature-type">boolean</span></h5>
</li>
</ul>
<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">void</span></h4>
</li>
</ul>
</li>
</ul>
</li>
</ul>
<h4 class="tsd-returns-title">Returns <a href="httpresponse.html" class="tsd-signature-type">HttpResponse</a></h4>
</li>
</ul>
</section>
<section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-interface">
<a name="onwritable" class="tsd-anchor"></a>
<h3>on<wbr>Writable</h3>
<ul class="tsd-signatures tsd-kind-method tsd-parent-kind-interface">
<li class="tsd-signature tsd-kind-icon">on<wbr>Writable<span class="tsd-signature-symbol">(</span>handler<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">function</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><a href="httpresponse.html" class="tsd-signature-type">HttpResponse</a></li>
</ul>
<ul class="tsd-descriptions">
<li class="tsd-description">
<aside class="tsd-sources">
<ul>
<li>Defined in <a href="https://github.com/uNetworking/uWebSockets.js/blob/1989d69/docs/index.d.ts#L115">index.d.ts:115</a></li>
</ul>
</aside>
<div class="tsd-comment tsd-typography">
<div class="lead">
<p>Registers a handler for writable events. Continue failed write attempts in here.
You MUST return true for success, false for failure.
Writing nothing is always success, so by default you must return true.</p>
</div>
</div>
<h4 class="tsd-parameters-title">Parameters</h4>
<ul class="tsd-parameters">
<li>
<h5>handler: <span class="tsd-signature-type">function</span></h5>
<ul class="tsd-parameters">
<li class="tsd-parameter-siganture">
<ul class="tsd-signatures tsd-kind-type-literal tsd-is-not-exported">
<li class="tsd-signature tsd-kind-icon"><span class="tsd-signature-symbol">(</span>offset<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">number</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">boolean</span></li>
</ul>
<ul class="tsd-descriptions">
<li class="tsd-description">
<h4 class="tsd-parameters-title">Parameters</h4>
<ul class="tsd-parameters">
<li>
<h5>offset: <span class="tsd-signature-type">number</span></h5>
</li>
</ul>
<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">boolean</span></h4>
</li>
</ul>
</li>
</ul>
</li>
</ul>
<h4 class="tsd-returns-title">Returns <a href="httpresponse.html" class="tsd-signature-type">HttpResponse</a></h4>
</li>
</ul>
</section>
<section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-interface">
<a name="tryend" class="tsd-anchor"></a>
<h3>try<wbr>End</h3>
<ul class="tsd-signatures tsd-kind-method tsd-parent-kind-interface">
<li class="tsd-signature tsd-kind-icon">try<wbr>End<span class="tsd-signature-symbol">(</span>fullBodyOrChunk<span class="tsd-signature-symbol">: </span><a href="../index.html#recognizedstring" class="tsd-signature-type">RecognizedString</a>, totalSize<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">number</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-symbol">[</span><span class="tsd-signature-type">boolean</span><span class="tsd-signature-symbol">, </span><span class="tsd-signature-type">boolean</span><span class="tsd-signature-symbol">]</span></li>
</ul>
<ul class="tsd-descriptions">
<li class="tsd-description">
<aside class="tsd-sources">
<ul>
<li>Defined in <a href="https://github.com/uNetworking/uWebSockets.js/blob/1989d69/docs/index.d.ts#L103">index.d.ts:103</a></li>
</ul>
</aside>
<div class="tsd-comment tsd-typography">
<div class="lead">
<p>Ends this response, or tries to, by streaming appropriately sized chunks of body. Use in conjunction with onWritable. Returns tuple [ok, hasResponded].</p>
</div>
</div>
<h4 class="tsd-parameters-title">Parameters</h4>
<ul class="tsd-parameters">
<li>
<h5>fullBodyOrChunk: <a href="../index.html#recognizedstring" class="tsd-signature-type">RecognizedString</a></h5>
</li>
<li>
<h5>totalSize: <span class="tsd-signature-type">number</span></h5>
</li>
</ul>
<h4 class="tsd-returns-title">Returns <span class="tsd-signature-symbol">[</span><span class="tsd-signature-type">boolean</span><span class="tsd-signature-symbol">, </span><span class="tsd-signature-type">boolean</span><span class="tsd-signature-symbol">]</span></h4>
</li>
</ul>
</section>
<section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-interface tsd-has-type-parameter">
<a name="upgrade" class="tsd-anchor"></a>
<h3>upgrade</h3>
<ul class="tsd-signatures tsd-kind-method tsd-parent-kind-interface tsd-has-type-parameter">
<li class="tsd-signature tsd-kind-icon">upgrade&lt;T&gt;<span class="tsd-signature-symbol">(</span>userData<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">T</span>, secWebSocketKey<span class="tsd-signature-symbol">: </span><a href="../index.html#recognizedstring" class="tsd-signature-type">RecognizedString</a>, secWebSocketProtocol<span class="tsd-signature-symbol">: </span><a href="../index.html#recognizedstring" class="tsd-signature-type">RecognizedString</a>, secWebSocketExtensions<span class="tsd-signature-symbol">: </span><a href="../index.html#recognizedstring" class="tsd-signature-type">RecognizedString</a>, context<span class="tsd-signature-symbol">: </span><a href="us_socket_context_t.html" class="tsd-signature-type">us_socket_context_t</a><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">void</span></li>
</ul>
<ul class="tsd-descriptions">
<li class="tsd-description">
<aside class="tsd-sources">
<ul>
<li>Defined in <a href="https://github.com/uNetworking/uWebSockets.js/blob/1989d69/docs/index.d.ts#L154">index.d.ts:154</a></li>
</ul>
</aside>
<div class="tsd-comment tsd-typography">
<div class="lead">
<p>Upgrades a HttpResponse to a WebSocket. See UpgradeAsync, UpgradeSync example files.</p>
</div>
</div>
<h4 class="tsd-type-parameters-title">Type parameters</h4>
<ul class="tsd-type-parameters">
<li>
<h4>T</h4>
</li>
</ul>
<h4 class="tsd-parameters-title">Parameters</h4>
<ul class="tsd-parameters">
<li>
<h5>userData: <span class="tsd-signature-type">T</span></h5>
</li>
<li>
<h5>secWebSocketKey: <a href="../index.html#recognizedstring" class="tsd-signature-type">RecognizedString</a></h5>
</li>
<li>
<h5>secWebSocketProtocol: <a href="../index.html#recognizedstring" class="tsd-signature-type">RecognizedString</a></h5>
</li>
<li>
<h5>secWebSocketExtensions: <a href="../index.html#recognizedstring" class="tsd-signature-type">RecognizedString</a></h5>
</li>
<li>
<h5>context: <a href="us_socket_context_t.html" class="tsd-signature-type">us_socket_context_t</a></h5>
</li>
</ul>
<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">void</span></h4>
</li>
</ul>
</section>
<section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-interface">
<a name="write" class="tsd-anchor"></a>
<h3>write</h3>
<ul class="tsd-signatures tsd-kind-method tsd-parent-kind-interface">
<li class="tsd-signature tsd-kind-icon">write<span class="tsd-signature-symbol">(</span>chunk<span class="tsd-signature-symbol">: </span><a href="../index.html#recognizedstring" class="tsd-signature-type">RecognizedString</a><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><a href="httpresponse.html" class="tsd-signature-type">HttpResponse</a></li>
</ul>
<ul class="tsd-descriptions">
<li class="tsd-description">
<aside class="tsd-sources">
<ul>
<li>Defined in <a href="https://github.com/uNetworking/uWebSockets.js/blob/1989d69/docs/index.d.ts#L99">index.d.ts:99</a></li>
</ul>
</aside>
<div class="tsd-comment tsd-typography">
<div class="lead">
<p>Enters or continues chunked encoding mode. Writes part of the response. End with zero length write.</p>
</div>
</div>
<h4 class="tsd-parameters-title">Parameters</h4>
<ul class="tsd-parameters">
<li>
<h5>chunk: <a href="../index.html#recognizedstring" class="tsd-signature-type">RecognizedString</a></h5>
</li>
</ul>
<h4 class="tsd-returns-title">Returns <a href="httpresponse.html" class="tsd-signature-type">HttpResponse</a></h4>
</li>
</ul>
</section>
<section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-interface">
<a name="writeheader" class="tsd-anchor"></a>
<h3>write<wbr>Header</h3>
<ul class="tsd-signatures tsd-kind-method tsd-parent-kind-interface">
<li class="tsd-signature tsd-kind-icon">write<wbr>Header<span class="tsd-signature-symbol">(</span>key<span class="tsd-signature-symbol">: </span><a href="../index.html#recognizedstring" class="tsd-signature-type">RecognizedString</a>, value<span class="tsd-signature-symbol">: </span><a href="../index.html#recognizedstring" class="tsd-signature-type">RecognizedString</a><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><a href="httpresponse.html" class="tsd-signature-type">HttpResponse</a></li>
</ul>
<ul class="tsd-descriptions">
<li class="tsd-description">
<aside class="tsd-sources">
<ul>
<li>Defined in <a href="https://github.com/uNetworking/uWebSockets.js/blob/1989d69/docs/index.d.ts#L97">index.d.ts:97</a></li>
</ul>
</aside>
<div class="tsd-comment tsd-typography">
<div class="lead">
<p>Writes key and value to HTTP response.</p>
</div>
</div>
<h4 class="tsd-parameters-title">Parameters</h4>
<ul class="tsd-parameters">
<li>
<h5>key: <a href="../index.html#recognizedstring" class="tsd-signature-type">RecognizedString</a></h5>
</li>
<li>
<h5>value: <a href="../index.html#recognizedstring" class="tsd-signature-type">RecognizedString</a></h5>
</li>
</ul>
<h4 class="tsd-returns-title">Returns <a href="httpresponse.html" class="tsd-signature-type">HttpResponse</a></h4>
</li>
</ul>
</section>
<section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-interface">
<a name="writestatus" class="tsd-anchor"></a>
<h3>write<wbr>Status</h3>
<ul class="tsd-signatures tsd-kind-method tsd-parent-kind-interface">
<li class="tsd-signature tsd-kind-icon">write<wbr>Status<span class="tsd-signature-symbol">(</span>status<span class="tsd-signature-symbol">: </span><a href="../index.html#recognizedstring" class="tsd-signature-type">RecognizedString</a><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><a href="httpresponse.html" class="tsd-signature-type">HttpResponse</a></li>
</ul>
<ul class="tsd-descriptions">
<li class="tsd-description">
<aside class="tsd-sources">
<ul>
<li>Defined in <a href="https://github.com/uNetworking/uWebSockets.js/blob/1989d69/docs/index.d.ts#L95">index.d.ts:95</a></li>
</ul>
</aside>
<div class="tsd-comment tsd-typography">
<div class="lead">
<p>Writes the HTTP status message such as &quot;200 OK&quot;.</p>
</div>
</div>
<h4 class="tsd-parameters-title">Parameters</h4>
<ul class="tsd-parameters">
<li>
<h5>status: <a href="../index.html#recognizedstring" class="tsd-signature-type">RecognizedString</a></h5>
</li>
</ul>
<h4 class="tsd-returns-title">Returns <a href="httpresponse.html" class="tsd-signature-type">HttpResponse</a></h4>
</li>
</ul>
</section>
</section>
</div>
<div class="col-4 col-menu menu-sticky-wrap menu-highlight">
<nav class="tsd-navigation primary">
<ul>
<li class="globals ">
<a href="../index.html"><em>Globals</em></a>
</li>
</ul>
</nav>
<nav class="tsd-navigation secondary menu-sticky">
<ul class="before-current">
<li class=" tsd-kind-interface">
<a href="appoptions.html" class="tsd-kind-icon">App<wbr>Options</a>
</li>
<li class=" tsd-kind-interface">
<a href="httprequest.html" class="tsd-kind-icon">Http<wbr>Request</a>
</li>
</ul>
<ul class="current">
<li class="current tsd-kind-interface">
<a href="httpresponse.html" class="tsd-kind-icon">Http<wbr>Response</a>
<ul>
<li class=" tsd-kind-method tsd-parent-kind-interface">
<a href="httpresponse.html#close" class="tsd-kind-icon">close</a>
</li>
<li class=" tsd-kind-method tsd-parent-kind-interface">
<a href="httpresponse.html#cork" class="tsd-kind-icon">cork</a>
</li>
<li class=" tsd-kind-method tsd-parent-kind-interface">
<a href="httpresponse.html#end" class="tsd-kind-icon">end</a>
</li>
<li class=" tsd-kind-method tsd-parent-kind-interface">
<a href="httpresponse.html#getproxiedremoteaddress" class="tsd-kind-icon">get<wbr>Proxied<wbr>Remote<wbr>Address</a>
</li>
<li class=" tsd-kind-method tsd-parent-kind-interface">
<a href="httpresponse.html#getproxiedremoteaddressastext" class="tsd-kind-icon">get<wbr>Proxied<wbr>Remote<wbr>Address<wbr>AsText</a>
</li>
<li class=" tsd-kind-method tsd-parent-kind-interface">
<a href="httpresponse.html#getremoteaddress" class="tsd-kind-icon">get<wbr>Remote<wbr>Address</a>
</li>
<li class=" tsd-kind-method tsd-parent-kind-interface">
<a href="httpresponse.html#getremoteaddressastext" class="tsd-kind-icon">get<wbr>Remote<wbr>Address<wbr>AsText</a>
</li>
<li class=" tsd-kind-method tsd-parent-kind-interface">
<a href="httpresponse.html#getwriteoffset" class="tsd-kind-icon">get<wbr>Write<wbr>Offset</a>
</li>
<li class=" tsd-kind-method tsd-parent-kind-interface">
<a href="httpresponse.html#onaborted" class="tsd-kind-icon">on<wbr>Aborted</a>
</li>
<li class=" tsd-kind-method tsd-parent-kind-interface">
<a href="httpresponse.html#ondata" class="tsd-kind-icon">on<wbr>Data</a>
</li>
<li class=" tsd-kind-method tsd-parent-kind-interface">
<a href="httpresponse.html#onwritable" class="tsd-kind-icon">on<wbr>Writable</a>
</li>
<li class=" tsd-kind-method tsd-parent-kind-interface">
<a href="httpresponse.html#tryend" class="tsd-kind-icon">try<wbr>End</a>
</li>
<li class=" tsd-kind-method tsd-parent-kind-interface tsd-has-type-parameter">
<a href="httpresponse.html#upgrade" class="tsd-kind-icon">upgrade</a>
</li>
<li class=" tsd-kind-method tsd-parent-kind-interface">
<a href="httpresponse.html#write" class="tsd-kind-icon">write</a>
</li>
<li class=" tsd-kind-method tsd-parent-kind-interface">
<a href="httpresponse.html#writeheader" class="tsd-kind-icon">write<wbr>Header</a>
</li>
<li class=" tsd-kind-method tsd-parent-kind-interface">
<a href="httpresponse.html#writestatus" class="tsd-kind-icon">write<wbr>Status</a>
</li>
</ul>
</li>
</ul>
<ul class="after-current">
<li class=" tsd-kind-interface">
<a href="templatedapp.html" class="tsd-kind-icon">Templated<wbr>App</a>
</li>
<li class=" tsd-kind-interface">
<a href="websocket.html" class="tsd-kind-icon">Web<wbr>Socket</a>
</li>
<li class=" tsd-kind-interface">
<a href="websocketbehavior.html" class="tsd-kind-icon">Web<wbr>Socket<wbr>Behavior</a>
</li>
<li class=" tsd-kind-interface">
<a href="us_listen_socket.html" class="tsd-kind-icon">us_<wbr>listen_<wbr>socket</a>
</li>
<li class=" tsd-kind-interface">
<a href="us_socket_context_t.html" class="tsd-kind-icon">us_<wbr>socket_<wbr>context_<wbr>t</a>
</li>
<li class=" tsd-kind-type-alias">
<a href="../index.html#compressoptions" class="tsd-kind-icon">Compress<wbr>Options</a>
</li>
<li class=" tsd-kind-type-alias">
<a href="../index.html#recognizedstring" class="tsd-kind-icon">Recognized<wbr>String</a>
</li>
<li class=" tsd-kind-variable">
<a href="../index.html#dedicated_compressor_128kb" class="tsd-kind-icon">DEDICATED_<wbr>COMPRESSOR_<wbr>128KB</a>
</li>
<li class=" tsd-kind-variable">
<a href="../index.html#dedicated_compressor_16kb" class="tsd-kind-icon">DEDICATED_<wbr>COMPRESSOR_<wbr>16KB</a>
</li>
<li class=" tsd-kind-variable">
<a href="../index.html#dedicated_compressor_256kb" class="tsd-kind-icon">DEDICATED_<wbr>COMPRESSOR_<wbr>256KB</a>
</li>
<li class=" tsd-kind-variable">
<a href="../index.html#dedicated_compressor_32kb" class="tsd-kind-icon">DEDICATED_<wbr>COMPRESSOR_<wbr>32KB</a>
</li>
<li class=" tsd-kind-variable">
<a href="../index.html#dedicated_compressor_3kb" class="tsd-kind-icon">DEDICATED_<wbr>COMPRESSOR_<wbr>3KB</a>
</li>
<li class=" tsd-kind-variable">
<a href="../index.html#dedicated_compressor_4kb" class="tsd-kind-icon">DEDICATED_<wbr>COMPRESSOR_<wbr>4KB</a>
</li>
<li class=" tsd-kind-variable">
<a href="../index.html#dedicated_compressor_64kb" class="tsd-kind-icon">DEDICATED_<wbr>COMPRESSOR_<wbr>64KB</a>
</li>
<li class=" tsd-kind-variable">
<a href="../index.html#dedicated_compressor_8kb" class="tsd-kind-icon">DEDICATED_<wbr>COMPRESSOR_<wbr>8KB</a>
</li>
<li class=" tsd-kind-variable">
<a href="../index.html#disabled" class="tsd-kind-icon">DISABLED</a>
</li>
<li class=" tsd-kind-variable">
<a href="../index.html#shared_compressor" class="tsd-kind-icon">SHARED_<wbr>COMPRESSOR</a>
</li>
<li class=" tsd-kind-function">
<a href="../index.html#app" class="tsd-kind-icon">App</a>
</li>
<li class=" tsd-kind-function">
<a href="../index.html#sslapp" class="tsd-kind-icon">SSLApp</a>
</li>
<li class=" tsd-kind-function">
<a href="../index.html#us_listen_socket_close" class="tsd-kind-icon">us_<wbr>listen_<wbr>socket_<wbr>close</a>
</li>
</ul>
</nav>
</div>
</div>
</div>
<footer class="with-border-bottom">
<div class="container">
<h2>Legend</h2>
<div class="tsd-legend-group">
<ul class="tsd-legend">
<li class="tsd-kind-module"><span class="tsd-kind-icon">Module</span></li>
<li class="tsd-kind-object-literal"><span class="tsd-kind-icon">Object literal</span></li>
<li class="tsd-kind-variable"><span class="tsd-kind-icon">Variable</span></li>
<li class="tsd-kind-function"><span class="tsd-kind-icon">Function</span></li>
<li class="tsd-kind-function tsd-has-type-parameter"><span class="tsd-kind-icon">Function with type parameter</span></li>
<li class="tsd-kind-index-signature"><span class="tsd-kind-icon">Index signature</span></li>
<li class="tsd-kind-type-alias"><span class="tsd-kind-icon">Type alias</span></li>
</ul>
<ul class="tsd-legend">
<li class="tsd-kind-enum"><span class="tsd-kind-icon">Enumeration</span></li>
<li class="tsd-kind-enum-member"><span class="tsd-kind-icon">Enumeration member</span></li>
<li class="tsd-kind-property tsd-parent-kind-enum"><span class="tsd-kind-icon">Property</span></li>
<li class="tsd-kind-method tsd-parent-kind-enum"><span class="tsd-kind-icon">Method</span></li>
</ul>
<ul class="tsd-legend">
<li class="tsd-kind-interface"><span class="tsd-kind-icon">Interface</span></li>
<li class="tsd-kind-interface tsd-has-type-parameter"><span class="tsd-kind-icon">Interface with type parameter</span></li>
<li class="tsd-kind-constructor tsd-parent-kind-interface"><span class="tsd-kind-icon">Constructor</span></li>
<li class="tsd-kind-property tsd-parent-kind-interface"><span class="tsd-kind-icon">Property</span></li>
<li class="tsd-kind-method tsd-parent-kind-interface"><span class="tsd-kind-icon">Method</span></li>
<li class="tsd-kind-index-signature tsd-parent-kind-interface"><span class="tsd-kind-icon">Index signature</span></li>
</ul>
<ul class="tsd-legend">
<li class="tsd-kind-class"><span class="tsd-kind-icon">Class</span></li>
<li class="tsd-kind-class tsd-has-type-parameter"><span class="tsd-kind-icon">Class with type parameter</span></li>
<li class="tsd-kind-constructor tsd-parent-kind-class"><span class="tsd-kind-icon">Constructor</span></li>
<li class="tsd-kind-property tsd-parent-kind-class"><span class="tsd-kind-icon">Property</span></li>
<li class="tsd-kind-method tsd-parent-kind-class"><span class="tsd-kind-icon">Method</span></li>
<li class="tsd-kind-accessor tsd-parent-kind-class"><span class="tsd-kind-icon">Accessor</span></li>
<li class="tsd-kind-index-signature tsd-parent-kind-class"><span class="tsd-kind-icon">Index signature</span></li>
</ul>
<ul class="tsd-legend">
<li class="tsd-kind-constructor tsd-parent-kind-class tsd-is-inherited"><span class="tsd-kind-icon">Inherited constructor</span></li>
<li class="tsd-kind-property tsd-parent-kind-class tsd-is-inherited"><span class="tsd-kind-icon">Inherited property</span></li>
<li class="tsd-kind-method tsd-parent-kind-class tsd-is-inherited"><span class="tsd-kind-icon">Inherited method</span></li>
<li class="tsd-kind-accessor tsd-parent-kind-class tsd-is-inherited"><span class="tsd-kind-icon">Inherited accessor</span></li>
</ul>
<ul class="tsd-legend">
<li class="tsd-kind-property tsd-parent-kind-class tsd-is-protected"><span class="tsd-kind-icon">Protected property</span></li>
<li class="tsd-kind-method tsd-parent-kind-class tsd-is-protected"><span class="tsd-kind-icon">Protected method</span></li>
<li class="tsd-kind-accessor tsd-parent-kind-class tsd-is-protected"><span class="tsd-kind-icon">Protected accessor</span></li>
</ul>
<ul class="tsd-legend">
<li class="tsd-kind-property tsd-parent-kind-class tsd-is-private"><span class="tsd-kind-icon">Private property</span></li>
<li class="tsd-kind-method tsd-parent-kind-class tsd-is-private"><span class="tsd-kind-icon">Private method</span></li>
<li class="tsd-kind-accessor tsd-parent-kind-class tsd-is-private"><span class="tsd-kind-icon">Private accessor</span></li>
</ul>
<ul class="tsd-legend">
<li class="tsd-kind-property tsd-parent-kind-class tsd-is-static"><span class="tsd-kind-icon">Static property</span></li>
<li class="tsd-kind-call-signature tsd-parent-kind-class tsd-is-static"><span class="tsd-kind-icon">Static method</span></li>
</ul>
</div>
</div>
</footer>
<div class="container tsd-generator">
<p>Generated using <a href="http://typedoc.org/" target="_blank">TypeDoc</a></p>
</div>
<div class="overlay"></div>
<script src="../assets/js/main.js"></script>
<script>if (location.protocol == 'file:') document.write('<script src="../assets/js/search.js"><' + '/script>');</script>
</body>
</html>