Advertisement
Guest User

Untitled

a guest
Jul 13th, 2017
580
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 197.39 KB | None | 0 0
  1. [root@foreman ~]# /usr/bin/foreman_scap_client 1
  2. DEBUG: running: oscap xccdf eval --profile xccdf_org.ssgproject.content_profile_standard --results-arf /tmp/d20170713-19950-188nf73/results.xml /var/lib/openscap/content/3e1654fd14a5352d65294db555710bfda5cad1a942209e2d787ea7940035616e.xml
  3. WARNING: Skipping http://www.redhat.com/security/data/oval/Red_Hat_Enterprise_Linux_7.xml file which is referenced from XCCDF content
  4. DEBUG: running: /usr/bin/bzip2 /tmp/d20170713-19950-188nf73/results.xml
  5. Uploading results to https://foreman.qualica.com:9090/compliance/arf/1
  6. <!DOCTYPE html>
  7. <html>
  8. <head>
  9. <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
  10. <title>OpenSSL::SSL::SSLError at &#x2F;compliance&#x2F;arf&#x2F;1</title>
  11.  
  12. <script type="text/javascript">
  13. //<!--
  14. function toggle(id) {
  15. var pre = document.getElementById("pre-" + id);
  16. var post = document.getElementById("post-" + id);
  17. var context = document.getElementById("context-" + id);
  18.  
  19. if (pre.style.display == 'block') {
  20. pre.style.display = 'none';
  21. post.style.display = 'none';
  22. context.style.background = "none";
  23. } else {
  24. pre.style.display = 'block';
  25. post.style.display = 'block';
  26. context.style.background = "#fffed9";
  27. }
  28. }
  29.  
  30. function toggleBacktrace(){
  31. var bt = document.getElementById("backtrace");
  32. var toggler = document.getElementById("expando");
  33.  
  34. if (bt.className == 'condensed') {
  35. bt.className = 'expanded';
  36. toggler.innerHTML = "(condense)";
  37. } else {
  38. bt.className = 'condensed';
  39. toggler.innerHTML = "(expand)";
  40. }
  41. }
  42. //-->
  43. </script>
  44.  
  45. <style type="text/css" media="screen">
  46. * {margin: 0; padding: 0; border: 0; outline: 0;}
  47. div.clear {clear: both;}
  48. body {background: #EEEEEE; margin: 0; padding: 0;
  49. font-family: 'Lucida Grande', 'Lucida Sans Unicode',
  50. 'Garuda';}
  51. code {font-family: 'Lucida Console', monospace;
  52. font-size: 12px;}
  53. li {height: 18px;}
  54. ul {list-style: none; margin: 0; padding: 0;}
  55. ol:hover {cursor: pointer;}
  56. ol li {white-space: pre;}
  57. #explanation {font-size: 12px; color: #666666;
  58. margin: 20px 0 0 100px;}
  59. /* WRAP */
  60. #wrap {width: 1000px; background: #FFFFFF; margin: 0 auto;
  61. padding: 30px 50px 20px 50px;
  62. border-left: 1px solid #DDDDDD;
  63. border-right: 1px solid #DDDDDD;}
  64. /* HEADER */
  65. #header {margin: 0 auto 25px auto;}
  66. #header img {float: left;}
  67. #header #summary {float: left; margin: 12px 0 0 20px; width:660px;
  68. font-family: 'Lucida Grande', 'Lucida Sans Unicode';}
  69. h1 {margin: 0; font-size: 36px; color: #981919;}
  70. h2 {margin: 0; font-size: 22px; color: #333333;}
  71. #header ul {margin: 0; font-size: 12px; color: #666666;}
  72. #header ul li strong{color: #444444;}
  73. #header ul li {display: inline; padding: 0 10px;}
  74. #header ul li.first {padding-left: 0;}
  75. #header ul li.last {border: 0; padding-right: 0;}
  76. /* BODY */
  77. #backtrace,
  78. #get,
  79. #post,
  80. #cookies,
  81. #rack {width: 980px; margin: 0 auto 10px auto;}
  82. p#nav {float: right; font-size: 14px;}
  83. /* BACKTRACE */
  84. a#expando {float: left; padding-left: 5px; color: #666666;
  85. font-size: 14px; text-decoration: none; cursor: pointer;}
  86. a#expando:hover {text-decoration: underline;}
  87. h3 {float: left; width: 100px; margin-bottom: 10px;
  88. color: #981919; font-size: 14px; font-weight: bold;}
  89. #nav a {color: #666666; text-decoration: none; padding: 0 5px;}
  90. #backtrace li.frame-info {background: #f7f7f7; padding-left: 10px;
  91. font-size: 12px; color: #333333;}
  92. #backtrace ul {list-style-position: outside; border: 1px solid #E9E9E9;
  93. border-bottom: 0;}
  94. #backtrace ol {width: 920px; margin-left: 50px;
  95. font: 10px 'Lucida Console', monospace; color: #666666;}
  96. #backtrace ol li {border: 0; border-left: 1px solid #E9E9E9;
  97. padding: 2px 0;}
  98. #backtrace ol code {font-size: 10px; color: #555555; padding-left: 5px;}
  99. #backtrace-ul li {border-bottom: 1px solid #E9E9E9; height: auto;
  100. padding: 3px 0;}
  101. #backtrace-ul .code {padding: 6px 0 4px 0;}
  102. #backtrace.condensed .system,
  103. #backtrace.condensed .framework {display:none;}
  104. /* REQUEST DATA */
  105. p.no-data {padding-top: 2px; font-size: 12px; color: #666666;}
  106. table.req {width: 980px; text-align: left; font-size: 12px;
  107. color: #666666; padding: 0; border-spacing: 0;
  108. border: 1px solid #EEEEEE; border-bottom: 0;
  109. border-left: 0;
  110. clear:both}
  111. table.req tr th {padding: 2px 10px; font-weight: bold;
  112. background: #F7F7F7; border-bottom: 1px solid #EEEEEE;
  113. border-left: 1px solid #EEEEEE;}
  114. table.req tr td {padding: 2px 20px 2px 10px;
  115. border-bottom: 1px solid #EEEEEE;
  116. border-left: 1px solid #EEEEEE;}
  117. /* HIDE PRE/POST CODE AT START */
  118. .pre-context,
  119. .post-context {display: none;}
  120.  
  121. table td.code {width:750px}
  122. table td.code div {width:750px;overflow:hidden}
  123. </style>
  124. </head>
  125. <body>
  126. <div id="wrap">
  127. <div id="header">
  128. <img src="/compliance/__sinatra__/500.png" alt="application error" height="161" width="313" />
  129. <div id="summary">
  130. <h1><strong>OpenSSL::SSL::SSLError</strong> at <strong>&#x2F;compliance&#x2F;arf&#x2F;1
  131. </strong></h1>
  132. <h2>SSL_connect returned=1 errno=0 state=SSLv3 read server session ticket A: tlsv1 alert unknown ca</h2>
  133. <ul>
  134. <li class="first"><strong>file:</strong> <code>
  135. http.rb</code></li>
  136. <li><strong>location:</strong> <code>connect
  137. </code></li>
  138. <li class="last"><strong>line:
  139. </strong> 921</li>
  140. </ul>
  141. </div>
  142. <div class="clear"></div>
  143. </div>
  144.  
  145. <div id="backtrace" class='condensed'>
  146. <h3>BACKTRACE</h3>
  147. <p><a href="#" id="expando"
  148. onclick="toggleBacktrace(); return false">(expand)</a></p>
  149. <p id="nav"><strong>JUMP TO:</strong>
  150. <a href="#get-info">GET</a>
  151. <a href="#post-info">POST</a>
  152. <a href="#cookie-info">COOKIES</a>
  153. <a href="#env-info">ENV</a>
  154. </p>
  155. <div class="clear"></div>
  156.  
  157. <ul id="backtrace-ul">
  158.  
  159.  
  160.  
  161.  
  162.  
  163. <li class="frame-info app">
  164. <code>&#x2F;usr&#x2F;share&#x2F;ruby&#x2F;net&#x2F;http.rb</code> in
  165. <code><strong>connect</strong></code>
  166. </li>
  167.  
  168. <li class="code app">
  169.  
  170. <ol start="914"
  171. class="pre-context" id="pre-1"
  172. onclick="toggle(1);">
  173.  
  174. <li class="pre-context-line"><code> end
  175. </code></li>
  176.  
  177. <li class="pre-context-line"><code> if @ssl_session and
  178. </code></li>
  179.  
  180. <li class="pre-context-line"><code> Time.now &lt; @ssl_session.time + @ssl_session.timeout
  181. </code></li>
  182.  
  183. <li class="pre-context-line"><code> s.session = @ssl_session if @ssl_session
  184. </code></li>
  185.  
  186. <li class="pre-context-line"><code> end
  187. </code></li>
  188.  
  189. <li class="pre-context-line"><code> # Server Name Indication (SNI) RFC 3546
  190. </code></li>
  191.  
  192. <li class="pre-context-line"><code> s.hostname = @address if s.respond_to? :hostname=
  193. </code></li>
  194.  
  195. </ol>
  196.  
  197.  
  198. <ol start="921" class="context" id="1"
  199. onclick="toggle(1);">
  200. <li class="context-line" id="context-1"><code> Timeout.timeout(@open_timeout, Net::OpenTimeout) { s.connect }</code></li>
  201. </ol>
  202.  
  203.  
  204. <ol start="922" class="post-context"
  205. id="post-1" onclick="toggle(1);">
  206.  
  207. <li class="post-context-line"><code> if @ssl_context.verify_mode != OpenSSL::SSL::VERIFY_NONE
  208. </code></li>
  209.  
  210. <li class="post-context-line"><code> s.post_connection_check(@address)
  211. </code></li>
  212.  
  213. <li class="post-context-line"><code> end
  214. </code></li>
  215.  
  216. <li class="post-context-line"><code> @ssl_session = s.session
  217. </code></li>
  218.  
  219. <li class="post-context-line"><code> rescue =&gt; exception
  220. </code></li>
  221.  
  222. <li class="post-context-line"><code> D &quot;Conn close because of connect error #{exception}&quot;
  223. </code></li>
  224.  
  225. <li class="post-context-line"><code> @socket.close if @socket and not @socket.closed?
  226. </code></li>
  227.  
  228. </ol>
  229.  
  230. <div class="clear"></div>
  231. </li>
  232.  
  233.  
  234.  
  235.  
  236.  
  237.  
  238.  
  239. <li class="frame-info app">
  240. <code>&#x2F;usr&#x2F;share&#x2F;ruby&#x2F;net&#x2F;http.rb</code> in
  241. <code><strong>block in connect</strong></code>
  242. </li>
  243.  
  244. <li class="code app">
  245.  
  246. <ol start="914"
  247. class="pre-context" id="pre-2"
  248. onclick="toggle(2);">
  249.  
  250. <li class="pre-context-line"><code> end
  251. </code></li>
  252.  
  253. <li class="pre-context-line"><code> if @ssl_session and
  254. </code></li>
  255.  
  256. <li class="pre-context-line"><code> Time.now &lt; @ssl_session.time + @ssl_session.timeout
  257. </code></li>
  258.  
  259. <li class="pre-context-line"><code> s.session = @ssl_session if @ssl_session
  260. </code></li>
  261.  
  262. <li class="pre-context-line"><code> end
  263. </code></li>
  264.  
  265. <li class="pre-context-line"><code> # Server Name Indication (SNI) RFC 3546
  266. </code></li>
  267.  
  268. <li class="pre-context-line"><code> s.hostname = @address if s.respond_to? :hostname=
  269. </code></li>
  270.  
  271. </ol>
  272.  
  273.  
  274. <ol start="921" class="context" id="2"
  275. onclick="toggle(2);">
  276. <li class="context-line" id="context-2"><code> Timeout.timeout(@open_timeout, Net::OpenTimeout) { s.connect }</code></li>
  277. </ol>
  278.  
  279.  
  280. <ol start="922" class="post-context"
  281. id="post-2" onclick="toggle(2);">
  282.  
  283. <li class="post-context-line"><code> if @ssl_context.verify_mode != OpenSSL::SSL::VERIFY_NONE
  284. </code></li>
  285.  
  286. <li class="post-context-line"><code> s.post_connection_check(@address)
  287. </code></li>
  288.  
  289. <li class="post-context-line"><code> end
  290. </code></li>
  291.  
  292. <li class="post-context-line"><code> @ssl_session = s.session
  293. </code></li>
  294.  
  295. <li class="post-context-line"><code> rescue =&gt; exception
  296. </code></li>
  297.  
  298. <li class="post-context-line"><code> D &quot;Conn close because of connect error #{exception}&quot;
  299. </code></li>
  300.  
  301. <li class="post-context-line"><code> @socket.close if @socket and not @socket.closed?
  302. </code></li>
  303.  
  304. </ol>
  305.  
  306. <div class="clear"></div>
  307. </li>
  308.  
  309.  
  310.  
  311.  
  312.  
  313.  
  314.  
  315. <li class="frame-info app">
  316. <code>&#x2F;usr&#x2F;share&#x2F;ruby&#x2F;timeout.rb</code> in
  317. <code><strong>timeout</strong></code>
  318. </li>
  319.  
  320. <li class="code app">
  321.  
  322. <ol start="45"
  323. class="pre-context" id="pre-3"
  324. onclick="toggle(3);">
  325.  
  326. <li class="pre-context-line"><code> # Returns the result of the block *if* the block completed before
  327. </code></li>
  328.  
  329. <li class="pre-context-line"><code> # +sec+ seconds, otherwise throws an exception, based on the value of +klass+.
  330. </code></li>
  331.  
  332. <li class="pre-context-line"><code> #
  333. </code></li>
  334.  
  335. <li class="pre-context-line"><code> # Note that this is both a method of module Timeout, so you can &lt;tt&gt;include
  336. </code></li>
  337.  
  338. <li class="pre-context-line"><code> # Timeout&lt;&#x2F;tt&gt; into your classes so they have a #timeout method, as well as
  339. </code></li>
  340.  
  341. <li class="pre-context-line"><code> # a module method, so you can call it directly as Timeout.timeout().
  342. </code></li>
  343.  
  344. <li class="pre-context-line"><code> def timeout(sec, klass = nil) #:yield: +sec+
  345. </code></li>
  346.  
  347. </ol>
  348.  
  349.  
  350. <ol start="52" class="context" id="3"
  351. onclick="toggle(3);">
  352. <li class="context-line" id="context-3"><code> return yield(sec) if sec == nil or sec.zero?</code></li>
  353. </ol>
  354.  
  355.  
  356. <ol start="53" class="post-context"
  357. id="post-3" onclick="toggle(3);">
  358.  
  359. <li class="post-context-line"><code> exception = klass || Class.new(ExitException)
  360. </code></li>
  361.  
  362. <li class="post-context-line"><code> begin
  363. </code></li>
  364.  
  365. <li class="post-context-line"><code> begin
  366. </code></li>
  367.  
  368. <li class="post-context-line"><code> x = Thread.current
  369. </code></li>
  370.  
  371. <li class="post-context-line"><code> y = Thread.start {
  372. </code></li>
  373.  
  374. <li class="post-context-line"><code> begin
  375. </code></li>
  376.  
  377. <li class="post-context-line"><code> sleep sec
  378. </code></li>
  379.  
  380. </ol>
  381.  
  382. <div class="clear"></div>
  383. </li>
  384.  
  385.  
  386.  
  387.  
  388.  
  389.  
  390.  
  391. <li class="frame-info app">
  392. <code>&#x2F;usr&#x2F;share&#x2F;ruby&#x2F;net&#x2F;http.rb</code> in
  393. <code><strong>connect</strong></code>
  394. </li>
  395.  
  396. <li class="code app">
  397.  
  398. <ol start="914"
  399. class="pre-context" id="pre-4"
  400. onclick="toggle(4);">
  401.  
  402. <li class="pre-context-line"><code> end
  403. </code></li>
  404.  
  405. <li class="pre-context-line"><code> if @ssl_session and
  406. </code></li>
  407.  
  408. <li class="pre-context-line"><code> Time.now &lt; @ssl_session.time + @ssl_session.timeout
  409. </code></li>
  410.  
  411. <li class="pre-context-line"><code> s.session = @ssl_session if @ssl_session
  412. </code></li>
  413.  
  414. <li class="pre-context-line"><code> end
  415. </code></li>
  416.  
  417. <li class="pre-context-line"><code> # Server Name Indication (SNI) RFC 3546
  418. </code></li>
  419.  
  420. <li class="pre-context-line"><code> s.hostname = @address if s.respond_to? :hostname=
  421. </code></li>
  422.  
  423. </ol>
  424.  
  425.  
  426. <ol start="921" class="context" id="4"
  427. onclick="toggle(4);">
  428. <li class="context-line" id="context-4"><code> Timeout.timeout(@open_timeout, Net::OpenTimeout) { s.connect }</code></li>
  429. </ol>
  430.  
  431.  
  432. <ol start="922" class="post-context"
  433. id="post-4" onclick="toggle(4);">
  434.  
  435. <li class="post-context-line"><code> if @ssl_context.verify_mode != OpenSSL::SSL::VERIFY_NONE
  436. </code></li>
  437.  
  438. <li class="post-context-line"><code> s.post_connection_check(@address)
  439. </code></li>
  440.  
  441. <li class="post-context-line"><code> end
  442. </code></li>
  443.  
  444. <li class="post-context-line"><code> @ssl_session = s.session
  445. </code></li>
  446.  
  447. <li class="post-context-line"><code> rescue =&gt; exception
  448. </code></li>
  449.  
  450. <li class="post-context-line"><code> D &quot;Conn close because of connect error #{exception}&quot;
  451. </code></li>
  452.  
  453. <li class="post-context-line"><code> @socket.close if @socket and not @socket.closed?
  454. </code></li>
  455.  
  456. </ol>
  457.  
  458. <div class="clear"></div>
  459. </li>
  460.  
  461.  
  462.  
  463.  
  464.  
  465.  
  466.  
  467. <li class="frame-info app">
  468. <code>&#x2F;usr&#x2F;share&#x2F;ruby&#x2F;net&#x2F;http.rb</code> in
  469. <code><strong>do_start</strong></code>
  470. </li>
  471.  
  472. <li class="code app">
  473.  
  474. <ol start="855"
  475. class="pre-context" id="pre-5"
  476. onclick="toggle(5);">
  477.  
  478. <li class="pre-context-line"><code> end
  479. </code></li>
  480.  
  481. <li class="pre-context-line"><code> end
  482. </code></li>
  483.  
  484. <li class="pre-context-line"><code> do_start
  485. </code></li>
  486.  
  487. <li class="pre-context-line"><code> self
  488. </code></li>
  489.  
  490. <li class="pre-context-line"><code> end
  491. </code></li>
  492.  
  493. <li class="pre-context-line"><code>
  494. </code></li>
  495.  
  496. <li class="pre-context-line"><code> def do_start
  497. </code></li>
  498.  
  499. </ol>
  500.  
  501.  
  502. <ol start="862" class="context" id="5"
  503. onclick="toggle(5);">
  504. <li class="context-line" id="context-5"><code> connect</code></li>
  505. </ol>
  506.  
  507.  
  508. <ol start="863" class="post-context"
  509. id="post-5" onclick="toggle(5);">
  510.  
  511. <li class="post-context-line"><code> @started = true
  512. </code></li>
  513.  
  514. <li class="post-context-line"><code> end
  515. </code></li>
  516.  
  517. <li class="post-context-line"><code> private :do_start
  518. </code></li>
  519.  
  520. <li class="post-context-line"><code>
  521. </code></li>
  522.  
  523. <li class="post-context-line"><code> def connect
  524. </code></li>
  525.  
  526. <li class="post-context-line"><code> if proxy? then
  527. </code></li>
  528.  
  529. <li class="post-context-line"><code> conn_address = proxy_address
  530. </code></li>
  531.  
  532. </ol>
  533.  
  534. <div class="clear"></div>
  535. </li>
  536.  
  537.  
  538.  
  539.  
  540.  
  541.  
  542.  
  543. <li class="frame-info app">
  544. <code>&#x2F;usr&#x2F;share&#x2F;ruby&#x2F;net&#x2F;http.rb</code> in
  545. <code><strong>start</strong></code>
  546. </li>
  547.  
  548. <li class="code app">
  549.  
  550. <ol start="844"
  551. class="pre-context" id="pre-6"
  552. onclick="toggle(6);">
  553.  
  554. <li class="pre-context-line"><code> # When called with a block, it returns the return value of the
  555. </code></li>
  556.  
  557. <li class="pre-context-line"><code> # block; otherwise, it returns self.
  558. </code></li>
  559.  
  560. <li class="pre-context-line"><code> #
  561. </code></li>
  562.  
  563. <li class="pre-context-line"><code> def start # :yield: http
  564. </code></li>
  565.  
  566. <li class="pre-context-line"><code> raise IOError, &#x27;HTTP session already opened&#x27; if @started
  567. </code></li>
  568.  
  569. <li class="pre-context-line"><code> if block_given?
  570. </code></li>
  571.  
  572. <li class="pre-context-line"><code> begin
  573. </code></li>
  574.  
  575. </ol>
  576.  
  577.  
  578. <ol start="851" class="context" id="6"
  579. onclick="toggle(6);">
  580. <li class="context-line" id="context-6"><code> do_start</code></li>
  581. </ol>
  582.  
  583.  
  584. <ol start="852" class="post-context"
  585. id="post-6" onclick="toggle(6);">
  586.  
  587. <li class="post-context-line"><code> return yield(self)
  588. </code></li>
  589.  
  590. <li class="post-context-line"><code> ensure
  591. </code></li>
  592.  
  593. <li class="post-context-line"><code> do_finish
  594. </code></li>
  595.  
  596. <li class="post-context-line"><code> end
  597. </code></li>
  598.  
  599. <li class="post-context-line"><code> end
  600. </code></li>
  601.  
  602. <li class="post-context-line"><code> do_start
  603. </code></li>
  604.  
  605. <li class="post-context-line"><code> self
  606. </code></li>
  607.  
  608. </ol>
  609.  
  610. <div class="clear"></div>
  611. </li>
  612.  
  613.  
  614.  
  615.  
  616.  
  617.  
  618.  
  619. <li class="frame-info app">
  620. <code>&#x2F;usr&#x2F;share&#x2F;ruby&#x2F;net&#x2F;http.rb</code> in
  621. <code><strong>request</strong></code>
  622. </li>
  623.  
  624. <li class="code app">
  625.  
  626. <ol start="1366"
  627. class="pre-context" id="pre-7"
  628. onclick="toggle(7);">
  629.  
  630. <li class="pre-context-line"><code> # the block can process it using HTTPResponse#read_body,
  631. </code></li>
  632.  
  633. <li class="pre-context-line"><code> # if desired.
  634. </code></li>
  635.  
  636. <li class="pre-context-line"><code> #
  637. </code></li>
  638.  
  639. <li class="pre-context-line"><code> # This method never raises Net::* exceptions.
  640. </code></li>
  641.  
  642. <li class="pre-context-line"><code> #
  643. </code></li>
  644.  
  645. <li class="pre-context-line"><code> def request(req, body = nil, &amp;block) # :yield: +response+
  646. </code></li>
  647.  
  648. <li class="pre-context-line"><code> unless started?
  649. </code></li>
  650.  
  651. </ol>
  652.  
  653.  
  654. <ol start="1373" class="context" id="7"
  655. onclick="toggle(7);">
  656. <li class="context-line" id="context-7"><code> start {</code></li>
  657. </ol>
  658.  
  659.  
  660. <ol start="1374" class="post-context"
  661. id="post-7" onclick="toggle(7);">
  662.  
  663. <li class="post-context-line"><code> req[&#x27;connection&#x27;] ||= &#x27;close&#x27;
  664. </code></li>
  665.  
  666. <li class="post-context-line"><code> return request(req, body, &amp;block)
  667. </code></li>
  668.  
  669. <li class="post-context-line"><code> }
  670. </code></li>
  671.  
  672. <li class="post-context-line"><code> end
  673. </code></li>
  674.  
  675. <li class="post-context-line"><code> if proxy_user()
  676. </code></li>
  677.  
  678. <li class="post-context-line"><code> req.proxy_basic_auth proxy_user(), proxy_pass() unless use_ssl?
  679. </code></li>
  680.  
  681. <li class="post-context-line"><code> end
  682. </code></li>
  683.  
  684. </ol>
  685.  
  686. <div class="clear"></div>
  687. </li>
  688.  
  689.  
  690.  
  691.  
  692.  
  693.  
  694.  
  695. <li class="frame-info app">
  696. <code>&#x2F;usr&#x2F;share&#x2F;gems&#x2F;gems&#x2F;smart_proxy_openscap-0.6.4&#x2F;lib&#x2F;smart_proxy_openscap&#x2F;foreman_forwarder.rb</code> in
  697. <code><strong>send_request</strong></code>
  698. </li>
  699.  
  700. <li class="code app">
  701.  
  702. <ol start="33"
  703. class="pre-context" id="pre-8"
  704. onclick="toggle(8);">
  705.  
  706. <li class="pre-context-line"><code> def send_request(path, body)
  707. </code></li>
  708.  
  709. <li class="pre-context-line"><code> # Override the parent method to set the right headers
  710. </code></li>
  711.  
  712. <li class="pre-context-line"><code> path = [uri.path, path].join(&#x27;&#x2F;&#x27;) unless uri.path.empty?
  713. </code></li>
  714.  
  715. <li class="pre-context-line"><code> req = Net::HTTP::Post.new(URI.join(uri.to_s, path).path)
  716. </code></li>
  717.  
  718. <li class="pre-context-line"><code> req.add_field(&#x27;Accept&#x27;, &#x27;application&#x2F;json,version=2&#x27;)
  719. </code></li>
  720.  
  721. <li class="pre-context-line"><code> req.content_type = &#x27;application&#x2F;json&#x27;
  722. </code></li>
  723.  
  724. <li class="pre-context-line"><code> req.body = body
  725. </code></li>
  726.  
  727. </ol>
  728.  
  729.  
  730. <ol start="40" class="context" id="8"
  731. onclick="toggle(8);">
  732. <li class="context-line" id="context-8"><code> http.request(req)</code></li>
  733. </ol>
  734.  
  735.  
  736. <ol start="41" class="post-context"
  737. id="post-8" onclick="toggle(8);">
  738.  
  739. <li class="post-context-line"><code> end
  740. </code></li>
  741.  
  742. <li class="post-context-line"><code> end
  743. </code></li>
  744.  
  745. <li class="post-context-line"><code>end
  746. </code></li>
  747.  
  748. </ol>
  749.  
  750. <div class="clear"></div>
  751. </li>
  752.  
  753.  
  754.  
  755.  
  756.  
  757.  
  758.  
  759. <li class="frame-info app">
  760. <code>&#x2F;usr&#x2F;share&#x2F;gems&#x2F;gems&#x2F;smart_proxy_openscap-0.6.4&#x2F;lib&#x2F;smart_proxy_openscap&#x2F;foreman_forwarder.rb</code> in
  761. <code><strong>post_arf_report</strong></code>
  762. </li>
  763.  
  764. <li class="code app">
  765.  
  766. <ol start="2"
  767. class="pre-context" id="pre-9"
  768. onclick="toggle(9);">
  769.  
  770. <li class="pre-context-line"><code> class ForemanForwarder &lt; Proxy::HttpRequest::ForemanRequest
  771. </code></li>
  772.  
  773. <li class="pre-context-line"><code> include ::Proxy::Log
  774. </code></li>
  775.  
  776. <li class="pre-context-line"><code>
  777. </code></li>
  778.  
  779. <li class="pre-context-line"><code> def post_arf_report(cname, policy_id, date, data)
  780. </code></li>
  781.  
  782. <li class="pre-context-line"><code> parser = Proxy::OpenSCAP::Parse.new(data)
  783. </code></li>
  784.  
  785. <li class="pre-context-line"><code> begin
  786. </code></li>
  787.  
  788. <li class="pre-context-line"><code> foreman_api_path = upload_path(cname, policy_id, date)
  789. </code></li>
  790.  
  791. </ol>
  792.  
  793.  
  794. <ol start="9" class="context" id="9"
  795. onclick="toggle(9);">
  796. <li class="context-line" id="context-9"><code> response = send_request(foreman_api_path, parser.as_json)</code></li>
  797. </ol>
  798.  
  799.  
  800. <ol start="10" class="post-context"
  801. id="post-9" onclick="toggle(9);">
  802.  
  803. <li class="post-context-line"><code> # Raise an HTTP error if the response is not 2xx (success).
  804. </code></li>
  805.  
  806. <li class="post-context-line"><code> response.value
  807. </code></li>
  808.  
  809. <li class="post-context-line"><code> res = JSON.parse(response.body)
  810. </code></li>
  811.  
  812. <li class="post-context-line"><code> raise StandardError, &quot;Received response: #{response.code} #{response.msg}&quot; unless res[&#x27;result&#x27;] == &#x27;OK&#x27;
  813. </code></li>
  814.  
  815. <li class="post-context-line"><code> rescue OpenSCAP::OpenSCAPError =&gt; e
  816. </code></li>
  817.  
  818. <li class="post-context-line"><code> logger.debug e.backtrace.join(&quot;\n\t&quot;)
  819. </code></li>
  820.  
  821. <li class="post-context-line"><code> raise e
  822. </code></li>
  823.  
  824. </ol>
  825.  
  826. <div class="clear"></div>
  827. </li>
  828.  
  829.  
  830.  
  831.  
  832.  
  833.  
  834.  
  835. <li class="frame-info app">
  836. <code>&#x2F;usr&#x2F;share&#x2F;gems&#x2F;gems&#x2F;smart_proxy_openscap-0.6.4&#x2F;lib&#x2F;smart_proxy_openscap&#x2F;openscap_api.rb</code> in
  837. <code><strong>block in &lt;class:Api&gt;</strong></code>
  838. </li>
  839.  
  840. <li class="code app">
  841.  
  842. <ol start="32"
  843. class="pre-context" id="pre-10"
  844. onclick="toggle(10);">
  845.  
  846. <li class="pre-context-line"><code> rescue Proxy::Error::Unauthorized =&gt; e
  847. </code></li>
  848.  
  849. <li class="pre-context-line"><code> log_halt 403, &quot;Client authentication failed: #{e.message}&quot;
  850. </code></li>
  851.  
  852. <li class="pre-context-line"><code> end
  853. </code></li>
  854.  
  855. <li class="pre-context-line"><code> date = Time.now.to_i
  856. </code></li>
  857.  
  858. <li class="pre-context-line"><code> policy = params[:policy]
  859. </code></li>
  860.  
  861. <li class="pre-context-line"><code>
  862. </code></li>
  863.  
  864. <li class="pre-context-line"><code> begin
  865. </code></li>
  866.  
  867. </ol>
  868.  
  869.  
  870. <ol start="39" class="context" id="10"
  871. onclick="toggle(10);">
  872. <li class="context-line" id="context-10"><code> post_to_foreman = ForemanForwarder.new.post_arf_report(cn, policy, date, request.body.string)</code></li>
  873. </ol>
  874.  
  875.  
  876. <ol start="40" class="post-context"
  877. id="post-10" onclick="toggle(10);">
  878.  
  879. <li class="post-context-line"><code> Proxy::OpenSCAP::StorageFS.new(Proxy::OpenSCAP::Plugin.settings.reportsdir, cn, post_to_foreman[&#x27;id&#x27;], date).store_archive(request.body.string)
  880. </code></li>
  881.  
  882. <li class="post-context-line"><code> rescue Proxy::OpenSCAP::StoreReportError =&gt; e
  883. </code></li>
  884.  
  885. <li class="post-context-line"><code> Proxy::OpenSCAP::StorageFS.new(Proxy::OpenSCAP::Plugin.settings.failed_dir, cn, post_to_foreman[&#x27;id&#x27;], date).store_failed(request.body.string)
  886. </code></li>
  887.  
  888. <li class="post-context-line"><code> logger.error &quot;Failed to save Report in reports directory (#{Proxy::OpenSCAP::Plugin.settings.reportsdir}). Failed with: #{e.message}.
  889. </code></li>
  890.  
  891. <li class="post-context-line"><code> Saving file in #{Proxy::OpenSCAP::Plugin.settings.failed_dir}. Please copy manually to #{Proxy::OpenSCAP::Plugin.settings.reportsdir}&quot;
  892. </code></li>
  893.  
  894. <li class="post-context-line"><code> rescue OpenSCAP::OpenSCAPError =&gt; e
  895. </code></li>
  896.  
  897. <li class="post-context-line"><code> logger.error &quot;Failed to parse Arf Report, moving to #{Proxy::OpenSCAP::Plugin.settings.corrupted_dir}&quot;
  898. </code></li>
  899.  
  900. </ol>
  901.  
  902. <div class="clear"></div>
  903. </li>
  904.  
  905.  
  906.  
  907.  
  908.  
  909.  
  910.  
  911. <li class="frame-info framework">
  912. <code>&#x2F;usr&#x2F;share&#x2F;gems&#x2F;gems&#x2F;sinatra-1.4.8&#x2F;lib&#x2F;sinatra&#x2F;base.rb</code> in
  913. <code><strong>call</strong></code>
  914. </li>
  915.  
  916. <li class="code framework">
  917.  
  918. <ol start="1604"
  919. class="pre-context" id="pre-11"
  920. onclick="toggle(11);">
  921.  
  922. <li class="pre-context-line"><code> method_name = &quot;#{verb} #{path}&quot;
  923. </code></li>
  924.  
  925. <li class="pre-context-line"><code> unbound_method = generate_method(method_name, &amp;block)
  926. </code></li>
  927.  
  928. <li class="pre-context-line"><code> pattern, keys = compile path
  929. </code></li>
  930.  
  931. <li class="pre-context-line"><code> conditions, @conditions = @conditions, []
  932. </code></li>
  933.  
  934. <li class="pre-context-line"><code>
  935. </code></li>
  936.  
  937. <li class="pre-context-line"><code> wrapper = block.arity != 0 ?
  938. </code></li>
  939.  
  940. <li class="pre-context-line"><code> proc { |a,p| unbound_method.bind(a).call(*p) } :
  941. </code></li>
  942.  
  943. </ol>
  944.  
  945.  
  946. <ol start="1611" class="context" id="11"
  947. onclick="toggle(11);">
  948. <li class="context-line" id="context-11"><code> proc { |a,p| unbound_method.bind(a).call }</code></li>
  949. </ol>
  950.  
  951.  
  952. <ol start="1612" class="post-context"
  953. id="post-11" onclick="toggle(11);">
  954.  
  955. <li class="post-context-line"><code> wrapper.instance_variable_set(:@route_name, method_name)
  956. </code></li>
  957.  
  958. <li class="post-context-line"><code>
  959. </code></li>
  960.  
  961. <li class="post-context-line"><code> [ pattern, keys, conditions, wrapper ]
  962. </code></li>
  963.  
  964. <li class="post-context-line"><code> end
  965. </code></li>
  966.  
  967. <li class="post-context-line"><code>
  968. </code></li>
  969.  
  970. <li class="post-context-line"><code> def compile(path)
  971. </code></li>
  972.  
  973. <li class="post-context-line"><code> if path.respond_to? :to_str
  974. </code></li>
  975.  
  976. </ol>
  977.  
  978. <div class="clear"></div>
  979. </li>
  980.  
  981.  
  982.  
  983.  
  984.  
  985.  
  986.  
  987. <li class="frame-info framework">
  988. <code>&#x2F;usr&#x2F;share&#x2F;gems&#x2F;gems&#x2F;sinatra-1.4.8&#x2F;lib&#x2F;sinatra&#x2F;base.rb</code> in
  989. <code><strong>block in compile!</strong></code>
  990. </li>
  991.  
  992. <li class="code framework">
  993.  
  994. <ol start="1604"
  995. class="pre-context" id="pre-12"
  996. onclick="toggle(12);">
  997.  
  998. <li class="pre-context-line"><code> method_name = &quot;#{verb} #{path}&quot;
  999. </code></li>
  1000.  
  1001. <li class="pre-context-line"><code> unbound_method = generate_method(method_name, &amp;block)
  1002. </code></li>
  1003.  
  1004. <li class="pre-context-line"><code> pattern, keys = compile path
  1005. </code></li>
  1006.  
  1007. <li class="pre-context-line"><code> conditions, @conditions = @conditions, []
  1008. </code></li>
  1009.  
  1010. <li class="pre-context-line"><code>
  1011. </code></li>
  1012.  
  1013. <li class="pre-context-line"><code> wrapper = block.arity != 0 ?
  1014. </code></li>
  1015.  
  1016. <li class="pre-context-line"><code> proc { |a,p| unbound_method.bind(a).call(*p) } :
  1017. </code></li>
  1018.  
  1019. </ol>
  1020.  
  1021.  
  1022. <ol start="1611" class="context" id="12"
  1023. onclick="toggle(12);">
  1024. <li class="context-line" id="context-12"><code> proc { |a,p| unbound_method.bind(a).call }</code></li>
  1025. </ol>
  1026.  
  1027.  
  1028. <ol start="1612" class="post-context"
  1029. id="post-12" onclick="toggle(12);">
  1030.  
  1031. <li class="post-context-line"><code> wrapper.instance_variable_set(:@route_name, method_name)
  1032. </code></li>
  1033.  
  1034. <li class="post-context-line"><code>
  1035. </code></li>
  1036.  
  1037. <li class="post-context-line"><code> [ pattern, keys, conditions, wrapper ]
  1038. </code></li>
  1039.  
  1040. <li class="post-context-line"><code> end
  1041. </code></li>
  1042.  
  1043. <li class="post-context-line"><code>
  1044. </code></li>
  1045.  
  1046. <li class="post-context-line"><code> def compile(path)
  1047. </code></li>
  1048.  
  1049. <li class="post-context-line"><code> if path.respond_to? :to_str
  1050. </code></li>
  1051.  
  1052. </ol>
  1053.  
  1054. <div class="clear"></div>
  1055. </li>
  1056.  
  1057.  
  1058.  
  1059.  
  1060.  
  1061.  
  1062.  
  1063. <li class="frame-info framework">
  1064. <code>&#x2F;usr&#x2F;share&#x2F;gems&#x2F;gems&#x2F;sinatra-1.4.8&#x2F;lib&#x2F;sinatra&#x2F;base.rb</code> in
  1065. <code><strong>[]</strong></code>
  1066. </li>
  1067.  
  1068. <li class="code framework">
  1069.  
  1070. <ol start="968"
  1071. class="pre-context" id="pre-13"
  1072. onclick="toggle(13);">
  1073.  
  1074. <li class="pre-context-line"><code>
  1075. </code></li>
  1076.  
  1077. <li class="pre-context-line"><code> # Run routes defined on the class and all superclasses.
  1078. </code></li>
  1079.  
  1080. <li class="pre-context-line"><code> def route!(base = settings, pass_block = nil)
  1081. </code></li>
  1082.  
  1083. <li class="pre-context-line"><code> if routes = base.routes[@request.request_method]
  1084. </code></li>
  1085.  
  1086. <li class="pre-context-line"><code> routes.each do |pattern, keys, conditions, block|
  1087. </code></li>
  1088.  
  1089. <li class="pre-context-line"><code> returned_pass_block = process_route(pattern, keys, conditions) do |*args|
  1090. </code></li>
  1091.  
  1092. <li class="pre-context-line"><code> env[&#x27;sinatra.route&#x27;] = block.instance_variable_get(:@route_name)
  1093. </code></li>
  1094.  
  1095. </ol>
  1096.  
  1097.  
  1098. <ol start="975" class="context" id="13"
  1099. onclick="toggle(13);">
  1100. <li class="context-line" id="context-13"><code> route_eval { block[*args] }</code></li>
  1101. </ol>
  1102.  
  1103.  
  1104. <ol start="976" class="post-context"
  1105. id="post-13" onclick="toggle(13);">
  1106.  
  1107. <li class="post-context-line"><code> end
  1108. </code></li>
  1109.  
  1110. <li class="post-context-line"><code>
  1111. </code></li>
  1112.  
  1113. <li class="post-context-line"><code> # don&#x27;t wipe out pass_block in superclass
  1114. </code></li>
  1115.  
  1116. <li class="post-context-line"><code> pass_block = returned_pass_block if returned_pass_block
  1117. </code></li>
  1118.  
  1119. <li class="post-context-line"><code> end
  1120. </code></li>
  1121.  
  1122. <li class="post-context-line"><code> end
  1123. </code></li>
  1124.  
  1125. <li class="post-context-line"><code>
  1126. </code></li>
  1127.  
  1128. </ol>
  1129.  
  1130. <div class="clear"></div>
  1131. </li>
  1132.  
  1133.  
  1134.  
  1135.  
  1136.  
  1137.  
  1138.  
  1139. <li class="frame-info framework">
  1140. <code>&#x2F;usr&#x2F;share&#x2F;gems&#x2F;gems&#x2F;sinatra-1.4.8&#x2F;lib&#x2F;sinatra&#x2F;base.rb</code> in
  1141. <code><strong>block (3 levels) in route!</strong></code>
  1142. </li>
  1143.  
  1144. <li class="code framework">
  1145.  
  1146. <ol start="968"
  1147. class="pre-context" id="pre-14"
  1148. onclick="toggle(14);">
  1149.  
  1150. <li class="pre-context-line"><code>
  1151. </code></li>
  1152.  
  1153. <li class="pre-context-line"><code> # Run routes defined on the class and all superclasses.
  1154. </code></li>
  1155.  
  1156. <li class="pre-context-line"><code> def route!(base = settings, pass_block = nil)
  1157. </code></li>
  1158.  
  1159. <li class="pre-context-line"><code> if routes = base.routes[@request.request_method]
  1160. </code></li>
  1161.  
  1162. <li class="pre-context-line"><code> routes.each do |pattern, keys, conditions, block|
  1163. </code></li>
  1164.  
  1165. <li class="pre-context-line"><code> returned_pass_block = process_route(pattern, keys, conditions) do |*args|
  1166. </code></li>
  1167.  
  1168. <li class="pre-context-line"><code> env[&#x27;sinatra.route&#x27;] = block.instance_variable_get(:@route_name)
  1169. </code></li>
  1170.  
  1171. </ol>
  1172.  
  1173.  
  1174. <ol start="975" class="context" id="14"
  1175. onclick="toggle(14);">
  1176. <li class="context-line" id="context-14"><code> route_eval { block[*args] }</code></li>
  1177. </ol>
  1178.  
  1179.  
  1180. <ol start="976" class="post-context"
  1181. id="post-14" onclick="toggle(14);">
  1182.  
  1183. <li class="post-context-line"><code> end
  1184. </code></li>
  1185.  
  1186. <li class="post-context-line"><code>
  1187. </code></li>
  1188.  
  1189. <li class="post-context-line"><code> # don&#x27;t wipe out pass_block in superclass
  1190. </code></li>
  1191.  
  1192. <li class="post-context-line"><code> pass_block = returned_pass_block if returned_pass_block
  1193. </code></li>
  1194.  
  1195. <li class="post-context-line"><code> end
  1196. </code></li>
  1197.  
  1198. <li class="post-context-line"><code> end
  1199. </code></li>
  1200.  
  1201. <li class="post-context-line"><code>
  1202. </code></li>
  1203.  
  1204. </ol>
  1205.  
  1206. <div class="clear"></div>
  1207. </li>
  1208.  
  1209.  
  1210.  
  1211.  
  1212.  
  1213.  
  1214.  
  1215. <li class="frame-info framework">
  1216. <code>&#x2F;usr&#x2F;share&#x2F;gems&#x2F;gems&#x2F;sinatra-1.4.8&#x2F;lib&#x2F;sinatra&#x2F;base.rb</code> in
  1217. <code><strong>route_eval</strong></code>
  1218. </li>
  1219.  
  1220. <li class="code framework">
  1221.  
  1222. <ol start="987"
  1223. class="pre-context" id="pre-15"
  1224. onclick="toggle(15);">
  1225.  
  1226. <li class="pre-context-line"><code>
  1227. </code></li>
  1228.  
  1229. <li class="pre-context-line"><code> route_eval(&amp;pass_block) if pass_block
  1230. </code></li>
  1231.  
  1232. <li class="pre-context-line"><code> route_missing
  1233. </code></li>
  1234.  
  1235. <li class="pre-context-line"><code> end
  1236. </code></li>
  1237.  
  1238. <li class="pre-context-line"><code>
  1239. </code></li>
  1240.  
  1241. <li class="pre-context-line"><code> # Run a route block and throw :halt with the result.
  1242. </code></li>
  1243.  
  1244. <li class="pre-context-line"><code> def route_eval
  1245. </code></li>
  1246.  
  1247. </ol>
  1248.  
  1249.  
  1250. <ol start="994" class="context" id="15"
  1251. onclick="toggle(15);">
  1252. <li class="context-line" id="context-15"><code> throw :halt, yield</code></li>
  1253. </ol>
  1254.  
  1255.  
  1256. <ol start="995" class="post-context"
  1257. id="post-15" onclick="toggle(15);">
  1258.  
  1259. <li class="post-context-line"><code> end
  1260. </code></li>
  1261.  
  1262. <li class="post-context-line"><code>
  1263. </code></li>
  1264.  
  1265. <li class="post-context-line"><code> # If the current request matches pattern and conditions, fill params
  1266. </code></li>
  1267.  
  1268. <li class="post-context-line"><code> # with keys and call the given block.
  1269. </code></li>
  1270.  
  1271. <li class="post-context-line"><code> # Revert params afterwards.
  1272. </code></li>
  1273.  
  1274. <li class="post-context-line"><code> #
  1275. </code></li>
  1276.  
  1277. <li class="post-context-line"><code> # Returns pass block.
  1278. </code></li>
  1279.  
  1280. </ol>
  1281.  
  1282. <div class="clear"></div>
  1283. </li>
  1284.  
  1285.  
  1286.  
  1287.  
  1288.  
  1289.  
  1290.  
  1291. <li class="frame-info framework">
  1292. <code>&#x2F;usr&#x2F;share&#x2F;gems&#x2F;gems&#x2F;sinatra-1.4.8&#x2F;lib&#x2F;sinatra&#x2F;base.rb</code> in
  1293. <code><strong>block (2 levels) in route!</strong></code>
  1294. </li>
  1295.  
  1296. <li class="code framework">
  1297.  
  1298. <ol start="968"
  1299. class="pre-context" id="pre-16"
  1300. onclick="toggle(16);">
  1301.  
  1302. <li class="pre-context-line"><code>
  1303. </code></li>
  1304.  
  1305. <li class="pre-context-line"><code> # Run routes defined on the class and all superclasses.
  1306. </code></li>
  1307.  
  1308. <li class="pre-context-line"><code> def route!(base = settings, pass_block = nil)
  1309. </code></li>
  1310.  
  1311. <li class="pre-context-line"><code> if routes = base.routes[@request.request_method]
  1312. </code></li>
  1313.  
  1314. <li class="pre-context-line"><code> routes.each do |pattern, keys, conditions, block|
  1315. </code></li>
  1316.  
  1317. <li class="pre-context-line"><code> returned_pass_block = process_route(pattern, keys, conditions) do |*args|
  1318. </code></li>
  1319.  
  1320. <li class="pre-context-line"><code> env[&#x27;sinatra.route&#x27;] = block.instance_variable_get(:@route_name)
  1321. </code></li>
  1322.  
  1323. </ol>
  1324.  
  1325.  
  1326. <ol start="975" class="context" id="16"
  1327. onclick="toggle(16);">
  1328. <li class="context-line" id="context-16"><code> route_eval { block[*args] }</code></li>
  1329. </ol>
  1330.  
  1331.  
  1332. <ol start="976" class="post-context"
  1333. id="post-16" onclick="toggle(16);">
  1334.  
  1335. <li class="post-context-line"><code> end
  1336. </code></li>
  1337.  
  1338. <li class="post-context-line"><code>
  1339. </code></li>
  1340.  
  1341. <li class="post-context-line"><code> # don&#x27;t wipe out pass_block in superclass
  1342. </code></li>
  1343.  
  1344. <li class="post-context-line"><code> pass_block = returned_pass_block if returned_pass_block
  1345. </code></li>
  1346.  
  1347. <li class="post-context-line"><code> end
  1348. </code></li>
  1349.  
  1350. <li class="post-context-line"><code> end
  1351. </code></li>
  1352.  
  1353. <li class="post-context-line"><code>
  1354. </code></li>
  1355.  
  1356. </ol>
  1357.  
  1358. <div class="clear"></div>
  1359. </li>
  1360.  
  1361.  
  1362.  
  1363.  
  1364.  
  1365.  
  1366.  
  1367. <li class="frame-info framework">
  1368. <code>&#x2F;usr&#x2F;share&#x2F;gems&#x2F;gems&#x2F;sinatra-1.4.8&#x2F;lib&#x2F;sinatra&#x2F;base.rb</code> in
  1369. <code><strong>block in process_route</strong></code>
  1370. </li>
  1371.  
  1372. <li class="code framework">
  1373.  
  1374. <ol start="1008"
  1375. class="pre-context" id="pre-17"
  1376. onclick="toggle(17);">
  1377.  
  1378. <li class="pre-context-line"><code> if values.any?
  1379. </code></li>
  1380.  
  1381. <li class="pre-context-line"><code> original, @params = params, params.merge(&#x27;splat&#x27; =&gt; [], &#x27;captures&#x27; =&gt; values)
  1382. </code></li>
  1383.  
  1384. <li class="pre-context-line"><code> keys.zip(values) { |k,v| Array === @params[k] ? @params[k] &lt;&lt; v : @params[k] = v if v }
  1385. </code></li>
  1386.  
  1387. <li class="pre-context-line"><code> end
  1388. </code></li>
  1389.  
  1390. <li class="pre-context-line"><code>
  1391. </code></li>
  1392.  
  1393. <li class="pre-context-line"><code> catch(:pass) do
  1394. </code></li>
  1395.  
  1396. <li class="pre-context-line"><code> conditions.each { |c| throw :pass if c.bind(self).call == false }
  1397. </code></li>
  1398.  
  1399. </ol>
  1400.  
  1401.  
  1402. <ol start="1015" class="context" id="17"
  1403. onclick="toggle(17);">
  1404. <li class="context-line" id="context-17"><code> block ? block[self, values] : yield(self, values)</code></li>
  1405. </ol>
  1406.  
  1407.  
  1408. <ol start="1016" class="post-context"
  1409. id="post-17" onclick="toggle(17);">
  1410.  
  1411. <li class="post-context-line"><code> end
  1412. </code></li>
  1413.  
  1414. <li class="post-context-line"><code> ensure
  1415. </code></li>
  1416.  
  1417. <li class="post-context-line"><code> @params = original if original
  1418. </code></li>
  1419.  
  1420. <li class="post-context-line"><code> end
  1421. </code></li>
  1422.  
  1423. <li class="post-context-line"><code>
  1424. </code></li>
  1425.  
  1426. <li class="post-context-line"><code> # No matching route was found or all routes passed. The default
  1427. </code></li>
  1428.  
  1429. <li class="post-context-line"><code> # implementation is to forward the request downstream when running
  1430. </code></li>
  1431.  
  1432. </ol>
  1433.  
  1434. <div class="clear"></div>
  1435. </li>
  1436.  
  1437.  
  1438.  
  1439.  
  1440.  
  1441.  
  1442.  
  1443. <li class="frame-info framework">
  1444. <code>&#x2F;usr&#x2F;share&#x2F;gems&#x2F;gems&#x2F;sinatra-1.4.8&#x2F;lib&#x2F;sinatra&#x2F;base.rb</code> in
  1445. <code><strong>catch</strong></code>
  1446. </li>
  1447.  
  1448. <li class="code framework">
  1449.  
  1450. <ol start="1006"
  1451. class="pre-context" id="pre-18"
  1452. onclick="toggle(18);">
  1453.  
  1454. <li class="pre-context-line"><code> values += match.captures.map! { |v| force_encoding URI_INSTANCE.unescape(v) if v }
  1455. </code></li>
  1456.  
  1457. <li class="pre-context-line"><code>
  1458. </code></li>
  1459.  
  1460. <li class="pre-context-line"><code> if values.any?
  1461. </code></li>
  1462.  
  1463. <li class="pre-context-line"><code> original, @params = params, params.merge(&#x27;splat&#x27; =&gt; [], &#x27;captures&#x27; =&gt; values)
  1464. </code></li>
  1465.  
  1466. <li class="pre-context-line"><code> keys.zip(values) { |k,v| Array === @params[k] ? @params[k] &lt;&lt; v : @params[k] = v if v }
  1467. </code></li>
  1468.  
  1469. <li class="pre-context-line"><code> end
  1470. </code></li>
  1471.  
  1472. <li class="pre-context-line"><code>
  1473. </code></li>
  1474.  
  1475. </ol>
  1476.  
  1477.  
  1478. <ol start="1013" class="context" id="18"
  1479. onclick="toggle(18);">
  1480. <li class="context-line" id="context-18"><code> catch(:pass) do</code></li>
  1481. </ol>
  1482.  
  1483.  
  1484. <ol start="1014" class="post-context"
  1485. id="post-18" onclick="toggle(18);">
  1486.  
  1487. <li class="post-context-line"><code> conditions.each { |c| throw :pass if c.bind(self).call == false }
  1488. </code></li>
  1489.  
  1490. <li class="post-context-line"><code> block ? block[self, values] : yield(self, values)
  1491. </code></li>
  1492.  
  1493. <li class="post-context-line"><code> end
  1494. </code></li>
  1495.  
  1496. <li class="post-context-line"><code> ensure
  1497. </code></li>
  1498.  
  1499. <li class="post-context-line"><code> @params = original if original
  1500. </code></li>
  1501.  
  1502. <li class="post-context-line"><code> end
  1503. </code></li>
  1504.  
  1505. <li class="post-context-line"><code>
  1506. </code></li>
  1507.  
  1508. </ol>
  1509.  
  1510. <div class="clear"></div>
  1511. </li>
  1512.  
  1513.  
  1514.  
  1515.  
  1516.  
  1517.  
  1518.  
  1519. <li class="frame-info framework">
  1520. <code>&#x2F;usr&#x2F;share&#x2F;gems&#x2F;gems&#x2F;sinatra-1.4.8&#x2F;lib&#x2F;sinatra&#x2F;base.rb</code> in
  1521. <code><strong>process_route</strong></code>
  1522. </li>
  1523.  
  1524. <li class="code framework">
  1525.  
  1526. <ol start="1006"
  1527. class="pre-context" id="pre-19"
  1528. onclick="toggle(19);">
  1529.  
  1530. <li class="pre-context-line"><code> values += match.captures.map! { |v| force_encoding URI_INSTANCE.unescape(v) if v }
  1531. </code></li>
  1532.  
  1533. <li class="pre-context-line"><code>
  1534. </code></li>
  1535.  
  1536. <li class="pre-context-line"><code> if values.any?
  1537. </code></li>
  1538.  
  1539. <li class="pre-context-line"><code> original, @params = params, params.merge(&#x27;splat&#x27; =&gt; [], &#x27;captures&#x27; =&gt; values)
  1540. </code></li>
  1541.  
  1542. <li class="pre-context-line"><code> keys.zip(values) { |k,v| Array === @params[k] ? @params[k] &lt;&lt; v : @params[k] = v if v }
  1543. </code></li>
  1544.  
  1545. <li class="pre-context-line"><code> end
  1546. </code></li>
  1547.  
  1548. <li class="pre-context-line"><code>
  1549. </code></li>
  1550.  
  1551. </ol>
  1552.  
  1553.  
  1554. <ol start="1013" class="context" id="19"
  1555. onclick="toggle(19);">
  1556. <li class="context-line" id="context-19"><code> catch(:pass) do</code></li>
  1557. </ol>
  1558.  
  1559.  
  1560. <ol start="1014" class="post-context"
  1561. id="post-19" onclick="toggle(19);">
  1562.  
  1563. <li class="post-context-line"><code> conditions.each { |c| throw :pass if c.bind(self).call == false }
  1564. </code></li>
  1565.  
  1566. <li class="post-context-line"><code> block ? block[self, values] : yield(self, values)
  1567. </code></li>
  1568.  
  1569. <li class="post-context-line"><code> end
  1570. </code></li>
  1571.  
  1572. <li class="post-context-line"><code> ensure
  1573. </code></li>
  1574.  
  1575. <li class="post-context-line"><code> @params = original if original
  1576. </code></li>
  1577.  
  1578. <li class="post-context-line"><code> end
  1579. </code></li>
  1580.  
  1581. <li class="post-context-line"><code>
  1582. </code></li>
  1583.  
  1584. </ol>
  1585.  
  1586. <div class="clear"></div>
  1587. </li>
  1588.  
  1589.  
  1590.  
  1591.  
  1592.  
  1593.  
  1594.  
  1595. <li class="frame-info framework">
  1596. <code>&#x2F;usr&#x2F;share&#x2F;gems&#x2F;gems&#x2F;sinatra-1.4.8&#x2F;lib&#x2F;sinatra&#x2F;base.rb</code> in
  1597. <code><strong>block in route!</strong></code>
  1598. </li>
  1599.  
  1600. <li class="code framework">
  1601.  
  1602. <ol start="966"
  1603. class="pre-context" id="pre-20"
  1604. onclick="toggle(20);">
  1605.  
  1606. <li class="pre-context-line"><code> base.filters[type].each { |args| process_route(*args) }
  1607. </code></li>
  1608.  
  1609. <li class="pre-context-line"><code> end
  1610. </code></li>
  1611.  
  1612. <li class="pre-context-line"><code>
  1613. </code></li>
  1614.  
  1615. <li class="pre-context-line"><code> # Run routes defined on the class and all superclasses.
  1616. </code></li>
  1617.  
  1618. <li class="pre-context-line"><code> def route!(base = settings, pass_block = nil)
  1619. </code></li>
  1620.  
  1621. <li class="pre-context-line"><code> if routes = base.routes[@request.request_method]
  1622. </code></li>
  1623.  
  1624. <li class="pre-context-line"><code> routes.each do |pattern, keys, conditions, block|
  1625. </code></li>
  1626.  
  1627. </ol>
  1628.  
  1629.  
  1630. <ol start="973" class="context" id="20"
  1631. onclick="toggle(20);">
  1632. <li class="context-line" id="context-20"><code> returned_pass_block = process_route(pattern, keys, conditions) do |*args|</code></li>
  1633. </ol>
  1634.  
  1635.  
  1636. <ol start="974" class="post-context"
  1637. id="post-20" onclick="toggle(20);">
  1638.  
  1639. <li class="post-context-line"><code> env[&#x27;sinatra.route&#x27;] = block.instance_variable_get(:@route_name)
  1640. </code></li>
  1641.  
  1642. <li class="post-context-line"><code> route_eval { block[*args] }
  1643. </code></li>
  1644.  
  1645. <li class="post-context-line"><code> end
  1646. </code></li>
  1647.  
  1648. <li class="post-context-line"><code>
  1649. </code></li>
  1650.  
  1651. <li class="post-context-line"><code> # don&#x27;t wipe out pass_block in superclass
  1652. </code></li>
  1653.  
  1654. <li class="post-context-line"><code> pass_block = returned_pass_block if returned_pass_block
  1655. </code></li>
  1656.  
  1657. <li class="post-context-line"><code> end
  1658. </code></li>
  1659.  
  1660. </ol>
  1661.  
  1662. <div class="clear"></div>
  1663. </li>
  1664.  
  1665.  
  1666.  
  1667.  
  1668.  
  1669.  
  1670.  
  1671. <li class="frame-info framework">
  1672. <code>&#x2F;usr&#x2F;share&#x2F;gems&#x2F;gems&#x2F;sinatra-1.4.8&#x2F;lib&#x2F;sinatra&#x2F;base.rb</code> in
  1673. <code><strong>each</strong></code>
  1674. </li>
  1675.  
  1676. <li class="code framework">
  1677.  
  1678. <ol start="965"
  1679. class="pre-context" id="pre-21"
  1680. onclick="toggle(21);">
  1681.  
  1682. <li class="pre-context-line"><code> filter! type, base.superclass if base.superclass.respond_to?(:filters)
  1683. </code></li>
  1684.  
  1685. <li class="pre-context-line"><code> base.filters[type].each { |args| process_route(*args) }
  1686. </code></li>
  1687.  
  1688. <li class="pre-context-line"><code> end
  1689. </code></li>
  1690.  
  1691. <li class="pre-context-line"><code>
  1692. </code></li>
  1693.  
  1694. <li class="pre-context-line"><code> # Run routes defined on the class and all superclasses.
  1695. </code></li>
  1696.  
  1697. <li class="pre-context-line"><code> def route!(base = settings, pass_block = nil)
  1698. </code></li>
  1699.  
  1700. <li class="pre-context-line"><code> if routes = base.routes[@request.request_method]
  1701. </code></li>
  1702.  
  1703. </ol>
  1704.  
  1705.  
  1706. <ol start="972" class="context" id="21"
  1707. onclick="toggle(21);">
  1708. <li class="context-line" id="context-21"><code> routes.each do |pattern, keys, conditions, block|</code></li>
  1709. </ol>
  1710.  
  1711.  
  1712. <ol start="973" class="post-context"
  1713. id="post-21" onclick="toggle(21);">
  1714.  
  1715. <li class="post-context-line"><code> returned_pass_block = process_route(pattern, keys, conditions) do |*args|
  1716. </code></li>
  1717.  
  1718. <li class="post-context-line"><code> env[&#x27;sinatra.route&#x27;] = block.instance_variable_get(:@route_name)
  1719. </code></li>
  1720.  
  1721. <li class="post-context-line"><code> route_eval { block[*args] }
  1722. </code></li>
  1723.  
  1724. <li class="post-context-line"><code> end
  1725. </code></li>
  1726.  
  1727. <li class="post-context-line"><code>
  1728. </code></li>
  1729.  
  1730. <li class="post-context-line"><code> # don&#x27;t wipe out pass_block in superclass
  1731. </code></li>
  1732.  
  1733. <li class="post-context-line"><code> pass_block = returned_pass_block if returned_pass_block
  1734. </code></li>
  1735.  
  1736. </ol>
  1737.  
  1738. <div class="clear"></div>
  1739. </li>
  1740.  
  1741.  
  1742.  
  1743.  
  1744.  
  1745.  
  1746.  
  1747. <li class="frame-info framework">
  1748. <code>&#x2F;usr&#x2F;share&#x2F;gems&#x2F;gems&#x2F;sinatra-1.4.8&#x2F;lib&#x2F;sinatra&#x2F;base.rb</code> in
  1749. <code><strong>route!</strong></code>
  1750. </li>
  1751.  
  1752. <li class="code framework">
  1753.  
  1754. <ol start="965"
  1755. class="pre-context" id="pre-22"
  1756. onclick="toggle(22);">
  1757.  
  1758. <li class="pre-context-line"><code> filter! type, base.superclass if base.superclass.respond_to?(:filters)
  1759. </code></li>
  1760.  
  1761. <li class="pre-context-line"><code> base.filters[type].each { |args| process_route(*args) }
  1762. </code></li>
  1763.  
  1764. <li class="pre-context-line"><code> end
  1765. </code></li>
  1766.  
  1767. <li class="pre-context-line"><code>
  1768. </code></li>
  1769.  
  1770. <li class="pre-context-line"><code> # Run routes defined on the class and all superclasses.
  1771. </code></li>
  1772.  
  1773. <li class="pre-context-line"><code> def route!(base = settings, pass_block = nil)
  1774. </code></li>
  1775.  
  1776. <li class="pre-context-line"><code> if routes = base.routes[@request.request_method]
  1777. </code></li>
  1778.  
  1779. </ol>
  1780.  
  1781.  
  1782. <ol start="972" class="context" id="22"
  1783. onclick="toggle(22);">
  1784. <li class="context-line" id="context-22"><code> routes.each do |pattern, keys, conditions, block|</code></li>
  1785. </ol>
  1786.  
  1787.  
  1788. <ol start="973" class="post-context"
  1789. id="post-22" onclick="toggle(22);">
  1790.  
  1791. <li class="post-context-line"><code> returned_pass_block = process_route(pattern, keys, conditions) do |*args|
  1792. </code></li>
  1793.  
  1794. <li class="post-context-line"><code> env[&#x27;sinatra.route&#x27;] = block.instance_variable_get(:@route_name)
  1795. </code></li>
  1796.  
  1797. <li class="post-context-line"><code> route_eval { block[*args] }
  1798. </code></li>
  1799.  
  1800. <li class="post-context-line"><code> end
  1801. </code></li>
  1802.  
  1803. <li class="post-context-line"><code>
  1804. </code></li>
  1805.  
  1806. <li class="post-context-line"><code> # don&#x27;t wipe out pass_block in superclass
  1807. </code></li>
  1808.  
  1809. <li class="post-context-line"><code> pass_block = returned_pass_block if returned_pass_block
  1810. </code></li>
  1811.  
  1812. </ol>
  1813.  
  1814. <div class="clear"></div>
  1815. </li>
  1816.  
  1817.  
  1818.  
  1819.  
  1820.  
  1821.  
  1822.  
  1823. <li class="frame-info framework">
  1824. <code>&#x2F;usr&#x2F;share&#x2F;gems&#x2F;gems&#x2F;sinatra-1.4.8&#x2F;lib&#x2F;sinatra&#x2F;base.rb</code> in
  1825. <code><strong>block in dispatch!</strong></code>
  1826. </li>
  1827.  
  1828. <li class="code framework">
  1829.  
  1830. <ol start="1078"
  1831. class="pre-context" id="pre-23"
  1832. onclick="toggle(23);">
  1833.  
  1834. <li class="pre-context-line"><code> end
  1835. </code></li>
  1836.  
  1837. <li class="pre-context-line"><code>
  1838. </code></li>
  1839.  
  1840. <li class="pre-context-line"><code> # Dispatch a request with error handling.
  1841. </code></li>
  1842.  
  1843. <li class="pre-context-line"><code> def dispatch!
  1844. </code></li>
  1845.  
  1846. <li class="pre-context-line"><code> invoke do
  1847. </code></li>
  1848.  
  1849. <li class="pre-context-line"><code> static! if settings.static? &amp;&amp; (request.get? || request.head?)
  1850. </code></li>
  1851.  
  1852. <li class="pre-context-line"><code> filter! :before
  1853. </code></li>
  1854.  
  1855. </ol>
  1856.  
  1857.  
  1858. <ol start="1085" class="context" id="23"
  1859. onclick="toggle(23);">
  1860. <li class="context-line" id="context-23"><code> route!</code></li>
  1861. </ol>
  1862.  
  1863.  
  1864. <ol start="1086" class="post-context"
  1865. id="post-23" onclick="toggle(23);">
  1866.  
  1867. <li class="post-context-line"><code> end
  1868. </code></li>
  1869.  
  1870. <li class="post-context-line"><code> rescue ::Exception =&gt; boom
  1871. </code></li>
  1872.  
  1873. <li class="post-context-line"><code> invoke { handle_exception!(boom) }
  1874. </code></li>
  1875.  
  1876. <li class="post-context-line"><code> ensure
  1877. </code></li>
  1878.  
  1879. <li class="post-context-line"><code> begin
  1880. </code></li>
  1881.  
  1882. <li class="post-context-line"><code> filter! :after unless env[&#x27;sinatra.static_file&#x27;]
  1883. </code></li>
  1884.  
  1885. <li class="post-context-line"><code> rescue ::Exception =&gt; boom
  1886. </code></li>
  1887.  
  1888. </ol>
  1889.  
  1890. <div class="clear"></div>
  1891. </li>
  1892.  
  1893.  
  1894.  
  1895.  
  1896.  
  1897.  
  1898.  
  1899. <li class="frame-info framework">
  1900. <code>&#x2F;usr&#x2F;share&#x2F;gems&#x2F;gems&#x2F;sinatra-1.4.8&#x2F;lib&#x2F;sinatra&#x2F;base.rb</code> in
  1901. <code><strong>block in invoke</strong></code>
  1902. </li>
  1903.  
  1904. <li class="code framework">
  1905.  
  1906. <ol start="1060"
  1907. class="pre-context" id="pre-24"
  1908. onclick="toggle(24);">
  1909.  
  1910. <li class="pre-context-line"><code> # Creates a Hash with indifferent access.
  1911. </code></li>
  1912.  
  1913. <li class="pre-context-line"><code> def indifferent_hash
  1914. </code></li>
  1915.  
  1916. <li class="pre-context-line"><code> Hash.new {|hash,key| hash[key.to_s] if Symbol === key }
  1917. </code></li>
  1918.  
  1919. <li class="pre-context-line"><code> end
  1920. </code></li>
  1921.  
  1922. <li class="pre-context-line"><code>
  1923. </code></li>
  1924.  
  1925. <li class="pre-context-line"><code> # Run the block with &#x27;throw :halt&#x27; support and apply result to the response.
  1926. </code></li>
  1927.  
  1928. <li class="pre-context-line"><code> def invoke
  1929. </code></li>
  1930.  
  1931. </ol>
  1932.  
  1933.  
  1934. <ol start="1067" class="context" id="24"
  1935. onclick="toggle(24);">
  1936. <li class="context-line" id="context-24"><code> res = catch(:halt) { yield }</code></li>
  1937. </ol>
  1938.  
  1939.  
  1940. <ol start="1068" class="post-context"
  1941. id="post-24" onclick="toggle(24);">
  1942.  
  1943. <li class="post-context-line"><code> res = [res] if Integer === res or String === res
  1944. </code></li>
  1945.  
  1946. <li class="post-context-line"><code> if Array === res and Integer === res.first
  1947. </code></li>
  1948.  
  1949. <li class="post-context-line"><code> res = res.dup
  1950. </code></li>
  1951.  
  1952. <li class="post-context-line"><code> status(res.shift)
  1953. </code></li>
  1954.  
  1955. <li class="post-context-line"><code> body(res.pop)
  1956. </code></li>
  1957.  
  1958. <li class="post-context-line"><code> headers(*res)
  1959. </code></li>
  1960.  
  1961. <li class="post-context-line"><code> elsif res.respond_to? :each
  1962. </code></li>
  1963.  
  1964. </ol>
  1965.  
  1966. <div class="clear"></div>
  1967. </li>
  1968.  
  1969.  
  1970.  
  1971.  
  1972.  
  1973.  
  1974.  
  1975. <li class="frame-info framework">
  1976. <code>&#x2F;usr&#x2F;share&#x2F;gems&#x2F;gems&#x2F;sinatra-1.4.8&#x2F;lib&#x2F;sinatra&#x2F;base.rb</code> in
  1977. <code><strong>catch</strong></code>
  1978. </li>
  1979.  
  1980. <li class="code framework">
  1981.  
  1982. <ol start="1060"
  1983. class="pre-context" id="pre-25"
  1984. onclick="toggle(25);">
  1985.  
  1986. <li class="pre-context-line"><code> # Creates a Hash with indifferent access.
  1987. </code></li>
  1988.  
  1989. <li class="pre-context-line"><code> def indifferent_hash
  1990. </code></li>
  1991.  
  1992. <li class="pre-context-line"><code> Hash.new {|hash,key| hash[key.to_s] if Symbol === key }
  1993. </code></li>
  1994.  
  1995. <li class="pre-context-line"><code> end
  1996. </code></li>
  1997.  
  1998. <li class="pre-context-line"><code>
  1999. </code></li>
  2000.  
  2001. <li class="pre-context-line"><code> # Run the block with &#x27;throw :halt&#x27; support and apply result to the response.
  2002. </code></li>
  2003.  
  2004. <li class="pre-context-line"><code> def invoke
  2005. </code></li>
  2006.  
  2007. </ol>
  2008.  
  2009.  
  2010. <ol start="1067" class="context" id="25"
  2011. onclick="toggle(25);">
  2012. <li class="context-line" id="context-25"><code> res = catch(:halt) { yield }</code></li>
  2013. </ol>
  2014.  
  2015.  
  2016. <ol start="1068" class="post-context"
  2017. id="post-25" onclick="toggle(25);">
  2018.  
  2019. <li class="post-context-line"><code> res = [res] if Integer === res or String === res
  2020. </code></li>
  2021.  
  2022. <li class="post-context-line"><code> if Array === res and Integer === res.first
  2023. </code></li>
  2024.  
  2025. <li class="post-context-line"><code> res = res.dup
  2026. </code></li>
  2027.  
  2028. <li class="post-context-line"><code> status(res.shift)
  2029. </code></li>
  2030.  
  2031. <li class="post-context-line"><code> body(res.pop)
  2032. </code></li>
  2033.  
  2034. <li class="post-context-line"><code> headers(*res)
  2035. </code></li>
  2036.  
  2037. <li class="post-context-line"><code> elsif res.respond_to? :each
  2038. </code></li>
  2039.  
  2040. </ol>
  2041.  
  2042. <div class="clear"></div>
  2043. </li>
  2044.  
  2045.  
  2046.  
  2047.  
  2048.  
  2049.  
  2050.  
  2051. <li class="frame-info framework">
  2052. <code>&#x2F;usr&#x2F;share&#x2F;gems&#x2F;gems&#x2F;sinatra-1.4.8&#x2F;lib&#x2F;sinatra&#x2F;base.rb</code> in
  2053. <code><strong>invoke</strong></code>
  2054. </li>
  2055.  
  2056. <li class="code framework">
  2057.  
  2058. <ol start="1060"
  2059. class="pre-context" id="pre-26"
  2060. onclick="toggle(26);">
  2061.  
  2062. <li class="pre-context-line"><code> # Creates a Hash with indifferent access.
  2063. </code></li>
  2064.  
  2065. <li class="pre-context-line"><code> def indifferent_hash
  2066. </code></li>
  2067.  
  2068. <li class="pre-context-line"><code> Hash.new {|hash,key| hash[key.to_s] if Symbol === key }
  2069. </code></li>
  2070.  
  2071. <li class="pre-context-line"><code> end
  2072. </code></li>
  2073.  
  2074. <li class="pre-context-line"><code>
  2075. </code></li>
  2076.  
  2077. <li class="pre-context-line"><code> # Run the block with &#x27;throw :halt&#x27; support and apply result to the response.
  2078. </code></li>
  2079.  
  2080. <li class="pre-context-line"><code> def invoke
  2081. </code></li>
  2082.  
  2083. </ol>
  2084.  
  2085.  
  2086. <ol start="1067" class="context" id="26"
  2087. onclick="toggle(26);">
  2088. <li class="context-line" id="context-26"><code> res = catch(:halt) { yield }</code></li>
  2089. </ol>
  2090.  
  2091.  
  2092. <ol start="1068" class="post-context"
  2093. id="post-26" onclick="toggle(26);">
  2094.  
  2095. <li class="post-context-line"><code> res = [res] if Integer === res or String === res
  2096. </code></li>
  2097.  
  2098. <li class="post-context-line"><code> if Array === res and Integer === res.first
  2099. </code></li>
  2100.  
  2101. <li class="post-context-line"><code> res = res.dup
  2102. </code></li>
  2103.  
  2104. <li class="post-context-line"><code> status(res.shift)
  2105. </code></li>
  2106.  
  2107. <li class="post-context-line"><code> body(res.pop)
  2108. </code></li>
  2109.  
  2110. <li class="post-context-line"><code> headers(*res)
  2111. </code></li>
  2112.  
  2113. <li class="post-context-line"><code> elsif res.respond_to? :each
  2114. </code></li>
  2115.  
  2116. </ol>
  2117.  
  2118. <div class="clear"></div>
  2119. </li>
  2120.  
  2121.  
  2122.  
  2123.  
  2124.  
  2125.  
  2126.  
  2127. <li class="frame-info framework">
  2128. <code>&#x2F;usr&#x2F;share&#x2F;gems&#x2F;gems&#x2F;sinatra-1.4.8&#x2F;lib&#x2F;sinatra&#x2F;base.rb</code> in
  2129. <code><strong>dispatch!</strong></code>
  2130. </li>
  2131.  
  2132. <li class="code framework">
  2133.  
  2134. <ol start="1075"
  2135. class="pre-context" id="pre-27"
  2136. onclick="toggle(27);">
  2137.  
  2138. <li class="pre-context-line"><code> body res
  2139. </code></li>
  2140.  
  2141. <li class="pre-context-line"><code> end
  2142. </code></li>
  2143.  
  2144. <li class="pre-context-line"><code> nil # avoid double setting the same response tuple twice
  2145. </code></li>
  2146.  
  2147. <li class="pre-context-line"><code> end
  2148. </code></li>
  2149.  
  2150. <li class="pre-context-line"><code>
  2151. </code></li>
  2152.  
  2153. <li class="pre-context-line"><code> # Dispatch a request with error handling.
  2154. </code></li>
  2155.  
  2156. <li class="pre-context-line"><code> def dispatch!
  2157. </code></li>
  2158.  
  2159. </ol>
  2160.  
  2161.  
  2162. <ol start="1082" class="context" id="27"
  2163. onclick="toggle(27);">
  2164. <li class="context-line" id="context-27"><code> invoke do</code></li>
  2165. </ol>
  2166.  
  2167.  
  2168. <ol start="1083" class="post-context"
  2169. id="post-27" onclick="toggle(27);">
  2170.  
  2171. <li class="post-context-line"><code> static! if settings.static? &amp;&amp; (request.get? || request.head?)
  2172. </code></li>
  2173.  
  2174. <li class="post-context-line"><code> filter! :before
  2175. </code></li>
  2176.  
  2177. <li class="post-context-line"><code> route!
  2178. </code></li>
  2179.  
  2180. <li class="post-context-line"><code> end
  2181. </code></li>
  2182.  
  2183. <li class="post-context-line"><code> rescue ::Exception =&gt; boom
  2184. </code></li>
  2185.  
  2186. <li class="post-context-line"><code> invoke { handle_exception!(boom) }
  2187. </code></li>
  2188.  
  2189. <li class="post-context-line"><code> ensure
  2190. </code></li>
  2191.  
  2192. </ol>
  2193.  
  2194. <div class="clear"></div>
  2195. </li>
  2196.  
  2197.  
  2198.  
  2199.  
  2200.  
  2201.  
  2202.  
  2203. <li class="frame-info framework">
  2204. <code>&#x2F;usr&#x2F;share&#x2F;gems&#x2F;gems&#x2F;sinatra-1.4.8&#x2F;lib&#x2F;sinatra&#x2F;base.rb</code> in
  2205. <code><strong>block in call!</strong></code>
  2206. </li>
  2207.  
  2208. <li class="code framework">
  2209.  
  2210. <ol start="900"
  2211. class="pre-context" id="pre-28"
  2212. onclick="toggle(28);">
  2213.  
  2214. <li class="pre-context-line"><code> @request = Request.new(env)
  2215. </code></li>
  2216.  
  2217. <li class="pre-context-line"><code> @response = Response.new
  2218. </code></li>
  2219.  
  2220. <li class="pre-context-line"><code> @params = indifferent_params(@request.params)
  2221. </code></li>
  2222.  
  2223. <li class="pre-context-line"><code> template_cache.clear if settings.reload_templates
  2224. </code></li>
  2225.  
  2226. <li class="pre-context-line"><code> force_encoding(@params)
  2227. </code></li>
  2228.  
  2229. <li class="pre-context-line"><code>
  2230. </code></li>
  2231.  
  2232. <li class="pre-context-line"><code> @response[&#x27;Content-Type&#x27;] = nil
  2233. </code></li>
  2234.  
  2235. </ol>
  2236.  
  2237.  
  2238. <ol start="907" class="context" id="28"
  2239. onclick="toggle(28);">
  2240. <li class="context-line" id="context-28"><code> invoke { dispatch! }</code></li>
  2241. </ol>
  2242.  
  2243.  
  2244. <ol start="908" class="post-context"
  2245. id="post-28" onclick="toggle(28);">
  2246.  
  2247. <li class="post-context-line"><code> invoke { error_block!(response.status) } unless @env[&#x27;sinatra.error&#x27;]
  2248. </code></li>
  2249.  
  2250. <li class="post-context-line"><code>
  2251. </code></li>
  2252.  
  2253. <li class="post-context-line"><code> unless @response[&#x27;Content-Type&#x27;]
  2254. </code></li>
  2255.  
  2256. <li class="post-context-line"><code> if Array === body and body[0].respond_to? :content_type
  2257. </code></li>
  2258.  
  2259. <li class="post-context-line"><code> content_type body[0].content_type
  2260. </code></li>
  2261.  
  2262. <li class="post-context-line"><code> else
  2263. </code></li>
  2264.  
  2265. <li class="post-context-line"><code> content_type :html
  2266. </code></li>
  2267.  
  2268. </ol>
  2269.  
  2270. <div class="clear"></div>
  2271. </li>
  2272.  
  2273.  
  2274.  
  2275.  
  2276.  
  2277.  
  2278.  
  2279. <li class="frame-info framework">
  2280. <code>&#x2F;usr&#x2F;share&#x2F;gems&#x2F;gems&#x2F;sinatra-1.4.8&#x2F;lib&#x2F;sinatra&#x2F;base.rb</code> in
  2281. <code><strong>block in invoke</strong></code>
  2282. </li>
  2283.  
  2284. <li class="code framework">
  2285.  
  2286. <ol start="1060"
  2287. class="pre-context" id="pre-29"
  2288. onclick="toggle(29);">
  2289.  
  2290. <li class="pre-context-line"><code> # Creates a Hash with indifferent access.
  2291. </code></li>
  2292.  
  2293. <li class="pre-context-line"><code> def indifferent_hash
  2294. </code></li>
  2295.  
  2296. <li class="pre-context-line"><code> Hash.new {|hash,key| hash[key.to_s] if Symbol === key }
  2297. </code></li>
  2298.  
  2299. <li class="pre-context-line"><code> end
  2300. </code></li>
  2301.  
  2302. <li class="pre-context-line"><code>
  2303. </code></li>
  2304.  
  2305. <li class="pre-context-line"><code> # Run the block with &#x27;throw :halt&#x27; support and apply result to the response.
  2306. </code></li>
  2307.  
  2308. <li class="pre-context-line"><code> def invoke
  2309. </code></li>
  2310.  
  2311. </ol>
  2312.  
  2313.  
  2314. <ol start="1067" class="context" id="29"
  2315. onclick="toggle(29);">
  2316. <li class="context-line" id="context-29"><code> res = catch(:halt) { yield }</code></li>
  2317. </ol>
  2318.  
  2319.  
  2320. <ol start="1068" class="post-context"
  2321. id="post-29" onclick="toggle(29);">
  2322.  
  2323. <li class="post-context-line"><code> res = [res] if Integer === res or String === res
  2324. </code></li>
  2325.  
  2326. <li class="post-context-line"><code> if Array === res and Integer === res.first
  2327. </code></li>
  2328.  
  2329. <li class="post-context-line"><code> res = res.dup
  2330. </code></li>
  2331.  
  2332. <li class="post-context-line"><code> status(res.shift)
  2333. </code></li>
  2334.  
  2335. <li class="post-context-line"><code> body(res.pop)
  2336. </code></li>
  2337.  
  2338. <li class="post-context-line"><code> headers(*res)
  2339. </code></li>
  2340.  
  2341. <li class="post-context-line"><code> elsif res.respond_to? :each
  2342. </code></li>
  2343.  
  2344. </ol>
  2345.  
  2346. <div class="clear"></div>
  2347. </li>
  2348.  
  2349.  
  2350.  
  2351.  
  2352.  
  2353.  
  2354.  
  2355. <li class="frame-info framework">
  2356. <code>&#x2F;usr&#x2F;share&#x2F;gems&#x2F;gems&#x2F;sinatra-1.4.8&#x2F;lib&#x2F;sinatra&#x2F;base.rb</code> in
  2357. <code><strong>catch</strong></code>
  2358. </li>
  2359.  
  2360. <li class="code framework">
  2361.  
  2362. <ol start="1060"
  2363. class="pre-context" id="pre-30"
  2364. onclick="toggle(30);">
  2365.  
  2366. <li class="pre-context-line"><code> # Creates a Hash with indifferent access.
  2367. </code></li>
  2368.  
  2369. <li class="pre-context-line"><code> def indifferent_hash
  2370. </code></li>
  2371.  
  2372. <li class="pre-context-line"><code> Hash.new {|hash,key| hash[key.to_s] if Symbol === key }
  2373. </code></li>
  2374.  
  2375. <li class="pre-context-line"><code> end
  2376. </code></li>
  2377.  
  2378. <li class="pre-context-line"><code>
  2379. </code></li>
  2380.  
  2381. <li class="pre-context-line"><code> # Run the block with &#x27;throw :halt&#x27; support and apply result to the response.
  2382. </code></li>
  2383.  
  2384. <li class="pre-context-line"><code> def invoke
  2385. </code></li>
  2386.  
  2387. </ol>
  2388.  
  2389.  
  2390. <ol start="1067" class="context" id="30"
  2391. onclick="toggle(30);">
  2392. <li class="context-line" id="context-30"><code> res = catch(:halt) { yield }</code></li>
  2393. </ol>
  2394.  
  2395.  
  2396. <ol start="1068" class="post-context"
  2397. id="post-30" onclick="toggle(30);">
  2398.  
  2399. <li class="post-context-line"><code> res = [res] if Integer === res or String === res
  2400. </code></li>
  2401.  
  2402. <li class="post-context-line"><code> if Array === res and Integer === res.first
  2403. </code></li>
  2404.  
  2405. <li class="post-context-line"><code> res = res.dup
  2406. </code></li>
  2407.  
  2408. <li class="post-context-line"><code> status(res.shift)
  2409. </code></li>
  2410.  
  2411. <li class="post-context-line"><code> body(res.pop)
  2412. </code></li>
  2413.  
  2414. <li class="post-context-line"><code> headers(*res)
  2415. </code></li>
  2416.  
  2417. <li class="post-context-line"><code> elsif res.respond_to? :each
  2418. </code></li>
  2419.  
  2420. </ol>
  2421.  
  2422. <div class="clear"></div>
  2423. </li>
  2424.  
  2425.  
  2426.  
  2427.  
  2428.  
  2429.  
  2430.  
  2431. <li class="frame-info framework">
  2432. <code>&#x2F;usr&#x2F;share&#x2F;gems&#x2F;gems&#x2F;sinatra-1.4.8&#x2F;lib&#x2F;sinatra&#x2F;base.rb</code> in
  2433. <code><strong>invoke</strong></code>
  2434. </li>
  2435.  
  2436. <li class="code framework">
  2437.  
  2438. <ol start="1060"
  2439. class="pre-context" id="pre-31"
  2440. onclick="toggle(31);">
  2441.  
  2442. <li class="pre-context-line"><code> # Creates a Hash with indifferent access.
  2443. </code></li>
  2444.  
  2445. <li class="pre-context-line"><code> def indifferent_hash
  2446. </code></li>
  2447.  
  2448. <li class="pre-context-line"><code> Hash.new {|hash,key| hash[key.to_s] if Symbol === key }
  2449. </code></li>
  2450.  
  2451. <li class="pre-context-line"><code> end
  2452. </code></li>
  2453.  
  2454. <li class="pre-context-line"><code>
  2455. </code></li>
  2456.  
  2457. <li class="pre-context-line"><code> # Run the block with &#x27;throw :halt&#x27; support and apply result to the response.
  2458. </code></li>
  2459.  
  2460. <li class="pre-context-line"><code> def invoke
  2461. </code></li>
  2462.  
  2463. </ol>
  2464.  
  2465.  
  2466. <ol start="1067" class="context" id="31"
  2467. onclick="toggle(31);">
  2468. <li class="context-line" id="context-31"><code> res = catch(:halt) { yield }</code></li>
  2469. </ol>
  2470.  
  2471.  
  2472. <ol start="1068" class="post-context"
  2473. id="post-31" onclick="toggle(31);">
  2474.  
  2475. <li class="post-context-line"><code> res = [res] if Integer === res or String === res
  2476. </code></li>
  2477.  
  2478. <li class="post-context-line"><code> if Array === res and Integer === res.first
  2479. </code></li>
  2480.  
  2481. <li class="post-context-line"><code> res = res.dup
  2482. </code></li>
  2483.  
  2484. <li class="post-context-line"><code> status(res.shift)
  2485. </code></li>
  2486.  
  2487. <li class="post-context-line"><code> body(res.pop)
  2488. </code></li>
  2489.  
  2490. <li class="post-context-line"><code> headers(*res)
  2491. </code></li>
  2492.  
  2493. <li class="post-context-line"><code> elsif res.respond_to? :each
  2494. </code></li>
  2495.  
  2496. </ol>
  2497.  
  2498. <div class="clear"></div>
  2499. </li>
  2500.  
  2501.  
  2502.  
  2503.  
  2504.  
  2505.  
  2506.  
  2507. <li class="frame-info framework">
  2508. <code>&#x2F;usr&#x2F;share&#x2F;gems&#x2F;gems&#x2F;sinatra-1.4.8&#x2F;lib&#x2F;sinatra&#x2F;base.rb</code> in
  2509. <code><strong>call!</strong></code>
  2510. </li>
  2511.  
  2512. <li class="code framework">
  2513.  
  2514. <ol start="900"
  2515. class="pre-context" id="pre-32"
  2516. onclick="toggle(32);">
  2517.  
  2518. <li class="pre-context-line"><code> @request = Request.new(env)
  2519. </code></li>
  2520.  
  2521. <li class="pre-context-line"><code> @response = Response.new
  2522. </code></li>
  2523.  
  2524. <li class="pre-context-line"><code> @params = indifferent_params(@request.params)
  2525. </code></li>
  2526.  
  2527. <li class="pre-context-line"><code> template_cache.clear if settings.reload_templates
  2528. </code></li>
  2529.  
  2530. <li class="pre-context-line"><code> force_encoding(@params)
  2531. </code></li>
  2532.  
  2533. <li class="pre-context-line"><code>
  2534. </code></li>
  2535.  
  2536. <li class="pre-context-line"><code> @response[&#x27;Content-Type&#x27;] = nil
  2537. </code></li>
  2538.  
  2539. </ol>
  2540.  
  2541.  
  2542. <ol start="907" class="context" id="32"
  2543. onclick="toggle(32);">
  2544. <li class="context-line" id="context-32"><code> invoke { dispatch! }</code></li>
  2545. </ol>
  2546.  
  2547.  
  2548. <ol start="908" class="post-context"
  2549. id="post-32" onclick="toggle(32);">
  2550.  
  2551. <li class="post-context-line"><code> invoke { error_block!(response.status) } unless @env[&#x27;sinatra.error&#x27;]
  2552. </code></li>
  2553.  
  2554. <li class="post-context-line"><code>
  2555. </code></li>
  2556.  
  2557. <li class="post-context-line"><code> unless @response[&#x27;Content-Type&#x27;]
  2558. </code></li>
  2559.  
  2560. <li class="post-context-line"><code> if Array === body and body[0].respond_to? :content_type
  2561. </code></li>
  2562.  
  2563. <li class="post-context-line"><code> content_type body[0].content_type
  2564. </code></li>
  2565.  
  2566. <li class="post-context-line"><code> else
  2567. </code></li>
  2568.  
  2569. <li class="post-context-line"><code> content_type :html
  2570. </code></li>
  2571.  
  2572. </ol>
  2573.  
  2574. <div class="clear"></div>
  2575. </li>
  2576.  
  2577.  
  2578.  
  2579.  
  2580.  
  2581.  
  2582.  
  2583. <li class="frame-info framework">
  2584. <code>&#x2F;usr&#x2F;share&#x2F;gems&#x2F;gems&#x2F;sinatra-1.4.8&#x2F;lib&#x2F;sinatra&#x2F;base.rb</code> in
  2585. <code><strong>call</strong></code>
  2586. </li>
  2587.  
  2588. <li class="code framework">
  2589.  
  2590. <ol start="888"
  2591. class="pre-context" id="pre-33"
  2592. onclick="toggle(33);">
  2593.  
  2594. <li class="pre-context-line"><code> @app = app
  2595. </code></li>
  2596.  
  2597. <li class="pre-context-line"><code> @template_cache = Tilt::Cache.new
  2598. </code></li>
  2599.  
  2600. <li class="pre-context-line"><code> yield self if block_given?
  2601. </code></li>
  2602.  
  2603. <li class="pre-context-line"><code> end
  2604. </code></li>
  2605.  
  2606. <li class="pre-context-line"><code>
  2607. </code></li>
  2608.  
  2609. <li class="pre-context-line"><code> # Rack call interface.
  2610. </code></li>
  2611.  
  2612. <li class="pre-context-line"><code> def call(env)
  2613. </code></li>
  2614.  
  2615. </ol>
  2616.  
  2617.  
  2618. <ol start="895" class="context" id="33"
  2619. onclick="toggle(33);">
  2620. <li class="context-line" id="context-33"><code> dup.call!(env)</code></li>
  2621. </ol>
  2622.  
  2623.  
  2624. <ol start="896" class="post-context"
  2625. id="post-33" onclick="toggle(33);">
  2626.  
  2627. <li class="post-context-line"><code> end
  2628. </code></li>
  2629.  
  2630. <li class="post-context-line"><code>
  2631. </code></li>
  2632.  
  2633. <li class="post-context-line"><code> def call!(env) # :nodoc:
  2634. </code></li>
  2635.  
  2636. <li class="post-context-line"><code> @env = env
  2637. </code></li>
  2638.  
  2639. <li class="post-context-line"><code> @request = Request.new(env)
  2640. </code></li>
  2641.  
  2642. <li class="post-context-line"><code> @response = Response.new
  2643. </code></li>
  2644.  
  2645. <li class="post-context-line"><code> @params = indifferent_params(@request.params)
  2646. </code></li>
  2647.  
  2648. </ol>
  2649.  
  2650. <div class="clear"></div>
  2651. </li>
  2652.  
  2653.  
  2654.  
  2655.  
  2656.  
  2657.  
  2658.  
  2659. <li class="frame-info app">
  2660. <code>&#x2F;usr&#x2F;share&#x2F;gems&#x2F;gems&#x2F;rack-1.6.4&#x2F;lib&#x2F;rack&#x2F;commonlogger.rb</code> in
  2661. <code><strong>call</strong></code>
  2662. </li>
  2663.  
  2664. <li class="code app">
  2665.  
  2666. <ol start="26"
  2667. class="pre-context" id="pre-34"
  2668. onclick="toggle(34);">
  2669.  
  2670. <li class="pre-context-line"><code> def initialize(app, logger=nil)
  2671. </code></li>
  2672.  
  2673. <li class="pre-context-line"><code> @app = app
  2674. </code></li>
  2675.  
  2676. <li class="pre-context-line"><code> @logger = logger
  2677. </code></li>
  2678.  
  2679. <li class="pre-context-line"><code> end
  2680. </code></li>
  2681.  
  2682. <li class="pre-context-line"><code>
  2683. </code></li>
  2684.  
  2685. <li class="pre-context-line"><code> def call(env)
  2686. </code></li>
  2687.  
  2688. <li class="pre-context-line"><code> began_at = Time.now
  2689. </code></li>
  2690.  
  2691. </ol>
  2692.  
  2693.  
  2694. <ol start="33" class="context" id="34"
  2695. onclick="toggle(34);">
  2696. <li class="context-line" id="context-34"><code> status, header, body = @app.call(env)</code></li>
  2697. </ol>
  2698.  
  2699.  
  2700. <ol start="34" class="post-context"
  2701. id="post-34" onclick="toggle(34);">
  2702.  
  2703. <li class="post-context-line"><code> header = Utils::HeaderHash.new(header)
  2704. </code></li>
  2705.  
  2706. <li class="post-context-line"><code> body = BodyProxy.new(body) { log(env, status, header, began_at) }
  2707. </code></li>
  2708.  
  2709. <li class="post-context-line"><code> [status, header, body]
  2710. </code></li>
  2711.  
  2712. <li class="post-context-line"><code> end
  2713. </code></li>
  2714.  
  2715. <li class="post-context-line"><code>
  2716. </code></li>
  2717.  
  2718. <li class="post-context-line"><code> private
  2719. </code></li>
  2720.  
  2721. <li class="post-context-line"><code>
  2722. </code></li>
  2723.  
  2724. </ol>
  2725.  
  2726. <div class="clear"></div>
  2727. </li>
  2728.  
  2729.  
  2730.  
  2731.  
  2732.  
  2733.  
  2734.  
  2735. <li class="frame-info framework">
  2736. <code>&#x2F;usr&#x2F;share&#x2F;gems&#x2F;gems&#x2F;sinatra-1.4.8&#x2F;lib&#x2F;sinatra&#x2F;base.rb</code> in
  2737. <code><strong>call</strong></code>
  2738. </li>
  2739.  
  2740. <li class="code framework">
  2741.  
  2742. <ol start="212"
  2743. class="pre-context" id="pre-35"
  2744. onclick="toggle(35);">
  2745.  
  2746. <li class="pre-context-line"><code> env[&#x27;sinatra.commonlogger&#x27;] ? @app.call(env) : super
  2747. </code></li>
  2748.  
  2749. <li class="pre-context-line"><code> end
  2750. </code></li>
  2751.  
  2752. <li class="pre-context-line"><code>
  2753. </code></li>
  2754.  
  2755. <li class="pre-context-line"><code> superclass.class_eval do
  2756. </code></li>
  2757.  
  2758. <li class="pre-context-line"><code> alias call_without_check call unless method_defined? :call_without_check
  2759. </code></li>
  2760.  
  2761. <li class="pre-context-line"><code> def call(env)
  2762. </code></li>
  2763.  
  2764. <li class="pre-context-line"><code> env[&#x27;sinatra.commonlogger&#x27;] = true
  2765. </code></li>
  2766.  
  2767. </ol>
  2768.  
  2769.  
  2770. <ol start="219" class="context" id="35"
  2771. onclick="toggle(35);">
  2772. <li class="context-line" id="context-35"><code> call_without_check(env)</code></li>
  2773. </ol>
  2774.  
  2775.  
  2776. <ol start="220" class="post-context"
  2777. id="post-35" onclick="toggle(35);">
  2778.  
  2779. <li class="post-context-line"><code> end
  2780. </code></li>
  2781.  
  2782. <li class="post-context-line"><code> end
  2783. </code></li>
  2784.  
  2785. <li class="post-context-line"><code> end
  2786. </code></li>
  2787.  
  2788. <li class="post-context-line"><code>
  2789. </code></li>
  2790.  
  2791. <li class="post-context-line"><code> class NotFound &lt; NameError #:nodoc:
  2792. </code></li>
  2793.  
  2794. <li class="post-context-line"><code> def http_status; 404 end
  2795. </code></li>
  2796.  
  2797. <li class="post-context-line"><code> end
  2798. </code></li>
  2799.  
  2800. </ol>
  2801.  
  2802. <div class="clear"></div>
  2803. </li>
  2804.  
  2805.  
  2806.  
  2807.  
  2808.  
  2809.  
  2810.  
  2811. <li class="frame-info app">
  2812. <code>&#x2F;usr&#x2F;share&#x2F;foreman-proxy&#x2F;lib&#x2F;proxy&#x2F;log.rb</code> in
  2813. <code><strong>call</strong></code>
  2814. </li>
  2815.  
  2816. <li class="code app">
  2817.  
  2818. <ol start="102"
  2819. class="pre-context" id="pre-36"
  2820. onclick="toggle(36);">
  2821.  
  2822. <li class="pre-context-line"><code>
  2823. </code></li>
  2824.  
  2825. <li class="pre-context-line"><code> def initialize(app)
  2826. </code></li>
  2827.  
  2828. <li class="pre-context-line"><code> @app = app
  2829. </code></li>
  2830.  
  2831. <li class="pre-context-line"><code> end
  2832. </code></li>
  2833.  
  2834. <li class="pre-context-line"><code>
  2835. </code></li>
  2836.  
  2837. <li class="pre-context-line"><code> def call(env)
  2838. </code></li>
  2839.  
  2840. <li class="pre-context-line"><code> env[&#x27;rack.logger&#x27;] = logger
  2841. </code></li>
  2842.  
  2843. </ol>
  2844.  
  2845.  
  2846. <ol start="109" class="context" id="36"
  2847. onclick="toggle(36);">
  2848. <li class="context-line" id="context-36"><code> @app.call(env)</code></li>
  2849. </ol>
  2850.  
  2851.  
  2852. <ol start="110" class="post-context"
  2853. id="post-36" onclick="toggle(36);">
  2854.  
  2855. <li class="post-context-line"><code> end
  2856. </code></li>
  2857.  
  2858. <li class="post-context-line"><code> end
  2859. </code></li>
  2860.  
  2861. <li class="post-context-line"><code>end
  2862. </code></li>
  2863.  
  2864. </ol>
  2865.  
  2866. <div class="clear"></div>
  2867. </li>
  2868.  
  2869.  
  2870.  
  2871.  
  2872.  
  2873.  
  2874.  
  2875. <li class="frame-info app">
  2876. <code>&#x2F;usr&#x2F;share&#x2F;foreman-proxy&#x2F;lib&#x2F;proxy&#x2F;request_id_middleware.rb</code> in
  2877. <code><strong>call</strong></code>
  2878. </li>
  2879.  
  2880. <li class="code app">
  2881.  
  2882. <ol start="2"
  2883. class="pre-context" id="pre-37"
  2884. onclick="toggle(37);">
  2885.  
  2886. <li class="pre-context-line"><code> class RequestIdMiddleware
  2887. </code></li>
  2888.  
  2889. <li class="pre-context-line"><code> def initialize(app)
  2890. </code></li>
  2891.  
  2892. <li class="pre-context-line"><code> @app = app
  2893. </code></li>
  2894.  
  2895. <li class="pre-context-line"><code> end
  2896. </code></li>
  2897.  
  2898. <li class="pre-context-line"><code>
  2899. </code></li>
  2900.  
  2901. <li class="pre-context-line"><code> def call(env)
  2902. </code></li>
  2903.  
  2904. <li class="pre-context-line"><code> Thread.current.thread_variable_set(:request_id, env[&#x27;HTTP_X_REQUEST_ID&#x27;]) if env.has_key?(&#x27;HTTP_X_REQUEST_ID&#x27;)
  2905. </code></li>
  2906.  
  2907. </ol>
  2908.  
  2909.  
  2910. <ol start="9" class="context" id="37"
  2911. onclick="toggle(37);">
  2912. <li class="context-line" id="context-37"><code> status, header, body = @app.call(env)</code></li>
  2913. </ol>
  2914.  
  2915.  
  2916. <ol start="10" class="post-context"
  2917. id="post-37" onclick="toggle(37);">
  2918.  
  2919. <li class="post-context-line"><code> [status, header, ::Rack::BodyProxy.new(body) { Thread.current.thread_variable_set(:request_id, nil) }]
  2920. </code></li>
  2921.  
  2922. <li class="post-context-line"><code> end
  2923. </code></li>
  2924.  
  2925. <li class="post-context-line"><code> end
  2926. </code></li>
  2927.  
  2928. <li class="post-context-line"><code>end
  2929. </code></li>
  2930.  
  2931. </ol>
  2932.  
  2933. <div class="clear"></div>
  2934. </li>
  2935.  
  2936.  
  2937.  
  2938.  
  2939.  
  2940.  
  2941.  
  2942. <li class="frame-info app">
  2943. <code>&#x2F;usr&#x2F;share&#x2F;gems&#x2F;gems&#x2F;rack-protection-1.5.3&#x2F;lib&#x2F;rack&#x2F;protection&#x2F;xss_header.rb</code> in
  2944. <code><strong>call</strong></code>
  2945. </li>
  2946.  
  2947. <li class="code app">
  2948.  
  2949. <ol start="11"
  2950. class="pre-context" id="pre-38"
  2951. onclick="toggle(38);">
  2952.  
  2953. <li class="pre-context-line"><code> #
  2954. </code></li>
  2955.  
  2956. <li class="pre-context-line"><code> # Options:
  2957. </code></li>
  2958.  
  2959. <li class="pre-context-line"><code> # xss_mode:: How the browser should prevent the attack (default: :block)
  2960. </code></li>
  2961.  
  2962. <li class="pre-context-line"><code> class XSSHeader &lt; Base
  2963. </code></li>
  2964.  
  2965. <li class="pre-context-line"><code> default_options :xss_mode =&gt; :block, :nosniff =&gt; true
  2966. </code></li>
  2967.  
  2968. <li class="pre-context-line"><code>
  2969. </code></li>
  2970.  
  2971. <li class="pre-context-line"><code> def call(env)
  2972. </code></li>
  2973.  
  2974. </ol>
  2975.  
  2976.  
  2977. <ol start="18" class="context" id="38"
  2978. onclick="toggle(38);">
  2979. <li class="context-line" id="context-38"><code> status, headers, body = @app.call(env)</code></li>
  2980. </ol>
  2981.  
  2982.  
  2983. <ol start="19" class="post-context"
  2984. id="post-38" onclick="toggle(38);">
  2985.  
  2986. <li class="post-context-line"><code> headers[&#x27;X-XSS-Protection&#x27;] ||= &quot;1; mode=#{options[:xss_mode]}&quot; if html? headers
  2987. </code></li>
  2988.  
  2989. <li class="post-context-line"><code> headers[&#x27;X-Content-Type-Options&#x27;] ||= &#x27;nosniff&#x27; if options[:nosniff]
  2990. </code></li>
  2991.  
  2992. <li class="post-context-line"><code> [status, headers, body]
  2993. </code></li>
  2994.  
  2995. <li class="post-context-line"><code> end
  2996. </code></li>
  2997.  
  2998. <li class="post-context-line"><code> end
  2999. </code></li>
  3000.  
  3001. <li class="post-context-line"><code> end
  3002. </code></li>
  3003.  
  3004. <li class="post-context-line"><code>end
  3005. </code></li>
  3006.  
  3007. </ol>
  3008.  
  3009. <div class="clear"></div>
  3010. </li>
  3011.  
  3012.  
  3013.  
  3014.  
  3015.  
  3016.  
  3017.  
  3018. <li class="frame-info app">
  3019. <code>&#x2F;usr&#x2F;share&#x2F;gems&#x2F;gems&#x2F;rack-protection-1.5.3&#x2F;lib&#x2F;rack&#x2F;protection&#x2F;path_traversal.rb</code> in
  3020. <code><strong>call</strong></code>
  3021. </li>
  3022.  
  3023. <li class="code app">
  3024.  
  3025. <ol start="9"
  3026. class="pre-context" id="pre-39"
  3027. onclick="toggle(39);">
  3028.  
  3029. <li class="pre-context-line"><code> #
  3030. </code></li>
  3031.  
  3032. <li class="pre-context-line"><code> # Unescapes &#x27;&#x2F;&#x27; and &#x27;.&#x27;, expands +path_info+.
  3033. </code></li>
  3034.  
  3035. <li class="pre-context-line"><code> # Thus &lt;tt&gt;GET &#x2F;foo&#x2F;%2e%2e%2fbar&lt;&#x2F;tt&gt; becomes &lt;tt&gt;GET &#x2F;bar&lt;&#x2F;tt&gt;.
  3036. </code></li>
  3037.  
  3038. <li class="pre-context-line"><code> class PathTraversal &lt; Base
  3039. </code></li>
  3040.  
  3041. <li class="pre-context-line"><code> def call(env)
  3042. </code></li>
  3043.  
  3044. <li class="pre-context-line"><code> path_was = env[&quot;PATH_INFO&quot;]
  3045. </code></li>
  3046.  
  3047. <li class="pre-context-line"><code> env[&quot;PATH_INFO&quot;] = cleanup path_was if path_was &amp;&amp; !path_was.empty?
  3048. </code></li>
  3049.  
  3050. </ol>
  3051.  
  3052.  
  3053. <ol start="16" class="context" id="39"
  3054. onclick="toggle(39);">
  3055. <li class="context-line" id="context-39"><code> app.call env</code></li>
  3056. </ol>
  3057.  
  3058.  
  3059. <ol start="17" class="post-context"
  3060. id="post-39" onclick="toggle(39);">
  3061.  
  3062. <li class="post-context-line"><code> ensure
  3063. </code></li>
  3064.  
  3065. <li class="post-context-line"><code> env[&quot;PATH_INFO&quot;] = path_was
  3066. </code></li>
  3067.  
  3068. <li class="post-context-line"><code> end
  3069. </code></li>
  3070.  
  3071. <li class="post-context-line"><code>
  3072. </code></li>
  3073.  
  3074. <li class="post-context-line"><code> def cleanup(path)
  3075. </code></li>
  3076.  
  3077. <li class="post-context-line"><code> if path.respond_to?(:encoding)
  3078. </code></li>
  3079.  
  3080. <li class="post-context-line"><code> # Ruby 1.9+ M17N
  3081. </code></li>
  3082.  
  3083. </ol>
  3084.  
  3085. <div class="clear"></div>
  3086. </li>
  3087.  
  3088.  
  3089.  
  3090.  
  3091.  
  3092.  
  3093.  
  3094. <li class="frame-info app">
  3095. <code>&#x2F;usr&#x2F;share&#x2F;gems&#x2F;gems&#x2F;rack-protection-1.5.3&#x2F;lib&#x2F;rack&#x2F;protection&#x2F;json_csrf.rb</code> in
  3096. <code><strong>call</strong></code>
  3097. </li>
  3098.  
  3099. <li class="code app">
  3100.  
  3101. <ol start="11"
  3102. class="pre-context" id="pre-40"
  3103. onclick="toggle(40);">
  3104.  
  3105. <li class="pre-context-line"><code> # Array prototype has been patched to track data. Checks the referrer
  3106. </code></li>
  3107.  
  3108. <li class="pre-context-line"><code> # even on GET requests if the content type is JSON.
  3109. </code></li>
  3110.  
  3111. <li class="pre-context-line"><code> class JsonCsrf &lt; Base
  3112. </code></li>
  3113.  
  3114. <li class="pre-context-line"><code> alias react deny
  3115. </code></li>
  3116.  
  3117. <li class="pre-context-line"><code>
  3118. </code></li>
  3119.  
  3120. <li class="pre-context-line"><code> def call(env)
  3121. </code></li>
  3122.  
  3123. <li class="pre-context-line"><code> request = Request.new(env)
  3124. </code></li>
  3125.  
  3126. </ol>
  3127.  
  3128.  
  3129. <ol start="18" class="context" id="40"
  3130. onclick="toggle(40);">
  3131. <li class="context-line" id="context-40"><code> status, headers, body = app.call(env)</code></li>
  3132. </ol>
  3133.  
  3134.  
  3135. <ol start="19" class="post-context"
  3136. id="post-40" onclick="toggle(40);">
  3137.  
  3138. <li class="post-context-line"><code>
  3139. </code></li>
  3140.  
  3141. <li class="post-context-line"><code> if has_vector? request, headers
  3142. </code></li>
  3143.  
  3144. <li class="post-context-line"><code> warn env, &quot;attack prevented by #{self.class}&quot;
  3145. </code></li>
  3146.  
  3147. <li class="post-context-line"><code> react(env) or [status, headers, body]
  3148. </code></li>
  3149.  
  3150. <li class="post-context-line"><code> else
  3151. </code></li>
  3152.  
  3153. <li class="post-context-line"><code> [status, headers, body]
  3154. </code></li>
  3155.  
  3156. <li class="post-context-line"><code> end
  3157. </code></li>
  3158.  
  3159. </ol>
  3160.  
  3161. <div class="clear"></div>
  3162. </li>
  3163.  
  3164.  
  3165.  
  3166.  
  3167.  
  3168.  
  3169.  
  3170. <li class="frame-info app">
  3171. <code>&#x2F;usr&#x2F;share&#x2F;gems&#x2F;gems&#x2F;rack-protection-1.5.3&#x2F;lib&#x2F;rack&#x2F;protection&#x2F;base.rb</code> in
  3172. <code><strong>call</strong></code>
  3173. </li>
  3174.  
  3175. <li class="code app">
  3176.  
  3177. <ol start="42"
  3178. class="pre-context" id="pre-41"
  3179. onclick="toggle(41);">
  3180.  
  3181. <li class="pre-context-line"><code> end
  3182. </code></li>
  3183.  
  3184. <li class="pre-context-line"><code>
  3185. </code></li>
  3186.  
  3187. <li class="pre-context-line"><code> def call(env)
  3188. </code></li>
  3189.  
  3190. <li class="pre-context-line"><code> unless accepts? env
  3191. </code></li>
  3192.  
  3193. <li class="pre-context-line"><code> instrument env
  3194. </code></li>
  3195.  
  3196. <li class="pre-context-line"><code> result = react env
  3197. </code></li>
  3198.  
  3199. <li class="pre-context-line"><code> end
  3200. </code></li>
  3201.  
  3202. </ol>
  3203.  
  3204.  
  3205. <ol start="49" class="context" id="41"
  3206. onclick="toggle(41);">
  3207. <li class="context-line" id="context-41"><code> result or app.call(env)</code></li>
  3208. </ol>
  3209.  
  3210.  
  3211. <ol start="50" class="post-context"
  3212. id="post-41" onclick="toggle(41);">
  3213.  
  3214. <li class="post-context-line"><code> end
  3215. </code></li>
  3216.  
  3217. <li class="post-context-line"><code>
  3218. </code></li>
  3219.  
  3220. <li class="post-context-line"><code> def react(env)
  3221. </code></li>
  3222.  
  3223. <li class="post-context-line"><code> result = send(options[:reaction], env)
  3224. </code></li>
  3225.  
  3226. <li class="post-context-line"><code> result if Array === result and result.size == 3
  3227. </code></li>
  3228.  
  3229. <li class="post-context-line"><code> end
  3230. </code></li>
  3231.  
  3232. <li class="post-context-line"><code>
  3233. </code></li>
  3234.  
  3235. </ol>
  3236.  
  3237. <div class="clear"></div>
  3238. </li>
  3239.  
  3240.  
  3241.  
  3242.  
  3243.  
  3244.  
  3245.  
  3246. <li class="frame-info app">
  3247. <code>&#x2F;usr&#x2F;share&#x2F;gems&#x2F;gems&#x2F;rack-protection-1.5.3&#x2F;lib&#x2F;rack&#x2F;protection&#x2F;base.rb</code> in
  3248. <code><strong>call</strong></code>
  3249. </li>
  3250.  
  3251. <li class="code app">
  3252.  
  3253. <ol start="42"
  3254. class="pre-context" id="pre-42"
  3255. onclick="toggle(42);">
  3256.  
  3257. <li class="pre-context-line"><code> end
  3258. </code></li>
  3259.  
  3260. <li class="pre-context-line"><code>
  3261. </code></li>
  3262.  
  3263. <li class="pre-context-line"><code> def call(env)
  3264. </code></li>
  3265.  
  3266. <li class="pre-context-line"><code> unless accepts? env
  3267. </code></li>
  3268.  
  3269. <li class="pre-context-line"><code> instrument env
  3270. </code></li>
  3271.  
  3272. <li class="pre-context-line"><code> result = react env
  3273. </code></li>
  3274.  
  3275. <li class="pre-context-line"><code> end
  3276. </code></li>
  3277.  
  3278. </ol>
  3279.  
  3280.  
  3281. <ol start="49" class="context" id="42"
  3282. onclick="toggle(42);">
  3283. <li class="context-line" id="context-42"><code> result or app.call(env)</code></li>
  3284. </ol>
  3285.  
  3286.  
  3287. <ol start="50" class="post-context"
  3288. id="post-42" onclick="toggle(42);">
  3289.  
  3290. <li class="post-context-line"><code> end
  3291. </code></li>
  3292.  
  3293. <li class="post-context-line"><code>
  3294. </code></li>
  3295.  
  3296. <li class="post-context-line"><code> def react(env)
  3297. </code></li>
  3298.  
  3299. <li class="post-context-line"><code> result = send(options[:reaction], env)
  3300. </code></li>
  3301.  
  3302. <li class="post-context-line"><code> result if Array === result and result.size == 3
  3303. </code></li>
  3304.  
  3305. <li class="post-context-line"><code> end
  3306. </code></li>
  3307.  
  3308. <li class="post-context-line"><code>
  3309. </code></li>
  3310.  
  3311. </ol>
  3312.  
  3313. <div class="clear"></div>
  3314. </li>
  3315.  
  3316.  
  3317.  
  3318.  
  3319.  
  3320.  
  3321.  
  3322. <li class="frame-info app">
  3323. <code>&#x2F;usr&#x2F;share&#x2F;gems&#x2F;gems&#x2F;rack-protection-1.5.3&#x2F;lib&#x2F;rack&#x2F;protection&#x2F;frame_options.rb</code> in
  3324. <code><strong>call</strong></code>
  3325. </li>
  3326.  
  3327. <li class="code app">
  3328.  
  3329. <ol start="24"
  3330. class="pre-context" id="pre-43"
  3331. onclick="toggle(43);">
  3332.  
  3333. <li class="pre-context-line"><code> frame_options = options[:frame_options]
  3334. </code></li>
  3335.  
  3336. <li class="pre-context-line"><code> frame_options = options[:frame_options].to_s.upcase unless frame_options.respond_to? :to_str
  3337. </code></li>
  3338.  
  3339. <li class="pre-context-line"><code> frame_options.to_str
  3340. </code></li>
  3341.  
  3342. <li class="pre-context-line"><code> end
  3343. </code></li>
  3344.  
  3345. <li class="pre-context-line"><code> end
  3346. </code></li>
  3347.  
  3348. <li class="pre-context-line"><code>
  3349. </code></li>
  3350.  
  3351. <li class="pre-context-line"><code> def call(env)
  3352. </code></li>
  3353.  
  3354. </ol>
  3355.  
  3356.  
  3357. <ol start="31" class="context" id="43"
  3358. onclick="toggle(43);">
  3359. <li class="context-line" id="context-43"><code> status, headers, body = @app.call(env)</code></li>
  3360. </ol>
  3361.  
  3362.  
  3363. <ol start="32" class="post-context"
  3364. id="post-43" onclick="toggle(43);">
  3365.  
  3366. <li class="post-context-line"><code> headers[&#x27;X-Frame-Options&#x27;] ||= frame_options if html? headers
  3367. </code></li>
  3368.  
  3369. <li class="post-context-line"><code> [status, headers, body]
  3370. </code></li>
  3371.  
  3372. <li class="post-context-line"><code> end
  3373. </code></li>
  3374.  
  3375. <li class="post-context-line"><code> end
  3376. </code></li>
  3377.  
  3378. <li class="post-context-line"><code> end
  3379. </code></li>
  3380.  
  3381. <li class="post-context-line"><code>end
  3382. </code></li>
  3383.  
  3384. </ol>
  3385.  
  3386. <div class="clear"></div>
  3387. </li>
  3388.  
  3389.  
  3390.  
  3391.  
  3392.  
  3393.  
  3394.  
  3395. <li class="frame-info app">
  3396. <code>&#x2F;usr&#x2F;share&#x2F;gems&#x2F;gems&#x2F;rack-1.6.4&#x2F;lib&#x2F;rack&#x2F;nulllogger.rb</code> in
  3397. <code><strong>call</strong></code>
  3398. </li>
  3399.  
  3400. <li class="code app">
  3401.  
  3402. <ol start="2"
  3403. class="pre-context" id="pre-44"
  3404. onclick="toggle(44);">
  3405.  
  3406. <li class="pre-context-line"><code> class NullLogger
  3407. </code></li>
  3408.  
  3409. <li class="pre-context-line"><code> def initialize(app)
  3410. </code></li>
  3411.  
  3412. <li class="pre-context-line"><code> @app = app
  3413. </code></li>
  3414.  
  3415. <li class="pre-context-line"><code> end
  3416. </code></li>
  3417.  
  3418. <li class="pre-context-line"><code>
  3419. </code></li>
  3420.  
  3421. <li class="pre-context-line"><code> def call(env)
  3422. </code></li>
  3423.  
  3424. <li class="pre-context-line"><code> env[&#x27;rack.logger&#x27;] = self
  3425. </code></li>
  3426.  
  3427. </ol>
  3428.  
  3429.  
  3430. <ol start="9" class="context" id="44"
  3431. onclick="toggle(44);">
  3432. <li class="context-line" id="context-44"><code> @app.call(env)</code></li>
  3433. </ol>
  3434.  
  3435.  
  3436. <ol start="10" class="post-context"
  3437. id="post-44" onclick="toggle(44);">
  3438.  
  3439. <li class="post-context-line"><code> end
  3440. </code></li>
  3441.  
  3442. <li class="post-context-line"><code>
  3443. </code></li>
  3444.  
  3445. <li class="post-context-line"><code> def info(progname = nil, &amp;block); end
  3446. </code></li>
  3447.  
  3448. <li class="post-context-line"><code> def debug(progname = nil, &amp;block); end
  3449. </code></li>
  3450.  
  3451. <li class="post-context-line"><code> def warn(progname = nil, &amp;block); end
  3452. </code></li>
  3453.  
  3454. <li class="post-context-line"><code> def error(progname = nil, &amp;block); end
  3455. </code></li>
  3456.  
  3457. <li class="post-context-line"><code> def fatal(progname = nil, &amp;block); end
  3458. </code></li>
  3459.  
  3460. </ol>
  3461.  
  3462. <div class="clear"></div>
  3463. </li>
  3464.  
  3465.  
  3466.  
  3467.  
  3468.  
  3469.  
  3470.  
  3471. <li class="frame-info app">
  3472. <code>&#x2F;usr&#x2F;share&#x2F;gems&#x2F;gems&#x2F;rack-1.6.4&#x2F;lib&#x2F;rack&#x2F;head.rb</code> in
  3473. <code><strong>call</strong></code>
  3474. </li>
  3475.  
  3476. <li class="code app">
  3477.  
  3478. <ol start="6"
  3479. class="pre-context" id="pre-45"
  3480. onclick="toggle(45);">
  3481.  
  3482. <li class="pre-context-line"><code> # Rack::Head returns an empty body for all HEAD requests. It leaves
  3483. </code></li>
  3484.  
  3485. <li class="pre-context-line"><code> # all other requests unchanged.
  3486. </code></li>
  3487.  
  3488. <li class="pre-context-line"><code> def initialize(app)
  3489. </code></li>
  3490.  
  3491. <li class="pre-context-line"><code> @app = app
  3492. </code></li>
  3493.  
  3494. <li class="pre-context-line"><code> end
  3495. </code></li>
  3496.  
  3497. <li class="pre-context-line"><code>
  3498. </code></li>
  3499.  
  3500. <li class="pre-context-line"><code> def call(env)
  3501. </code></li>
  3502.  
  3503. </ol>
  3504.  
  3505.  
  3506. <ol start="13" class="context" id="45"
  3507. onclick="toggle(45);">
  3508. <li class="context-line" id="context-45"><code> status, headers, body = @app.call(env)</code></li>
  3509. </ol>
  3510.  
  3511.  
  3512. <ol start="14" class="post-context"
  3513. id="post-45" onclick="toggle(45);">
  3514.  
  3515. <li class="post-context-line"><code>
  3516. </code></li>
  3517.  
  3518. <li class="post-context-line"><code> if env[REQUEST_METHOD] == HEAD
  3519. </code></li>
  3520.  
  3521. <li class="post-context-line"><code> [
  3522. </code></li>
  3523.  
  3524. <li class="post-context-line"><code> status, headers, Rack::BodyProxy.new([]) do
  3525. </code></li>
  3526.  
  3527. <li class="post-context-line"><code> body.close if body.respond_to? :close
  3528. </code></li>
  3529.  
  3530. <li class="post-context-line"><code> end
  3531. </code></li>
  3532.  
  3533. <li class="post-context-line"><code> ]
  3534. </code></li>
  3535.  
  3536. </ol>
  3537.  
  3538. <div class="clear"></div>
  3539. </li>
  3540.  
  3541.  
  3542.  
  3543.  
  3544.  
  3545.  
  3546.  
  3547. <li class="frame-info framework">
  3548. <code>&#x2F;usr&#x2F;share&#x2F;gems&#x2F;gems&#x2F;sinatra-1.4.8&#x2F;lib&#x2F;sinatra&#x2F;show_exceptions.rb</code> in
  3549. <code><strong>call</strong></code>
  3550. </li>
  3551.  
  3552. <li class="code framework">
  3553.  
  3554. <ol start="18"
  3555. class="pre-context" id="pre-46"
  3556. onclick="toggle(46);">
  3557.  
  3558. <li class="pre-context-line"><code>
  3559. </code></li>
  3560.  
  3561. <li class="pre-context-line"><code> def initialize(app)
  3562. </code></li>
  3563.  
  3564. <li class="pre-context-line"><code> @app = app
  3565. </code></li>
  3566.  
  3567. <li class="pre-context-line"><code> @template = ERB.new(TEMPLATE)
  3568. </code></li>
  3569.  
  3570. <li class="pre-context-line"><code> end
  3571. </code></li>
  3572.  
  3573. <li class="pre-context-line"><code>
  3574. </code></li>
  3575.  
  3576. <li class="pre-context-line"><code> def call(env)
  3577. </code></li>
  3578.  
  3579. </ol>
  3580.  
  3581.  
  3582. <ol start="25" class="context" id="46"
  3583. onclick="toggle(46);">
  3584. <li class="context-line" id="context-46"><code> @app.call(env)</code></li>
  3585. </ol>
  3586.  
  3587.  
  3588. <ol start="26" class="post-context"
  3589. id="post-46" onclick="toggle(46);">
  3590.  
  3591. <li class="post-context-line"><code> rescue Exception =&gt; e
  3592. </code></li>
  3593.  
  3594. <li class="post-context-line"><code> errors, env[&quot;rack.errors&quot;] = env[&quot;rack.errors&quot;], @@eats_errors
  3595. </code></li>
  3596.  
  3597. <li class="post-context-line"><code>
  3598. </code></li>
  3599.  
  3600. <li class="post-context-line"><code> if prefers_plain_text?(env)
  3601. </code></li>
  3602.  
  3603. <li class="post-context-line"><code> content_type = &quot;text&#x2F;plain&quot;
  3604. </code></li>
  3605.  
  3606. <li class="post-context-line"><code> exception = dump_exception(e)
  3607. </code></li>
  3608.  
  3609. <li class="post-context-line"><code> else
  3610. </code></li>
  3611.  
  3612. </ol>
  3613.  
  3614. <div class="clear"></div>
  3615. </li>
  3616.  
  3617.  
  3618.  
  3619.  
  3620.  
  3621.  
  3622.  
  3623. <li class="frame-info framework">
  3624. <code>&#x2F;usr&#x2F;share&#x2F;gems&#x2F;gems&#x2F;sinatra-1.4.8&#x2F;lib&#x2F;sinatra&#x2F;base.rb</code> in
  3625. <code><strong>call</strong></code>
  3626. </li>
  3627.  
  3628. <li class="code framework">
  3629.  
  3630. <ol start="175"
  3631. class="pre-context" id="pre-47"
  3632. onclick="toggle(47);">
  3633.  
  3634. <li class="pre-context-line"><code> # Some Rack handlers (Thin, Rainbows!) implement an extended body object protocol, however,
  3635. </code></li>
  3636.  
  3637. <li class="pre-context-line"><code> # some middleware (namely Rack::Lint) will break it by not mirroring the methods in question.
  3638. </code></li>
  3639.  
  3640. <li class="pre-context-line"><code> # This middleware will detect an extended body object and will make sure it reaches the
  3641. </code></li>
  3642.  
  3643. <li class="pre-context-line"><code> # handler directly. We do this here, so our middleware and middleware set up by the app will
  3644. </code></li>
  3645.  
  3646. <li class="pre-context-line"><code> # still be able to run.
  3647. </code></li>
  3648.  
  3649. <li class="pre-context-line"><code> class ExtendedRack &lt; Struct.new(:app)
  3650. </code></li>
  3651.  
  3652. <li class="pre-context-line"><code> def call(env)
  3653. </code></li>
  3654.  
  3655. </ol>
  3656.  
  3657.  
  3658. <ol start="182" class="context" id="47"
  3659. onclick="toggle(47);">
  3660. <li class="context-line" id="context-47"><code> result, callback = app.call(env), env[&#x27;async.callback&#x27;]</code></li>
  3661. </ol>
  3662.  
  3663.  
  3664. <ol start="183" class="post-context"
  3665. id="post-47" onclick="toggle(47);">
  3666.  
  3667. <li class="post-context-line"><code> return result unless callback and async?(*result)
  3668. </code></li>
  3669.  
  3670. <li class="post-context-line"><code> after_response { callback.call result }
  3671. </code></li>
  3672.  
  3673. <li class="post-context-line"><code> setup_close(env, *result)
  3674. </code></li>
  3675.  
  3676. <li class="post-context-line"><code> throw :async
  3677. </code></li>
  3678.  
  3679. <li class="post-context-line"><code> end
  3680. </code></li>
  3681.  
  3682. <li class="post-context-line"><code>
  3683. </code></li>
  3684.  
  3685. <li class="post-context-line"><code> private
  3686. </code></li>
  3687.  
  3688. </ol>
  3689.  
  3690. <div class="clear"></div>
  3691. </li>
  3692.  
  3693.  
  3694.  
  3695.  
  3696.  
  3697.  
  3698.  
  3699. <li class="frame-info framework">
  3700. <code>&#x2F;usr&#x2F;share&#x2F;gems&#x2F;gems&#x2F;sinatra-1.4.8&#x2F;lib&#x2F;sinatra&#x2F;base.rb</code> in
  3701. <code><strong>call</strong></code>
  3702. </li>
  3703.  
  3704. <li class="code framework">
  3705.  
  3706. <ol start="2006"
  3707. class="pre-context" id="pre-48"
  3708. onclick="toggle(48);">
  3709.  
  3710. <li class="pre-context-line"><code> end
  3711. </code></li>
  3712.  
  3713. <li class="pre-context-line"><code>
  3714. </code></li>
  3715.  
  3716. <li class="pre-context-line"><code> def helpers
  3717. </code></li>
  3718.  
  3719. <li class="pre-context-line"><code> @instance
  3720. </code></li>
  3721.  
  3722. <li class="pre-context-line"><code> end
  3723. </code></li>
  3724.  
  3725. <li class="pre-context-line"><code>
  3726. </code></li>
  3727.  
  3728. <li class="pre-context-line"><code> def call(env)
  3729. </code></li>
  3730.  
  3731. </ol>
  3732.  
  3733.  
  3734. <ol start="2013" class="context" id="48"
  3735. onclick="toggle(48);">
  3736. <li class="context-line" id="context-48"><code> @stack.call(env)</code></li>
  3737. </ol>
  3738.  
  3739.  
  3740. <ol start="2014" class="post-context"
  3741. id="post-48" onclick="toggle(48);">
  3742.  
  3743. <li class="post-context-line"><code> end
  3744. </code></li>
  3745.  
  3746. <li class="post-context-line"><code>
  3747. </code></li>
  3748.  
  3749. <li class="post-context-line"><code> def inspect
  3750. </code></li>
  3751.  
  3752. <li class="post-context-line"><code> &quot;#&lt;#{@instance.class} app_file=#{settings.app_file.inspect}&gt;&quot;
  3753. </code></li>
  3754.  
  3755. <li class="post-context-line"><code> end
  3756. </code></li>
  3757.  
  3758. <li class="post-context-line"><code> end
  3759. </code></li>
  3760.  
  3761. <li class="post-context-line"><code>
  3762. </code></li>
  3763.  
  3764. </ol>
  3765.  
  3766. <div class="clear"></div>
  3767. </li>
  3768.  
  3769.  
  3770.  
  3771.  
  3772.  
  3773.  
  3774.  
  3775. <li class="frame-info framework">
  3776. <code>&#x2F;usr&#x2F;share&#x2F;gems&#x2F;gems&#x2F;sinatra-1.4.8&#x2F;lib&#x2F;sinatra&#x2F;base.rb</code> in
  3777. <code><strong>block in call</strong></code>
  3778. </li>
  3779.  
  3780. <li class="code framework">
  3781.  
  3782. <ol start="1480"
  3783. class="pre-context" id="pre-49"
  3784. onclick="toggle(49);">
  3785.  
  3786. <li class="pre-context-line"><code> setup_default_middleware builder
  3787. </code></li>
  3788.  
  3789. <li class="pre-context-line"><code> setup_middleware builder
  3790. </code></li>
  3791.  
  3792. <li class="pre-context-line"><code> builder.run app
  3793. </code></li>
  3794.  
  3795. <li class="pre-context-line"><code> builder
  3796. </code></li>
  3797.  
  3798. <li class="pre-context-line"><code> end
  3799. </code></li>
  3800.  
  3801. <li class="pre-context-line"><code>
  3802. </code></li>
  3803.  
  3804. <li class="pre-context-line"><code> def call(env)
  3805. </code></li>
  3806.  
  3807. </ol>
  3808.  
  3809.  
  3810. <ol start="1487" class="context" id="49"
  3811. onclick="toggle(49);">
  3812. <li class="context-line" id="context-49"><code> synchronize { prototype.call(env) }</code></li>
  3813. </ol>
  3814.  
  3815.  
  3816. <ol start="1488" class="post-context"
  3817. id="post-49" onclick="toggle(49);">
  3818.  
  3819. <li class="post-context-line"><code> end
  3820. </code></li>
  3821.  
  3822. <li class="post-context-line"><code>
  3823. </code></li>
  3824.  
  3825. <li class="post-context-line"><code> # Like Kernel#caller but excluding certain magic entries and without
  3826. </code></li>
  3827.  
  3828. <li class="post-context-line"><code> # line &#x2F; method information; the resulting array contains filenames only.
  3829. </code></li>
  3830.  
  3831. <li class="post-context-line"><code> def caller_files
  3832. </code></li>
  3833.  
  3834. <li class="post-context-line"><code> cleaned_caller(1).flatten
  3835. </code></li>
  3836.  
  3837. <li class="post-context-line"><code> end
  3838. </code></li>
  3839.  
  3840. </ol>
  3841.  
  3842. <div class="clear"></div>
  3843. </li>
  3844.  
  3845.  
  3846.  
  3847.  
  3848.  
  3849.  
  3850.  
  3851. <li class="frame-info framework">
  3852. <code>&#x2F;usr&#x2F;share&#x2F;gems&#x2F;gems&#x2F;sinatra-1.4.8&#x2F;lib&#x2F;sinatra&#x2F;base.rb</code> in
  3853. <code><strong>synchronize</strong></code>
  3854. </li>
  3855.  
  3856. <li class="code framework">
  3857.  
  3858. <ol start="1780"
  3859. class="pre-context" id="pre-50"
  3860. onclick="toggle(50);">
  3861.  
  3862. <li class="pre-context-line"><code> end
  3863. </code></li>
  3864.  
  3865. <li class="pre-context-line"><code>
  3866. </code></li>
  3867.  
  3868. <li class="pre-context-line"><code> @@mutex = Mutex.new
  3869. </code></li>
  3870.  
  3871. <li class="pre-context-line"><code> def synchronize(&amp;block)
  3872. </code></li>
  3873.  
  3874. <li class="pre-context-line"><code> if lock?
  3875. </code></li>
  3876.  
  3877. <li class="pre-context-line"><code> @@mutex.synchronize(&amp;block)
  3878. </code></li>
  3879.  
  3880. <li class="pre-context-line"><code> else
  3881. </code></li>
  3882.  
  3883. </ol>
  3884.  
  3885.  
  3886. <ol start="1787" class="context" id="50"
  3887. onclick="toggle(50);">
  3888. <li class="context-line" id="context-50"><code> yield</code></li>
  3889. </ol>
  3890.  
  3891.  
  3892. <ol start="1788" class="post-context"
  3893. id="post-50" onclick="toggle(50);">
  3894.  
  3895. <li class="post-context-line"><code> end
  3896. </code></li>
  3897.  
  3898. <li class="post-context-line"><code> end
  3899. </code></li>
  3900.  
  3901. <li class="post-context-line"><code>
  3902. </code></li>
  3903.  
  3904. <li class="post-context-line"><code> # used for deprecation warnings
  3905. </code></li>
  3906.  
  3907. <li class="post-context-line"><code> def warn(message)
  3908. </code></li>
  3909.  
  3910. <li class="post-context-line"><code> super message + &quot;\n\tfrom #{cleaned_caller.first.join(&#x27;:&#x27;)}&quot;
  3911. </code></li>
  3912.  
  3913. <li class="post-context-line"><code> end
  3914. </code></li>
  3915.  
  3916. </ol>
  3917.  
  3918. <div class="clear"></div>
  3919. </li>
  3920.  
  3921.  
  3922.  
  3923.  
  3924.  
  3925.  
  3926.  
  3927. <li class="frame-info framework">
  3928. <code>&#x2F;usr&#x2F;share&#x2F;gems&#x2F;gems&#x2F;sinatra-1.4.8&#x2F;lib&#x2F;sinatra&#x2F;base.rb</code> in
  3929. <code><strong>call</strong></code>
  3930. </li>
  3931.  
  3932. <li class="code framework">
  3933.  
  3934. <ol start="1480"
  3935. class="pre-context" id="pre-51"
  3936. onclick="toggle(51);">
  3937.  
  3938. <li class="pre-context-line"><code> setup_default_middleware builder
  3939. </code></li>
  3940.  
  3941. <li class="pre-context-line"><code> setup_middleware builder
  3942. </code></li>
  3943.  
  3944. <li class="pre-context-line"><code> builder.run app
  3945. </code></li>
  3946.  
  3947. <li class="pre-context-line"><code> builder
  3948. </code></li>
  3949.  
  3950. <li class="pre-context-line"><code> end
  3951. </code></li>
  3952.  
  3953. <li class="pre-context-line"><code>
  3954. </code></li>
  3955.  
  3956. <li class="pre-context-line"><code> def call(env)
  3957. </code></li>
  3958.  
  3959. </ol>
  3960.  
  3961.  
  3962. <ol start="1487" class="context" id="51"
  3963. onclick="toggle(51);">
  3964. <li class="context-line" id="context-51"><code> synchronize { prototype.call(env) }</code></li>
  3965. </ol>
  3966.  
  3967.  
  3968. <ol start="1488" class="post-context"
  3969. id="post-51" onclick="toggle(51);">
  3970.  
  3971. <li class="post-context-line"><code> end
  3972. </code></li>
  3973.  
  3974. <li class="post-context-line"><code>
  3975. </code></li>
  3976.  
  3977. <li class="post-context-line"><code> # Like Kernel#caller but excluding certain magic entries and without
  3978. </code></li>
  3979.  
  3980. <li class="post-context-line"><code> # line &#x2F; method information; the resulting array contains filenames only.
  3981. </code></li>
  3982.  
  3983. <li class="post-context-line"><code> def caller_files
  3984. </code></li>
  3985.  
  3986. <li class="post-context-line"><code> cleaned_caller(1).flatten
  3987. </code></li>
  3988.  
  3989. <li class="post-context-line"><code> end
  3990. </code></li>
  3991.  
  3992. </ol>
  3993.  
  3994. <div class="clear"></div>
  3995. </li>
  3996.  
  3997.  
  3998.  
  3999.  
  4000.  
  4001.  
  4002.  
  4003. <li class="frame-info app">
  4004. <code>&#x2F;usr&#x2F;share&#x2F;gems&#x2F;gems&#x2F;rack-1.6.4&#x2F;lib&#x2F;rack&#x2F;urlmap.rb</code> in
  4005. <code><strong>block in call</strong></code>
  4006. </li>
  4007.  
  4008. <li class="code app">
  4009.  
  4010. <ol start="59"
  4011. class="pre-context" id="pre-52"
  4012. onclick="toggle(52);">
  4013.  
  4014. <li class="pre-context-line"><code>
  4015. </code></li>
  4016.  
  4017. <li class="pre-context-line"><code> rest = m[1]
  4018. </code></li>
  4019.  
  4020. <li class="pre-context-line"><code> next unless !rest || rest.empty? || rest[0] == ?&#x2F;
  4021. </code></li>
  4022.  
  4023. <li class="pre-context-line"><code>
  4024. </code></li>
  4025.  
  4026. <li class="pre-context-line"><code> env[&#x27;SCRIPT_NAME&#x27;] = (script_name + location)
  4027. </code></li>
  4028.  
  4029. <li class="pre-context-line"><code> env[&#x27;PATH_INFO&#x27;] = rest
  4030. </code></li>
  4031.  
  4032. <li class="pre-context-line"><code>
  4033. </code></li>
  4034.  
  4035. </ol>
  4036.  
  4037.  
  4038. <ol start="66" class="context" id="52"
  4039. onclick="toggle(52);">
  4040. <li class="context-line" id="context-52"><code> return app.call(env)</code></li>
  4041. </ol>
  4042.  
  4043.  
  4044. <ol start="67" class="post-context"
  4045. id="post-52" onclick="toggle(52);">
  4046.  
  4047. <li class="post-context-line"><code> end
  4048. </code></li>
  4049.  
  4050. <li class="post-context-line"><code>
  4051. </code></li>
  4052.  
  4053. <li class="post-context-line"><code> [404, {CONTENT_TYPE =&gt; &quot;text&#x2F;plain&quot;, &quot;X-Cascade&quot; =&gt; &quot;pass&quot;}, [&quot;Not Found: #{path}&quot;]]
  4054. </code></li>
  4055.  
  4056. <li class="post-context-line"><code>
  4057. </code></li>
  4058.  
  4059. <li class="post-context-line"><code> ensure
  4060. </code></li>
  4061.  
  4062. <li class="post-context-line"><code> env[&#x27;PATH_INFO&#x27;] = path
  4063. </code></li>
  4064.  
  4065. <li class="post-context-line"><code> env[&#x27;SCRIPT_NAME&#x27;] = script_name
  4066. </code></li>
  4067.  
  4068. </ol>
  4069.  
  4070. <div class="clear"></div>
  4071. </li>
  4072.  
  4073.  
  4074.  
  4075.  
  4076.  
  4077.  
  4078.  
  4079. <li class="frame-info app">
  4080. <code>&#x2F;usr&#x2F;share&#x2F;gems&#x2F;gems&#x2F;rack-1.6.4&#x2F;lib&#x2F;rack&#x2F;urlmap.rb</code> in
  4081. <code><strong>each</strong></code>
  4082. </li>
  4083.  
  4084. <li class="code app">
  4085.  
  4086. <ol start="43"
  4087. class="pre-context" id="pre-53"
  4088. onclick="toggle(53);">
  4089.  
  4090. <li class="pre-context-line"><code> def call(env)
  4091. </code></li>
  4092.  
  4093. <li class="pre-context-line"><code> path = env[PATH_INFO]
  4094. </code></li>
  4095.  
  4096. <li class="pre-context-line"><code> script_name = env[&#x27;SCRIPT_NAME&#x27;]
  4097. </code></li>
  4098.  
  4099. <li class="pre-context-line"><code> hHost = env[&#x27;HTTP_HOST&#x27;]
  4100. </code></li>
  4101.  
  4102. <li class="pre-context-line"><code> sName = env[&#x27;SERVER_NAME&#x27;]
  4103. </code></li>
  4104.  
  4105. <li class="pre-context-line"><code> sPort = env[&#x27;SERVER_PORT&#x27;]
  4106. </code></li>
  4107.  
  4108. <li class="pre-context-line"><code>
  4109. </code></li>
  4110.  
  4111. </ol>
  4112.  
  4113.  
  4114. <ol start="50" class="context" id="53"
  4115. onclick="toggle(53);">
  4116. <li class="context-line" id="context-53"><code> @mapping.each do |host, location, match, app|</code></li>
  4117. </ol>
  4118.  
  4119.  
  4120. <ol start="51" class="post-context"
  4121. id="post-53" onclick="toggle(53);">
  4122.  
  4123. <li class="post-context-line"><code> unless casecmp?(hHost, host) \
  4124. </code></li>
  4125.  
  4126. <li class="post-context-line"><code> || casecmp?(sName, host) \
  4127. </code></li>
  4128.  
  4129. <li class="post-context-line"><code> || (!host &amp;&amp; (casecmp?(hHost, sName) ||
  4130. </code></li>
  4131.  
  4132. <li class="post-context-line"><code> casecmp?(hHost, sName+&#x27;:&#x27;+sPort)))
  4133. </code></li>
  4134.  
  4135. <li class="post-context-line"><code> next
  4136. </code></li>
  4137.  
  4138. <li class="post-context-line"><code> end
  4139. </code></li>
  4140.  
  4141. <li class="post-context-line"><code>
  4142. </code></li>
  4143.  
  4144. </ol>
  4145.  
  4146. <div class="clear"></div>
  4147. </li>
  4148.  
  4149.  
  4150.  
  4151.  
  4152.  
  4153.  
  4154.  
  4155. <li class="frame-info app">
  4156. <code>&#x2F;usr&#x2F;share&#x2F;gems&#x2F;gems&#x2F;rack-1.6.4&#x2F;lib&#x2F;rack&#x2F;urlmap.rb</code> in
  4157. <code><strong>call</strong></code>
  4158. </li>
  4159.  
  4160. <li class="code app">
  4161.  
  4162. <ol start="43"
  4163. class="pre-context" id="pre-54"
  4164. onclick="toggle(54);">
  4165.  
  4166. <li class="pre-context-line"><code> def call(env)
  4167. </code></li>
  4168.  
  4169. <li class="pre-context-line"><code> path = env[PATH_INFO]
  4170. </code></li>
  4171.  
  4172. <li class="pre-context-line"><code> script_name = env[&#x27;SCRIPT_NAME&#x27;]
  4173. </code></li>
  4174.  
  4175. <li class="pre-context-line"><code> hHost = env[&#x27;HTTP_HOST&#x27;]
  4176. </code></li>
  4177.  
  4178. <li class="pre-context-line"><code> sName = env[&#x27;SERVER_NAME&#x27;]
  4179. </code></li>
  4180.  
  4181. <li class="pre-context-line"><code> sPort = env[&#x27;SERVER_PORT&#x27;]
  4182. </code></li>
  4183.  
  4184. <li class="pre-context-line"><code>
  4185. </code></li>
  4186.  
  4187. </ol>
  4188.  
  4189.  
  4190. <ol start="50" class="context" id="54"
  4191. onclick="toggle(54);">
  4192. <li class="context-line" id="context-54"><code> @mapping.each do |host, location, match, app|</code></li>
  4193. </ol>
  4194.  
  4195.  
  4196. <ol start="51" class="post-context"
  4197. id="post-54" onclick="toggle(54);">
  4198.  
  4199. <li class="post-context-line"><code> unless casecmp?(hHost, host) \
  4200. </code></li>
  4201.  
  4202. <li class="post-context-line"><code> || casecmp?(sName, host) \
  4203. </code></li>
  4204.  
  4205. <li class="post-context-line"><code> || (!host &amp;&amp; (casecmp?(hHost, sName) ||
  4206. </code></li>
  4207.  
  4208. <li class="post-context-line"><code> casecmp?(hHost, sName+&#x27;:&#x27;+sPort)))
  4209. </code></li>
  4210.  
  4211. <li class="post-context-line"><code> next
  4212. </code></li>
  4213.  
  4214. <li class="post-context-line"><code> end
  4215. </code></li>
  4216.  
  4217. <li class="post-context-line"><code>
  4218. </code></li>
  4219.  
  4220. </ol>
  4221.  
  4222. <div class="clear"></div>
  4223. </li>
  4224.  
  4225.  
  4226.  
  4227.  
  4228.  
  4229.  
  4230.  
  4231. <li class="frame-info app">
  4232. <code>&#x2F;usr&#x2F;share&#x2F;gems&#x2F;gems&#x2F;rack-1.6.4&#x2F;lib&#x2F;rack&#x2F;builder.rb</code> in
  4233. <code><strong>call</strong></code>
  4234. </li>
  4235.  
  4236. <li class="code app">
  4237.  
  4238. <ol start="146"
  4239. class="pre-context" id="pre-55"
  4240. onclick="toggle(55);">
  4241.  
  4242. <li class="pre-context-line"><code> fail &quot;missing run or map statement&quot; unless app
  4243. </code></li>
  4244.  
  4245. <li class="pre-context-line"><code> app = @use.reverse.inject(app) { |a,e| e[a] }
  4246. </code></li>
  4247.  
  4248. <li class="pre-context-line"><code> @warmup.call(app) if @warmup
  4249. </code></li>
  4250.  
  4251. <li class="pre-context-line"><code> app
  4252. </code></li>
  4253.  
  4254. <li class="pre-context-line"><code> end
  4255. </code></li>
  4256.  
  4257. <li class="pre-context-line"><code>
  4258. </code></li>
  4259.  
  4260. <li class="pre-context-line"><code> def call(env)
  4261. </code></li>
  4262.  
  4263. </ol>
  4264.  
  4265.  
  4266. <ol start="153" class="context" id="55"
  4267. onclick="toggle(55);">
  4268. <li class="context-line" id="context-55"><code> to_app.call(env)</code></li>
  4269. </ol>
  4270.  
  4271.  
  4272. <ol start="154" class="post-context"
  4273. id="post-55" onclick="toggle(55);">
  4274.  
  4275. <li class="post-context-line"><code> end
  4276. </code></li>
  4277.  
  4278. <li class="post-context-line"><code>
  4279. </code></li>
  4280.  
  4281. <li class="post-context-line"><code> private
  4282. </code></li>
  4283.  
  4284. <li class="post-context-line"><code>
  4285. </code></li>
  4286.  
  4287. <li class="post-context-line"><code> def generate_map(default_app, mapping)
  4288. </code></li>
  4289.  
  4290. <li class="post-context-line"><code> mapped = default_app ? {&#x27;&#x2F;&#x27; =&gt; default_app} : {}
  4291. </code></li>
  4292.  
  4293. <li class="post-context-line"><code> mapping.each { |r,b| mapped[r] = self.class.new(default_app, &amp;b).to_app }
  4294. </code></li>
  4295.  
  4296. </ol>
  4297.  
  4298. <div class="clear"></div>
  4299. </li>
  4300.  
  4301.  
  4302.  
  4303.  
  4304.  
  4305.  
  4306.  
  4307. <li class="frame-info app">
  4308. <code>&#x2F;usr&#x2F;share&#x2F;gems&#x2F;gems&#x2F;rack-1.6.4&#x2F;lib&#x2F;rack&#x2F;handler&#x2F;webrick.rb</code> in
  4309. <code><strong>service</strong></code>
  4310. </li>
  4311.  
  4312. <li class="code app">
  4313.  
  4314. <ol start="81"
  4315. class="pre-context" id="pre-56"
  4316. onclick="toggle(56);">
  4317.  
  4318. <li class="pre-context-line"><code> env[QUERY_STRING] ||= &quot;&quot;
  4319. </code></li>
  4320.  
  4321. <li class="pre-context-line"><code> unless env[PATH_INFO] == &quot;&quot;
  4322. </code></li>
  4323.  
  4324. <li class="pre-context-line"><code> path, n = req.request_uri.path, env[&quot;SCRIPT_NAME&quot;].length
  4325. </code></li>
  4326.  
  4327. <li class="pre-context-line"><code> env[PATH_INFO] = path[n, path.length-n]
  4328. </code></li>
  4329.  
  4330. <li class="pre-context-line"><code> end
  4331. </code></li>
  4332.  
  4333. <li class="pre-context-line"><code> env[&quot;REQUEST_PATH&quot;] ||= [env[&quot;SCRIPT_NAME&quot;], env[PATH_INFO]].join
  4334. </code></li>
  4335.  
  4336. <li class="pre-context-line"><code>
  4337. </code></li>
  4338.  
  4339. </ol>
  4340.  
  4341.  
  4342. <ol start="88" class="context" id="56"
  4343. onclick="toggle(56);">
  4344. <li class="context-line" id="context-56"><code> status, headers, body = @app.call(env)</code></li>
  4345. </ol>
  4346.  
  4347.  
  4348. <ol start="89" class="post-context"
  4349. id="post-56" onclick="toggle(56);">
  4350.  
  4351. <li class="post-context-line"><code> begin
  4352. </code></li>
  4353.  
  4354. <li class="post-context-line"><code> res.status = status.to_i
  4355. </code></li>
  4356.  
  4357. <li class="post-context-line"><code> headers.each { |k, vs|
  4358. </code></li>
  4359.  
  4360. <li class="post-context-line"><code> next if k.downcase == &quot;rack.hijack&quot;
  4361. </code></li>
  4362.  
  4363. <li class="post-context-line"><code>
  4364. </code></li>
  4365.  
  4366. <li class="post-context-line"><code> if k.downcase == &quot;set-cookie&quot;
  4367. </code></li>
  4368.  
  4369. <li class="post-context-line"><code> res.cookies.concat vs.split(&quot;\n&quot;)
  4370. </code></li>
  4371.  
  4372. </ol>
  4373.  
  4374. <div class="clear"></div>
  4375. </li>
  4376.  
  4377.  
  4378.  
  4379.  
  4380.  
  4381.  
  4382.  
  4383. <li class="frame-info app">
  4384. <code>&#x2F;usr&#x2F;share&#x2F;ruby&#x2F;webrick&#x2F;httpserver.rb</code> in
  4385. <code><strong>service</strong></code>
  4386. </li>
  4387.  
  4388. <li class="code app">
  4389.  
  4390. <ol start="131"
  4391. class="pre-context" id="pre-57"
  4392. onclick="toggle(57);">
  4393.  
  4394. <li class="pre-context-line"><code>
  4395. </code></li>
  4396.  
  4397. <li class="pre-context-line"><code> servlet, options, script_name, path_info = search_servlet(req.path)
  4398. </code></li>
  4399.  
  4400. <li class="pre-context-line"><code> raise HTTPStatus::NotFound, &quot;`#{req.path}&#x27; not found.&quot; unless servlet
  4401. </code></li>
  4402.  
  4403. <li class="pre-context-line"><code> req.script_name = script_name
  4404. </code></li>
  4405.  
  4406. <li class="pre-context-line"><code> req.path_info = path_info
  4407. </code></li>
  4408.  
  4409. <li class="pre-context-line"><code> si = servlet.get_instance(self, *options)
  4410. </code></li>
  4411.  
  4412. <li class="pre-context-line"><code> @logger.debug(format(&quot;%s is invoked.&quot;, si.class.name))
  4413. </code></li>
  4414.  
  4415. </ol>
  4416.  
  4417.  
  4418. <ol start="138" class="context" id="57"
  4419. onclick="toggle(57);">
  4420. <li class="context-line" id="context-57"><code> si.service(req, res)</code></li>
  4421. </ol>
  4422.  
  4423.  
  4424. <ol start="139" class="post-context"
  4425. id="post-57" onclick="toggle(57);">
  4426.  
  4427. <li class="post-context-line"><code> end
  4428. </code></li>
  4429.  
  4430. <li class="post-context-line"><code>
  4431. </code></li>
  4432.  
  4433. <li class="post-context-line"><code> ##
  4434. </code></li>
  4435.  
  4436. <li class="post-context-line"><code> # The default OPTIONS request handler says GET, HEAD, POST and OPTIONS
  4437. </code></li>
  4438.  
  4439. <li class="post-context-line"><code> # requests are allowed.
  4440. </code></li>
  4441.  
  4442. <li class="post-context-line"><code>
  4443. </code></li>
  4444.  
  4445. <li class="post-context-line"><code> def do_OPTIONS(req, res)
  4446. </code></li>
  4447.  
  4448. </ol>
  4449.  
  4450. <div class="clear"></div>
  4451. </li>
  4452.  
  4453.  
  4454.  
  4455.  
  4456.  
  4457.  
  4458.  
  4459. <li class="frame-info app">
  4460. <code>&#x2F;usr&#x2F;share&#x2F;ruby&#x2F;webrick&#x2F;httpserver.rb</code> in
  4461. <code><strong>run</strong></code>
  4462. </li>
  4463.  
  4464. <li class="code app">
  4465.  
  4466. <ol start="87"
  4467. class="pre-context" id="pre-58"
  4468. onclick="toggle(58);">
  4469.  
  4470. <li class="pre-context-line"><code> if callback = server[:RequestCallback]
  4471. </code></li>
  4472.  
  4473. <li class="pre-context-line"><code> callback.call(req, res)
  4474. </code></li>
  4475.  
  4476. <li class="pre-context-line"><code> elsif callback = server[:RequestHandler]
  4477. </code></li>
  4478.  
  4479. <li class="pre-context-line"><code> msg = &quot;:RequestHandler is deprecated, please use :RequestCallback&quot;
  4480. </code></li>
  4481.  
  4482. <li class="pre-context-line"><code> @logger.warn(msg)
  4483. </code></li>
  4484.  
  4485. <li class="pre-context-line"><code> callback.call(req, res)
  4486. </code></li>
  4487.  
  4488. <li class="pre-context-line"><code> end
  4489. </code></li>
  4490.  
  4491. </ol>
  4492.  
  4493.  
  4494. <ol start="94" class="context" id="58"
  4495. onclick="toggle(58);">
  4496. <li class="context-line" id="context-58"><code> server.service(req, res)</code></li>
  4497. </ol>
  4498.  
  4499.  
  4500. <ol start="95" class="post-context"
  4501. id="post-58" onclick="toggle(58);">
  4502.  
  4503. <li class="post-context-line"><code> rescue HTTPStatus::EOFError, HTTPStatus::RequestTimeout =&gt; ex
  4504. </code></li>
  4505.  
  4506. <li class="post-context-line"><code> res.set_error(ex)
  4507. </code></li>
  4508.  
  4509. <li class="post-context-line"><code> rescue HTTPStatus::Error =&gt; ex
  4510. </code></li>
  4511.  
  4512. <li class="post-context-line"><code> @logger.error(ex.message)
  4513. </code></li>
  4514.  
  4515. <li class="post-context-line"><code> res.set_error(ex)
  4516. </code></li>
  4517.  
  4518. <li class="post-context-line"><code> rescue HTTPStatus::Status =&gt; ex
  4519. </code></li>
  4520.  
  4521. <li class="post-context-line"><code> res.status = ex.code
  4522. </code></li>
  4523.  
  4524. </ol>
  4525.  
  4526. <div class="clear"></div>
  4527. </li>
  4528.  
  4529.  
  4530.  
  4531.  
  4532.  
  4533.  
  4534.  
  4535. <li class="frame-info app">
  4536. <code>&#x2F;usr&#x2F;share&#x2F;ruby&#x2F;webrick&#x2F;server.rb</code> in
  4537. <code><strong>block in start_thread</strong></code>
  4538. </li>
  4539.  
  4540. <li class="code app">
  4541.  
  4542. <ol start="288"
  4543. class="pre-context" id="pre-59"
  4544. onclick="toggle(59);">
  4545.  
  4546. <li class="pre-context-line"><code> addr = sock.peeraddr
  4547. </code></li>
  4548.  
  4549. <li class="pre-context-line"><code> @logger.debug &quot;accept: #{addr[3]}:#{addr[1]}&quot;
  4550. </code></li>
  4551.  
  4552. <li class="pre-context-line"><code> rescue SocketError
  4553. </code></li>
  4554.  
  4555. <li class="pre-context-line"><code> @logger.debug &quot;accept: &lt;address unknown&gt;&quot;
  4556. </code></li>
  4557.  
  4558. <li class="pre-context-line"><code> raise
  4559. </code></li>
  4560.  
  4561. <li class="pre-context-line"><code> end
  4562. </code></li>
  4563.  
  4564. <li class="pre-context-line"><code> call_callback(:AcceptCallback, sock)
  4565. </code></li>
  4566.  
  4567. </ol>
  4568.  
  4569.  
  4570. <ol start="295" class="context" id="59"
  4571. onclick="toggle(59);">
  4572. <li class="context-line" id="context-59"><code> block ? block.call(sock) : run(sock)</code></li>
  4573. </ol>
  4574.  
  4575.  
  4576. <ol start="296" class="post-context"
  4577. id="post-59" onclick="toggle(59);">
  4578.  
  4579. <li class="post-context-line"><code> rescue Errno::ENOTCONN
  4580. </code></li>
  4581.  
  4582. <li class="post-context-line"><code> @logger.debug &quot;Errno::ENOTCONN raised&quot;
  4583. </code></li>
  4584.  
  4585. <li class="post-context-line"><code> rescue ServerError =&gt; ex
  4586. </code></li>
  4587.  
  4588. <li class="post-context-line"><code> msg = &quot;#{ex.class}: #{ex.message}\n\t#{ex.backtrace[0]}&quot;
  4589. </code></li>
  4590.  
  4591. <li class="post-context-line"><code> @logger.error msg
  4592. </code></li>
  4593.  
  4594. <li class="post-context-line"><code> rescue Exception =&gt; ex
  4595. </code></li>
  4596.  
  4597. <li class="post-context-line"><code> @logger.error ex
  4598. </code></li>
  4599.  
  4600. </ol>
  4601.  
  4602. <div class="clear"></div>
  4603. </li>
  4604.  
  4605.  
  4606.  
  4607.  
  4608.  
  4609.  
  4610. </ul>
  4611. </div> <!-- /BACKTRACE -->
  4612.  
  4613. <div id="get">
  4614. <h3 id="get-info">GET</h3>
  4615.  
  4616. <p class="no-data">No GET data.</p>
  4617.  
  4618. <div class="clear"></div>
  4619. </div> <!-- /GET -->
  4620.  
  4621. <div id="post">
  4622. <h3 id="post-info">POST</h3>
  4623.  
  4624. <p class="no-data">No POST data.</p>
  4625.  
  4626. <div class="clear"></div>
  4627. </div> <!-- /POST -->
  4628.  
  4629. <div id="cookies">
  4630. <h3 id="cookie-info">COOKIES</h3>
  4631.  
  4632. <p class="no-data">No cookie data.</p>
  4633.  
  4634. <div class="clear"></div>
  4635. </div> <!-- /COOKIES -->
  4636.  
  4637. <div id="rack">
  4638. <h3 id="env-info">Rack ENV</h3>
  4639. <table class="req">
  4640. <tr>
  4641. <th>Variable</th>
  4642. <th>Value</th>
  4643. </tr>
  4644.  
  4645. <tr>
  4646. <td>CONTENT_LENGTH</td>
  4647. <td class="code"><div>407440</div></td>
  4648. </tr>
  4649.  
  4650. <tr>
  4651. <td>CONTENT_TYPE</td>
  4652. <td class="code"><div>text&#x2F;xml</div></td>
  4653. </tr>
  4654.  
  4655. <tr>
  4656. <td>GATEWAY_INTERFACE</td>
  4657. <td class="code"><div>CGI&#x2F;1.1</div></td>
  4658. </tr>
  4659.  
  4660. <tr>
  4661. <td>HTTPS</td>
  4662. <td class="code"><div>on</div></td>
  4663. </tr>
  4664.  
  4665. <tr>
  4666. <td>HTTP_ACCEPT</td>
  4667. <td class="code"><div>*&#x2F;*</div></td>
  4668. </tr>
  4669.  
  4670. <tr>
  4671. <td>HTTP_ACCEPT_ENCODING</td>
  4672. <td class="code"><div>gzip;q=1.0,deflate;q=0.6,identity;q=0.3</div></td>
  4673. </tr>
  4674.  
  4675. <tr>
  4676. <td>HTTP_CONNECTION</td>
  4677. <td class="code"><div>close</div></td>
  4678. </tr>
  4679.  
  4680. <tr>
  4681. <td>HTTP_CONTENT_ENCODING</td>
  4682. <td class="code"><div>x-bzip2</div></td>
  4683. </tr>
  4684.  
  4685. <tr>
  4686. <td>HTTP_HOST</td>
  4687. <td class="code"><div>foreman.qualica.com:9090</div></td>
  4688. </tr>
  4689.  
  4690. <tr>
  4691. <td>HTTP_USER_AGENT</td>
  4692. <td class="code"><div>Ruby</div></td>
  4693. </tr>
  4694.  
  4695. <tr>
  4696. <td>HTTP_VERSION</td>
  4697. <td class="code"><div>HTTP&#x2F;1.1</div></td>
  4698. </tr>
  4699.  
  4700. <tr>
  4701. <td>PATH_INFO</td>
  4702. <td class="code"><div>&#x2F;arf&#x2F;1</div></td>
  4703. </tr>
  4704.  
  4705. <tr>
  4706. <td>QUERY_STRING</td>
  4707. <td class="code"><div></div></td>
  4708. </tr>
  4709.  
  4710. <tr>
  4711. <td>REMOTE_ADDR</td>
  4712. <td class="code"><div>172.30.1.11</div></td>
  4713. </tr>
  4714.  
  4715. <tr>
  4716. <td>REMOTE_HOST</td>
  4717. <td class="code"><div>foreman.qualica.com</div></td>
  4718. </tr>
  4719.  
  4720. <tr>
  4721. <td>REQUEST_METHOD</td>
  4722. <td class="code"><div>POST</div></td>
  4723. </tr>
  4724.  
  4725. <tr>
  4726. <td>REQUEST_PATH</td>
  4727. <td class="code"><div>&#x2F;compliance&#x2F;arf&#x2F;1</div></td>
  4728. </tr>
  4729.  
  4730. <tr>
  4731. <td>REQUEST_URI</td>
  4732. <td class="code"><div>https:&#x2F;&#x2F;foreman.qualica.com:9090&#x2F;compliance&#x2F;arf&#x2F;1</div></td>
  4733. </tr>
  4734.  
  4735. <tr>
  4736. <td>SCRIPT_NAME</td>
  4737. <td class="code"><div>&#x2F;compliance</div></td>
  4738. </tr>
  4739.  
  4740. <tr>
  4741. <td>SERVER_NAME</td>
  4742. <td class="code"><div>foreman.qualica.com</div></td>
  4743. </tr>
  4744.  
  4745. <tr>
  4746. <td>SERVER_PORT</td>
  4747. <td class="code"><div>9090</div></td>
  4748. </tr>
  4749.  
  4750. <tr>
  4751. <td>SERVER_PROTOCOL</td>
  4752. <td class="code"><div>HTTP&#x2F;1.1</div></td>
  4753. </tr>
  4754.  
  4755. <tr>
  4756. <td>SERVER_SOFTWARE</td>
  4757. <td class="code"><div></div></td>
  4758. </tr>
  4759.  
  4760. <tr>
  4761. <td>SSL_CIPHER</td>
  4762. <td class="code"><div>AES128-GCM-SHA256</div></td>
  4763. </tr>
  4764.  
  4765. <tr>
  4766. <td>SSL_CIPHER_ALGKEYSIZE</td>
  4767. <td class="code"><div>128</div></td>
  4768. </tr>
  4769.  
  4770. <tr>
  4771. <td>SSL_CIPHER_USEKEYSIZE</td>
  4772. <td class="code"><div>128</div></td>
  4773. </tr>
  4774.  
  4775. <tr>
  4776. <td>SSL_CLIENT_CERT</td>
  4777. <td class="code"><div>-----BEGIN CERTIFICATE-----
  4778. MIIE4zCCA8ugAwIBAgIJALvAoWDaiz1ZMA0GCSqGSIb3DQEBCwUAMH4xCzAJBgNV
  4779. BAYTAlVTMRcwFQYDVQQIEw5Ob3J0aCBDYXJvbGluYTEQMA4GA1UEBxMHUmFsZWln
  4780. aDEQMA4GA1UEChMHS2F0ZWxsbzEUMBIGA1UECxMLU29tZU9yZ1VuaXQxHDAaBgNV
  4781. BAMTE2ZvcmVtYW4ucXVhbGljYS5jb20wHhcNMTcwNzA1MDY1MjE5WhcNMzcwNzA3
  4782. MDY1MjIwWjBnMQswCQYDVQQGEwJVUzEXMBUGA1UECBMOTm9ydGggQ2Fyb2xpbmEx
  4783. EDAOBgNVBAoTB0ZPUkVNQU4xDzANBgNVBAsTBlBVUFBFVDEcMBoGA1UEAxMTZm9y
  4784. ZW1hbi5xdWFsaWNhLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEB
  4785. APKLHRfLbTXf2ql45M8zCWL2Ll7RKDuKxlAWh13PB3RMNlH6lRDPlF6LBnzmNHP4
  4786. aF1ParG3RNkNnUww8CdUPX7RkXMApWjdqlCQd1SUErPw0h2smoHo+zM88SEs&#x2F;i8t
  4787. yKQHigVXvuYTa4lm9vhN2PGimYq6hXvzYD6jTatzmJ5XKv5vmxaIAugEplH60k9p
  4788. Ig89LUukz0RlrpJQl2sLfgFmNenXhmGDUk0GwpMEiVBKeNzTyZyPz609KnknRP4H
  4789. 52iHDbW0HOiLEFJQYl1fXiQlQuuMxiXmt8o7xyArzM&#x2F;af6Bk2FNUORcyqst8HYM3
  4790. bjQQwWLWZGpRDlx&#x2F;iHVN+o0CAwEAAaOCAXkwggF1MAkGA1UdEwQCMAAwCwYDVR0P
  4791. BAQDAgWgMB0GA1UdJQQWMBQGCCsGAQUFBwMBBggrBgEFBQcDAjARBglghkgBhvhC
  4792. AQEEBAMCB4AwNQYJYIZIAYb4QgENBCgWJkthdGVsbG8gU1NMIFRvb2wgR2VuZXJh
  4793. dGVkIENlcnRpZmljYXRlMB0GA1UdDgQWBBTPDyFKOa+PUMcY25Zsh42JXZOvtjCB
  4794. sgYDVR0jBIGqMIGngBSQ27oLl3ka1FeISWB+UZZlgHvSPKGBg6SBgDB+MQswCQYD
  4795. VQQGEwJVUzEXMBUGA1UECBMOTm9ydGggQ2Fyb2xpbmExEDAOBgNVBAcTB1JhbGVp
  4796. Z2gxEDAOBgNVBAoTB0thdGVsbG8xFDASBgNVBAsTC1NvbWVPcmdVbml0MRwwGgYD
  4797. VQQDExNmb3JlbWFuLnF1YWxpY2EuY29tggkAu8ChYNqLPVUwHgYDVR0RBBcwFYIT
  4798. Zm9yZW1hbi5xdWFsaWNhLmNvbTANBgkqhkiG9w0BAQsFAAOCAQEAesErYI0bZWaF
  4799. E81T8Otys2qfxi0OtA9NNjEkgSmZAMcBlR1si35PBpMXjO95IkU4tcPfitOCSwlV
  4800. n1kLIwICIu1v73TeQzsHA&#x2F;kLfX5Hv0SVCdzq4bXi6JkV2mzU4SGkUBkOpjmODdgk
  4801. OhqKgwLF2RX02vg0Zaj+ETYoWGZQ46N9JISsG0alnK4F74mjDKWV3mhLY&#x2F;6ZLqOt
  4802. QEyinVqFCdHIGSJwuJ4DI3U&#x2F;ienSpB+FoBZexU0Jl2QhKkcgIrsvaZEUgtr7GxB&#x2F;
  4803. 20jMMkeV6hQ+QmeKrKGLMifOChLtfe2OVSiI6EpZ5pCzGzt80BGPU8udoUiRvEqk
  4804. aDAi9duerA==
  4805. -----END CERTIFICATE-----
  4806. </div></td>
  4807. </tr>
  4808.  
  4809. <tr>
  4810. <td>SSL_PROTOCOL</td>
  4811. <td class="code"><div>TLSv1&#x2F;SSLv3</div></td>
  4812. </tr>
  4813.  
  4814. <tr>
  4815. <td>SSL_SERVER_CERT</td>
  4816. <td class="code"><div>-----BEGIN CERTIFICATE-----
  4817. MIIFVjCCBD6gAwIBAgIIHxapB0taMJAwDQYJKoZIhvcNAQELBQAwgbQxCzAJBgNV
  4818. BAYTAlVTMRAwDgYDVQQIEwdBcml6b25hMRMwEQYDVQQHEwpTY290dHNkYWxlMRow
  4819. GAYDVQQKExFHb0RhZGR5LmNvbSwgSW5jLjEtMCsGA1UECxMkaHR0cDovL2NlcnRz
  4820. LmdvZGFkZHkuY29tL3JlcG9zaXRvcnkvMTMwMQYDVQQDEypHbyBEYWRkeSBTZWN1
  4821. cmUgQ2VydGlmaWNhdGUgQXV0aG9yaXR5IC0gRzIwHhcNMTcwNzA2MDk0MDAwWhcN
  4822. MTgwNjI3MDQ1NTAxWjBAMSEwHwYDVQQLExhEb21haW4gQ29udHJvbCBWYWxpZGF0
  4823. ZWQxGzAZBgNVBAMTEnJlbW90ZS5xdWFsaWNhLmNvbTCCASIwDQYJKoZIhvcNAQEB
  4824. BQADggEPADCCAQoCggEBAL4EAs362gPLeb13EDP+n&#x2F;PUMlAv7AwNJPlkNhZcuk0d
  4825. JIXkdX7IJrXYYV2QCK194skFPhkwMwa67Ylqzjc4qJc6GUwKp+0BqYWU1yV2vvjc
  4826. LpY6xtMDclsOi4AqQ0Z2Mx6r81pKHM0Rj+1gIwJ4+bdIPUrNWtyVRoyOPT8PdUUv
  4827. YRWyXuMDm930qAEr85tKXlVzovUxjeF91icbAdjwNk63o&#x2F;pQY3ALv06LhfMZHcsv
  4828. afzaRn54yTOcUlKh4&#x2F;lCnpIMVkLUR9fUTIZYO0SBjzUwLs1TJV35Ne14dA3673aD
  4829. +YUu7dLv9LNTElKXvEWR0h1Yu70ntCdTFjFeNODTeb8CAwEAAaOCAd0wggHZMAwG
  4830. A1UdEwEB&#x2F;wQCMAAwHQYDVR0lBBYwFAYIKwYBBQUHAwEGCCsGAQUFBwMCMA4GA1Ud
  4831. DwEB&#x2F;wQEAwIFoDA3BgNVHR8EMDAuMCygKqAohiZodHRwOi8vY3JsLmdvZGFkZHku
  4832. Y29tL2dkaWcyczEtNTg1LmNybDBdBgNVHSAEVjBUMEgGC2CGSAGG&#x2F;W0BBxcBMDkw
  4833. NwYIKwYBBQUHAgEWK2h0dHA6Ly9jZXJ0aWZpY2F0ZXMuZ29kYWRkeS5jb20vcmVw
  4834. b3NpdG9yeS8wCAYGZ4EMAQIBMHYGCCsGAQUFBwEBBGowaDAkBggrBgEFBQcwAYYY
  4835. aHR0cDovL29jc3AuZ29kYWRkeS5jb20vMEAGCCsGAQUFBzAChjRodHRwOi8vY2Vy
  4836. dGlmaWNhdGVzLmdvZGFkZHkuY29tL3JlcG9zaXRvcnkvZ2RpZzIuY3J0MB8GA1Ud
  4837. IwQYMBaAFEDCvSeOzDSDMKIz1&#x2F;tss&#x2F;C0LIDOMEoGA1UdEQRDMEGCEnJlbW90ZS5x
  4838. dWFsaWNhLmNvbYIWd3d3LnJlbW90ZS5xdWFsaWNhLmNvbYITZm9yZW1hbi5xdWFs
  4839. aWNhLmNvbTAdBgNVHQ4EFgQUr86lqXLkartAoI4+U6wAqEnZms4wDQYJKoZIhvcN
  4840. AQELBQADggEBAKa&#x2F;A6x6SjrkFBIK&#x2F;tUUp+4w5caAVlhcAR5Pnz8iU0BP4DTTucL4
  4841. N7uDW2wIFlR0lstz9kju9FDZqtg8FX0qJER2T84ZJBtJJ2fGMcPg1WhobnstvAk0
  4842. 9sfiRJRs3fXNGH+0oFOX+WYaD&#x2F;AmvQOL6g+gTVau+&#x2F;SuCcJIQdbPYLc&#x2F;nleB4aQk
  4843. LgaVqIEwtSLJ1MV&#x2F;SfLeSQGCQfcxHDnRPt0uV7jX1JSt&#x2F;zZ&#x2F;V9Vbv+q1X5H2yn8T
  4844. 7lcU4cs0QNS&#x2F;Glp6LpOb2J04Y3AYrp0PZmBUT7YC8KkHM9hQKoPplti6tB5u4TQN
  4845. F8k8LZPGwjvPuD357J0mkNFOz4ciCygEqIc=
  4846. -----END CERTIFICATE-----
  4847. </div></td>
  4848. </tr>
  4849.  
  4850. <tr>
  4851. <td>rack.errors</td>
  4852. <td class="code"><div>#&lt;Object:0x00000001e507d0&gt;</div></td>
  4853. </tr>
  4854.  
  4855. <tr>
  4856. <td>rack.hijack</td>
  4857. <td class="code"><div>#&lt;Proc:0x007f1105a55998@&#x2F;usr&#x2F;share&#x2F;gems&#x2F;gems&#x2F;rack-1.6.4&#x2F;lib&#x2F;rack&#x2F;handler&#x2F;webrick.rb:76 (lambda)&gt;</div></td>
  4858. </tr>
  4859.  
  4860. <tr>
  4861. <td>rack.hijack?</td>
  4862. <td class="code"><div>true</div></td>
  4863. </tr>
  4864.  
  4865. <tr>
  4866. <td>rack.hijack_io</td>
  4867. <td class="code"><div>nil</div></td>
  4868. </tr>
  4869.  
  4870. <tr>
  4871. <td>rack.input</td>
  4872. <td class="code"><div>#&lt;StringIO:0x007f1105a55c40&gt;</div></td>
  4873. </tr>
  4874.  
  4875. <tr>
  4876. <td>rack.logger</td>
  4877. <td class="code"><div>#&lt;Proxy::LogBuffer::Decorator:0x000000020861a8 @logger=#&lt;Logger:0x00000002f39088 @progname=nil, @level=1, @default_formatter=#&lt;Logger::Formatter:0x00000002f390d8 @datetime_format=nil&gt;, @formatter=#&lt;Proxy::LoggerFactory::LogFormatter:0x00000002f39308 @datetime_format=nil&gt;, @logdev=#&lt;Logger::LogDevice:0x00000002f39178 @shift_size=10485760, @shift_age=6, @filename=&quot;&#x2F;var&#x2F;log&#x2F;foreman-proxy&#x2F;proxy.log&quot;, @dev=#&lt;File:&#x2F;var&#x2F;log&#x2F;foreman-proxy&#x2F;proxy.log&gt;, @mutex=#&lt;Logger::LogDevice::LogDeviceMutex:0x00000002f391c8 @mon_owner=nil, @mon_count=0, @mon_mutex=#&lt;Mutex:0x00000002f39268&gt;&gt;&gt;&gt;, @buffer=#&lt;Proxy::LogBuffer::Buffer:0x00000002086180 @mutex=#&lt;Mutex:0x00000002086158&gt;, @failed_modules={}, @main_buffer=#&lt;Proxy::LogBuffer::RingBuffer:0x00000002086108 @size=2000, @start=0, @count=116, @buffer=[#&lt;struct Proxy::LogBuffer::LogRecord timestamp=1499851181.6448529, level=1, message=&quot;Successfully initialized &#x27;pulp&#x27;&quot;, backtrace=nil, request_id=nil&gt;, #&lt;struct Proxy::LogBuffer::LogRecord timestamp=1499851181.6451118, level=1, message=&quot;Successfully initialized &#x27;openscap&#x27;&quot;, backtrace=nil, request_id=nil&gt;, #&lt;struct Proxy::LogBuffer::LogRecord timestamp=1499851181.6452353, level=1, message=&quot;Successfully initialized &#x27;foreman_proxy&#x27;&quot;, backtrace=nil, request_id=nil&gt;, #&lt;struct Proxy::LogBuffer::LogRecord timestamp=1499851181.6453395, level=1, message=&quot;Successfully initialized &#x27;puppetca&#x27;&quot;, backtrace=nil, request_id=nil&gt;, #&lt;struct Proxy::LogBuffer::LogRecord timestamp=1499851181.6578703, level=1, message=&quot;Successfully initialized &#x27;puppet_proxy_legacy&#x27;&quot;, backtrace=nil, request_id=nil&gt;, #&lt;struct Proxy::LogBuffer::LogRecord timestamp=1499851181.6580749, level=1, message=&quot;Successfully initialized &#x27;puppet&#x27;&quot;, backtrace=nil, request_id=nil&gt;, #&lt;struct Proxy::LogBuffer::LogRecord timestamp=1499851181.6582294, level=1, message=&quot;Successfully initialized &#x27;logs&#x27;&quot;, backtrace=nil, request_id=nil&gt;, #&lt;struct Proxy::LogBuffer::LogRecord timestamp=1499851182.106588, level=1, message=&quot;WEBrick 1.3.1&quot;, backtrace=nil, request_id=nil&gt;, #&lt;struct Proxy::LogBuffer::LogRecord timestamp=1499851182.1067133, level=1, message=&quot;ruby 2.0.0 (2015-12-16) [x86_64-linux]&quot;, backtrace=nil, request_id=nil&gt;, #&lt;struct Proxy::LogBuffer::LogRecord timestamp=1499851182.1075842, level=2, message=&quot;TCPServer Error: Address already in use - bind(2)&quot;, backtrace=nil, request_id=nil&gt;, #&lt;struct Proxy::LogBuffer::LogRecord timestamp=1499851182.1095304, level=1, message=&quot;\nCertificate:\n Data:\n Version: 3 (0x2)\n Serial Number: 2240163713457467536 (0x1f16a9074b5a3090)\n Signature Algorithm: sha256WithRSAEncryption\n Issuer: C=US, ST=Arizona, L=Scottsdale, O=GoDaddy.com, Inc., OU=http:&#x2F;&#x2F;certs.godaddy.com&#x2F;repository&#x2F;, CN=Go Daddy Secure Certificate Authority - G2\n Validity\n Not Before: Jul 6 09:40:00 2017 GMT\n Not After : Jun 27 04:55:01 2018 GMT\n Subject: OU=Domain Control Validated, CN=remote.qualica.com\n Subject Public Key Info:\n Public Key Algorithm: rsaEncryption\n Public-Key: (2048 bit)\n Modulus:\n 00:be:04:02:cd:fa:da:03:cb:79:bd:77:10:33:fe:\n 9f:f3:d4:32:50:2f:ec:0c:0d:24:f9:64:36:16:5c:\n ba:4d:1d:24:85:e4:75:7e:c8:26:b5:d8:61:5d:90:\n 08:ad:7d:e2:c9:05:3e:19:30:33:06:ba:ed:89:6a:\n ce:37:38:a8:97:3a:19:4c:0a:a7:ed:01:a9:85:94:\n d7:25:76:be:f8:dc:2e:96:3a:c6:d3:03:72:5b:0e:\n 8b:80:2a:43:46:76:33:1e:ab:f3:5a:4a:1c:cd:11:\n 8f:ed:60:23:02:78:f9:b7:48:3d:4a:cd:5a:dc:95:\n 46:8c:8e:3d:3f:0f:75:45:2f:61:15:b2:5e:e3:03:\n 9b:dd:f4:a8:01:2b:f3:9b:4a:5e:55:73:a2:f5:31:\n 8d:e1:7d:d6:27:1b:01:d8:f0:36:4e:b7:a3:fa:50:\n 63:70:0b:bf:4e:8b:85:f3:19:1d:cb:2f:69:fc:da:\n 46:7e:78:c9:33:9c:52:52:a1:e3:f9:42:9e:92:0c:\n 56:42:d4:47:d7:d4:4c:86:58:3b:44:81:8f:35:30:\n 2e:cd:53:25:5d:f9:35:ed:78:74:0d:fa:ef:76:83:\n f9:85:2e:ed:d2:ef:f4:b3:53:12:52:97:bc:45:91:\n d2:1d:58:bb:bd:27:b4:27:53:16:31:5e:34:e0:d3:\n 79:bf\n Exponent: 65537 (0x10001)\n X509v3 extensions:\n X509v3 Basic Constraints: critical\n CA:FALSE\n X509v3 Extended Key Usage: \n TLS Web Server Authentication, TLS Web Client Authentication\n X509v3 Key Usage: critical\n Digital Signature, Key Encipherment\n X509v3 CRL Distribution Points: \n\n Full Name:\n URI:http:&#x2F;&#x2F;crl.godaddy.com&#x2F;gdig2s1-585.crl\n\n X509v3 Certificate Policies: \n Policy: 2.16.840.1.114413.1.7.23.1\n CPS: http:&#x2F;&#x2F;certificates.godaddy.com&#x2F;repository&#x2F;\n Policy: 2.23.140.1.2.1\n\n Authority Information Access: \n OCSP - URI:http:&#x2F;&#x2F;ocsp.godaddy.com&#x2F;\n CA Issuers - URI:http:&#x2F;&#x2F;certificates.godaddy.com&#x2F;repository&#x2F;gdig2.crt\n\n X509v3 Authority Key Identifier: \n keyid:40:C2:BD:27:8E:CC:34:83:30:A2:33:D7:FB:6C:B3:F0:B4:2C:80:CE\n\n X509v3 Subject Alternative Name: \n DNS:remote.qualica.com, DNS:www.remote.qualica.com, DNS:foreman.qualica.com\n X509v3 Subject Key Identifier: \n AF:CE:A5:A9:72:E4:6A:BB:40:A0:8E:3E:53:AC:00:A8:49:D9:9A:CE\n Signature Algorithm: sha256WithRSAEncryption\n a6:bf:03:ac:7a:4a:3a:e4:14:12:0a:fe:d5:14:a7:ee:30:e5:\n c6:80:56:58:5c:01:1e:4f:9f:3f:22:53:40:4f:e0:34:d3:b9:\n c2:f8:37:bb:83:5b:6c:08:16:54:74:96:cb:73:f6:48:ee:f4:\n 50:d9:aa:d8:3c:15:7d:2a:24:44:76:4f:ce:19:24:1b:49:27:\n 67:c6:31:c3:e0:d5:68:68:6e:7b:2d:bc:09:34:f6:c7:e2:44:\n 94:6c:dd:f5:cd:18:7f:b4:a0:53:97:f9:66:1a:0f:f0:26:bd:\n 03:8b:ea:0f:a0:4d:56:ae:fb:f4:ae:09:c2:48:41:d6:cf:60:\n b7:3f:9e:57:81:e1:a4:24:2e:06:95:a8:81:30:b5:22:c9:d4:\n c5:7f:49:f2:de:49:01:82:41:f7:31:1c:39:d1:3e:dd:2e:57:\n b8:d7:d4:94:ad:ff:36:7f:57:d5:5b:bf:ea:b5:5f:91:f6:ca:\n 7f:13:ee:57:14:e1:cb:34:40:d4:bf:1a:5a:7a:2e:93:9b:d8:\n 9d:38:63:70:18:ae:9d:0f:66:60:54:4f:b6:02:f0:a9:07:33:\n d8:50:2a:83:e9:96:d8:ba:b4:1e:6e:e1:34:0d:17:c9:3c:2d:\n 93:c6:c2:3b:cf:b8:3d:f9:ec:9d:26:90:d1:4e:cf:87:22:0b:\n 28:04:a8:87\n&quot;, backtrace=nil, request_id=nil&gt;, #&lt;struct Proxy::LogBuffer::LogRecord timestamp=1499851182.148337, level=1, message=&quot;WEBrick::HTTPServer#start: pid=1269 port=9090&quot;, backtrace=nil, request_id=nil&gt;, #&lt;struct Proxy::LogBuffer::LogRecord timestamp=1499851275.9695373, level=1, message=&quot;172.30.1.11 - - [12&#x2F;Jul&#x2F;2017:11:21:15 +0200] \&quot;GET &#x2F;version HTTP&#x2F;1.1\&quot; 200 120 0.0068\n&quot;, backtrace=nil, request_id=nil&gt;, #&lt;struct Proxy::LogBuffer::LogRecord timestamp=1499851452.099489, level=3, message=&quot;OpenSSL::SSL::SSLError: SSL_accept returned=1 errno=0 state=SSLv3 read client certificate A: tlsv1 alert unknown ca\n\t&#x2F;usr&#x2F;share&#x2F;ruby&#x2F;openssl&#x2F;ssl.rb:280:in `accept&#x27;&quot;, backtrace=nil, request_id=nil&gt;, #&lt;struct Proxy::LogBuffer::LogRecord timestamp=1499851492.4291017, level=3, message=&quot;OpenSSL::SSL::SSLError: SSL_accept SYSCALL returned=5 errno=0 state=SSLv3 read client certificate A\n\t&#x2F;usr&#x2F;share&#x2F;ruby&#x2F;openssl&#x2F;ssl.rb:280:in `accept&#x27;&quot;, backtrace=nil, request_id=nil&gt;, #&lt;struct Proxy::LogBuffer::LogRecord timestamp=1499851492.436817, level=3, message=&quot;OpenSSL::SSL::SSLError: SSL_accept SYSCALL returned=5 errno=0 state=SSLv3 read client certificate A\n\t&#x2F;usr&#x2F;share&#x2F;ruby&#x2F;openssl&#x2F;ssl.rb:280:in `accept&#x27;&quot;, backtrace=nil, request_id=nil&gt;, #&lt;struct Proxy::LogBuffer::LogRecord timestamp=1499851492.4445755, level=3, message=&quot;OpenSSL::SSL::SSLError: SSL_accept SYSCALL returned=5 errno=0 state=SSLv3 read client certificate A\n\t&#x2F;usr&#x2F;share&#x2F;ruby&#x2F;openssl&#x2F;ssl.rb:280:in `accept&#x27;&quot;, backtrace=nil, request_id=nil&gt;, #&lt;struct Proxy::LogBuffer::LogRecord timestamp=1499851492.5643833, level=3, message=&quot;OpenSSL::SSL::SSLError: SSL_accept SYSCALL returned=5 errno=0 state=SSLv3 read client certificate A\n\t&#x2F;usr&#x2F;share&#x2F;ruby&#x2F;openssl&#x2F;ssl.rb:280:in `accept&#x27;&quot;, backtrace=nil, request_id=nil&gt;, #&lt;struct Proxy::LogBuffer::LogRecord timestamp=1499851492.596698, level=3, message=&quot;No client SSL certificate supplied&quot;, backtrace=&quot;No client SSL certificate supplied&quot;, request_id=nil&gt;, #&lt;struct Proxy::LogBuffer::LogRecord timestamp=1499851492.597506, level=1, message=&quot;172.31.0.174 - - [12&#x2F;Jul&#x2F;2017:11:24:52 +0200] \&quot;GET &#x2F;compliance&#x2F;arf&#x2F;1 HTTP&#x2F;1.1\&quot; 403 34 0.0020\n&quot;, backtrace=nil, request_id=nil&gt;, #&lt;struct Proxy::LogBuffer::LogRecord timestamp=1499851804.4908776, level=1, message=&quot;172.30.1.11 - - [12&#x2F;Jul&#x2F;2017:11:30:04 +0200] \&quot;GET &#x2F;version HTTP&#x2F;1.1\&quot; 200 120 0.0008\n&quot;, backtrace=nil, request_id=nil&gt;, #&lt;struct Proxy::LogBuffer::LogRecord timestamp=1499852985.1149786, level=1, message=&quot;172.30.1.11 - - [12&#x2F;Jul&#x2F;2017:11:49:45 +0200] \&quot;GET &#x2F;version HTTP&#x2F;1.1\&quot; 200 120 0.0011\n&quot;, backtrace=nil, request_id=nil&gt;, #&lt;struct Proxy::LogBuffer::LogRecord timestamp=1499854204.8321733, level=1, message=&quot;172.30.1.11 - - [12&#x2F;Jul&#x2F;2017:12:10:04 +0200] \&quot;GET &#x2F;version HTTP&#x2F;1.1\&quot; 200 120 0.0008\n&quot;, backtrace=nil, request_id=nil&gt;, #&lt;struct Proxy::LogBuffer::LogRecord timestamp=1499854785.729576, level=1, message=&quot;172.30.1.11 - - [12&#x2F;Jul&#x2F;2017:12:19:45 +0200] \&quot;GET &#x2F;version HTTP&#x2F;1.1\&quot; 200 120 0.0008\n&quot;, backtrace=nil, request_id=nil&gt;, #&lt;struct Proxy::LogBuffer::LogRecord timestamp=1499855404.579258, level=1, message=&quot;172.30.1.11 - - [12&#x2F;Jul&#x2F;2017:12:30:04 +0200] \&quot;GET &#x2F;version HTTP&#x2F;1.1\&quot; 200 120 0.0007\n&quot;, backtrace=nil, request_id=nil&gt;, #&lt;struct Proxy::LogBuffer::LogRecord timestamp=1499856585.1903365, level=1, message=&quot;172.30.1.11 - - [12&#x2F;Jul&#x2F;2017:12:49:45 +0200] \&quot;GET &#x2F;version HTTP&#x2F;1.1\&quot; 200 120 0.0007\n&quot;, backtrace=nil, request_id=nil&gt;, #&lt;struct Proxy::LogBuffer::LogRecord timestamp=1499857804.527116, level=1, message=&quot;172.30.1.11 - - [12&#x2F;Jul&#x2F;2017:13:10:04 +0200] \&quot;GET &#x2F;version HTTP&#x2F;1.1\&quot; 200 120 0.0008\n&quot;, backtrace=nil, request_id=nil&gt;, #&lt;struct Proxy::LogBuffer::LogRecord timestamp=1499858385.2044244, level=1, message=&quot;172.30.1.11 - - [12&#x2F;Jul&#x2F;2017:13:19:45 +0200] \&quot;GET &#x2F;version HTTP&#x2F;1.1\&quot; 200 120 0.0008\n&quot;, backtrace=nil, request_id=nil&gt;, #&lt;struct Proxy::LogBuffer::LogRecord timestamp=1499859003.8804138, level=1, message=&quot;172.30.1.11 - - [12&#x2F;Jul&#x2F;2017:13:30:03 +0200] \&quot;GET &#x2F;version HTTP&#x2F;1.1\&quot; 200 120 0.0009\n&quot;, backtrace=nil, request_id=nil&gt;, #&lt;struct Proxy::LogBuffer::LogRecord timestamp=1499860185.2179193, level=1, message=&quot;172.30.1.11 - - [12&#x2F;Jul&#x2F;2017:13:49:45 +0200] \&quot;GET &#x2F;version HTTP&#x2F;1.1\&quot; 200 120 0.0012\n&quot;, backtrace=nil, request_id=nil&gt;, #&lt;struct Proxy::LogBuffer::LogRecord timestamp=1499861404.4029036, level=1, message=&quot;172.30.1.11 - - [12&#x2F;Jul&#x2F;2017:14:10:04 +0200] \&quot;GET &#x2F;version HTTP&#x2F;1.1\&quot; 200 120 0.0007\n&quot;, backtrace=nil, request_id=nil&gt;, #&lt;struct Proxy::LogBuffer::LogRecord timestamp=1499861985.115983, level=1, message=&quot;172.30.1.11 - - [12&#x2F;Jul&#x2F;2017:14:19:45 +0200] \&quot;GET &#x2F;version HTTP&#x2F;1.1\&quot; 200 120 0.0007\n&quot;, backtrace=nil, request_id=nil&gt;, #&lt;struct Proxy::LogBuffer::LogRecord timestamp=1499862603.9576077, level=1, message=&quot;172.30.1.11 - - [12&#x2F;Jul&#x2F;2017:14:30:03 +0200] \&quot;GET &#x2F;version HTTP&#x2F;1.1\&quot; 200 120 0.0007\n&quot;, backtrace=nil, request_id=nil&gt;, #&lt;struct Proxy::LogBuffer::LogRecord timestamp=1499863785.087678, level=1, message=&quot;172.30.1.11 - - [12&#x2F;Jul&#x2F;2017:14:49:45 +0200] \&quot;GET &#x2F;version HTTP&#x2F;1.1\&quot; 200 120 0.0008\n&quot;, backtrace=nil, request_id=nil&gt;, #&lt;struct Proxy::LogBuffer::LogRecord timestamp=1499865003.6813805, level=1, message=&quot;172.30.1.11 - - [12&#x2F;Jul&#x2F;2017:15:10:03 +0200] \&quot;GET &#x2F;version HTTP&#x2F;1.1\&quot; 200 120 0.0008\n&quot;, backtrace=nil, request_id=nil&gt;, #&lt;struct Proxy::LogBuffer::LogRecord timestamp=1499865585.361725, level=1, message=&quot;172.30.1.11 - - [12&#x2F;Jul&#x2F;2017:15:19:45 +0200] \&quot;GET &#x2F;version HTTP&#x2F;1.1\&quot; 200 120 0.0007\n&quot;, backtrace=nil, request_id=nil&gt;, #&lt;struct Proxy::LogBuffer::LogRecord timestamp=1499866203.5149026, level=1, message=&quot;172.30.1.11 - - [12&#x2F;Jul&#x2F;2017:15:30:03 +0200] \&quot;GET &#x2F;version HTTP&#x2F;1.1\&quot; 200 120 0.0005\n&quot;, backtrace=nil, request_id=nil&gt;, #&lt;struct Proxy::LogBuffer::LogRecord timestamp=1499867385.08552, level=1, message=&quot;172.30.1.11 - - [12&#x2F;Jul&#x2F;2017:15:49:45 +0200] \&quot;GET &#x2F;version HTTP&#x2F;1.1\&quot; 200 120 0.0009\n&quot;, backtrace=nil, request_id=nil&gt;, #&lt;struct Proxy::LogBuffer::LogRecord timestamp=1499868604.1360564, level=1, message=&quot;172.30.1.11 - - [12&#x2F;Jul&#x2F;2017:16:10:04 +0200] \&quot;GET &#x2F;version HTTP&#x2F;1.1\&quot; 200 120 0.0008\n&quot;, backtrace=nil, request_id=nil&gt;, #&lt;struct Proxy::LogBuffer::LogRecord timestamp=1499869185.2650845, level=1, message=&quot;172.30.1.11 - - [12&#x2F;Jul&#x2F;2017:16:19:45 +0200] \&quot;GET &#x2F;version HTTP&#x2F;1.1\&quot; 200 120 0.0007\n&quot;, backtrace=nil, request_id=nil&gt;, #&lt;struct Proxy::LogBuffer::LogRecord timestamp=1499869803.4572775, level=1, message=&quot;172.30.1.11 - - [12&#x2F;Jul&#x2F;2017:16:30:03 +0200] \&quot;GET &#x2F;version HTTP&#x2F;1.1\&quot; 200 120 0.0007\n&quot;, backtrace=nil, request_id=nil&gt;, #&lt;struct Proxy::LogBuffer::LogRecord timestamp=1499870985.1968627, level=1, message=&quot;172.30.1.11 - - [12&#x2F;Jul&#x2F;2017:16:49:45 +0200] \&quot;GET &#x2F;version HTTP&#x2F;1.1\&quot; 200 120 0.0008\n&quot;, backtrace=nil, request_id=nil&gt;, #&lt;struct Proxy::LogBuffer::LogRecord timestamp=1499872204.080883, level=1, message=&quot;172.30.1.11 - - [12&#x2F;Jul&#x2F;2017:17:10:04 +0200] \&quot;GET &#x2F;version HTTP&#x2F;1.1\&quot; 200 120 0.0008\n&quot;, backtrace=nil, request_id=nil&gt;, #&lt;struct Proxy::LogBuffer::LogRecord timestamp=1499872785.1611369, level=1, message=&quot;172.30.1.11 - - [12&#x2F;Jul&#x2F;2017:17:19:45 +0200] \&quot;GET &#x2F;version HTTP&#x2F;1.1\&quot; 200 120 0.0007\n&quot;, backtrace=nil, request_id=nil&gt;, #&lt;struct Proxy::LogBuffer::LogRecord timestamp=1499873404.4694462, level=1, message=&quot;172.30.1.11 - - [12&#x2F;Jul&#x2F;2017:17:30:04 +0200] \&quot;GET &#x2F;version HTTP&#x2F;1.1\&quot; 200 120 0.0008\n&quot;, backtrace=nil, request_id=nil&gt;, #&lt;struct Proxy::LogBuffer::LogRecord timestamp=1499874585.2281642, level=1, message=&quot;172.30.1.11 - - [12&#x2F;Jul&#x2F;2017:17:49:45 +0200] \&quot;GET &#x2F;version HTTP&#x2F;1.1\&quot; 200 120 0.0011\n&quot;, backtrace=nil, request_id=nil&gt;, #&lt;struct Proxy::LogBuffer::LogRecord timestamp=1499875803.9559994, level=1, message=&quot;172.30.1.11 - - [12&#x2F;Jul&#x2F;2017:18:10:03 +0200] \&quot;GET &#x2F;version HTTP&#x2F;1.1\&quot; 200 120 0.0008\n&quot;, backtrace=nil, request_id=nil&gt;, #&lt;struct Proxy::LogBuffer::LogRecord timestamp=1499876385.1707215, level=1, message=&quot;172.30.1.11 - - [12&#x2F;Jul&#x2F;2017:18:19:45 +0200] \&quot;GET &#x2F;version HTTP&#x2F;1.1\&quot; 200 120 0.0008\n&quot;, backtrace=nil, request_id=nil&gt;, #&lt;struct Proxy::LogBuffer::LogRecord timestamp=1499877003.5638297, level=1, message=&quot;172.30.1.11 - - [12&#x2F;Jul&#x2F;2017:18:30:03 +0200] \&quot;GET &#x2F;version HTTP&#x2F;1.1\&quot; 200 120 0.0008\n&quot;, backtrace=nil, request_id=nil&gt;, #&lt;struct Proxy::LogBuffer::LogRecord timestamp=1499878185.1719196, level=1, message=&quot;172.30.1.11 - - [12&#x2F;Jul&#x2F;2017:18:49:45 +0200] \&quot;GET &#x2F;version HTTP&#x2F;1.1\&quot; 200 120 0.0008\n&quot;, backtrace=nil, request_id=nil&gt;, #&lt;struct Proxy::LogBuffer::LogRecord timestamp=1499879403.0606184, level=1, message=&quot;172.30.1.11 - - [12&#x2F;Jul&#x2F;2017:19:10:03 +0200] \&quot;GET &#x2F;version HTTP&#x2F;1.1\&quot; 200 120 0.0008\n&quot;, backtrace=nil, request_id=nil&gt;, #&lt;struct Proxy::LogBuffer::LogRecord timestamp=1499879985.3321705, level=1, message=&quot;172.30.1.11 - - [12&#x2F;Jul&#x2F;2017:19:19:45 +0200] \&quot;GET &#x2F;version HTTP&#x2F;1.1\&quot; 200 120 0.0009\n&quot;, backtrace=nil, request_id=nil&gt;, #&lt;struct Proxy::LogBuffer::LogRecord timestamp=1499880603.4293702, level=1, message=&quot;172.30.1.11 - - [12&#x2F;Jul&#x2F;2017:19:30:03 +0200] \&quot;GET &#x2F;version HTTP&#x2F;1.1\&quot; 200 120 0.0007\n&quot;, backtrace=nil, request_id=nil&gt;, #&lt;struct Proxy::LogBuffer::LogRecord timestamp=1499881785.0603871, level=1, message=&quot;172.30.1.11 - - [12&#x2F;Jul&#x2F;2017:19:49:45 +0200] \&quot;GET &#x2F;version HTTP&#x2F;1.1\&quot; 200 120 0.0008\n&quot;, backtrace=nil, request_id=nil&gt;, #&lt;struct Proxy::LogBuffer::LogRecord timestamp=1499883003.5754828, level=1, message=&quot;172.30.1.11 - - [12&#x2F;Jul&#x2F;2017:20:10:03 +0200] \&quot;GET &#x2F;version HTTP&#x2F;1.1\&quot; 200 120 0.0009\n&quot;, backtrace=nil, request_id=nil&gt;, #&lt;struct Proxy::LogBuffer::LogRecord timestamp=1499883585.1230047, level=1, message=&quot;172.30.1.11 - - [12&#x2F;Jul&#x2F;2017:20:19:45 +0200] \&quot;GET &#x2F;version HTTP&#x2F;1.1\&quot; 200 120 0.0011\n&quot;, backtrace=nil, request_id=nil&gt;, #&lt;struct Proxy::LogBuffer::LogRecord timestamp=1499884203.7954798, level=1, message=&quot;172.30.1.11 - - [12&#x2F;Jul&#x2F;2017:20:30:03 +0200] \&quot;GET &#x2F;version HTTP&#x2F;1.1\&quot; 200 120 0.0004\n&quot;, backtrace=nil, request_id=nil&gt;, #&lt;struct Proxy::LogBuffer::LogRecord timestamp=1499885385.1983342, level=1, message=&quot;172.30.1.11 - - [12&#x2F;Jul&#x2F;2017:20:49:45 +0200] \&quot;GET &#x2F;version HTTP&#x2F;1.1\&quot; 200 120 0.0007\n&quot;, backtrace=nil, request_id=nil&gt;, #&lt;struct Proxy::LogBuffer::LogRecord timestamp=1499886603.1188757, level=1, message=&quot;172.30.1.11 - - [12&#x2F;Jul&#x2F;2017:21:10:03 +0200] \&quot;GET &#x2F;version HTTP&#x2F;1.1\&quot; 200 120 0.0009\n&quot;, backtrace=nil, request_id=nil&gt;, #&lt;struct Proxy::LogBuffer::LogRecord timestamp=1499887185.0367572, level=1, message=&quot;172.30.1.11 - - [12&#x2F;Jul&#x2F;2017:21:19:45 +0200] \&quot;GET &#x2F;version HTTP&#x2F;1.1\&quot; 200 120 0.0006\n&quot;, backtrace=nil, request_id=nil&gt;, #&lt;struct Proxy::LogBuffer::LogRecord timestamp=1499887803.5278974, level=1, message=&quot;172.30.1.11 - - [12&#x2F;Jul&#x2F;2017:21:30:03 +0200] \&quot;GET &#x2F;version HTTP&#x2F;1.1\&quot; 200 120 0.0007\n&quot;, backtrace=nil, request_id=nil&gt;, #&lt;struct Proxy::LogBuffer::LogRecord timestamp=1499888985.40938, level=1, message=&quot;172.30.1.11 - - [12&#x2F;Jul&#x2F;2017:21:49:45 +0200] \&quot;GET &#x2F;version HTTP&#x2F;1.1\&quot; 200 120 0.0008\n&quot;, backtrace=nil, request_id=nil&gt;, #&lt;struct Proxy::LogBuffer::LogRecord timestamp=1499890203.3738601, level=1, message=&quot;172.30.1.11 - - [12&#x2F;Jul&#x2F;2017:22:10:03 +0200] \&quot;GET &#x2F;version HTTP&#x2F;1.1\&quot; 200 120 0.0009\n&quot;, backtrace=nil, request_id=nil&gt;, #&lt;struct Proxy::LogBuffer::LogRecord timestamp=1499890785.2731104, level=1, message=&quot;172.30.1.11 - - [12&#x2F;Jul&#x2F;2017:22:19:45 +0200] \&quot;GET &#x2F;version HTTP&#x2F;1.1\&quot; 200 120 0.0008\n&quot;, backtrace=nil, request_id=nil&gt;, #&lt;struct Proxy::LogBuffer::LogRecord timestamp=1499891403.8420956, level=1, message=&quot;172.30.1.11 - - [12&#x2F;Jul&#x2F;2017:22:30:03 +0200] \&quot;GET &#x2F;version HTTP&#x2F;1.1\&quot; 200 120 0.0004\n&quot;, backtrace=nil, request_id=nil&gt;, #&lt;struct Proxy::LogBuffer::LogRecord timestamp=1499892585.1360543, level=1, message=&quot;172.30.1.11 - - [12&#x2F;Jul&#x2F;2017:22:49:45 +0200] \&quot;GET &#x2F;version HTTP&#x2F;1.1\&quot; 200 120 0.0008\n&quot;, backtrace=nil, request_id=nil&gt;, #&lt;struct Proxy::LogBuffer::LogRecord timestamp=1499893803.9093585, level=1, message=&quot;172.30.1.11 - - [12&#x2F;Jul&#x2F;2017:23:10:03 +0200] \&quot;GET &#x2F;version HTTP&#x2F;1.1\&quot; 200 120 0.0006\n&quot;, backtrace=nil, request_id=nil&gt;, #&lt;struct Proxy::LogBuffer::LogRecord timestamp=1499894385.2336183, level=1, message=&quot;172.30.1.11 - - [12&#x2F;Jul&#x2F;2017:23:19:45 +0200] \&quot;GET &#x2F;version HTTP&#x2F;1.1\&quot; 200 120 0.0009\n&quot;, backtrace=nil, request_id=nil&gt;, #&lt;struct Proxy::LogBuffer::LogRecord timestamp=1499895003.4399283, level=1, message=&quot;172.30.1.11 - - [12&#x2F;Jul&#x2F;2017:23:30:03 +0200] \&quot;GET &#x2F;version HTTP&#x2F;1.1\&quot; 200 120 0.0008\n&quot;, backtrace=nil, request_id=nil&gt;, #&lt;struct Proxy::LogBuffer::LogRecord timestamp=1499896185.3032224, level=1, message=&quot;172.30.1.11 - - [12&#x2F;Jul&#x2F;2017:23:49:45 +0200] \&quot;GET &#x2F;version HTTP&#x2F;1.1\&quot; 200 120 0.0009\n&quot;, backtrace=nil, request_id=nil&gt;, #&lt;struct Proxy::LogBuffer::LogRecord timestamp=1499897404.1858144, level=1, message=&quot;172.30.1.11 - - [13&#x2F;Jul&#x2F;2017:00:10:04 +0200] \&quot;GET &#x2F;version HTTP&#x2F;1.1\&quot; 200 120 0.0008\n&quot;, backtrace=nil, request_id=nil&gt;, #&lt;struct Proxy::LogBuffer::LogRecord timestamp=1499897985.1610153, level=1, message=&quot;172.30.1.11 - - [13&#x2F;Jul&#x2F;2017:00:19:45 +0200] \&quot;GET &#x2F;version HTTP&#x2F;1.1\&quot; 200 120 0.0008\n&quot;, backtrace=nil, request_id=nil&gt;, #&lt;struct Proxy::LogBuffer::LogRecord timestamp=1499898603.3866882, level=1, message=&quot;172.30.1.11 - - [13&#x2F;Jul&#x2F;2017:00:30:03 +0200] \&quot;GET &#x2F;version HTTP&#x2F;1.1\&quot; 200 120 0.0006\n&quot;, backtrace=nil, request_id=nil&gt;, #&lt;struct Proxy::LogBuffer::LogRecord timestamp=1499899785.1864936, level=1, message=&quot;172.30.1.11 - - [13&#x2F;Jul&#x2F;2017:00:49:45 +0200] \&quot;GET &#x2F;version HTTP&#x2F;1.1\&quot; 200 120 0.0008\n&quot;, backtrace=nil, request_id=nil&gt;, #&lt;struct Proxy::LogBuffer::LogRecord timestamp=1499901002.7043192, level=1, message=&quot;172.30.1.11 - - [13&#x2F;Jul&#x2F;2017:01:10:02 +0200] \&quot;GET &#x2F;version HTTP&#x2F;1.1\&quot; 200 120 0.0011\n&quot;, backtrace=nil, request_id=nil&gt;, #&lt;struct Proxy::LogBuffer::LogRecord timestamp=1499901585.1614468, level=1, message=&quot;172.30.1.11 - - [13&#x2F;Jul&#x2F;2017:01:19:45 +0200] \&quot;GET &#x2F;version HTTP&#x2F;1.1\&quot; 200 120 0.0008\n&quot;, backtrace=nil, request_id=nil&gt;, #&lt;struct Proxy::LogBuffer::LogRecord timestamp=1499902203.289107, level=1, message=&quot;172.30.1.11 - - [13&#x2F;Jul&#x2F;2017:01:30:03 +0200] \&quot;GET &#x2F;version HTTP&#x2F;1.1\&quot; 200 120 0.0007\n&quot;, backtrace=nil, request_id=nil&gt;, #&lt;struct Proxy::LogBuffer::LogRecord timestamp=1499903385.0962634, level=1, message=&quot;172.30.1.11 - - [13&#x2F;Jul&#x2F;2017:01:49:45 +0200] \&quot;GET &#x2F;version HTTP&#x2F;1.1\&quot; 200 120 0.0008\n&quot;, backtrace=nil, request_id=nil&gt;, #&lt;struct Proxy::LogBuffer::LogRecord timestamp=1499904602.9830165, level=1, message=&quot;172.30.1.11 - - [13&#x2F;Jul&#x2F;2017:02:10:02 +0200] \&quot;GET &#x2F;version HTTP&#x2F;1.1\&quot; 200 120 0.0008\n&quot;, backtrace=nil, request_id=nil&gt;, #&lt;struct Proxy::LogBuffer::LogRecord timestamp=1499905185.1355433, level=1, message=&quot;172.30.1.11 - - [13&#x2F;Jul&#x2F;2017:02:19:45 +0200] \&quot;GET &#x2F;version HTTP&#x2F;1.1\&quot; 200 120 0.0008\n&quot;, backtrace=nil, request_id=nil&gt;, #&lt;struct Proxy::LogBuffer::LogRecord timestamp=1499905803.643457, level=1, message=&quot;172.30.1.11 - - [13&#x2F;Jul&#x2F;2017:02:30:03 +0200] \&quot;GET &#x2F;version HTTP&#x2F;1.1\&quot; 200 120 0.0005\n&quot;, backtrace=nil, request_id=nil&gt;, #&lt;struct Proxy::LogBuffer::LogRecord timestamp=1499906985.192691, level=1, message=&quot;172.30.1.11 - - [13&#x2F;Jul&#x2F;2017:02:49:45 +0200] \&quot;GET &#x2F;version HTTP&#x2F;1.1\&quot; 200 120 0.0008\n&quot;, backtrace=nil, request_id=nil&gt;, #&lt;struct Proxy::LogBuffer::LogRecord timestamp=1499908202.7721825, level=1, message=&quot;172.30.1.11 - - [13&#x2F;Jul&#x2F;2017:03:10:02 +0200] \&quot;GET &#x2F;version HTTP&#x2F;1.1\&quot; 200 120 0.0008\n&quot;, backtrace=nil, request_id=nil&gt;, #&lt;struct Proxy::LogBuffer::LogRecord timestamp=1499908785.142736, level=1, message=&quot;172.30.1.11 - - [13&#x2F;Jul&#x2F;2017:03:19:45 +0200] \&quot;GET &#x2F;version HTTP&#x2F;1.1\&quot; 200 120 0.0007\n&quot;, backtrace=nil, request_id=nil&gt;, #&lt;struct Proxy::LogBuffer::LogRecord timestamp=1499909403.7252579, level=1, message=&quot;172.30.1.11 - - [13&#x2F;Jul&#x2F;2017:03:30:03 +0200] \&quot;GET &#x2F;version HTTP&#x2F;1.1\&quot; 200 120 0.0006\n&quot;, backtrace=nil, request_id=nil&gt;, #&lt;struct Proxy::LogBuffer::LogRecord timestamp=1499910585.1493793, level=1, message=&quot;172.30.1.11 - - [13&#x2F;Jul&#x2F;2017:03:49:45 +0200] \&quot;GET &#x2F;version HTTP&#x2F;1.1\&quot; 200 120 0.0008\n&quot;, backtrace=nil, request_id=nil&gt;, #&lt;struct Proxy::LogBuffer::LogRecord timestamp=1499911803.2716994, level=1, message=&quot;172.30.1.11 - - [13&#x2F;Jul&#x2F;2017:04:10:03 +0200] \&quot;GET &#x2F;version HTTP&#x2F;1.1\&quot; 200 120 0.0008\n&quot;, backtrace=nil, request_id=nil&gt;, #&lt;struct Proxy::LogBuffer::LogRecord timestamp=1499912385.0372927, level=1, message=&quot;172.30.1.11 - - [13&#x2F;Jul&#x2F;2017:04:19:45 +0200] \&quot;GET &#x2F;version HTTP&#x2F;1.1\&quot; 200 120 0.0008\n&quot;, backtrace=nil, request_id=nil&gt;, #&lt;struct Proxy::LogBuffer::LogRecord timestamp=1499913003.4300365, level=1, message=&quot;172.30.1.11 - - [13&#x2F;Jul&#x2F;2017:04:30:03 +0200] \&quot;GET &#x2F;version HTTP&#x2F;1.1\&quot; 200 120 0.0005\n&quot;, backtrace=nil, request_id=nil&gt;, #&lt;struct Proxy::LogBuffer::LogRecord timestamp=1499914185.495772, level=1, message=&quot;172.30.1.11 - - [13&#x2F;Jul&#x2F;2017:04:49:45 +0200] \&quot;GET &#x2F;version HTTP&#x2F;1.1\&quot; 200 120 0.0008\n&quot;, backtrace=nil, request_id=nil&gt;, #&lt;struct Proxy::LogBuffer::LogRecord timestamp=1499915403.9280977, level=1, message=&quot;172.30.1.11 - - [13&#x2F;Jul&#x2F;2017:05:10:03 +0200] \&quot;GET &#x2F;version HTTP&#x2F;1.1\&quot; 200 120 0.0011\n&quot;, backtrace=nil, request_id=nil&gt;, #&lt;struct Proxy::LogBuffer::LogRecord timestamp=1499915985.1611001, level=1, message=&quot;172.30.1.11 - - [13&#x2F;Jul&#x2F;2017:05:19:45 +0200] \&quot;GET &#x2F;version HTTP&#x2F;1.1\&quot; 200 120 0.0008\n&quot;, backtrace=nil, request_id=nil&gt;, #&lt;struct Proxy::LogBuffer::LogRecord timestamp=1499916603.1896412, level=1, message=&quot;172.30.1.11 - - [13&#x2F;Jul&#x2F;2017:05:30:03 +0200] \&quot;GET &#x2F;version HTTP&#x2F;1.1\&quot; 200 120 0.0006\n&quot;, backtrace=nil, request_id=nil&gt;, #&lt;struct Proxy::LogBuffer::LogRecord timestamp=1499917785.3558958, level=1, message=&quot;172.30.1.11 - - [13&#x2F;Jul&#x2F;2017:05:49:45 +0200] \&quot;GET &#x2F;version HTTP&#x2F;1.1\&quot; 200 120 0.0009\n&quot;, backtrace=nil, request_id=nil&gt;, #&lt;struct Proxy::LogBuffer::LogRecord timestamp=1499919003.1342738, level=1, message=&quot;172.30.1.11 - - [13&#x2F;Jul&#x2F;2017:06:10:03 +0200] \&quot;GET &#x2F;version HTTP&#x2F;1.1\&quot; 200 120 0.0008\n&quot;, backtrace=nil, request_id=nil&gt;, #&lt;struct Proxy::LogBuffer::LogRecord timestamp=1499919585.002715, level=1, message=&quot;172.30.1.11 - - [13&#x2F;Jul&#x2F;2017:06:19:45 +0200] \&quot;GET &#x2F;version HTTP&#x2F;1.1\&quot; 200 120 0.0009\n&quot;, backtrace=nil, request_id=nil&gt;, #&lt;struct Proxy::LogBuffer::LogRecord timestamp=1499920203.262823, level=1, message=&quot;172.30.1.11 - - [13&#x2F;Jul&#x2F;2017:06:30:03 +0200] \&quot;GET &#x2F;version HTTP&#x2F;1.1\&quot; 200 120 0.0007\n&quot;, backtrace=nil, request_id=nil&gt;, #&lt;struct Proxy::LogBuffer::LogRecord timestamp=1499921385.1013155, level=1, message=&quot;172.30.1.11 - - [13&#x2F;Jul&#x2F;2017:06:49:45 +0200] \&quot;GET &#x2F;version HTTP&#x2F;1.1\&quot; 200 120 0.0008\n&quot;, backtrace=nil, request_id=nil&gt;, #&lt;struct Proxy::LogBuffer::LogRecord timestamp=1499922603.425653, level=1, message=&quot;172.30.1.11 - - [13&#x2F;Jul&#x2F;2017:07:10:03 +0200] \&quot;GET &#x2F;version HTTP&#x2F;1.1\&quot; 200 120 0.0008\n&quot;, backtrace=nil, request_id=nil&gt;, #&lt;struct Proxy::LogBuffer::LogRecord timestamp=1499923185.1268995, level=1, message=&quot;172.30.1.11 - - [13&#x2F;Jul&#x2F;2017:07:19:45 +0200] \&quot;GET &#x2F;version HTTP&#x2F;1.1\&quot; 200 120 0.0008\n&quot;, backtrace=nil, request_id=nil&gt;, #&lt;struct Proxy::LogBuffer::LogRecord timestamp=1499923802.3853889, level=1, message=&quot;172.30.1.11 - - [13&#x2F;Jul&#x2F;2017:07:30:02 +0200] \&quot;GET &#x2F;version HTTP&#x2F;1.1\&quot; 200 120 0.0005\n&quot;, backtrace=nil, request_id=nil&gt;, #&lt;struct Proxy::LogBuffer::LogRecord timestamp=1499924053.8380697, level=1, message=&quot;172.30.1.11 - - [13&#x2F;Jul&#x2F;2017:07:34:13 +0200] \&quot;GET &#x2F;features HTTP&#x2F;1.1\&quot; 200 46 0.0008\n&quot;, backtrace=nil, request_id=nil&gt;, #&lt;struct Proxy::LogBuffer::LogRecord timestamp=1499924053.8967915, level=1, message=&quot;172.30.1.11 - - [13&#x2F;Jul&#x2F;2017:07:34:13 +0200] \&quot;GET &#x2F;version HTTP&#x2F;1.1\&quot; 200 120 0.0005\n&quot;, backtrace=nil, request_id=nil&gt;, #&lt;struct Proxy::LogBuffer::LogRecord timestamp=1499924054.4839294, level=1, message=&quot;172.30.1.11 - - [13&#x2F;Jul&#x2F;2017:07:34:14 +0200] \&quot;POST &#x2F;compliance&#x2F;scap_content&#x2F;guide&#x2F;xccdf_org.ssgproject.content_profile_standard HTTP&#x2F;1.1\&quot; 200 494950 0.3445\n&quot;, backtrace=nil, request_id=nil&gt;, #&lt;struct Proxy::LogBuffer::LogRecord timestamp=1499924985.2183952, level=1, message=&quot;172.30.1.11 - - [13&#x2F;Jul&#x2F;2017:07:49:45 +0200] \&quot;GET &#x2F;version HTTP&#x2F;1.1\&quot; 200 120 0.0011\n&quot;, backtrace=nil, request_id=nil&gt;, #&lt;struct Proxy::LogBuffer::LogRecord timestamp=1499926202.0934422, level=1, message=&quot;172.30.1.11 - - [13&#x2F;Jul&#x2F;2017:08:10:02 +0200] \&quot;GET &#x2F;version HTTP&#x2F;1.1\&quot; 200 120 0.0008\n&quot;, backtrace=nil, request_id=nil&gt;, #&lt;struct Proxy::LogBuffer::LogRecord timestamp=1499926785.1045394, level=1, message=&quot;172.30.1.11 - - [13&#x2F;Jul&#x2F;2017:08:19:45 +0200] \&quot;GET &#x2F;version HTTP&#x2F;1.1\&quot; 200 120 0.0009\n&quot;, backtrace=nil, request_id=nil&gt;, #&lt;struct Proxy::LogBuffer::LogRecord timestamp=1499927403.452397, level=1, message=&quot;172.30.1.11 - - [13&#x2F;Jul&#x2F;2017:08:30:03 +0200] \&quot;GET &#x2F;version HTTP&#x2F;1.1\&quot; 200 120 0.0008\n&quot;, backtrace=nil, request_id=nil&gt;, #&lt;struct Proxy::LogBuffer::LogRecord timestamp=1499928585.1638744, level=1, message=&quot;172.30.1.11 - - [13&#x2F;Jul&#x2F;2017:08:49:45 +0200] \&quot;GET &#x2F;version HTTP&#x2F;1.1\&quot; 200 120 0.0008\n&quot;, backtrace=nil, request_id=nil&gt;, #&lt;struct Proxy::LogBuffer::LogRecord timestamp=1499929802.4577436, level=1, message=&quot;172.30.1.11 - - [13&#x2F;Jul&#x2F;2017:09:10:02 +0200] \&quot;GET &#x2F;version HTTP&#x2F;1.1\&quot; 200 120 0.0007\n&quot;, backtrace=nil, request_id=nil&gt;, #&lt;struct Proxy::LogBuffer::LogRecord timestamp=1499930385.1017962, level=1, message=&quot;172.30.1.11 - - [13&#x2F;Jul&#x2F;2017:09:19:45 +0200] \&quot;GET &#x2F;version HTTP&#x2F;1.1\&quot; 200 120 0.0008\n&quot;, backtrace=nil, request_id=nil&gt;, #&lt;struct Proxy::LogBuffer::LogRecord timestamp=1499931003.7203245, level=1, message=&quot;172.30.1.11 - - [13&#x2F;Jul&#x2F;2017:09:30:03 +0200] \&quot;GET &#x2F;version HTTP&#x2F;1.1\&quot; 200 120 0.0008\n&quot;, backtrace=nil, request_id=nil&gt;, #&lt;struct Proxy::LogBuffer::LogRecord timestamp=1499932185.1267085, level=1, message=&quot;172.30.1.11 - - [13&#x2F;Jul&#x2F;2017:09:49:45 +0200] \&quot;GET &#x2F;version HTTP&#x2F;1.1\&quot; 200 120 0.0007\n&quot;, backtrace=nil, request_id=nil&gt;, #&lt;struct Proxy::LogBuffer::LogRecord timestamp=1499933403.7103944, level=1, message=&quot;172.30.1.11 - - [13&#x2F;Jul&#x2F;2017:10:10:03 +0200] \&quot;GET &#x2F;version HTTP&#x2F;1.1\&quot; 200 120 0.0008\n&quot;, backtrace=nil, request_id=nil&gt;, #&lt;struct Proxy::LogBuffer::LogRecord timestamp=1499933985.0659983, level=1, message=&quot;172.30.1.11 - - [13&#x2F;Jul&#x2F;2017:10:19:45 +0200] \&quot;GET &#x2F;version HTTP&#x2F;1.1\&quot; 200 120 0.0008\n&quot;, backtrace=nil, request_id=nil&gt;, #&lt;struct Proxy::LogBuffer::LogRecord timestamp=1499934603.268888, level=1, message=&quot;172.30.1.11 - - [13&#x2F;Jul&#x2F;2017:10:30:03 +0200] \&quot;GET &#x2F;version HTTP&#x2F;1.1\&quot; 200 120 0.0006\n&quot;, backtrace=nil, request_id=nil&gt;, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil]&gt;, @tail_buffer=#&lt;Proxy::LogBuffer::RingBuffer:0x000000020860b8 @size=1000, @start=0, @count=0, @buffer=[nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil]&gt;, @level_tail=3&gt;, @log_file=&quot;&#x2F;var&#x2F;log&#x2F;foreman-proxy&#x2F;proxy.log&quot;, @mutex=#&lt;Mutex:0x00000002086068&gt;, @roll_log=false&gt;</div></td>
  4878. </tr>
  4879.  
  4880. <tr>
  4881. <td>rack.multiprocess</td>
  4882. <td class="code"><div>false</div></td>
  4883. </tr>
  4884.  
  4885. <tr>
  4886. <td>rack.multithread</td>
  4887. <td class="code"><div>true</div></td>
  4888. </tr>
  4889.  
  4890. <tr>
  4891. <td>rack.request.cookie_hash</td>
  4892. <td class="code"><div>{}</div></td>
  4893. </tr>
  4894.  
  4895. <tr>
  4896. <td>rack.request.query_hash</td>
  4897. <td class="code"><div>{}</div></td>
  4898. </tr>
  4899.  
  4900. <tr>
  4901. <td>rack.request.query_string</td>
  4902. <td class="code"><div></div></td>
  4903. </tr>
  4904.  
  4905. <tr>
  4906. <td>rack.run_once</td>
  4907. <td class="code"><div>false</div></td>
  4908. </tr>
  4909.  
  4910. <tr>
  4911. <td>rack.url_scheme</td>
  4912. <td class="code"><div>https</div></td>
  4913. </tr>
  4914.  
  4915. <tr>
  4916. <td>rack.version</td>
  4917. <td class="code"><div>[1, 3]</div></td>
  4918. </tr>
  4919.  
  4920. <tr>
  4921. <td>sinatra.accept</td>
  4922. <td class="code"><div>[#&lt;Sinatra::Request::AcceptEntry:0x007f1105ba9f10 @entry=&quot;*&#x2F;*&quot;, @type=&quot;*&#x2F;*&quot;, @params={}, @q=1.0&gt;]</div></td>
  4923. </tr>
  4924.  
  4925. <tr>
  4926. <td>sinatra.commonlogger</td>
  4927. <td class="code"><div>true</div></td>
  4928. </tr>
  4929.  
  4930. <tr>
  4931. <td>sinatra.error</td>
  4932. <td class="code"><div>#&lt;OpenSSL::SSL::SSLError: SSL_connect returned=1 errno=0 state=SSLv3 read server session ticket A: tlsv1 alert unknown ca&gt;</div></td>
  4933. </tr>
  4934.  
  4935. <tr>
  4936. <td>sinatra.route</td>
  4937. <td class="code"><div>POST &#x2F;arf&#x2F;:policy</div></td>
  4938. </tr>
  4939.  
  4940. </table>
  4941. <div class="clear"></div>
  4942. </div> <!-- /RACK ENV -->
  4943.  
  4944. <p id="explanation">You're seeing this error because you have
  4945. enabled the <code>show_exceptions</code> setting.</p>
  4946. </div> <!-- /WRAP -->
  4947. </body>
  4948. </html>
  4949. Upload failed: 500 "Internal Server Error "
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement