uWebSockets.js/docs/generated/interfaces/HttpResponse.html
snowbldr bce99d8884
change websocket publish to return boolean as the uws method publish returns boolean (#641)
* Update docs to match implementation

* change websocket publish to return boolean as the uws method publish returns boolean

* re-generate typedoc since publish changed to return boolean
2021-12-07 14:46:30 +01:00

62 lines
37 KiB
HTML
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<!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 v20.4.0 documentation</title><meta name="description" content="Documentation for uWebSockets.js v20.4.0 documentation"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="stylesheet" href="../assets/style.css"/><link rel="stylesheet" href="../assets/highlight.css"/><script async src="../assets/search.js" id="search-script"></script></head><body><script>document.body.classList.add(localStorage.getItem("tsd-theme") || "os")</script><header><div class="tsd-page-toolbar"><div class="container"><div class="table-wrap"><div class="table-cell" id="tsd-search" data-base=".."><div class="field"><label for="tsd-search-field" class="tsd-widget search no-caption">Search</label><input type="text" id="tsd-search-field"/></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 v20.4.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></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">uWebSockets.js v20.4.0 documentation</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/>As<wbr/>Text</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/>As<wbr/>Text</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 id="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" data-tsd-kind="Interface">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/master/docs/index.d.ts#L141">index.d.ts:141</a></li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead">
<p>Immediately force closes the connection. Any onAborted callback will run.</p>
</div></div><h4 class="tsd-returns-title">Returns <a href="HttpResponse.html" class="tsd-signature-type" data-tsd-kind="Interface">HttpResponse</a></h4></li></ul></section><section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-interface"><a id="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-symbol">(</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol"> =&gt; </span><span class="tsd-signature-type">void</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><a href="HttpResponse.html" class="tsd-signature-type" data-tsd-kind="Interface">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/master/docs/index.d.ts#L186">index.d.ts:186</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><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></div><h4 class="tsd-parameters-title">Parameters</h4><ul class="tsd-parameters"><li><h5>cb: <span class="tsd-signature-symbol">(</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol"> =&gt; </span><span class="tsd-signature-type">void</span></h5><ul class="tsd-parameters"><li class="tsd-parameter-signature"><ul class="tsd-signatures tsd-kind-type-literal"><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" data-tsd-kind="Interface">HttpResponse</a></h4></li></ul></section><section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-interface"><a id="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" data-tsd-kind="Type alias">RecognizedString</a>, closeConnection<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><a href="HttpResponse.html" class="tsd-signature-type" data-tsd-kind="Interface">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/master/docs/index.d.ts#L136">index.d.ts:136</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" data-tsd-kind="Type alias">RecognizedString</a></h5></li><li><h5><span class="tsd-flag ts-flagOptional">Optional</span> closeConnection: <span class="tsd-signature-type">boolean</span></h5></li></ul><h4 class="tsd-returns-title">Returns <a href="HttpResponse.html" class="tsd-signature-type" data-tsd-kind="Interface">HttpResponse</a></h4></li></ul></section><section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-interface"><a id="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/master/docs/index.d.ts#L168">index.d.ts:168</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 id="getProxiedRemoteAddressAsText" class="tsd-anchor"></a><h3>get<wbr/>Proxied<wbr/>Remote<wbr/>Address<wbr/>As<wbr/>Text</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/>As<wbr/>Text<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/master/docs/index.d.ts#L171">index.d.ts:171</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 id="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/master/docs/index.d.ts#L162">index.d.ts:162</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 id="getRemoteAddressAsText" class="tsd-anchor"></a><h3>get<wbr/>Remote<wbr/>Address<wbr/>As<wbr/>Text</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/>As<wbr/>Text<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/master/docs/index.d.ts#L165">index.d.ts:165</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 id="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/master/docs/index.d.ts#L144">index.d.ts:144</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 id="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-symbol">(</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol"> =&gt; </span><span class="tsd-signature-type">void</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><a href="HttpResponse.html" class="tsd-signature-type" data-tsd-kind="Interface">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/master/docs/index.d.ts#L156">index.d.ts:156</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-symbol">(</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol"> =&gt; </span><span class="tsd-signature-type">void</span></h5><ul class="tsd-parameters"><li class="tsd-parameter-signature"><ul class="tsd-signatures tsd-kind-type-literal"><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" data-tsd-kind="Interface">HttpResponse</a></h4></li></ul></section><section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-interface"><a id="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-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"> =&gt; </span><span class="tsd-signature-type">void</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><a href="HttpResponse.html" class="tsd-signature-type" data-tsd-kind="Interface">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/master/docs/index.d.ts#L159">index.d.ts:159</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-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"> =&gt; </span><span class="tsd-signature-type">void</span></h5><ul class="tsd-parameters"><li class="tsd-parameter-signature"><ul class="tsd-signatures tsd-kind-type-literal"><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" data-tsd-kind="Interface">HttpResponse</a></h4></li></ul></section><section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-interface"><a id="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-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"> =&gt; </span><span class="tsd-signature-type">boolean</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><a href="HttpResponse.html" class="tsd-signature-type" data-tsd-kind="Interface">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/master/docs/index.d.ts#L150">index.d.ts:150</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-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"> =&gt; </span><span class="tsd-signature-type">boolean</span></h5><ul class="tsd-parameters"><li class="tsd-parameter-signature"><ul class="tsd-signatures tsd-kind-type-literal"><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" data-tsd-kind="Interface">HttpResponse</a></h4></li></ul></section><section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-interface"><a id="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" data-tsd-kind="Type alias">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/master/docs/index.d.ts#L138">index.d.ts:138</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" data-tsd-kind="Type alias">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 id="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<span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type" data-tsd-kind="Type parameter">T</span><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">(</span>userData<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type" data-tsd-kind="Type parameter">T</span>, secWebSocketKey<span class="tsd-signature-symbol">: </span><a href="../index.html#RecognizedString" class="tsd-signature-type" data-tsd-kind="Type alias">RecognizedString</a>, secWebSocketProtocol<span class="tsd-signature-symbol">: </span><a href="../index.html#RecognizedString" class="tsd-signature-type" data-tsd-kind="Type alias">RecognizedString</a>, secWebSocketExtensions<span class="tsd-signature-symbol">: </span><a href="../index.html#RecognizedString" class="tsd-signature-type" data-tsd-kind="Type alias">RecognizedString</a>, context<span class="tsd-signature-symbol">: </span><a href="us_socket_context_t.html" class="tsd-signature-type" data-tsd-kind="Interface">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/master/docs/index.d.ts#L189">index.d.ts:189</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" data-tsd-kind="Type parameter">T</span></h5></li><li><h5>secWebSocketKey: <a href="../index.html#RecognizedString" class="tsd-signature-type" data-tsd-kind="Type alias">RecognizedString</a></h5></li><li><h5>secWebSocketProtocol: <a href="../index.html#RecognizedString" class="tsd-signature-type" data-tsd-kind="Type alias">RecognizedString</a></h5></li><li><h5>secWebSocketExtensions: <a href="../index.html#RecognizedString" class="tsd-signature-type" data-tsd-kind="Type alias">RecognizedString</a></h5></li><li><h5>context: <a href="us_socket_context_t.html" class="tsd-signature-type" data-tsd-kind="Interface">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 id="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" data-tsd-kind="Type alias">RecognizedString</a><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"><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/uNetworking/uWebSockets.js/blob/master/docs/index.d.ts#L134">index.d.ts:134</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. Returns true if no backpressure was added.</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" data-tsd-kind="Type alias">RecognizedString</a></h5></li></ul><h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">boolean</span></h4></li></ul></section><section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-interface"><a id="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" data-tsd-kind="Type alias">RecognizedString</a>, value<span class="tsd-signature-symbol">: </span><a href="../index.html#RecognizedString" class="tsd-signature-type" data-tsd-kind="Type alias">RecognizedString</a><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><a href="HttpResponse.html" class="tsd-signature-type" data-tsd-kind="Interface">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/master/docs/index.d.ts#L132">index.d.ts:132</a></li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead">
<p>Writes key and value to HTTP response.
See writeStatus and corking.</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" data-tsd-kind="Type alias">RecognizedString</a></h5></li><li><h5>value: <a href="../index.html#RecognizedString" class="tsd-signature-type" data-tsd-kind="Type alias">RecognizedString</a></h5></li></ul><h4 class="tsd-returns-title">Returns <a href="HttpResponse.html" class="tsd-signature-type" data-tsd-kind="Interface">HttpResponse</a></h4></li></ul></section><section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-interface"><a id="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" data-tsd-kind="Type alias">RecognizedString</a><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><a href="HttpResponse.html" class="tsd-signature-type" data-tsd-kind="Interface">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/master/docs/index.d.ts#L128">index.d.ts:128</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;.
This has to be called first in any response, otherwise
it will be called automatically with &quot;200 OK&quot;.</p>
</div><div><p>If you want to send custom headers in a WebSocket
upgrade response, you have to call writeStatus with
&quot;101 Switching Protocols&quot; before you call writeHeader,
otherwise your first call to writeHeader will call
writeStatus with &quot;200 OK&quot; and the upgrade will fail.</p>
<p>As you can imagine, we format outgoing responses in a linear
buffer, not in a hash table. You can read about this in
the user manual under &quot;corking&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" data-tsd-kind="Type alias">RecognizedString</a></h5></li></ul><h4 class="tsd-returns-title">Returns <a href="HttpResponse.html" class="tsd-signature-type" data-tsd-kind="Interface">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=""><a href="../index.html">Exports</a></li></ul></nav><nav class="tsd-navigation secondary menu-sticky"><ul><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/>As<wbr/>Text</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/>As<wbr/>Text</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></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-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></ul></div><h2>Settings</h2><p>Theme <select id="theme"><option value="os">OS</option><option value="light">Light</option><option value="dark">Dark</option></select></p></div></footer><div class="container tsd-generator"><p>Generated using <a href="https://typedoc.org/" target="_blank">TypeDoc</a></p></div><div class="overlay"></div><script src="../assets/main.js"></script></body></html>