Skip to content

Commit 2a02687

Browse files
committed
deploy: 661cc23
1 parent 8bd8a3e commit 2a02687

File tree

5 files changed

+16
-15
lines changed

5 files changed

+16
-15
lines changed

Cable.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -323,7 +323,7 @@ <h2>
323323
<dl>
324324

325325
<dt class="entry-const" id="HABITAT_SETTINGS">
326-
<strong>HABITAT_SETTINGS</strong> = <code>[{decl: route : <span class="t">String</span> <span class="o">=</span> <span class="t">Cable</span>.message(<span class="n">:default_mount_path</span>), example: <span class="s">&quot;/cable&quot;</span>, validation: <span class="n">nil</span>}, {decl: token : <span class="t">String</span> <span class="o">=</span> <span class="s">&quot;token&quot;</span>, example: <span class="s">&quot;token&quot;</span>, validation: <span class="n">nil</span>}, {decl: url : <span class="t">String</span> <span class="o">=</span> <span class="t">ENV</span>[<span class="s">&quot;CABLE_BACKEND_URL&quot;</span>], example: <span class="s">&quot;redis://localhost:6379&quot;</span>, validation: <span class="n">nil</span>}, {decl: disable_sec_websocket_protocol_header : <span class="t">Bool</span> <span class="o">=</span> <span class="n">false</span>, example: <span class="n">nil</span>, validation: <span class="n">nil</span>}, {decl: backend_class : <span class="t">Cable</span><span class="t">::</span><span class="t">BackendCore</span>.<span class="k">class</span> <span class="o">=</span> <span class="t">Cable</span><span class="t">::</span><span class="t">BackendRegistry</span>, example: <span class="s">&quot;Cable::RedisBackend&quot;</span>, validation: <span class="n">nil</span>}, {decl: backend_ping_interval : <span class="t">Time</span><span class="t">::</span><span class="t">Span</span> <span class="o">=</span> <span class="n">15</span>.seconds, example: <span class="n">nil</span>, validation: <span class="n">nil</span>}, {decl: restart_error_allowance : <span class="t">Int32</span> <span class="o">=</span> <span class="n">20</span>, example: <span class="n">nil</span>, validation: <span class="n">nil</span>}, {decl: on_error : <span class="t">Proc</span>(<span class="t">Exception</span>, <span class="t">String</span>, <span class="t">Nil</span>) <span class="o">=</span> <span class="o">-&gt;</span>(exception : <span class="t">Exception</span>, message : <span class="t">String</span>) <span class="k">do</span>
326+
<strong>HABITAT_SETTINGS</strong> = <code>[{decl: route : <span class="t">String</span> <span class="o">=</span> <span class="t">Cable</span>.message(<span class="n">:default_mount_path</span>), example: <span class="s">&quot;/cable&quot;</span>, validation: <span class="n">nil</span>}, {decl: token : <span class="t">String</span> <span class="o">=</span> <span class="s">&quot;token&quot;</span>, example: <span class="s">&quot;token&quot;</span>, validation: <span class="n">nil</span>}, {decl: url : <span class="t">String</span> <span class="o">=</span> <span class="t">ENV</span>[<span class="s">&quot;CABLE_BACKEND_URL&quot;</span>], example: <span class="s">&quot;redis://localhost:6379&quot;</span>, validation: <span class="n">nil</span>}, {decl: disable_sec_websocket_protocol_header : <span class="t">Bool</span> <span class="o">=</span> <span class="n">false</span>, example: <span class="n">nil</span>, validation: <span class="n">nil</span>}, {decl: backend_class : <span class="t">Cable</span><span class="t">::</span><span class="t">BackendCore</span>.<span class="k">class</span> <span class="o">=</span> <span class="t">Cable</span><span class="t">::</span><span class="t">BackendRegistry</span>, example: <span class="s">&quot;Cable::RedisBackend&quot;</span>, validation: <span class="n">nil</span>}, {decl: backend_ping_interval : <span class="t">Time</span><span class="t">::</span><span class="t">Span</span> <span class="o">=</span> <span class="n">15</span>.seconds, example: <span class="n">nil</span>, validation: <span class="n">nil</span>}, {decl: restart_error_allowance : <span class="t">Int32</span> <span class="o">=</span> <span class="n">20</span>, example: <span class="n">nil</span>, validation: <span class="n">nil</span>}, {decl: on_error : <span class="t">Proc</span>(<span class="t">Exception</span>, <span class="t">String</span>, <span class="t">Cable</span><span class="t">::</span><span class="t">Connection</span> <span class="o">|</span> <span class="t">::</span><span class="t">Nil</span>, <span class="t">Nil</span>) <span class="o">=</span> <span class="o">-&gt;</span>(exception : <span class="t">Exception</span>, message : <span class="t">String</span>, connection : <span class="t">Cable</span><span class="t">::</span><span class="t">Connection</span> <span class="o">|</span> <span class="t">::</span><span class="t">Nil</span>) <span class="k">do</span>
327327
<span class="t">Cable</span><span class="t">::</span><span class="t">Logger</span>.error(exception: exception) <span class="k">do</span> message <span class="k">end</span>
328328
<span class="k">end</span>, example: <span class="n">nil</span>, validation: <span class="n">nil</span>}] <span class="k">of</span> <span class="t">Nil</span></code>
329329
</dt>

Cable/HabitatSettings.html

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -292,12 +292,12 @@ <h2>
292292
</li>
293293

294294
<li class="entry-summary">
295-
<a href="#on_error%3AProc%28Exception%2CString%2CNil%29-class-method" class="signature"><strong>.on_error</strong> : Proc(Exception, String, Nil)</a>
295+
<a href="#on_error%3AProc%28Exception%2CString%2CCable%3A%3AConnection%7CNil%2CNil%29-class-method" class="signature"><strong>.on_error</strong> : Proc(Exception, String, Cable::Connection | Nil, Nil)</a>
296296

297297
</li>
298298

299299
<li class="entry-summary">
300-
<a href="#on_error%3D%28value%3AProc%28Exception%2CString%2CNil%29%29-class-method" class="signature"><strong>.on_error=</strong>(value : Proc(Exception, String, Nil))</a>
300+
<a href="#on_error%3D%28value%3AProc%28Exception%2CString%2CCable%3A%3AConnection%7CNil%2CNil%29%29-class-method" class="signature"><strong>.on_error=</strong>(value : Proc(Exception, String, Cable::Connection | Nil, Nil))</a>
301301

302302
</li>
303303

@@ -580,12 +580,12 @@ <h2>
580580
</div>
581581
</div>
582582

583-
<div class="entry-detail" id="on_error:Proc(Exception,String,Nil)-class-method">
583+
<div class="entry-detail" id="on_error:Proc(Exception,String,Cable::Connection|Nil,Nil)-class-method">
584584
<div class="signature">
585585

586-
def self.<strong>on_error</strong> : Proc(Exception, String, Nil)
586+
def self.<strong>on_error</strong> : Proc(Exception, String, <a href="../Cable/Connection.html">Cable::Connection</a> | Nil, Nil)
587587

588-
<a class="method-permalink" href="#on_error%3AProc%28Exception%2CString%2CNil%29-class-method">#</a>
588+
<a class="method-permalink" href="#on_error%3AProc%28Exception%2CString%2CCable%3A%3AConnection%7CNil%2CNil%29-class-method">#</a>
589589
</div>
590590

591591
<br/>
@@ -594,12 +594,12 @@ <h2>
594594
</div>
595595
</div>
596596

597-
<div class="entry-detail" id="on_error=(value:Proc(Exception,String,Nil))-class-method">
597+
<div class="entry-detail" id="on_error=(value:Proc(Exception,String,Cable::Connection|Nil,Nil))-class-method">
598598
<div class="signature">
599599

600-
def self.<strong>on_error=</strong>(value : Proc(Exception, String, Nil))
600+
def self.<strong>on_error=</strong>(value : Proc(Exception, String, <a href="../Cable/Connection.html">Cable::Connection</a> | Nil, Nil))
601601

602-
<a class="method-permalink" href="#on_error%3D%28value%3AProc%28Exception%2CString%2CNil%29%29-class-method">#</a>
602+
<a class="method-permalink" href="#on_error%3D%28value%3AProc%28Exception%2CString%2CCable%3A%3AConnection%7CNil%2CNil%29%29-class-method">#</a>
603603
</div>
604604

605605
<br/>

index.html

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -271,13 +271,14 @@ <h3><a id="configure-cable-settings" class="anchor" href="#configure-cable-setti
271271
settings.backend_class <span class="o">=</span> <span class="t">Cable</span><span class="t">::</span><span class="t">RedisBackend</span>
272272
settings.backend_ping_interval <span class="o">=</span> <span class="n">15</span>.seconds
273273
settings.restart_error_allowance <span class="o">=</span> <span class="n">20</span>
274-
settings.on_error <span class="o">=</span> <span class="o">-&gt;</span>(error : <span class="t">Exception</span>, message : <span class="t">String</span>) <span class="k">do</span>
274+
settings.on_error <span class="o">=</span> <span class="o">-&gt;</span>(error : <span class="t">Exception</span>, message : <span class="t">String</span>, connection : <span class="t">Cable</span><span class="t">::</span><span class="t">Connection</span>?) <span class="k">do</span>
275275
<span class="c"># or whichever error reportings you&#39;re using</span>
276276
<span class="t">Bugsnag</span>.report(error) <span class="k">do</span> <span class="o">|</span>event<span class="o">|</span>
277277
event.app.app_type <span class="o">=</span> <span class="s">&quot;lucky&quot;</span>
278278
event.meta_data <span class="o">=</span> {
279279
<span class="s">&quot;error_class&quot;</span> <span class="o">=&gt;</span> <span class="t">JSON</span><span class="t">::</span><span class="t">Any</span>.new(error.<span class="k">class</span>.name),
280280
<span class="s">&quot;message&quot;</span> <span class="o">=&gt;</span> <span class="t">JSON</span><span class="t">::</span><span class="t">Any</span>.new(message),
281+
<span class="s">&quot;token&quot;</span> <span class="o">=&gt;</span> <span class="t">JSON</span><span class="t">::</span><span class="t">Any</span>.new(connection.try(<span class="o">&amp;</span>.token).to_s),
281282
}
282283
<span class="k">end</span>
283284
<span class="k">end</span>
@@ -444,7 +445,7 @@ <h2><a id="error-handling" class="anchor" href="#error-handling">
444445
<p>You can setup a hook to report errors to any 3rd party service you choose.</p>
445446
<pre><code class="language-crystal"><span class="c"># config/cable.cr</span>
446447
<span class="t">Cable</span>.configure <span class="k">do</span> <span class="o">|</span>settings<span class="o">|</span>
447-
settings.on_error <span class="o">=</span> <span class="o">-&gt;</span>(exception : <span class="t">Exception</span>, message : <span class="t">String</span>) <span class="k">do</span>
448+
settings.on_error <span class="o">=</span> <span class="o">-&gt;</span>(exception : <span class="t">Exception</span>, message : <span class="t">String</span>, connection : <span class="t">Cable</span><span class="t">::</span><span class="t">Connection</span>?) <span class="k">do</span>
448449
<span class="c"># new 3rd part service handler</span>
449450
<span class="t">ExceptionService</span>.notify(exception, message: message)
450451
<span class="c"># default logic</span>
@@ -453,12 +454,12 @@ <h2><a id="error-handling" class="anchor" href="#error-handling">
453454
<span class="k">end</span></code></pre>
454455
<p><strong>Default Handler</strong></p>
455456
<pre><code class="language-crystal"><span class="t">Habitat</span>.create <span class="k">do</span>
456-
setting on_error : <span class="t">Proc</span>(<span class="t">Exception</span>, <span class="t">String</span>, <span class="t">Nil</span>) <span class="o">=</span> <span class="o">-&gt;</span>(exception : <span class="t">Exception</span>, message : <span class="t">String</span>) <span class="k">do</span>
457+
setting on_error : <span class="t">Proc</span>(<span class="t">Exception</span>, <span class="t">String</span>, <span class="t">Cable</span><span class="t">::</span><span class="t">Connection</span>?, <span class="t">Nil</span>) <span class="o">=</span> <span class="o">-&gt;</span>(exception : <span class="t">Exception</span>, message : <span class="t">String</span>, connection : <span class="t">Cable</span><span class="t">::</span><span class="t">Connection</span>?) <span class="k">do</span>
457458
<span class="t">Cable</span><span class="t">::</span><span class="t">Logger</span>.error(exception: exception) { message }
458459
<span class="k">end</span>
459460
<span class="k">end</span></code></pre>
460461
<blockquote>
461-
<p><span class="flag purple">NOTE</span> The message field will contain details regarding which class/method raised the error</p>
462+
<p><span class="flag purple">NOTE</span> The message field will contain details regarding which class/method raised the error. The connection parameter provides access to the <code><a href="Cable/Connection.html">Cable::Connection</a></code> instance (when available), including the <code>token</code>, <code>connection_identifier</code>, and any fields defined via <code>identified_by</code> or <code>owned_by</code>.</p>
462463
</blockquote>
463464
<h2><a id="client-side" class="anchor" href="#client-side">
464465
<svg class="octicon-link" aria-hidden="true">

index.json

Lines changed: 1 addition & 1 deletion
Large diffs are not rendered by default.

search-index.js

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)