bce99d8884
* 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
62 lines
37 KiB
HTML
62 lines
37 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 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"> => </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'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't directly executing in the route handler, you'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(() => {
|
||
res.writeStatus("200 OK").writeHeader("Some", "Value").write("Hello world!");
|
||
});</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"> => </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"> => </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"> => </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"> => </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"> => </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"> => </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"> => </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"><</span><span class="tsd-signature-type" data-tsd-kind="Type parameter">T</span><span class="tsd-signature-symbol">></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 "200 OK".
|
||
This has to be called first in any response, otherwise
|
||
it will be called automatically with "200 OK".</p>
|
||
</div><div><p>If you want to send custom headers in a WebSocket
|
||
upgrade response, you have to call writeStatus with
|
||
"101 Switching Protocols" before you call writeHeader,
|
||
otherwise your first call to writeHeader will call
|
||
writeStatus with "200 OK" 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 "corking".</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> |