siffer 0.0.5 → 0.0.7

Sign up to get free protection for your applications and to get access to all the features.
Files changed (102) hide show
  1. data/LICENSE +1 -1
  2. data/README +93 -0
  3. data/lib/siffer.rb +13 -16
  4. data/lib/siffer/agent.rb +39 -31
  5. data/lib/siffer/core_ext/hash.rb +15 -0
  6. data/lib/siffer/messages.rb +38 -4
  7. data/lib/siffer/messages/ack.rb +160 -35
  8. data/lib/siffer/messages/event.rb +20 -0
  9. data/lib/siffer/messages/message.rb +47 -58
  10. data/lib/siffer/messages/provide.rb +25 -0
  11. data/lib/siffer/messages/provision.rb +17 -0
  12. data/lib/siffer/messages/register.rb +42 -52
  13. data/lib/siffer/messages/request.rb +138 -0
  14. data/lib/siffer/messages/response.rb +48 -0
  15. data/lib/siffer/messages/subscribe.rb +17 -0
  16. data/lib/siffer/messages/system_control.rb +94 -0
  17. data/lib/siffer/models.rb +1 -0
  18. data/lib/siffer/models/address.rb +39 -0
  19. metadata +25 -146
  20. data/README.rdoc +0 -65
  21. data/Rakefile +0 -64
  22. data/bin/siffer +0 -71
  23. data/doc/SIF ImplementationSpecification.pdf +0 -0
  24. data/doc/rdoc/classes/Siffer.html +0 -259
  25. data/doc/rdoc/classes/Siffer/Agent.html +0 -177
  26. data/doc/rdoc/classes/Siffer/Container.html +0 -165
  27. data/doc/rdoc/classes/Siffer/Messages.html +0 -81
  28. data/doc/rdoc/classes/Siffer/Messages/Ack.html +0 -115
  29. data/doc/rdoc/classes/Siffer/Messages/Acl.html +0 -83
  30. data/doc/rdoc/classes/Siffer/Messages/Error.html +0 -157
  31. data/doc/rdoc/classes/Siffer/Messages/Message.html +0 -235
  32. data/doc/rdoc/classes/Siffer/Messages/Message/Header.html +0 -107
  33. data/doc/rdoc/classes/Siffer/Messages/Register.html +0 -154
  34. data/doc/rdoc/classes/Siffer/Messages/RequestBody.html +0 -185
  35. data/doc/rdoc/classes/Siffer/Messages/Status.html +0 -156
  36. data/doc/rdoc/classes/Siffer/Messaging.html +0 -212
  37. data/doc/rdoc/classes/Siffer/Protocol.html +0 -254
  38. data/doc/rdoc/classes/Siffer/Protocol/NonPostRequest.html +0 -54
  39. data/doc/rdoc/classes/Siffer/Protocol/UnknownPath.html +0 -54
  40. data/doc/rdoc/classes/Siffer/Registration.html +0 -251
  41. data/doc/rdoc/classes/Siffer/Request.html +0 -103
  42. data/doc/rdoc/classes/Siffer/RequestLogger.html +0 -109
  43. data/doc/rdoc/classes/Siffer/Response.html +0 -91
  44. data/doc/rdoc/classes/Siffer/Server.html +0 -156
  45. data/doc/rdoc/created.rid +0 -1
  46. data/doc/rdoc/files/LICENSE.html +0 -76
  47. data/doc/rdoc/files/README_rdoc.html +0 -131
  48. data/doc/rdoc/files/lib/siffer/agent_rb.html +0 -49
  49. data/doc/rdoc/files/lib/siffer/container_rb.html +0 -57
  50. data/doc/rdoc/files/lib/siffer/messages/ack_rb.html +0 -49
  51. data/doc/rdoc/files/lib/siffer/messages/acl_rb.html +0 -49
  52. data/doc/rdoc/files/lib/siffer/messages/error_rb.html +0 -49
  53. data/doc/rdoc/files/lib/siffer/messages/message_rb.html +0 -49
  54. data/doc/rdoc/files/lib/siffer/messages/register_rb.html +0 -49
  55. data/doc/rdoc/files/lib/siffer/messages/request_body_rb.html +0 -49
  56. data/doc/rdoc/files/lib/siffer/messages/status_rb.html +0 -49
  57. data/doc/rdoc/files/lib/siffer/messages_rb.html +0 -63
  58. data/doc/rdoc/files/lib/siffer/messaging_rb.html +0 -49
  59. data/doc/rdoc/files/lib/siffer/protocol_rb.html +0 -49
  60. data/doc/rdoc/files/lib/siffer/registration_rb.html +0 -49
  61. data/doc/rdoc/files/lib/siffer/request_logger_rb.html +0 -49
  62. data/doc/rdoc/files/lib/siffer/request_rb.html +0 -49
  63. data/doc/rdoc/files/lib/siffer/response_rb.html +0 -49
  64. data/doc/rdoc/files/lib/siffer/server_rb.html +0 -49
  65. data/doc/rdoc/files/lib/siffer_rb.html +0 -64
  66. data/doc/rdoc/fr_class_index.html +0 -25
  67. data/doc/rdoc/fr_file_index.html +0 -39
  68. data/doc/rdoc/fr_method_index.html +0 -4539
  69. data/doc/rdoc/index.html +0 -15
  70. data/doc/rdoc/rdoc-style.css +0 -319
  71. data/lib/siffer/container.rb +0 -94
  72. data/lib/siffer/messages/acl.rb +0 -25
  73. data/lib/siffer/messages/error.rb +0 -174
  74. data/lib/siffer/messages/request_body.rb +0 -66
  75. data/lib/siffer/messages/status.rb +0 -55
  76. data/lib/siffer/messaging.rb +0 -99
  77. data/lib/siffer/protocol.rb +0 -164
  78. data/lib/siffer/registration.rb +0 -87
  79. data/lib/siffer/request.rb +0 -28
  80. data/lib/siffer/request_logger.rb +0 -32
  81. data/lib/siffer/response.rb +0 -26
  82. data/lib/siffer/server.rb +0 -42
  83. data/spec/agent_spec.rb +0 -48
  84. data/spec/cli_spec.rb +0 -40
  85. data/spec/container_spec.rb +0 -103
  86. data/spec/default_agent +0 -6
  87. data/spec/default_server +0 -5
  88. data/spec/message_specs/ack_spec.rb +0 -28
  89. data/spec/message_specs/error_spec.rb +0 -24
  90. data/spec/message_specs/header_spec.rb +0 -25
  91. data/spec/message_specs/message_spec.rb +0 -57
  92. data/spec/message_specs/register_spec.rb +0 -86
  93. data/spec/message_specs/request_body_spec.rb +0 -58
  94. data/spec/message_specs/status_spec.rb +0 -25
  95. data/spec/messaging_spec.rb +0 -85
  96. data/spec/protocol_spec.rb +0 -50
  97. data/spec/registration_spec.rb +0 -33
  98. data/spec/request_logger_spec.rb +0 -28
  99. data/spec/request_spec.rb +0 -25
  100. data/spec/response_spec.rb +0 -24
  101. data/spec/server_spec.rb +0 -30
  102. data/spec/spec_helper.rb +0 -35
