The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.
<!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">
<!--
This file was generated by Devel::Cover Version 0.64
Devel::Cover is copyright 2001-2006, Paul Johnson (pjcj@cpan.org)
Devel::Cover is free. It is licensed under the same terms as Perl itself.
The latest version of Devel::Cover should be available from my homepage:
http://www.pjcj.net
-->
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8"></meta>
    <meta http-equiv="Content-Language" content="en-us"></meta>
    <link rel="stylesheet" type="text/css" href="cover.css"></link>
    <link rel="stylesheet" type="text/css" href="cover.css"></link>
    <title>File Coverage: lib/Railsish/Dispatcher.pm</title>
</head>
<body>
<h1>File Coverage</h1>
<table>
<tr><td class="h" align="right">File:</td><td align="left">lib/Railsish/Dispatcher.pm</td></tr>
<tr><td class="h" align="right">Coverage:</td><td align="left" class="c1">88.5%</td></tr>
</table>
<div><br/></div>
<table>
<tr><th>line</th><th>stmt</th><th>bran</th><th>cond</th><th>sub</th><th>pod</th><th>time</th><th>code</th></tr>
<tr><td class="h">1</td><td></td><td></td><td></td><td></td><td></td><td></td><td class="s">package Railsish::Dispatcher;</td></tr>
<tr><td class="h">2</td><td></td><td></td><td></td><td></td><td></td><td></td><td class="s"># ABSTRACT: The first handler for requests.</td></tr>
<tr><td class="h">3</td><td colspan="7"></td></tr><tr><td class="h">4</td><td><div class="c3">7</div><div class="c3">7</div><div class="c3">7</div></td><td></td><td></td><td><div class="c3"><a href="lib-Railsish-Dispatcher-pm--subroutine.html#L4">7</a></div></td><td></td><td><div>143</div><div>23</div><div>592</div></td><td class="s">use Railsish::Router;</td></tr>
<tr><td class="h">5</td><td><div class="c3">7</div><div class="c3">7</div><div class="c3">7</div></td><td></td><td></td><td><div class="c3"><a href="lib-Railsish-Dispatcher-pm--subroutine.html#L5">7</a></div></td><td></td><td><div>704</div><div>30</div><div>56</div></td><td class="s">use YAML::Any;</td></tr>
<tr><td class="h">6</td><td><div class="c3">7</div><div class="c3">7</div><div class="c3">7</div></td><td></td><td></td><td><div class="c3"><a href="lib-Railsish-Dispatcher-pm--subroutine.html#L6">7</a></div></td><td></td><td><div>574</div><div>32</div><div>104</div></td><td class="s">use Hash::Merge qw(merge);</td></tr>
<tr><td class="h">7</td><td><div class="c3">7</div><div class="c3">7</div><div class="c3">7</div></td><td></td><td></td><td><div class="c3"><a href="lib-Railsish-Dispatcher-pm--subroutine.html#L7">7</a></div></td><td></td><td><div>152</div><div>24</div><div>100</div></td><td class="s">use Encode;</td></tr>
<tr><td class="h">8</td><td><div class="c3">7</div><div class="c3">7</div><div class="c3">7</div></td><td></td><td></td><td><div class="c3"><a href="lib-Railsish-Dispatcher-pm--subroutine.html#L8">7</a></div></td><td></td><td><div>141</div><div>22</div><div>98</div></td><td class="s">use Railsish::CoreHelpers;</td></tr>
<tr><td class="h">9</td><td><div class="c3">7</div><div class="c3">7</div><div class="c3">7</div></td><td></td><td></td><td><div class="c3"><a href="lib-Railsish-Dispatcher-pm--subroutine.html#L9">7</a></div></td><td></td><td><div>557</div><div>35</div><div>122</div></td><td class="s">use MIME::Base64;</td></tr>
<tr><td class="h">10</td><td><div class="c3">7</div><div class="c3">7</div><div class="c3">7</div></td><td></td><td></td><td><div class="c3"><a href="lib-Railsish-Dispatcher-pm--subroutine.html#L10">7</a></div></td><td></td><td><div>569</div><div>37</div><div>142</div></td><td class="s">use Crypt::CBC;</td></tr>
<tr><td class="h">11</td><td><div class="c3">7</div><div class="c3">7</div><div class="c3">7</div></td><td></td><td></td><td><div class="c3"><a href="lib-Railsish-Dispatcher-pm--subroutine.html#L11">7</a></div></td><td></td><td><div>153</div><div>22</div><div>129</div></td><td class="s">use JSON::XS;</td></tr>
<tr><td class="h">12</td><td colspan="7"></td></tr><tr><td class="h">13</td><td></td><td></td><td></td><td></td><td></td><td></td><td class="s">sub dispatch {</td></tr>
<tr><td class="h">14</td><td><div class="c3">19</div></td><td></td><td></td><td><div class="c3"><a href="lib-Railsish-Dispatcher-pm--subroutine.html#L14">19</a></div></td><td><div class="c0">0</div></td><td><div>115</div></td><td class="s">&nbsp;&nbsp;&nbsp;&nbsp;my ($class, $request) = @_;</td></tr>
<tr><td class="h">15</td><td><div class="c3">19</div></td><td></td><td></td><td></td><td></td><td><div>160</div></td><td class="s">&nbsp;&nbsp;&nbsp;&nbsp;my $path = $request-&gt;path;</td></tr>
<tr><td class="h">16</td><td colspan="7"></td></tr><tr><td class="h">17</td><td><div class="c3">19</div></td><td></td><td></td><td></td><td></td><td><div>86</div></td><td class="s">&nbsp;&nbsp;&nbsp;&nbsp;$path =~ s/\.([a-z]+)$//;</td></tr>
<tr><td class="h">18</td><td><div class="c3">19</div></td><td></td><td><div class="c0"><a href="lib-Railsish-Dispatcher-pm--condition.html#L18">50</a></div></td><td></td><td></td><td><div>212</div></td><td class="s">&nbsp;&nbsp;&nbsp;&nbsp;my $format = $1 || &quot;html&quot;;</td></tr>
<tr><td class="h">19</td><td colspan="7"></td></tr><tr><td class="h">20</td><td><div class="c3">19</div></td><td></td><td></td><td></td><td></td><td><div>151</div></td><td class="s">&nbsp;&nbsp;&nbsp;&nbsp;my $method = lc($request-&gt;method);</td></tr>
<tr><td class="h">21</td><td><div class="c3">19</div></td><td><div class="c3" title="T/F"><a href="lib-Railsish-Dispatcher-pm--branch.html#L21">100</a></div></td><td></td><td></td><td></td><td><div>588</div></td><td class="s">&nbsp;&nbsp;&nbsp;&nbsp;if ($method eq &#39;post&#39;) {</td></tr>
<tr><td class="h">22</td><td><div class="c3">2</div></td><td><div class="c0" title="-/F"><a href="lib-Railsish-Dispatcher-pm--branch.html#L22">50</a></div></td><td></td><td></td><td></td><td><div>15</div></td><td class="s">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if (my $m = $request-&gt;param(&quot;_method&quot;)) {</td></tr>
<tr><td class="h">23</td><td><div class="c0">0</div></td><td></td><td></td><td></td><td></td><td><div>0</div></td><td class="s">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$method = lc($m);</td></tr>
<tr><td class="h">24</td><td></td><td></td><td></td><td></td><td></td><td></td><td class="s">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</td></tr>
<tr><td class="h">25</td><td></td><td></td><td></td><td></td><td></td><td></td><td class="s">&nbsp;&nbsp;&nbsp;&nbsp;}</td></tr>
<tr><td class="h">26</td><td><div class="c3">19</div></td><td></td><td></td><td></td><td></td><td><div>518</div></td><td class="s">&nbsp;&nbsp;&nbsp;&nbsp;my $matched = Railsish::Router-&gt;match(</td></tr>
<tr><td class="h">27</td><td></td><td></td><td></td><td></td><td></td><td></td><td class="s">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$path, conditions =&gt; { method =&gt; $method }</td></tr>
<tr><td class="h">28</td><td></td><td></td><td></td><td></td><td></td><td></td><td class="s">&nbsp;&nbsp;&nbsp;&nbsp;);</td></tr>
<tr><td class="h">29</td><td colspan="7"></td></tr><tr><td class="h">30</td><td><div class="c3">19</div></td><td></td><td></td><td></td><td></td><td><div>420</div></td><td class="s">&nbsp;&nbsp;&nbsp;&nbsp;my $response = HTTP::Engine::Response-&gt;new;</td></tr>
<tr><td class="h">31</td><td><div class="c3">19</div></td><td><div class="c3" title="T/F"><a href="lib-Railsish-Dispatcher-pm--branch.html#L31">100</a></div></td><td></td><td></td><td></td><td><div>1502</div></td><td class="s">&nbsp;&nbsp;&nbsp;&nbsp;unless($matched) {</td></tr>
<tr><td class="h">32</td><td><div class="c3">4</div></td><td></td><td></td><td></td><td></td><td><div>28</div></td><td class="s">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$response-&gt;body(&quot;internal server error&quot;);</td></tr>
<tr><td class="h">33</td><td><div class="c3">4</div></td><td></td><td></td><td></td><td></td><td><div>261</div></td><td class="s">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$response-&gt;status(500);</td></tr>
<tr><td class="h">34</td><td><div class="c3">4</div></td><td></td><td></td><td></td><td></td><td><div>210</div></td><td class="s">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return $response;</td></tr>
<tr><td class="h">35</td><td></td><td></td><td></td><td></td><td></td><td></td><td class="s">&nbsp;&nbsp;&nbsp;&nbsp;}</td></tr>
<tr><td class="h">36</td><td colspan="7"></td></tr><tr><td class="h">37</td><td><div class="c3">15</div></td><td></td><td></td><td></td><td></td><td><div>149</div></td><td class="s">&nbsp;&nbsp;&nbsp;&nbsp;my $mapping = $matched-&gt;mapping;</td></tr>
<tr><td class="h">38</td><td colspan="7"></td></tr><tr><td class="h">39</td><td><div class="c3">15</div></td><td></td><td></td><td></td><td></td><td><div>292</div></td><td class="s">&nbsp;&nbsp;&nbsp;&nbsp;my $controller = $mapping-&gt;{controller};</td></tr>
<tr><td class="h">40</td><td><div class="c3">15</div></td><td></td><td><div class="c3"><a href="lib-Railsish-Dispatcher-pm--condition.html#L40">100</a></div></td><td></td><td></td><td><div>104</div></td><td class="s">&nbsp;&nbsp;&nbsp;&nbsp;my $action = $mapping-&gt;{action} || &quot;index&quot;;</td></tr>
<tr><td class="h">41</td><td colspan="7"></td></tr><tr><td class="h">42</td><td><div class="c3">15</div></td><td></td><td></td><td></td><td></td><td><div>90</div></td><td class="s">&nbsp;&nbsp;&nbsp;&nbsp;my $controller_class = ucfirst(lc($controller)) . &quot;Controller&quot;;</td></tr>
<tr><td class="h">43</td><td><div class="c3">15</div></td><td></td><td></td><td></td><td></td><td><div>256</div></td><td class="s">&nbsp;&nbsp;&nbsp;&nbsp;my $sub = $controller_class-&gt;can($action);</td></tr>
<tr><td class="h">44</td><td colspan="7"></td></tr><tr><td class="h">45</td><td><div class="c3">15</div></td><td><div class="c0" title="-/F"><a href="lib-Railsish-Dispatcher-pm--branch.html#L45">50</a></div></td><td></td><td></td><td></td><td><div>191</div></td><td class="s">&nbsp;&nbsp;&nbsp;&nbsp;die &quot;action $action is not defined in $controller_class.&quot; unless $sub;</td></tr>
<tr><td class="h">46</td><td colspan="7"></td></tr><tr><td class="h">47</td><td><div class="c3">15</div></td><td></td><td></td><td></td><td></td><td><div>70</div></td><td class="s">&nbsp;&nbsp;&nbsp;&nbsp;my %params = _preprocessed_parameters($request);</td></tr>
<tr><td class="h">48</td><td colspan="7"></td></tr><tr><td class="h">49</td><td><div class="c3">15</div></td><td></td><td></td><td></td><td></td><td><div>114</div></td><td class="s">&nbsp;&nbsp;&nbsp;&nbsp;my $params = merge(\%params, $mapping);</td></tr>
<tr><td class="h">50</td><td colspan="7"></td></tr><tr><td class="h">51</td><td><div class="c3">15</div></td><td></td><td></td><td></td><td></td><td><div>5213</div></td><td class="s">&nbsp;&nbsp;&nbsp;&nbsp;$Railsish::Controller::params = $params;</td></tr>
<tr><td class="h">52</td><td><div class="c3">15</div></td><td></td><td></td><td></td><td></td><td><div>65</div></td><td class="s">&nbsp;&nbsp;&nbsp;&nbsp;$Railsish::Controller::request = $request;</td></tr>
<tr><td class="h">53</td><td><div class="c3">15</div></td><td></td><td></td><td></td><td></td><td><div>50</div></td><td class="s">&nbsp;&nbsp;&nbsp;&nbsp;$Railsish::Controller::response = $response;</td></tr>
<tr><td class="h">54</td><td><div class="c3">15</div></td><td></td><td></td><td></td><td></td><td><div>45</div></td><td class="s">&nbsp;&nbsp;&nbsp;&nbsp;$Railsish::Controller::controller = $controller;</td></tr>
<tr><td class="h">55</td><td><div class="c3">15</div></td><td></td><td></td><td></td><td></td><td><div>410</div></td><td class="s">&nbsp;&nbsp;&nbsp;&nbsp;$Railsish::Controller::action = $action;</td></tr>
<tr><td class="h">56</td><td><div class="c3">15</div></td><td></td><td></td><td></td><td></td><td><div>42</div></td><td class="s">&nbsp;&nbsp;&nbsp;&nbsp;$Railsish::Controller::format = $format;</td></tr>
<tr><td class="h">57</td><td colspan="7"></td></tr><tr><td class="h">58</td><td><div class="c3">15</div></td><td></td><td></td><td></td><td></td><td><div>73</div></td><td class="s">&nbsp;&nbsp;&nbsp;&nbsp;my $session = $Railsish::Controller::session = _load_session($request);</td></tr>
<tr><td class="h">59</td><td colspan="7"></td></tr><tr><td class="h">60</td><td><div class="c3">15</div></td><td></td><td></td><td></td><td></td><td><div>157</div></td><td class="s">&nbsp;&nbsp;&nbsp;&nbsp;logger-&gt;debug(Dump({</td></tr>
<tr><td class="h">61</td><td></td><td></td><td></td><td></td><td></td><td></td><td class="s">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;request_path =&gt; $path,</td></tr>
<tr><td class="h">62</td><td></td><td></td><td></td><td></td><td></td><td></td><td class="s">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;method =&gt; $method,</td></tr>
<tr><td class="h">63</td><td></td><td></td><td></td><td></td><td></td><td></td><td class="s">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;controller =&gt; $controller,</td></tr>
<tr><td class="h">64</td><td></td><td></td><td></td><td></td><td></td><td></td><td class="s">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;action =&gt; $action,</td></tr>
<tr><td class="h">65</td><td></td><td></td><td></td><td></td><td></td><td></td><td class="s">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;params =&gt; $params,</td></tr>
<tr><td class="h">66</td><td></td><td></td><td></td><td></td><td></td><td></td><td class="s">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;session =&gt; $session</td></tr>
<tr><td class="h">67</td><td></td><td></td><td></td><td></td><td></td><td></td><td class="s">&nbsp;&nbsp;&nbsp;&nbsp;}));</td></tr>
<tr><td class="h">68</td><td colspan="7"></td></tr><tr><td class="h">69</td><td><div class="c3">15</div></td><td></td><td></td><td></td><td></td><td><div>2668</div></td><td class="s">&nbsp;&nbsp;&nbsp;&nbsp;$sub-&gt;();</td></tr>
<tr><td class="h">70</td><td colspan="7"></td></tr><tr><td class="h">71</td><td><div class="c3">15</div></td><td></td><td></td><td></td><td></td><td><div>1157</div></td><td class="s">&nbsp;&nbsp;&nbsp;&nbsp;_store_session($response, $session);</td></tr>
<tr><td class="h">72</td><td colspan="7"></td></tr><tr><td class="h">73</td><td><div class="c3">15</div></td><td></td><td></td><td></td><td></td><td><div>47</div></td><td class="s">&nbsp;&nbsp;&nbsp;&nbsp;return $response;</td></tr>
<tr><td class="h">74</td><td></td><td></td><td></td><td></td><td></td><td></td><td class="s">}</td></tr>
<tr><td class="h">75</td><td colspan="7"></td></tr><tr><td class="h">76</td><td></td><td></td><td></td><td></td><td></td><td></td><td class="s">sub _preprocessed_parameters {</td></tr>
<tr><td class="h">77</td><td><div class="c3">15</div></td><td></td><td></td><td><div class="c3"><a href="lib-Railsish-Dispatcher-pm--subroutine.html#L77">15</a></div></td><td></td><td><div>63</div></td><td class="s">&nbsp;&nbsp;&nbsp;&nbsp;my ($request) = @_;</td></tr>
<tr><td class="h">78</td><td><div class="c3">15</div><div class="c3">15</div></td><td></td><td></td><td></td><td></td><td><div>46</div><div>128</div></td><td class="s">&nbsp;&nbsp;&nbsp;&nbsp;my %params = %{$request-&gt;parameters};</td></tr>
<tr><td class="h">79</td><td><div class="c3">15</div></td><td></td><td></td><td></td><td></td><td><div>1300</div></td><td class="s">&nbsp;&nbsp;&nbsp;&nbsp;for (keys %params) {</td></tr>
<tr><td class="h">80</td><td><div class="c0">0</div></td><td></td><td></td><td></td><td></td><td><div>0</div></td><td class="s">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$params{$_} = Encode::decode_utf8( $params{$_} );</td></tr>
<tr><td class="h">81</td><td colspan="7"></td></tr><tr><td class="h">82</td><td><div class="c0">0</div></td><td><div class="c0" title="-/-"><a href="lib-Railsish-Dispatcher-pm--branch.html#L82">0</a></div></td><td></td><td></td><td></td><td><div>0</div></td><td class="s">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if (/^(\w+)\[(\w+)\]$/) {</td></tr>
<tr><td class="h">83</td><td><div class="c0">0</div></td><td></td><td><div class="c0"><a href="lib-Railsish-Dispatcher-pm--condition.html#L83">0</a></div></td><td></td><td></td><td><div>0</div></td><td class="s">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$params{$1} ||= {};</td></tr>
<tr><td class="h">84</td><td><div class="c0">0</div></td><td></td><td></td><td></td><td></td><td><div>0</div></td><td class="s">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$params{$1}-&gt;{$2}= delete $params{$_};</td></tr>
<tr><td class="h">85</td><td></td><td></td><td></td><td></td><td></td><td></td><td class="s">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</td></tr>
<tr><td class="h">86</td><td></td><td></td><td></td><td></td><td></td><td></td><td class="s">&nbsp;&nbsp;&nbsp;&nbsp;}</td></tr>
<tr><td class="h">87</td><td colspan="7"></td></tr><tr><td class="h">88</td><td><div class="c3">15</div></td><td></td><td></td><td></td><td></td><td><div>91</div></td><td class="s">&nbsp;&nbsp;&nbsp;&nbsp;return %params;</td></tr>
<tr><td class="h">89</td><td></td><td></td><td></td><td></td><td></td><td></td><td class="s">}</td></tr>
<tr><td class="h">90</td><td colspan="7"></td></tr><tr><td class="h">91</td><td></td><td></td><td></td><td></td><td></td><td></td><td class="s">sub _load_session {</td></tr>
<tr><td class="h">92</td><td><div class="c3">15</div></td><td></td><td></td><td><div class="c3"><a href="lib-Railsish-Dispatcher-pm--subroutine.html#L92">15</a></div></td><td></td><td><div>57</div></td><td class="s">&nbsp;&nbsp;&nbsp;&nbsp;my ($request) = @_;</td></tr>
<tr><td class="h">93</td><td colspan="7"></td></tr><tr><td class="h">94</td><td></td><td></td><td></td><td></td><td></td><td></td><td class="s">&nbsp;&nbsp;&nbsp;&nbsp;# XXX: the -key here should be given from app config.</td></tr>
<tr><td class="h">95</td><td><div class="c3">15</div></td><td></td><td></td><td></td><td></td><td><div>368</div></td><td class="s">&nbsp;&nbsp;&nbsp;&nbsp;my $cipher = Crypt::CBC-&gt;new(-key =&gt; &quot;railsish&quot;, -cipher =&gt; &quot;Rijndael&quot;);</td></tr>
<tr><td class="h">96</td><td><div class="c3">15</div></td><td></td><td></td><td></td><td></td><td><div>5154</div></td><td class="s">&nbsp;&nbsp;&nbsp;&nbsp;my $session = {};</td></tr>
<tr><td class="h">97</td><td><div class="c3">15</div></td><td></td><td></td><td></td><td></td><td><div>139</div></td><td class="s">&nbsp;&nbsp;&nbsp;&nbsp;my $session_cookie = $request-&gt;cookies-&gt;{_railsish_session};</td></tr>
<tr><td class="h">98</td><td><div class="c3">15</div></td><td><div class="c3" title="T/F"><a href="lib-Railsish-Dispatcher-pm--branch.html#L98">100</a></div></td><td></td><td></td><td></td><td><div>626</div></td><td class="s">&nbsp;&nbsp;&nbsp;&nbsp;if ($session_cookie) {</td></tr>
<tr><td class="h">99</td><td><div class="c3">1</div></td><td></td><td></td><td></td><td></td><td><div>9</div></td><td class="s">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;my $ciphertext_base64   = $session_cookie-&gt;value;</td></tr>
<tr><td class="h">100</td><td><div class="c3">1</div></td><td></td><td></td><td></td><td></td><td><div>9</div></td><td class="s">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;my $ciphertext_unbase64 = decode_base64($ciphertext_base64);</td></tr>
<tr><td class="h">101</td><td><div class="c3">1</div></td><td></td><td></td><td></td><td></td><td><div>7</div></td><td class="s">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;my $json = $cipher-&gt;decrypt($ciphertext_unbase64);</td></tr>
<tr><td class="h">102</td><td><div class="c3">1</div></td><td></td><td></td><td></td><td></td><td><div>793</div></td><td class="s">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$session = decode_json($json);</td></tr>
<tr><td class="h">103</td><td></td><td></td><td></td><td></td><td></td><td></td><td class="s">&nbsp;&nbsp;&nbsp;&nbsp;}</td></tr>
<tr><td class="h">104</td><td><div class="c3">15</div></td><td></td><td></td><td></td><td></td><td><div>184</div></td><td class="s">&nbsp;&nbsp;&nbsp;&nbsp;return $session;</td></tr>
<tr><td class="h">105</td><td></td><td></td><td></td><td></td><td></td><td></td><td class="s">}</td></tr>
<tr><td class="h">106</td><td colspan="7"></td></tr><tr><td class="h">107</td><td></td><td></td><td></td><td></td><td></td><td></td><td class="s">sub _store_session {</td></tr>
<tr><td class="h">108</td><td><div class="c3">15</div></td><td></td><td></td><td><div class="c3"><a href="lib-Railsish-Dispatcher-pm--subroutine.html#L108">15</a></div></td><td></td><td><div>73</div></td><td class="s">&nbsp;&nbsp;&nbsp;&nbsp;my ($response, $session) = @_;</td></tr>
<tr><td class="h">109</td><td><div class="c3">15</div></td><td></td><td></td><td></td><td></td><td><div>159</div></td><td class="s">&nbsp;&nbsp;&nbsp;&nbsp;my $cipher = Crypt::CBC-&gt;new(-key =&gt; &quot;railsish&quot;, -cipher =&gt; &quot;Rijndael&quot;);</td></tr>
<tr><td class="h">110</td><td><div class="c3">15</div></td><td></td><td></td><td></td><td></td><td><div>7151</div></td><td class="s">&nbsp;&nbsp;&nbsp;&nbsp;my $json = encode_json($session);</td></tr>
<tr><td class="h">111</td><td><div class="c3">15</div></td><td></td><td></td><td></td><td></td><td><div>131</div></td><td class="s">&nbsp;&nbsp;&nbsp;&nbsp;my $ciphertext = $cipher-&gt;encrypt($json);</td></tr>
<tr><td class="h">112</td><td><div class="c3">15</div></td><td></td><td></td><td></td><td></td><td><div>36581</div></td><td class="s">&nbsp;&nbsp;&nbsp;&nbsp;my $ciphertext_base64 = encode_base64($ciphertext, &#39;&#39;);</td></tr>
<tr><td class="h">113</td><td><div class="c3">15</div></td><td></td><td></td><td></td><td></td><td><div>186</div></td><td class="s">&nbsp;&nbsp;&nbsp;&nbsp;$response-&gt;cookies-&gt;{_railsish_session} = {</td></tr>
<tr><td class="h">114</td><td></td><td></td><td></td><td></td><td></td><td></td><td class="s">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;value =&gt; $ciphertext_base64</td></tr>
<tr><td class="h">115</td><td></td><td></td><td></td><td></td><td></td><td></td><td class="s">&nbsp;&nbsp;&nbsp;&nbsp;};</td></tr>
<tr><td class="h">116</td><td></td><td></td><td></td><td></td><td></td><td></td><td class="s">}</td></tr>
<tr><td class="h">117</td><td colspan="7"></td></tr><tr><td class="h">118</td><td></td><td></td><td></td><td></td><td></td><td></td><td class="s">1;</td></tr>
<tr><td class="h">119</td><td colspan="7"></td></tr><tr><td class="h">120 - 124</td><td colspan="6"></td><td class="s"><pre>=head1 DESCRIPTION

This class contains the first handler for requests.

=cut</pre></td></tr>
</table>
</body>
</html>