<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>
Module: HelixWebServices::ErrorHandling
— Documentation by YARD 0.8.7.6
</title>
<link rel="stylesheet" href="../css/style.css" type="text/css" charset="utf-8" />
<link rel="stylesheet" href="../css/common.css" type="text/css" charset="utf-8" />
<script type="text/javascript" charset="utf-8">
hasFrames = window.top.frames.main ? true : false;
relpath = '../';
framesUrl = "../frames.html#!HelixWebServices/ErrorHandling.html";
</script>
<script type="text/javascript" charset="utf-8" src="../js/jquery.js"></script>
<script type="text/javascript" charset="utf-8" src="../js/app.js"></script>
</head>
<body>
<div id="header">
<div id="menu">
<a href="../_index.html">Index (E)</a> »
<span class='title'><span class='object_link'><a href="../HelixWebServices.html" title="HelixWebServices (module)">HelixWebServices</a></span></span>
»
<span class="title">ErrorHandling</span>
<div class="noframes"><span class="title">(</span><a href="." target="_top">no frames</a><span class="title">)</span></div>
</div>
<div id="search">
<a class="full_list_link" id="class_list_link"
href="../class_list.html">
Class List
</a>
<a class="full_list_link" id="method_list_link"
href="../method_list.html">
Method List
</a>
<a class="full_list_link" id="file_list_link"
href="../file_list.html">
File List
</a>
</div>
<div class="clear"></div>
</div>
<iframe id="search_frame"></iframe>
<div id="content"><h1>Module: HelixWebServices::ErrorHandling
</h1>
<dl class="box">
<dt class="r1 last">Defined in:</dt>
<dd class="r1 last">lib/helix_web_services.rb</dd>
</dl>
<div class="clear"></div>
<h2>
Class Method Summary
<small>(<a href="#" class="summary_toggle">collapse</a>)</small>
</h2>
<ul class="summary">
<li class="public ">
<span class="summary_signature">
<a href="#registered-class_method" title="registered (class method)">+ (Object) <strong>registered</strong>(app) </a>
</span>
<span class="summary_desc"><div class='inline'></div></span>
</li>
</ul>
<div id="class_method_details" class="method_details_list">
<h2>Class Method Details</h2>
<div class="method_details first">
<h3 class="signature first" id="registered-class_method">
+ (<tt>Object</tt>) <strong>registered</strong>(app)
</h3><table class="source_code">
<tr>
<td>
<pre class="lines">
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69</pre>
</td>
<td>
<pre class="code"><span class="info file"># File 'lib/helix_web_services.rb', line 19</span>
<span class='kw'>def</span> <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_registered'>registered</span><span class='lparen'>(</span><span class='id identifier rubyid_app'>app</span><span class='rparen'>)</span>
<span class='comment'># Always invoke our error handlers.
</span> <span class='id identifier rubyid_app'>app</span><span class='period'>.</span><span class='id identifier rubyid_set'>set</span> <span class='symbol'>:raise_errors</span> <span class='op'>=></span> <span class='kw'>false</span>
<span class='id identifier rubyid_app'>app</span><span class='period'>.</span><span class='id identifier rubyid_set'>set</span> <span class='symbol'>:show_exceptions</span> <span class='op'>=></span> <span class='kw'>false</span>
<span class='id identifier rubyid_app'>app</span><span class='period'>.</span><span class='id identifier rubyid_set'>set</span> <span class='symbol'>:dump_errors</span> <span class='op'>=></span> <span class='kw'>true</span>
<span class='id identifier rubyid_app'>app</span><span class='period'>.</span><span class='id identifier rubyid_error'>error</span> <span class='kw'>do</span> <span class='op'>|</span><span class='id identifier rubyid_err'>err</span><span class='op'>|</span>
<span class='id identifier rubyid_err'>err</span> <span class='op'>=</span> <span class='id identifier rubyid_env'>env</span><span class='lbracket'>[</span><span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>sinatra.error</span><span class='tstring_end'>'</span></span><span class='rbracket'>]</span>
<span class='kw'>if</span> <span class='id identifier rubyid_err'>err</span><span class='period'>.</span><span class='id identifier rubyid_is_a?'>is_a?</span><span class='lparen'>(</span><span class='const'>P4Exception</span><span class='rparen'>)</span>
<span class='comment'># Can happen when we're not passing a block to
</span> <span class='comment'># open_p4. Convert to a P4WebAPI error. This is not ideal
</span> <span class='comment'># as it always uses the same code, but then we have no idea
</span> <span class='comment'># what actually happened here.
</span>
<span class='id identifier rubyid_err'>err</span> <span class='op'>=</span> <span class='const'>P4Error</span><span class='period'>.</span><span class='id identifier rubyid_default_error'>default_error</span><span class='lparen'>(</span><span class='id identifier rubyid_err'>err</span><span class='period'>.</span><span class='id identifier rubyid_to_s'>to_s</span><span class='rparen'>)</span>
<span class='comment'># Fall through...
</span> <span class='kw'>end</span>
<span class='id identifier rubyid_body'>body</span> <span class='op'>=</span> <span class='kw'>nil</span>
<span class='kw'>if</span> <span class='id identifier rubyid_err'>err</span><span class='period'>.</span><span class='id identifier rubyid_is_a?'>is_a?</span><span class='lparen'>(</span><span class='const'>P4Error</span><span class='rparen'>)</span>
<span class='kw'>if</span> <span class='id identifier rubyid_err'>err</span><span class='period'>.</span><span class='id identifier rubyid_message_code'>message_code</span> <span class='op'>==</span> <span class='int'>7480</span> <span class='op'>||</span> <span class='id identifier rubyid_err'>err</span><span class='period'>.</span><span class='id identifier rubyid_message_code'>message_code</span> <span class='op'>==</span> <span class='int'>7189</span>
<span class='id identifier rubyid_halt'>halt</span> <span class='int'>401</span><span class='comma'>,</span> <span class='lbrace'>{</span>
<span class='label'>MessageCode:</span> <span class='int'>0</span><span class='comma'>,</span>
<span class='label'>MessageSeverity:</span> <span class='int'>4</span><span class='comma'>,</span>
<span class='label'>MessageText:</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>Resource not found</span><span class='tstring_end'>'</span></span>
<span class='rbrace'>}</span><span class='period'>.</span><span class='id identifier rubyid_to_json'>to_json</span>
<span class='kw'>else</span>
<span class='id identifier rubyid_code'>code</span> <span class='op'>=</span> <span class='int'>500</span>
<span class='id identifier rubyid_code'>code</span> <span class='op'>=</span> <span class='int'>400</span> <span class='kw'>if</span> <span class='id identifier rubyid_err'>err</span><span class='period'>.</span><span class='id identifier rubyid_user_error?'>user_error?</span>
<span class='id identifier rubyid_halt'>halt</span> <span class='id identifier rubyid_code'>code</span><span class='comma'>,</span> <span class='lbrace'>{</span>
<span class='label'>MessageCode:</span> <span class='id identifier rubyid_err'>err</span><span class='period'>.</span><span class='id identifier rubyid_message_code'>message_code</span><span class='comma'>,</span>
<span class='label'>MessageSeverity:</span> <span class='id identifier rubyid_err'>err</span><span class='period'>.</span><span class='id identifier rubyid_message_severity'>message_severity</span><span class='comma'>,</span>
<span class='label'>MessageText:</span> <span class='id identifier rubyid_err'>err</span><span class='period'>.</span><span class='id identifier rubyid_message_text'>message_text</span>
<span class='rbrace'>}</span><span class='period'>.</span><span class='id identifier rubyid_to_json'>to_json</span>
<span class='kw'>end</span>
<span class='kw'>end</span>
<span class='kw'>if</span> <span class='id identifier rubyid_body'>body</span><span class='period'>.</span><span class='id identifier rubyid_nil?'>nil?</span>
<span class='id identifier rubyid_body'>body</span> <span class='op'>=</span> <span class='lbrace'>{</span>
<span class='label'>MessageCode:</span> <span class='int'>15_361</span><span class='comma'>,</span>
<span class='label'>MessageSeverity:</span> <span class='const'>P4</span><span class='op'>::</span><span class='const'>E_FATAL</span><span class='comma'>,</span>
<span class='label'>MessageText:</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>Unknown server issue</span><span class='tstring_end'>'</span></span>
<span class='rbrace'>}</span><span class='period'>.</span><span class='id identifier rubyid_to_json'>to_json</span>
<span class='kw'>end</span>
<span class='id identifier rubyid_halt'>halt</span> <span class='int'>500</span><span class='comma'>,</span> <span class='id identifier rubyid_body'>body</span>
<span class='kw'>end</span>
<span class='kw'>end</span></pre>
</td>
</tr>
</table>
</div>
</div>
</div>
<div id="footer">
Generated on Mon Oct 12 22:20:50 2015 by
<a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
0.8.7.6 (ruby-2.2.3).
</div>
</body>
</html>