@@ -1,103 +0,0 @@
1
- <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
2
- <html lang='en'>
3
- <head>
4
- <title>Class: Siffer::Request [Siffer == h3o(software) SIF]</title>
5
- <meta content='text/html; charset=UTF-8' http-equiv='Content-Type'>
6
- <link href='../.././rdoc-style.css' media='screen' rel='stylesheet' type='text/css'>
7
- <script type='text/javascript'>
8
- //<![CDATA[
9
- function popupCode(url) {
10
- window.open(url, "Code", "resizable=yes,scrollbars=yes,toolbar=no,status=no,height=150,width=400")
11
- }
12
-
13
- function toggleCode(id) {
14
- var code = document.getElementById(id)
15
-
16
- code.style.display = code.style.display != 'block' ? 'block' : 'none'
17
- return true
18
- }
19
-
20
- // Make codeblocks hidden by default
21
- document.writeln('<' + 'style type="text/css">.method .source pre { display: none }<\/style>')
22
- //]]>
23
- </script>
24
- </head>
25
- <body class='page'>
26
- <div class='class' id='wrapper'>
27
- <div class='header'>
28
- <h1 class='name'>
29
- <span class='type'>Class</span>
30
- Siffer::Request
31
- </h1>
32
- <ol class='paths'>
33
- <li>
34
- <a href="../../files/lib/siffer/request_rb.html">lib/siffer/request.rb</a>
35
- </li>
36
- </ol>
37
- <div class='parent'>
38
- Parent:
39
- <strong>Rack::Request</strong>
40
- </div>
41
- </div>
42
- <div id='content'>
43
- <div id='text'>
44
- <div id='description'>
45
- <p>
46
- <a href="Request.html">Request</a> represents each message received by the
47
- <a href="Server.html">Server</a> or <a href="Agent.html">Agent</a> in <a
48
- href="../Siffer.html">Siffer</a>.
49
- </p>
50
- </div>
51
- <div id='method-list'>
52
- <h2>Methods</h2>
53
- <h3>public instance</h3>
54
- <ol>
55
- <li><a href="#M000069">message</a></li>
56
- <li><a href="#M000070">original</a></li>
57
- </ol>
58
- </div>
59
- <div id='section'>
60
- <div id='methods'>
61
- <h2>Public instance methods</h2>
62
- <div class='public-instance method' id='method-M000069'>
63
- <a name='M000069'> </a>
64
- <div class='synopsis'>
65
- <span class='name'>message</span>
66
- <span class='arguments'>()</span>
67
- </div>
68
- <div class='description'>
69
- <p>
70
- Provides access to the request message in <a
71
- href="Messages/Message.html">Siffer::Messages::Message</a> format.
72
- </p>
73
- </div>
74
- <div class='source'>
75
- <a class='source-toggle' href='#' onclick="toggleCode('M000069-source'); return false">
76
- [show source]
77
- </a>
78
- <pre id='M000069-source'> <span class="ruby-comment cmt"># File lib/siffer/request.rb, line 8</span>&#x000A; 8: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">message</span>&#x000A; 9: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">body</span>.<span class="ruby-identifier">is_a?</span>(<span class="ruby-constant">StringIO</span>) <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-identifier">body</span>.<span class="ruby-identifier">pos</span> <span class="ruby-operator">==</span> <span class="ruby-identifier">body</span>.<span class="ruby-identifier">length</span>&#x000A;10: <span class="ruby-identifier">body</span>.<span class="ruby-identifier">rewind</span>&#x000A;11: <span class="ruby-keyword kw">end</span>&#x000A;12: <span class="ruby-constant">Siffer</span><span class="ruby-operator">::</span><span class="ruby-constant">Messages</span><span class="ruby-operator">::</span><span class="ruby-constant">RequestBody</span>.<span class="ruby-identifier">parse</span>(<span class="ruby-identifier">body</span>)&#x000A;13: <span class="ruby-keyword kw">end</span></pre>
79
- </div>
80
- </div>
81
- <div class='public-instance method' id='method-M000070'>
82
- <a name='M000070'> </a>
83
- <div class='synopsis'>
84
- <span class='name'>original</span>
85
- <span class='arguments'>()</span>
86
- </div>
87
- <div class='description'>
88
- <p>
89
- Alias for <a href="Request.html#M000069">message</a>
90
- </p>
91
- </div>
92
- </div>
93
- </div>
94
- </div>
95
- </div>
96
- </div>
97
- <div id='footer-push'></div>
98
- </div>
99
- <div id='footer'>
100
- <a href="http://github.com/mislav/hanna/tree/master"><strong>Hanna</strong> RDoc template</a>
101
- </div>
102
- </body>
103
- </html>
@@ -1,109 +0,0 @@
1
- <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
2
- <html lang='en'>
3
- <head>
4
- <title>Class: Siffer::RequestLogger [Siffer == h3o(software) SIF]</title>
5
- <meta content='text/html; charset=UTF-8' http-equiv='Content-Type'>
6
- <link href='../.././rdoc-style.css' media='screen' rel='stylesheet' type='text/css'>
7
- <script type='text/javascript'>
8
- //<![CDATA[
9
- function popupCode(url) {
10
- window.open(url, "Code", "resizable=yes,scrollbars=yes,toolbar=no,status=no,height=150,width=400")
11
- }
12
-
13
- function toggleCode(id) {
14
- var code = document.getElementById(id)
15
-
16
- code.style.display = code.style.display != 'block' ? 'block' : 'none'
17
- return true
18
- }
19
-
20
- // Make codeblocks hidden by default
21
- document.writeln('<' + 'style type="text/css">.method .source pre { display: none }<\/style>')
22
- //]]>
23
- </script>
24
- </head>
25
- <body class='page'>
26
- <div class='class' id='wrapper'>
27
- <div class='header'>
28
- <h1 class='name'>
29
- <span class='type'>Class</span>
30
- Siffer::RequestLogger
31
- </h1>
32
- <ol class='paths'>
33
- <li>
34
- <a href="../../files/lib/siffer/request_logger_rb.html">lib/siffer/request_logger.rb</a>
35
- </li>
36
- </ol>
37
- <div class='parent'>
38
- Parent:
39
- <strong>Object</strong>
40
- </div>
41
- </div>
42
- <div id='content'>
43
- <div id='text'>
44
- <div id='method-list'>
45
- <h2>Methods</h2>
46
- <h3>public class</h3>
47
- <ol>
48
- <li><a href="#M000057">new</a></li>
49
- </ol>
50
- <h3>public instance</h3>
51
- <ol>
52
- <li><a href="#M000058">call</a></li>
53
- <li><a href="#M000059">log_request</a></li>
54
- </ol>
55
- </div>
56
- <div id='section'>
57
- <div id='methods'>
58
- <h2>Public class methods</h2>
59
- <div class='public-class method' id='method-M000057'>
60
- <a name='M000057'> </a>
61
- <div class='synopsis'>
62
- <span class='name'>new</span>
63
- <span class='arguments'>(app, log=nil)</span>
64
- </div>
65
- <div class='source'>
66
- <a class='source-toggle' href='#' onclick="toggleCode('M000057-source'); return false">
67
- [show source]
68
- </a>
69
- <pre id='M000057-source'> <span class="ruby-comment cmt"># File lib/siffer/request_logger.rb, line 3</span>&#x000A;3: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">initialize</span>(<span class="ruby-identifier">app</span>, <span class="ruby-identifier">log</span>=<span class="ruby-keyword kw">nil</span>)&#x000A;4: <span class="ruby-ivar">@app</span> = <span class="ruby-identifier">app</span>&#x000A;5: <span class="ruby-ivar">@log</span> = <span class="ruby-identifier">log</span> <span class="ruby-operator">||</span> <span class="ruby-constant">STDERR</span>&#x000A;6: <span class="ruby-keyword kw">end</span></pre>
70
- </div>
71
- </div>
72
- <h2>Public instance methods</h2>
73
- <div class='public-instance method' id='method-M000058'>
74
- <a name='M000058'> </a>
75
- <div class='synopsis'>
76
- <span class='name'>call</span>
77
- <span class='arguments'>(env)</span>
78
- </div>
79
- <div class='source'>
80
- <a class='source-toggle' href='#' onclick="toggleCode('M000058-source'); return false">
81
- [show source]
82
- </a>
83
- <pre id='M000058-source'> <span class="ruby-comment cmt"># File lib/siffer/request_logger.rb, line 8</span>&#x000A; 8: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">call</span>(<span class="ruby-identifier">env</span>)&#x000A; 9: <span class="ruby-ivar">@msg</span> = <span class="ruby-identifier">env</span>[<span class="ruby-value str">&quot;rack.input&quot;</span>].<span class="ruby-identifier">read</span>&#x000A;10: <span class="ruby-identifier">log_request</span>&#x000A;11: <span class="ruby-identifier">env</span>[<span class="ruby-value str">&quot;rack.input&quot;</span>].<span class="ruby-identifier">rewind</span>&#x000A;12: <span class="ruby-ivar">@app</span>.<span class="ruby-identifier">call</span>(<span class="ruby-identifier">env</span>)&#x000A;13: <span class="ruby-keyword kw">end</span></pre>
84
- </div>
85
- </div>
86
- <div class='public-instance method' id='method-M000059'>
87
- <a name='M000059'> </a>
88
- <div class='synopsis'>
89
- <span class='name'>log_request</span>
90
- <span class='arguments'>()</span>
91
- </div>
92
- <div class='source'>
93
- <a class='source-toggle' href='#' onclick="toggleCode('M000059-source'); return false">
94
- [show source]
95
- </a>
96
- <pre id='M000059-source'> <span class="ruby-comment cmt"># File lib/siffer/request_logger.rb, line 15</span>&#x000A;15: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">log_request</span>&#x000A;16: <span class="ruby-ivar">@now</span> = <span class="ruby-constant">Time</span>.<span class="ruby-identifier">now</span>&#x000A;17: <span class="ruby-identifier">message</span> = <span class="ruby-constant">Siffer</span><span class="ruby-operator">::</span><span class="ruby-constant">Messages</span><span class="ruby-operator">::</span><span class="ruby-constant">RequestBody</span>.<span class="ruby-identifier">parse</span>(<span class="ruby-ivar">@msg</span>).<span class="ruby-identifier">type</span> <span class="ruby-keyword kw">rescue</span> <span class="ruby-value str">&quot;Unknown&quot;</span>&#x000A;18: <span class="ruby-identifier">host</span> = <span class="ruby-constant">Siffer</span><span class="ruby-operator">::</span><span class="ruby-constant">Messages</span><span class="ruby-operator">::</span><span class="ruby-constant">RequestBody</span>.<span class="ruby-identifier">parse</span>(<span class="ruby-ivar">@msg</span>).<span class="ruby-identifier">source_id</span> <span class="ruby-keyword kw">rescue</span> <span class="ruby-value str">&quot;Unknown Source&quot;</span>&#x000A;19: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">host</span>.<span class="ruby-identifier">nil?</span> <span class="ruby-keyword kw">or</span> <span class="ruby-identifier">host</span> <span class="ruby-operator">==</span> <span class="ruby-value str">&quot;&quot;</span> &#x000A;20: <span class="ruby-identifier">host</span> = <span class="ruby-value str">&quot;Unknown Source&quot;</span>&#x000A;21: <span class="ruby-keyword kw">end</span>&#x000A;22: <span class="ruby-ivar">@log</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-value str">%{%s request made by %s on %s at %s\n}</span> <span class="ruby-operator">%</span>&#x000A;23: [&#x000A;24: <span class="ruby-identifier">message</span>,&#x000A;25: <span class="ruby-identifier">host</span>,&#x000A;26: <span class="ruby-ivar">@now</span>.<span class="ruby-identifier">strftime</span>(<span class="ruby-value str">&quot;%b/%d/%Y&quot;</span>),&#x000A;27: <span class="ruby-ivar">@now</span>.<span class="ruby-identifier">strftime</span>(<span class="ruby-value str">&quot;%H:%M:%S&quot;</span>)&#x000A;28: ]&#x000A;29: <span class="ruby-keyword kw">end</span></pre>
97
- </div>
98
- </div>
99
- </div>
100
- </div>
101
- </div>
102
- </div>
103
- <div id='footer-push'></div>
104
- </div>
105
- <div id='footer'>
106
- <a href="http://github.com/mislav/hanna/tree/master"><strong>Hanna</strong> RDoc template</a>
107
- </div>
108
- </body>
109
- </html>
@@ -1,91 +0,0 @@
1
- <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
2
- <html lang='en'>
3
- <head>
4
- <title>Class: Siffer::Response [Siffer == h3o(software) SIF]</title>
5
- <meta content='text/html; charset=UTF-8' http-equiv='Content-Type'>
6
- <link href='../.././rdoc-style.css' media='screen' rel='stylesheet' type='text/css'>
7
- <script type='text/javascript'>
8
- //<![CDATA[
9
- function popupCode(url) {
10
- window.open(url, "Code", "resizable=yes,scrollbars=yes,toolbar=no,status=no,height=150,width=400")
11
- }
12
-
13
- function toggleCode(id) {
14
- var code = document.getElementById(id)
15
-
16
- code.style.display = code.style.display != 'block' ? 'block' : 'none'
17
- return true
18
- }
19
-
20
- // Make codeblocks hidden by default
21
- document.writeln('<' + 'style type="text/css">.method .source pre { display: none }<\/style>')
22
- //]]>
23
- </script>
24
- </head>
25
- <body class='page'>
26
- <div class='class' id='wrapper'>
27
- <div class='header'>
28
- <h1 class='name'>
29
- <span class='type'>Class</span>
30
- Siffer::Response
31
- </h1>
32
- <ol class='paths'>
33
- <li>
34
- <a href="../../files/lib/siffer/response_rb.html">lib/siffer/response.rb</a>
35
- </li>
36
- </ol>
37
- <div class='parent'>
38
- Parent:
39
- <strong>Rack::Response</strong>
40
- </div>
41
- </div>
42
- <div id='content'>
43
- <div id='text'>
44
- <div id='method-list'>
45
- <h2>Methods</h2>
46
- <h3>public class</h3>
47
- <ol>
48
- <li><a href="#M000061">from</a></li>
49
- <li><a href="#M000060">new</a></li>
50
- </ol>
51
- </div>
52
- <div id='section'>
53
- <div id='methods'>
54
- <h2>Public class methods</h2>
55
- <div class='public-class method' id='method-M000061'>
56
- <a name='M000061'> </a>
57
- <div class='synopsis'>
58
- <span class='name'>from</span>
59
- <span class='arguments'>(url,data)</span>
60
- </div>
61
- <div class='source'>
62
- <a class='source-toggle' href='#' onclick="toggleCode('M000061-source'); return false">
63
- [show source]
64
- </a>
65
- <pre id='M000061-source'> <span class="ruby-comment cmt"># File lib/siffer/response.rb, line 10</span>&#x000A;10: <span class="ruby-keyword kw">def</span> <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">from</span>(<span class="ruby-identifier">url</span>,<span class="ruby-identifier">data</span>)&#x000A;11: <span class="ruby-identifier">uri</span> = <span class="ruby-constant">URI</span>.<span class="ruby-identifier">parse</span>(<span class="ruby-identifier">url</span>)&#x000A;12: <span class="ruby-keyword kw">begin</span>&#x000A;13: <span class="ruby-identifier">response</span> = <span class="ruby-constant">Net</span><span class="ruby-operator">::</span><span class="ruby-constant">HTTP</span>.<span class="ruby-identifier">start</span>(<span class="ruby-identifier">uri</span>.<span class="ruby-identifier">host</span>,<span class="ruby-identifier">uri</span>.<span class="ruby-identifier">port</span>) { <span class="ruby-operator">|</span><span class="ruby-identifier">http</span><span class="ruby-operator">|</span>&#x000A;14: <span class="ruby-identifier">post</span> = <span class="ruby-constant">Net</span><span class="ruby-operator">::</span><span class="ruby-constant">HTTP</span><span class="ruby-operator">::</span><span class="ruby-constant">Post</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">uri</span>.<span class="ruby-identifier">path</span>, {})&#x000A;15: <span class="ruby-identifier">post</span>.<span class="ruby-identifier">body</span> = (<span class="ruby-identifier">data</span>.<span class="ruby-identifier">respond_to?</span>(<span class="ruby-value str">&quot;read&quot;</span>)) <span class="ruby-operator">?</span> <span class="ruby-identifier">data</span>.<span class="ruby-identifier">read</span> <span class="ruby-operator">:</span> <span class="ruby-identifier">data</span>&#x000A;16: <span class="ruby-identifier">post</span>.<span class="ruby-identifier">content_type</span> = <span class="ruby-constant">Siffer</span><span class="ruby-operator">::</span><span class="ruby-constant">Messaging</span><span class="ruby-operator">::</span><span class="ruby-constant">MIME_TYPES</span>[<span class="ruby-value str">&quot;appxml&quot;</span>]&#x000A;17: <span class="ruby-identifier">http</span>.<span class="ruby-identifier">request</span>(<span class="ruby-identifier">post</span>)&#x000A;18: }&#x000A;19: <span class="ruby-constant">Response</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">response</span>.<span class="ruby-identifier">body</span>,<span class="ruby-identifier">response</span>.<span class="ruby-identifier">code</span>.<span class="ruby-identifier">to_i</span>,<span class="ruby-identifier">response</span>.<span class="ruby-identifier">header</span>.<span class="ruby-identifier">to_hash</span>)&#x000A;20: <span class="ruby-keyword kw">rescue</span> <span class="ruby-constant">Errno</span><span class="ruby-operator">::</span><span class="ruby-constant">ECONNREFUSED</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">e</span>&#x000A;21: <span class="ruby-constant">Response</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">e</span>.<span class="ruby-identifier">message</span>, <span class="ruby-value">500</span>, {})&#x000A;22: <span class="ruby-keyword kw">end</span>&#x000A;23: <span class="ruby-keyword kw">end</span></pre>
66
- </div>
67
- </div>
68
- <div class='public-class method' id='method-M000060'>
69
- <a name='M000060'> </a>
70
- <div class='synopsis'>
71
- <span class='name'>new</span>
72
- <span class='arguments'>(body=[], status=200, header={}, &amp;block)</span>
73
- </div>
74
- <div class='source'>
75
- <a class='source-toggle' href='#' onclick="toggleCode('M000060-source'); return false">
76
- [show source]
77
- </a>
78
- <pre id='M000060-source'> <span class="ruby-comment cmt"># File lib/siffer/response.rb, line 5</span>&#x000A;5: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">initialize</span>(<span class="ruby-identifier">body</span>=[], <span class="ruby-identifier">status</span>=<span class="ruby-value">200</span>, <span class="ruby-identifier">header</span>={}, <span class="ruby-operator">&amp;</span><span class="ruby-identifier">block</span>)&#x000A;6: <span class="ruby-identifier">header</span>[<span class="ruby-value str">&quot;Content-Type&quot;</span>] <span class="ruby-operator">||=</span> <span class="ruby-constant">Siffer</span><span class="ruby-operator">::</span><span class="ruby-constant">Messaging</span><span class="ruby-operator">::</span><span class="ruby-constant">MIME_TYPES</span>[<span class="ruby-value str">&quot;appxmlencoded&quot;</span>]&#x000A;7: <span class="ruby-keyword kw">super</span>(<span class="ruby-identifier">body</span>,<span class="ruby-identifier">status</span>,<span class="ruby-identifier">header</span>,<span class="ruby-operator">&amp;</span><span class="ruby-identifier">block</span>)&#x000A;8: <span class="ruby-keyword kw">end</span></pre>
79
- </div>
80
- </div>
81
- </div>
82
- </div>
83
- </div>
84
- </div>
85
- <div id='footer-push'></div>
86
- </div>
87
- <div id='footer'>
88
- <a href="http://github.com/mislav/hanna/tree/master"><strong>Hanna</strong> RDoc template</a>
89
- </div>
90
- </body>
91
- </html>
@@ -1,156 +0,0 @@
1
- <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
2
- <html lang='en'>
3
- <head>
4
- <title>Class: Siffer::Server [Siffer == h3o(software) SIF]</title>
5
- <meta content='text/html; charset=UTF-8' http-equiv='Content-Type'>
6
- <link href='../.././rdoc-style.css' media='screen' rel='stylesheet' type='text/css'>
7
- <script type='text/javascript'>
8
- //<![CDATA[
9
- function popupCode(url) {
10
- window.open(url, "Code", "resizable=yes,scrollbars=yes,toolbar=no,status=no,height=150,width=400")
11
- }
12
-
13
- function toggleCode(id) {
14
- var code = document.getElementById(id)
15
-
16
- code.style.display = code.style.display != 'block' ? 'block' : 'none'
17
- return true
18
- }
19
-
20
- // Make codeblocks hidden by default
21
- document.writeln('<' + 'style type="text/css">.method .source pre { display: none }<\/style>')
22
- //]]>
23
- </script>
24
- </head>
25
- <body class='page'>
26
- <div class='class' id='wrapper'>
27
- <div class='header'>
28
- <h1 class='name'>
29
- <span class='type'>Class</span>
30
- Siffer::Server
31
- </h1>
32
- <ol class='paths'>
33
- <li>
34
- <a href="../../files/lib/siffer/server_rb.html">lib/siffer/server.rb</a>
35
- </li>
36
- </ol>
37
- <div class='parent'>
38
- Parent:
39
- <strong>Object</strong>
40
- </div>
41
- </div>
42
- <div id='content'>
43
- <div id='text'>
44
- <div id='description'>
45
- <p>
46
- Zone Integration <a href="Server.html">Server</a> Facilitates communication
47
- between Agents. Acts as a central point where Agents can send their
48
- events/requests and receive the response from other Agents.
49
- </p>
50
- </div>
51
- <div id='method-list'>
52
- <h2>Methods</h2>
53
- <h3>public class</h3>
54
- <ol>
55
- <li><a href="#M000067">new</a></li>
56
- </ol>
57
- <h3>public instance</h3>
58
- <ol>
59
- <li><a href="#M000068">call</a></li>
60
- </ol>
61
- </div>
62
- <div id='context'>
63
- <div id='includes'>
64
- <h2>Included modules</h2>
65
- <ol>
66
- <li><a href="Protocol.html">Siffer::Protocol</a></li>
67
- <li><a href="Registration.html">Siffer::Registration</a></li>
68
- </ol>
69
- </div>
70
- </div>
71
- <div id='section'>
72
- <div id='attribute-list'>
73
- <h2 class='section-bar'>Attributes</h2>
74
- <div class='name-list'>
75
- <table>
76
- <tr class='top-aligned-row context-row'>
77
- <td class='context-item-name'>agents</td>
78
- <td class='context-item-value'>[R]</td>
79
- <td class='context-item-desc'></td>
80
- </tr>
81
- <tr class='top-aligned-row context-row'>
82
- <td class='context-item-name'>host</td>
83
- <td class='context-item-value'>[R]</td>
84
- <td class='context-item-desc'></td>
85
- </tr>
86
- <tr class='top-aligned-row context-row'>
87
- <td class='context-item-name'>min_buffer</td>
88
- <td class='context-item-value'>[R]</td>
89
- <td class='context-item-desc'></td>
90
- </tr>
91
- <tr class='top-aligned-row context-row'>
92
- <td class='context-item-name'>name</td>
93
- <td class='context-item-value'>[R]</td>
94
- <td class='context-item-desc'></td>
95
- </tr>
96
- <tr class='top-aligned-row context-row'>
97
- <td class='context-item-name'>port</td>
98
- <td class='context-item-value'>[R]</td>
99
- <td class='context-item-desc'></td>
100
- </tr>
101
- </table>
102
- </div>
103
- </div>
104
- <div id='methods'>
105
- <h2>Public class methods</h2>
106
- <div class='public-class method' id='method-M000067'>
107
- <a name='M000067'> </a>
108
- <div class='synopsis'>
109
- <span class='name'>new</span>
110
- <span class='arguments'>(options = {})</span>
111
- </div>
112
- <div class='description'>
113
- <pre>options Parameter</pre>
114
- <p>
115
- name = The name of the ZIS host = The host this instance is started on port
116
- = The port to connect to this ZIS admin = The administration site managing
117
- this ZIS min_buffer = The minimum buffer size this ZIS will facilitate
118
- </p>
119
- </div>
120
- <div class='source'>
121
- <a class='source-toggle' href='#' onclick="toggleCode('M000067-source'); return false">
122
- [show source]
123
- </a>
124
- <pre id='M000067-source'> <span class="ruby-comment cmt"># File lib/siffer/server.rb, line 19</span>&#x000A;19: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">initialize</span>(<span class="ruby-identifier">options</span> = {})&#x000A;20: <span class="ruby-identifier">raise</span> <span class="ruby-constant">ArgumentError</span>, <span class="ruby-value str">&quot;Administration URL required&quot;</span> <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">options</span>.<span class="ruby-identifier">include?</span> <span class="ruby-value str">&quot;admin&quot;</span>&#x000A;21: <span class="ruby-ivar">@name</span> = <span class="ruby-identifier">options</span>[<span class="ruby-value str">&quot;name&quot;</span>] <span class="ruby-operator">||</span> <span class="ruby-value str">&quot;Default Server&quot;</span>&#x000A;22: <span class="ruby-ivar">@host</span> = <span class="ruby-identifier">options</span>[<span class="ruby-value str">&quot;host&quot;</span>] <span class="ruby-operator">||</span> <span class="ruby-value str">&quot;localhost&quot;</span>&#x000A;23: <span class="ruby-ivar">@port</span> = <span class="ruby-identifier">options</span>[<span class="ruby-value str">&quot;port&quot;</span>] <span class="ruby-operator">||</span> <span class="ruby-value">8300</span>&#x000A;24: <span class="ruby-ivar">@min_buffer</span> = <span class="ruby-identifier">options</span>[<span class="ruby-value str">&quot;min_buffer&quot;</span>] <span class="ruby-operator">||</span> <span class="ruby-value">1024</span>&#x000A;25: <span class="ruby-ivar">@agents</span> = {}&#x000A;26: <span class="ruby-keyword kw">end</span></pre>
125
- </div>
126
- </div>
127
- <h2>Public instance methods</h2>
128
- <div class='public-instance method' id='method-M000068'>
129
- <a name='M000068'> </a>
130
- <div class='synopsis'>
131
- <span class='name'>call</span>
132
- <span class='arguments'>(env)</span>
133
- </div>
134
- <div class='description'>
135
- <p>
136
- Process the request with all the SIF protocols
137
- </p>
138
- </div>
139
- <div class='source'>
140
- <a class='source-toggle' href='#' onclick="toggleCode('M000068-source'); return false">
141
- [show source]
142
- </a>
143
- <pre id='M000068-source'> <span class="ruby-comment cmt"># File lib/siffer/server.rb, line 29</span>&#x000A;29: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">call</span>(<span class="ruby-identifier">env</span>)&#x000A;30: <span class="ruby-identifier">with_each_request</span>(<span class="ruby-identifier">env</span>) <span class="ruby-keyword kw">do</span>&#x000A;31: <span class="ruby-identifier">process_registration</span>&#x000A;32: <span class="ruby-comment cmt"># process_provision MAYBE SAME MODULE</span>&#x000A;33: <span class="ruby-comment cmt"># process_subscription MAYBE SAME MODULE</span>&#x000A;34: <span class="ruby-comment cmt"># process_event (server process not agent) REDIRECTS</span>&#x000A;35: <span class="ruby-comment cmt"># process_request (server process not agent) REDIRECTS</span>&#x000A;36: <span class="ruby-comment cmt"># process_response (server process not agent) REDIRECTS</span>&#x000A;37: <span class="ruby-keyword kw">end</span>&#x000A;38: <span class="ruby-keyword kw">end</span></pre>
144
- </div>
145
- </div>
146
- </div>
147
- </div>
148
- </div>
149
- </div>
150
- <div id='footer-push'></div>
151
- </div>
152
- <div id='footer'>
153
- <a href="http://github.com/mislav/hanna/tree/master"><strong>Hanna</strong> RDoc template</a>
154
- </div>
155
- </body>
156
- </html>