rack-simple_auth 1.0.0rc → 1.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (57) hide show
  1. checksums.yaml +7 -7
  2. data/MANIFEST +26 -26
  3. data/README.rdoc +121 -0
  4. data/checksum/rack-simple_auth-1.0.0.gem.sha512 +1 -0
  5. data/checksum/rack-simple_auth-1.0.0rc.gem.sha512 +1 -0
  6. data/doc/Rack.html +128 -0
  7. data/doc/Rack/SimpleAuth.html +252 -0
  8. data/doc/Rack/SimpleAuth/HMAC.html +128 -0
  9. data/doc/Rack/SimpleAuth/HMAC/Config.html +1003 -0
  10. data/doc/Rack/SimpleAuth/HMAC/Middleware.html +1418 -0
  11. data/doc/Rack/SimpleAuth/Logger.html +264 -0
  12. data/doc/_index.html +185 -0
  13. data/doc/class_list.html +54 -0
  14. data/doc/css/common.css +1 -0
  15. data/doc/css/full_list.css +57 -0
  16. data/doc/css/style.css +339 -0
  17. data/doc/examples/index.php +32 -0
  18. data/{test/rack/simple_auth/hmac/config.ru → doc/examples/rack_lobster.ru} +1 -2
  19. data/doc/file.README.html +221 -0
  20. data/doc/file_list.html +56 -0
  21. data/doc/frames.html +26 -0
  22. data/doc/index.html +221 -0
  23. data/doc/js/app.js +219 -0
  24. data/doc/js/full_list.js +178 -0
  25. data/doc/js/jquery.js +4 -0
  26. data/doc/method_list.html +179 -0
  27. data/doc/top-level-namespace.html +112 -0
  28. data/lib/rack/simple_auth.rb +3 -1
  29. data/lib/rack/simple_auth/hmac/config.rb +46 -8
  30. data/lib/rack/simple_auth/hmac/middleware.rb +102 -75
  31. data/lib/rack/simple_auth/logger.rb +8 -3
  32. data/lib/rack/simple_auth/version.rb +1 -1
  33. metadata +91 -105
  34. data/.gitignore +0 -18
  35. data/.rubocop.yml +0 -1
  36. data/.travis.yml +0 -22
  37. data/.yardopts +0 -1
  38. data/Gemfile +0 -4
  39. data/README.md +0 -68
  40. data/Rakefile +0 -8
  41. data/rubocop-todo.yml +0 -19
  42. data/task/build.rake +0 -4
  43. data/task/checksum.rake +0 -15
  44. data/task/console.rake +0 -7
  45. data/task/default.rake +0 -6
  46. data/task/floodtest.rake +0 -34
  47. data/task/manifest.rake +0 -8
  48. data/task/test.rake +0 -23
  49. data/test/rack/simple_auth/hmac/config_fail.ru +0 -23
  50. data/test/rack/simple_auth/hmac/config_fail_option.ru +0 -24
  51. data/test/rack/simple_auth/hmac/config_fail_run.ru +0 -22
  52. data/test/rack/simple_auth/hmac/config_fail_step.ru +0 -23
  53. data/test/rack/simple_auth/hmac/config_fail_tolerance.ru +0 -23
  54. data/test/rack/simple_auth/hmac/hmac_fail_run_test.rb +0 -26
  55. data/test/rack/simple_auth/hmac/hmac_fail_test.rb +0 -38
  56. data/test/rack/simple_auth/hmac/hmac_test.rb +0 -128
  57. data/test/test_helper.rb +0 -50
@@ -0,0 +1,1418 @@
1
+ <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
2
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
3
+ <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
4
+ <head>
5
+ <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
6
+ <title>
7
+ Class: Rack::SimpleAuth::HMAC::Middleware
8
+
9
+ &mdash; Documentation by YARD 0.8.7.4
10
+
11
+ </title>
12
+
13
+ <link rel="stylesheet" href="../../../css/style.css" type="text/css" charset="utf-8" />
14
+
15
+ <link rel="stylesheet" href="../../../css/common.css" type="text/css" charset="utf-8" />
16
+
17
+ <script type="text/javascript" charset="utf-8">
18
+ hasFrames = window.top.frames.main ? true : false;
19
+ relpath = '../../../';
20
+ framesUrl = "../../../frames.html#!Rack/SimpleAuth/HMAC/Middleware.html";
21
+ </script>
22
+
23
+
24
+ <script type="text/javascript" charset="utf-8" src="../../../js/jquery.js"></script>
25
+
26
+ <script type="text/javascript" charset="utf-8" src="../../../js/app.js"></script>
27
+
28
+
29
+ </head>
30
+ <body>
31
+ <div id="header">
32
+ <div id="menu">
33
+
34
+ <a href="../../../_index.html">Index (M)</a> &raquo;
35
+ <span class='title'><span class='object_link'><a href="../../../Rack.html" title="Rack (module)">Rack</a></span></span> &raquo; <span class='title'><span class='object_link'><a href="../../SimpleAuth.html" title="Rack::SimpleAuth (module)">SimpleAuth</a></span></span> &raquo; <span class='title'><span class='object_link'><a href="../HMAC.html" title="Rack::SimpleAuth::HMAC (module)">HMAC</a></span></span>
36
+ &raquo;
37
+ <span class="title">Middleware</span>
38
+
39
+
40
+ <div class="noframes"><span class="title">(</span><a href="." target="_top">no frames</a><span class="title">)</span></div>
41
+ </div>
42
+
43
+ <div id="search">
44
+
45
+ <a class="full_list_link" id="class_list_link"
46
+ href="../../../class_list.html">
47
+ Class List
48
+ </a>
49
+
50
+ <a class="full_list_link" id="method_list_link"
51
+ href="../../../method_list.html">
52
+ Method List
53
+ </a>
54
+
55
+ <a class="full_list_link" id="file_list_link"
56
+ href="../../../file_list.html">
57
+ File List
58
+ </a>
59
+
60
+ </div>
61
+ <div class="clear"></div>
62
+ </div>
63
+
64
+ <iframe id="search_frame"></iframe>
65
+
66
+ <div id="content"><h1>Class: Rack::SimpleAuth::HMAC::Middleware
67
+
68
+
69
+
70
+ </h1>
71
+
72
+ <dl class="box">
73
+
74
+ <dt class="r1">Inherits:</dt>
75
+ <dd class="r1">
76
+ <span class="inheritName">Object</span>
77
+
78
+ <ul class="fullTree">
79
+ <li>Object</li>
80
+
81
+ <li class="next">Rack::SimpleAuth::HMAC::Middleware</li>
82
+
83
+ </ul>
84
+ <a href="#" class="inheritanceTree">show all</a>
85
+
86
+ </dd>
87
+
88
+
89
+
90
+
91
+
92
+
93
+
94
+
95
+
96
+ <dt class="r2 last">Defined in:</dt>
97
+ <dd class="r2 last">lib/rack/simple_auth/hmac/middleware.rb</dd>
98
+
99
+ </dl>
100
+ <div class="clear"></div>
101
+
102
+ <h2>Overview</h2><div class="docstring">
103
+ <div class="discussion">
104
+
105
+ <p>Middleware class which represents the interface to the rack api via <span class='object_link'><a href="#call-instance_method" title="Rack::SimpleAuth::HMAC::Middleware#call (method)">#call</a></span>
106
+ and checks if a request is hmac authorized.</p>
107
+
108
+
109
+ </div>
110
+ </div>
111
+ <div class="tags">
112
+
113
+ <div class="examples">
114
+ <p class="tag_title">Examples:</p>
115
+
116
+
117
+ <p class="example_title"><div class='inline'>
118
+ <p>Basic Usage</p>
119
+ </div></p>
120
+
121
+ <pre class="example code"><code>&quot;request_config = {
122
+ &#39;GET&#39; =&gt; &#39;path&#39;,
123
+ &#39;POST&#39; =&gt; &#39;params&#39;,
124
+ &#39;DELETE&#39; =&gt; &#39;path&#39;,
125
+ &#39;PUT&#39; =&gt; &#39;path&#39;,
126
+ &#39;PATCH&#39; =&gt; &#39;path&#39;
127
+ }
128
+
129
+ use Rack::SimpleAuth::HMAC::Middleware do |options|
130
+ options.tolerance = 1500
131
+
132
+ options.secret = &#39;test_secret&#39;
133
+ options.signature = &#39;test_signature&#39;
134
+
135
+ options.logpath = &quot;#{File.expand_path(&#39;..&#39;, __FILE__)}/logs&quot;
136
+ options.request_config = request_config
137
+
138
+ options.verbose = true
139
+ end
140
+
141
+ run Rack::Lobster.new&quot;</code></pre>
142
+
143
+ </div>
144
+
145
+
146
+ </div>
147
+
148
+
149
+
150
+
151
+
152
+
153
+
154
+ <h2>
155
+ Class Method Summary
156
+ <small>(<a href="#" class="summary_toggle">collapse</a>)</small>
157
+ </h2>
158
+
159
+ <ul class="summary">
160
+
161
+ <li class="public ">
162
+ <span class="summary_signature">
163
+
164
+ <a href="#method_missing-class_method" title="method_missing (class method)">+ (Object) <strong>method_missing</strong>(name, *args) </a>
165
+
166
+
167
+
168
+ </span>
169
+
170
+
171
+
172
+
173
+
174
+
175
+
176
+
177
+
178
+ <span class="summary_desc"><div class='inline'>
179
+ <p>Throw NoMethodError and give hint if method who was called is
180
+ Rack::SimpleAuth::Middleware.call.</p>
181
+ </div></span>
182
+
183
+ </li>
184
+
185
+
186
+ </ul>
187
+
188
+ <h2>
189
+ Instance Method Summary
190
+ <small>(<a href="#" class="summary_toggle">collapse</a>)</small>
191
+ </h2>
192
+
193
+ <ul class="summary">
194
+
195
+ <li class="private ">
196
+ <span class="summary_signature">
197
+
198
+ <a href="#allowed_messages-instance_method" title="#allowed_messages (instance method)">- (Array) <strong>allowed_messages</strong> </a>
199
+
200
+
201
+
202
+ </span>
203
+
204
+
205
+
206
+ <span class="note title private">private</span>
207
+
208
+
209
+
210
+
211
+
212
+ <span class="summary_desc"><div class='inline'>
213
+ <p>Builds Array of allowed message hashs between @tolerance via <span class='object_link'><a href="#message-instance_method" title="Rack::SimpleAuth::HMAC::Middleware#message (method)">#message</a></span>.</p>
214
+ </div></span>
215
+
216
+ </li>
217
+
218
+
219
+ <li class="private ">
220
+ <span class="summary_signature">
221
+
222
+ <a href="#authorized%3F-instance_method" title="#authorized? (instance method)">- (TrueClass, FalseClass) <strong>authorized?</strong> </a>
223
+
224
+
225
+
226
+ </span>
227
+
228
+
229
+
230
+ <span class="note title private">private</span>
231
+
232
+
233
+
234
+
235
+
236
+ <span class="summary_desc"><div class='inline'>
237
+ <p>Check if request is authorized.</p>
238
+ </div></span>
239
+
240
+ </li>
241
+
242
+
243
+ <li class="public ">
244
+ <span class="summary_signature">
245
+
246
+ <a href="#call-instance_method" title="#call (instance method)">- (Object) <strong>call</strong>(env) </a>
247
+
248
+
249
+
250
+ </span>
251
+
252
+
253
+
254
+
255
+
256
+
257
+
258
+
259
+
260
+ <span class="summary_desc"><div class='inline'>
261
+ <p>call Method for Rack Middleware/Application.</p>
262
+ </div></span>
263
+
264
+ </li>
265
+
266
+
267
+ <li class="private ">
268
+ <span class="summary_signature">
269
+
270
+ <a href="#empty_header%3F-instance_method" title="#empty_header? (instance method)">- (TrueClass, FalseClass) <strong>empty_header?</strong> </a>
271
+
272
+
273
+
274
+ </span>
275
+
276
+
277
+
278
+ <span class="note title private">private</span>
279
+
280
+
281
+
282
+
283
+
284
+ <span class="summary_desc"><div class='inline'>
285
+ <p>Check if HTTP_AUTHORIZATION Header is set.</p>
286
+ </div></span>
287
+
288
+ </li>
289
+
290
+
291
+ <li class="public ">
292
+ <span class="summary_signature">
293
+
294
+ <a href="#initialize-instance_method" title="#initialize (instance method)">- (Middleware) <strong>initialize</strong>(app, &amp;block) {|@config| ... }</a>
295
+
296
+
297
+
298
+ </span>
299
+
300
+
301
+ <span class="note title constructor">constructor</span>
302
+
303
+
304
+
305
+
306
+
307
+
308
+
309
+
310
+ <span class="summary_desc"><div class='inline'>
311
+ <p>Constructor for Rack Middleware (passing the rack stack).</p>
312
+ </div></span>
313
+
314
+ </li>
315
+
316
+
317
+ <li class="private ">
318
+ <span class="summary_signature">
319
+
320
+ <a href="#log-instance_method" title="#log (instance method)">- (Object) <strong>log</strong> </a>
321
+
322
+
323
+
324
+ </span>
325
+
326
+
327
+
328
+ <span class="note title private">private</span>
329
+
330
+
331
+
332
+
333
+
334
+ <span class="summary_desc"><div class='inline'>
335
+ <p>Log to @config.logpath Contains: - allowed messages and received message
336
+ - time when request was made - type of request - requested path.</p>
337
+ </div></span>
338
+
339
+ </li>
340
+
341
+
342
+ <li class="private ">
343
+ <span class="summary_signature">
344
+
345
+ <a href="#message-instance_method" title="#message (instance method)">- (String) <strong>message</strong>(date, delay = 0) </a>
346
+
347
+
348
+
349
+ </span>
350
+
351
+
352
+
353
+ <span class="note title private">private</span>
354
+
355
+
356
+
357
+
358
+
359
+ <span class="summary_desc"><div class='inline'>
360
+ <p>Get Message for current Request and delay.</p>
361
+ </div></span>
362
+
363
+ </li>
364
+
365
+
366
+ <li class="private ">
367
+ <span class="summary_signature">
368
+
369
+ <a href="#request_data-instance_method" title="#request_data (instance method)">- (String|Hash) <strong>request_data</strong> </a>
370
+
371
+
372
+
373
+ </span>
374
+
375
+
376
+
377
+ <span class="note title private">private</span>
378
+
379
+
380
+
381
+
382
+
383
+ <span class="summary_desc"><div class='inline'>
384
+ <p>Get Request Data specified by @config.request_config.</p>
385
+ </div></span>
386
+
387
+ </li>
388
+
389
+
390
+ <li class="private ">
391
+ <span class="summary_signature">
392
+
393
+ <a href="#request_message-instance_method" title="#request_message (instance method)">- (String) <strong>request_message</strong> </a>
394
+
395
+
396
+
397
+ </span>
398
+
399
+
400
+
401
+ <span class="note title private">private</span>
402
+
403
+
404
+
405
+
406
+
407
+ <span class="summary_desc"><div class='inline'>
408
+ <p>Get encrypted request message.</p>
409
+ </div></span>
410
+
411
+ </li>
412
+
413
+
414
+ <li class="private ">
415
+ <span class="summary_signature">
416
+
417
+ <a href="#request_signature-instance_method" title="#request_signature (instance method)">- (String) <strong>request_signature</strong> </a>
418
+
419
+
420
+
421
+ </span>
422
+
423
+
424
+
425
+ <span class="note title private">private</span>
426
+
427
+
428
+
429
+
430
+
431
+ <span class="summary_desc"><div class='inline'>
432
+ <p>Get request signature.</p>
433
+ </div></span>
434
+
435
+ </li>
436
+
437
+
438
+ <li class="private ">
439
+ <span class="summary_signature">
440
+
441
+ <a href="#valid_request%3F-instance_method" title="#valid_request? (instance method)">- (TrueClass, FalseClass) <strong>valid_request?</strong> </a>
442
+
443
+
444
+
445
+ </span>
446
+
447
+
448
+
449
+ <span class="note title private">private</span>
450
+
451
+
452
+
453
+
454
+
455
+ <span class="summary_desc"><div class='inline'>
456
+ <p>Checks for valid HMAC Request.</p>
457
+ </div></span>
458
+
459
+ </li>
460
+
461
+
462
+ </ul>
463
+
464
+
465
+ <div id="constructor_details" class="method_details_list">
466
+ <h2>Constructor Details</h2>
467
+
468
+ <div class="method_details first">
469
+ <h3 class="signature first" id="initialize-instance_method">
470
+
471
+ - (<tt><span class='object_link'><a href="" title="Rack::SimpleAuth::HMAC::Middleware (class)">Middleware</a></span></tt>) <strong>initialize</strong>(app, &amp;block) {|@config| ... }
472
+
473
+
474
+
475
+
476
+
477
+ </h3><div class="docstring">
478
+ <div class="discussion">
479
+
480
+ <p>Constructor for Rack Middleware (passing the rack stack)</p>
481
+
482
+
483
+ </div>
484
+ </div>
485
+ <div class="tags">
486
+ <p class="tag_title">Parameters:</p>
487
+ <ul class="param">
488
+
489
+ <li>
490
+
491
+ <span class='name'>app</span>
492
+
493
+
494
+ <span class='type'>(<tt><span class='object_link'><a href="../../../Rack.html" title="Rack (module)">Rack</a></span> Application</tt>)</span>
495
+
496
+
497
+
498
+ &mdash;
499
+ <div class='inline'><dl class="rdoc-list label-list"><dt>next middleware or rack app which gets called
500
+ <dd></dd></dl>
501
+ </div>
502
+
503
+ </li>
504
+
505
+ <li>
506
+
507
+ <span class='name'>block</span>
508
+
509
+
510
+ <span class='type'>(<tt>Proc</tt>)</span>
511
+
512
+
513
+
514
+ &mdash;
515
+ <div class='inline'><dl class="rdoc-list label-list"><dt>the dsl block which will be yielded into the config object
516
+ <dd></dd></dl>
517
+ </div>
518
+
519
+ </li>
520
+
521
+ </ul>
522
+
523
+ <p class="tag_title">Yields:</p>
524
+ <ul class="yield">
525
+
526
+ <li>
527
+
528
+
529
+ <span class='type'>(<tt>@config</tt>)</span>
530
+
531
+
532
+
533
+ </li>
534
+
535
+ </ul>
536
+
537
+ </div><table class="source_code">
538
+ <tr>
539
+ <td>
540
+ <pre class="lines">
541
+
542
+
543
+ 56
544
+ 57
545
+ 58
546
+ 59
547
+ 60</pre>
548
+ </td>
549
+ <td>
550
+ <pre class="code"><span class="info file"># File 'lib/rack/simple_auth/hmac/middleware.rb', line 56</span>
551
+
552
+ <span class='kw'>def</span> <span class='id identifier rubyid_initialize'>initialize</span><span class='lparen'>(</span><span class='id identifier rubyid_app'>app</span><span class='comma'>,</span> <span class='op'>&amp;</span><span class='id identifier rubyid_block'>block</span><span class='rparen'>)</span>
553
+ <span class='ivar'>@app</span><span class='comma'>,</span> <span class='ivar'>@config</span> <span class='op'>=</span> <span class='id identifier rubyid_app'>app</span><span class='comma'>,</span> <span class='const'>Config</span><span class='period'>.</span><span class='id identifier rubyid_new'>new</span>
554
+
555
+ <span class='kw'>yield</span> <span class='ivar'>@config</span> <span class='kw'>if</span> <span class='id identifier rubyid_block_given?'>block_given?</span>
556
+ <span class='kw'>end</span></pre>
557
+ </td>
558
+ </tr>
559
+ </table>
560
+ </div>
561
+
562
+ </div>
563
+
564
+
565
+ <div id="class_method_details" class="method_details_list">
566
+ <h2>Class Method Details</h2>
567
+
568
+
569
+ <div class="method_details first">
570
+ <h3 class="signature first" id="method_missing-class_method">
571
+
572
+ + (<tt>Object</tt>) <strong>method_missing</strong>(name, *args)
573
+
574
+
575
+
576
+
577
+
578
+ </h3><div class="docstring">
579
+ <div class="discussion">
580
+
581
+ <p>Throw NoMethodError and give hint if method who was called is
582
+ Rack::SimpleAuth::Middleware.call</p>
583
+
584
+
585
+ </div>
586
+ </div>
587
+ <div class="tags">
588
+ <p class="tag_title">Parameters:</p>
589
+ <ul class="param">
590
+
591
+ <li>
592
+
593
+ <span class='name'>name</span>
594
+
595
+
596
+ <span class='type'>(<tt>Symbol</tt>)</span>
597
+
598
+
599
+
600
+ </li>
601
+
602
+ <li>
603
+
604
+ <span class='name'>args</span>
605
+
606
+
607
+ <span class='type'>(<tt>Array</tt>)</span>
608
+
609
+
610
+
611
+ </li>
612
+
613
+ </ul>
614
+
615
+ <p class="tag_title">Raises:</p>
616
+ <ul class="raise">
617
+
618
+ <li>
619
+
620
+
621
+ <span class='type'>(<tt>NoMethodError</tt>)</span>
622
+
623
+
624
+
625
+ &mdash;
626
+ <div class='inline'>
627
+ <p>if the method isn&#39;t defined and outputs additional hint for calling
628
+ Rack::SimpleAuth::Middleware.call</p>
629
+ </div>
630
+
631
+ </li>
632
+
633
+ </ul>
634
+
635
+ </div><table class="source_code">
636
+ <tr>
637
+ <td>
638
+ <pre class="lines">
639
+
640
+
641
+ 41
642
+ 42
643
+ 43
644
+ 44
645
+ 45
646
+ 46
647
+ 47
648
+ 48</pre>
649
+ </td>
650
+ <td>
651
+ <pre class="code"><span class="info file"># File 'lib/rack/simple_auth/hmac/middleware.rb', line 41</span>
652
+
653
+ <span class='kw'>def</span> <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_method_missing'>method_missing</span><span class='lparen'>(</span><span class='id identifier rubyid_name'>name</span><span class='comma'>,</span> <span class='op'>*</span><span class='id identifier rubyid_args'>args</span><span class='rparen'>)</span>
654
+ <span class='id identifier rubyid_msg'>msg</span> <span class='op'>=</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>Did you try to use HMAC Middleware as Rack Application via &#39;run&#39;?\n</span><span class='tstring_end'>&quot;</span></span> <span class='kw'>if</span> <span class='id identifier rubyid_name'>name</span><span class='period'>.</span><span class='id identifier rubyid_eql?'>eql?</span><span class='lparen'>(</span><span class='symbol'>:call</span><span class='rparen'>)</span>
655
+ <span class='id identifier rubyid_msg'>msg</span> <span class='op'>&lt;&lt;</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>method: </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_name'>name</span><span class='embexpr_end'>}</span><span class='tstring_content'>\n</span><span class='tstring_end'>&quot;</span></span>
656
+ <span class='id identifier rubyid_msg'>msg</span> <span class='op'>&lt;&lt;</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>args: </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_args'>args</span><span class='period'>.</span><span class='id identifier rubyid_inspect'>inspect</span><span class='embexpr_end'>}</span><span class='tstring_content'>\n</span><span class='tstring_end'>&quot;</span></span> <span class='kw'>unless</span> <span class='id identifier rubyid_name'>name</span><span class='period'>.</span><span class='id identifier rubyid_eql?'>eql?</span><span class='lparen'>(</span><span class='symbol'>:call</span><span class='rparen'>)</span>
657
+ <span class='id identifier rubyid_msg'>msg</span> <span class='op'>&lt;&lt;</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>on: </span><span class='embexpr_beg'>#{</span><span class='kw'>self</span><span class='embexpr_end'>}</span><span class='tstring_end'>&quot;</span></span>
658
+
659
+ <span class='id identifier rubyid_fail'>fail</span> <span class='const'>NoMethodError</span><span class='comma'>,</span> <span class='id identifier rubyid_msg'>msg</span>
660
+ <span class='kw'>end</span></pre>
661
+ </td>
662
+ </tr>
663
+ </table>
664
+ </div>
665
+
666
+ </div>
667
+
668
+ <div id="instance_method_details" class="method_details_list">
669
+ <h2>Instance Method Details</h2>
670
+
671
+
672
+ <div class="method_details first">
673
+ <h3 class="signature first" id="allowed_messages-instance_method">
674
+
675
+ - (<tt>Array</tt>) <strong>allowed_messages</strong> <span class="extras">(private)</span>
676
+
677
+
678
+
679
+
680
+
681
+ </h3><div class="docstring">
682
+ <div class="discussion">
683
+
684
+ <p>Builds Array of allowed message hashs between @tolerance via <span class='object_link'><a href="#message-instance_method" title="Rack::SimpleAuth::HMAC::Middleware#message (method)">#message</a></span></p>
685
+
686
+
687
+ </div>
688
+ </div>
689
+ <div class="tags">
690
+
691
+ <p class="tag_title">Returns:</p>
692
+ <ul class="return">
693
+
694
+ <li>
695
+
696
+
697
+ <span class='type'>(<tt>Array</tt>)</span>
698
+
699
+
700
+
701
+ </li>
702
+
703
+ </ul>
704
+
705
+ </div><table class="source_code">
706
+ <tr>
707
+ <td>
708
+ <pre class="lines">
709
+
710
+
711
+ 137
712
+ 138
713
+ 139
714
+ 140
715
+ 141
716
+ 142
717
+ 143
718
+ 144
719
+ 145
720
+ 146
721
+ 147</pre>
722
+ </td>
723
+ <td>
724
+ <pre class="code"><span class="info file"># File 'lib/rack/simple_auth/hmac/middleware.rb', line 137</span>
725
+
726
+ <span class='kw'>def</span> <span class='id identifier rubyid_allowed_messages'>allowed_messages</span>
727
+ <span class='id identifier rubyid_messages'>messages</span> <span class='op'>=</span> <span class='lbracket'>[</span><span class='rbracket'>]</span>
728
+
729
+ <span class='comment'># Timestamp with milliseconds as Fixnum
730
+ </span> <span class='id identifier rubyid_date'>date</span> <span class='op'>=</span> <span class='lparen'>(</span><span class='const'>Time</span><span class='period'>.</span><span class='id identifier rubyid_now'>now</span><span class='period'>.</span><span class='id identifier rubyid_to_f'>to_f</span><span class='period'>.</span><span class='id identifier rubyid_freeze'>freeze</span> <span class='op'>*</span> <span class='int'>1000</span><span class='rparen'>)</span><span class='period'>.</span><span class='id identifier rubyid_to_i'>to_i</span>
731
+ <span class='lparen'>(</span><span class='op'>-</span><span class='lparen'>(</span><span class='ivar'>@config</span><span class='period'>.</span><span class='id identifier rubyid_tolerance'>tolerance</span><span class='rparen'>)</span><span class='op'>..</span><span class='ivar'>@config</span><span class='period'>.</span><span class='id identifier rubyid_tolerance'>tolerance</span><span class='rparen'>)</span><span class='period'>.</span><span class='id identifier rubyid_step'>step</span><span class='lparen'>(</span><span class='int'>1</span><span class='rparen'>)</span> <span class='kw'>do</span> <span class='op'>|</span><span class='id identifier rubyid_i'>i</span><span class='op'>|</span>
732
+ <span class='id identifier rubyid_messages'>messages</span> <span class='op'>&lt;&lt;</span> <span class='const'>OpenSSL</span><span class='op'>::</span><span class='const'>HMAC</span><span class='period'>.</span><span class='id identifier rubyid_hexdigest'>hexdigest</span><span class='lparen'>(</span><span class='const'>OpenSSL</span><span class='op'>::</span><span class='const'>Digest</span><span class='period'>.</span><span class='id identifier rubyid_new'>new</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>sha256</span><span class='tstring_end'>&#39;</span></span><span class='rparen'>)</span><span class='comma'>,</span> <span class='ivar'>@config</span><span class='period'>.</span><span class='id identifier rubyid_secret'>secret</span><span class='comma'>,</span> <span class='id identifier rubyid_message'>message</span><span class='lparen'>(</span><span class='id identifier rubyid_date'>date</span><span class='comma'>,</span> <span class='id identifier rubyid_i'>i</span><span class='rparen'>)</span><span class='rparen'>)</span>
733
+ <span class='kw'>end</span>
734
+
735
+ <span class='id identifier rubyid_messages'>messages</span>
736
+ <span class='kw'>end</span></pre>
737
+ </td>
738
+ </tr>
739
+ </table>
740
+ </div>
741
+
742
+ <div class="method_details ">
743
+ <h3 class="signature " id="authorized?-instance_method">
744
+
745
+ - (<tt>TrueClass</tt>, <tt>FalseClass</tt>) <strong>authorized?</strong> <span class="extras">(private)</span>
746
+
747
+
748
+
749
+
750
+
751
+ </h3><div class="docstring">
752
+ <div class="discussion">
753
+
754
+ <p>Check if request is authorized</p>
755
+
756
+
757
+ </div>
758
+ </div>
759
+ <div class="tags">
760
+
761
+ <p class="tag_title">Returns:</p>
762
+ <ul class="return">
763
+
764
+ <li>
765
+
766
+
767
+ <span class='type'>(<tt>TrueClass</tt>)</span>
768
+
769
+
770
+
771
+ &mdash;
772
+ <div class='inline'>
773
+ <p>if request is authorized -&gt; <span class='object_link'><a href="#request_signature-instance_method" title="Rack::SimpleAuth::HMAC::Middleware#request_signature (method)">#request_signature</a></span> is correct &amp;
774
+ <span class='object_link'><a href="#request_message-instance_method" title="Rack::SimpleAuth::HMAC::Middleware#request_message (method)">#request_message</a></span> is included in <span class='object_link'><a href="#allowed_messages-instance_method" title="Rack::SimpleAuth::HMAC::Middleware#allowed_messages (method)">#allowed_messages</a></span></p>
775
+ </div>
776
+
777
+ </li>
778
+
779
+ <li>
780
+
781
+
782
+ <span class='type'>(<tt>FalseClass</tt>)</span>
783
+
784
+
785
+
786
+ &mdash;
787
+ <div class='inline'>
788
+ <p>if request is not authorized</p>
789
+ </div>
790
+
791
+ </li>
792
+
793
+ </ul>
794
+
795
+ </div><table class="source_code">
796
+ <tr>
797
+ <td>
798
+ <pre class="lines">
799
+
800
+
801
+ 111
802
+ 112
803
+ 113</pre>
804
+ </td>
805
+ <td>
806
+ <pre class="code"><span class="info file"># File 'lib/rack/simple_auth/hmac/middleware.rb', line 111</span>
807
+
808
+ <span class='kw'>def</span> <span class='id identifier rubyid_authorized?'>authorized?</span>
809
+ <span class='id identifier rubyid_request_signature'>request_signature</span><span class='period'>.</span><span class='id identifier rubyid_eql?'>eql?</span><span class='lparen'>(</span><span class='ivar'>@config</span><span class='period'>.</span><span class='id identifier rubyid_signature'>signature</span><span class='rparen'>)</span> <span class='op'>&amp;&amp;</span> <span class='id identifier rubyid_allowed_messages'>allowed_messages</span><span class='period'>.</span><span class='id identifier rubyid_include?'>include?</span><span class='lparen'>(</span><span class='id identifier rubyid_request_message'>request_message</span><span class='rparen'>)</span>
810
+ <span class='kw'>end</span></pre>
811
+ </td>
812
+ </tr>
813
+ </table>
814
+ </div>
815
+
816
+ <div class="method_details ">
817
+ <h3 class="signature " id="call-instance_method">
818
+
819
+ - (<tt>Object</tt>) <strong>call</strong>(env)
820
+
821
+
822
+
823
+
824
+
825
+ </h3><div class="docstring">
826
+ <div class="discussion">
827
+
828
+ <p>call Method for Rack Middleware/Application</p>
829
+
830
+
831
+ </div>
832
+ </div>
833
+ <div class="tags">
834
+ <p class="tag_title">Parameters:</p>
835
+ <ul class="param">
836
+
837
+ <li>
838
+
839
+ <span class='name'>env</span>
840
+
841
+
842
+ <span class='type'>(<tt>Hash</tt>)</span>
843
+
844
+
845
+
846
+ &mdash;
847
+ <div class='inline'><dl class="rdoc-list label-list"><dt>Rack Env Hash which contains headers etc..
848
+ <dd></dd></dl>
849
+ </div>
850
+
851
+ </li>
852
+
853
+ </ul>
854
+
855
+
856
+ </div><table class="source_code">
857
+ <tr>
858
+ <td>
859
+ <pre class="lines">
860
+
861
+
862
+ 67
863
+ 68
864
+ 69
865
+ 70
866
+ 71
867
+ 72
868
+ 73
869
+ 74
870
+ 75
871
+ 76</pre>
872
+ </td>
873
+ <td>
874
+ <pre class="code"><span class="info file"># File 'lib/rack/simple_auth/hmac/middleware.rb', line 67</span>
875
+
876
+ <span class='kw'>def</span> <span class='id identifier rubyid_call'>call</span><span class='lparen'>(</span><span class='id identifier rubyid_env'>env</span><span class='rparen'>)</span>
877
+ <span class='ivar'>@request</span> <span class='op'>=</span> <span class='const'>Rack</span><span class='op'>::</span><span class='const'>Request</span><span class='period'>.</span><span class='id identifier rubyid_new'>new</span><span class='lparen'>(</span><span class='id identifier rubyid_env'>env</span><span class='rparen'>)</span>
878
+
879
+ <span class='kw'>if</span> <span class='id identifier rubyid_valid_request?'>valid_request?</span>
880
+ <span class='ivar'>@app</span><span class='period'>.</span><span class='id identifier rubyid_call'>call</span><span class='lparen'>(</span><span class='id identifier rubyid_env'>env</span><span class='rparen'>)</span>
881
+ <span class='kw'>else</span>
882
+ <span class='id identifier rubyid_response'>response</span> <span class='op'>=</span> <span class='const'>Rack</span><span class='op'>::</span><span class='const'>Response</span><span class='period'>.</span><span class='id identifier rubyid_new'>new</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>Unauthorized</span><span class='tstring_end'>&#39;</span></span><span class='comma'>,</span> <span class='int'>401</span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>Content-Type</span><span class='tstring_end'>&#39;</span></span> <span class='op'>=&gt;</span> <span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>text/html</span><span class='tstring_end'>&#39;</span></span><span class='rparen'>)</span>
883
+ <span class='id identifier rubyid_response'>response</span><span class='period'>.</span><span class='id identifier rubyid_finish'>finish</span>
884
+ <span class='kw'>end</span>
885
+ <span class='kw'>end</span></pre>
886
+ </td>
887
+ </tr>
888
+ </table>
889
+ </div>
890
+
891
+ <div class="method_details ">
892
+ <h3 class="signature " id="empty_header?-instance_method">
893
+
894
+ - (<tt>TrueClass</tt>, <tt>FalseClass</tt>) <strong>empty_header?</strong> <span class="extras">(private)</span>
895
+
896
+
897
+
898
+
899
+
900
+ </h3><div class="docstring">
901
+ <div class="discussion">
902
+
903
+ <p>Check if HTTP_AUTHORIZATION Header is set</p>
904
+
905
+
906
+ </div>
907
+ </div>
908
+ <div class="tags">
909
+
910
+ <p class="tag_title">Returns:</p>
911
+ <ul class="return">
912
+
913
+ <li>
914
+
915
+
916
+ <span class='type'>(<tt>TrueClass</tt>)</span>
917
+
918
+
919
+
920
+ &mdash;
921
+ <div class='inline'>
922
+ <p>if header is set</p>
923
+ </div>
924
+
925
+ </li>
926
+
927
+ <li>
928
+
929
+
930
+ <span class='type'>(<tt>FalseClass</tt>)</span>
931
+
932
+
933
+
934
+ &mdash;
935
+ <div class='inline'>
936
+ <p>if header is not set</p>
937
+ </div>
938
+
939
+ </li>
940
+
941
+ </ul>
942
+
943
+ </div><table class="source_code">
944
+ <tr>
945
+ <td>
946
+ <pre class="lines">
947
+
948
+
949
+ 100
950
+ 101
951
+ 102</pre>
952
+ </td>
953
+ <td>
954
+ <pre class="code"><span class="info file"># File 'lib/rack/simple_auth/hmac/middleware.rb', line 100</span>
955
+
956
+ <span class='kw'>def</span> <span class='id identifier rubyid_empty_header?'>empty_header?</span>
957
+ <span class='ivar'>@request</span><span class='period'>.</span><span class='id identifier rubyid_env'>env</span><span class='lbracket'>[</span><span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>HTTP_AUTHORIZATION</span><span class='tstring_end'>&#39;</span></span><span class='rbracket'>]</span><span class='period'>.</span><span class='id identifier rubyid_nil?'>nil?</span>
958
+ <span class='kw'>end</span></pre>
959
+ </td>
960
+ </tr>
961
+ </table>
962
+ </div>
963
+
964
+ <div class="method_details ">
965
+ <h3 class="signature " id="log-instance_method">
966
+
967
+ - (<tt>Object</tt>) <strong>log</strong> <span class="extras">(private)</span>
968
+
969
+
970
+
971
+
972
+
973
+ </h3><div class="docstring">
974
+ <div class="discussion">
975
+
976
+ <p>Log to @config.logpath Contains:</p>
977
+
978
+ <pre class="code ruby"><code class="ruby">- allowed messages and received message
979
+ - time when request was made
980
+ - type of request
981
+ - requested path</code></pre>
982
+
983
+
984
+ </div>
985
+ </div>
986
+ <div class="tags">
987
+
988
+
989
+ </div><table class="source_code">
990
+ <tr>
991
+ <td>
992
+ <pre class="lines">
993
+
994
+
995
+ 181
996
+ 182
997
+ 183
998
+ 184
999
+ 185
1000
+ 186
1001
+ 187
1002
+ 188
1003
+ 189
1004
+ 190
1005
+ 191
1006
+ 192
1007
+ 193
1008
+ 194
1009
+ 195
1010
+ 196
1011
+ 197
1012
+ 198</pre>
1013
+ </td>
1014
+ <td>
1015
+ <pre class="code"><span class="info file"># File 'lib/rack/simple_auth/hmac/middleware.rb', line 181</span>
1016
+
1017
+ <span class='kw'>def</span> <span class='id identifier rubyid_log'>log</span>
1018
+ <span class='kw'>if</span> <span class='ivar'>@config</span><span class='period'>.</span><span class='id identifier rubyid_logpath'>logpath</span>
1019
+ <span class='id identifier rubyid_msg'>msg</span> <span class='op'>=</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='embexpr_beg'>#{</span><span class='const'>Time</span><span class='period'>.</span><span class='id identifier rubyid_new'>new</span><span class='embexpr_end'>}</span><span class='tstring_content'> - </span><span class='embexpr_beg'>#{</span><span class='ivar'>@request</span><span class='period'>.</span><span class='id identifier rubyid_request_method'>request_method</span><span class='embexpr_end'>}</span><span class='tstring_content'> </span><span class='embexpr_beg'>#{</span><span class='ivar'>@request</span><span class='period'>.</span><span class='id identifier rubyid_path'>path</span><span class='embexpr_end'>}</span><span class='tstring_content'> - 400 Unauthorized\n</span><span class='tstring_end'>&quot;</span></span>
1020
+ <span class='id identifier rubyid_msg'>msg</span> <span class='op'>&lt;&lt;</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>HTTP_AUTHORIZATION: </span><span class='embexpr_beg'>#{</span><span class='ivar'>@request</span><span class='period'>.</span><span class='id identifier rubyid_env'>env</span><span class='lbracket'>[</span><span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>HTTP_AUTHORIZATION</span><span class='tstring_end'>&#39;</span></span><span class='rbracket'>]</span><span class='embexpr_end'>}</span><span class='tstring_content'>\n</span><span class='tstring_end'>&quot;</span></span>
1021
+ <span class='id identifier rubyid_msg'>msg</span> <span class='op'>&lt;&lt;</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>Auth Message Config: </span><span class='embexpr_beg'>#{</span><span class='ivar'>@config</span><span class='period'>.</span><span class='id identifier rubyid_request_config'>request_config</span><span class='lbracket'>[</span><span class='ivar'>@request</span><span class='period'>.</span><span class='id identifier rubyid_request_method'>request_method</span><span class='rbracket'>]</span><span class='embexpr_end'>}</span><span class='tstring_content'>\n</span><span class='tstring_end'>&quot;</span></span>
1022
+
1023
+ <span class='kw'>if</span> <span class='id identifier rubyid_allowed_messages'>allowed_messages</span>
1024
+ <span class='id identifier rubyid_msg'>msg</span> <span class='op'>&lt;&lt;</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>Allowed Encrypted Messages:\n</span><span class='tstring_end'>&quot;</span></span>
1025
+ <span class='id identifier rubyid_allowed_messages'>allowed_messages</span><span class='period'>.</span><span class='id identifier rubyid_each'>each</span> <span class='kw'>do</span> <span class='op'>|</span><span class='id identifier rubyid_hash'>hash</span><span class='op'>|</span>
1026
+ <span class='id identifier rubyid_msg'>msg</span> <span class='op'>&lt;&lt;</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_hash'>hash</span><span class='embexpr_end'>}</span><span class='tstring_content'>\n</span><span class='tstring_end'>&quot;</span></span>
1027
+ <span class='kw'>end</span>
1028
+ <span class='kw'>end</span>
1029
+
1030
+ <span class='id identifier rubyid_msg'>msg</span> <span class='op'>&lt;&lt;</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>Auth Signature: </span><span class='embexpr_beg'>#{</span><span class='ivar'>@config</span><span class='period'>.</span><span class='id identifier rubyid_signature'>signature</span><span class='embexpr_end'>}</span><span class='tstring_end'>&quot;</span></span>
1031
+
1032
+ <span class='const'>Rack</span><span class='op'>::</span><span class='const'>SimpleAuth</span><span class='op'>::</span><span class='const'>Logger</span><span class='period'>.</span><span class='id identifier rubyid_log'>log</span><span class='lparen'>(</span><span class='ivar'>@config</span><span class='period'>.</span><span class='id identifier rubyid_logpath'>logpath</span><span class='comma'>,</span> <span class='ivar'>@config</span><span class='period'>.</span><span class='id identifier rubyid_verbose'>verbose</span><span class='comma'>,</span> <span class='const'>ENV</span><span class='lbracket'>[</span><span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>RACK_ENV</span><span class='tstring_end'>&#39;</span></span><span class='rbracket'>]</span><span class='comma'>,</span> <span class='id identifier rubyid_msg'>msg</span><span class='rparen'>)</span>
1033
+ <span class='kw'>end</span>
1034
+ <span class='kw'>end</span></pre>
1035
+ </td>
1036
+ </tr>
1037
+ </table>
1038
+ </div>
1039
+
1040
+ <div class="method_details ">
1041
+ <h3 class="signature " id="message-instance_method">
1042
+
1043
+ - (<tt>String</tt>) <strong>message</strong>(date, delay = 0) <span class="extras">(private)</span>
1044
+
1045
+
1046
+
1047
+
1048
+
1049
+ </h3><div class="docstring">
1050
+ <div class="discussion">
1051
+
1052
+ <p>Get Message for current Request and delay</p>
1053
+
1054
+
1055
+ </div>
1056
+ </div>
1057
+ <div class="tags">
1058
+ <p class="tag_title">Parameters:</p>
1059
+ <ul class="param">
1060
+
1061
+ <li>
1062
+
1063
+ <span class='name'>date</span>
1064
+
1065
+
1066
+ <span class='type'>(<tt>Fixnum</tt>)</span>
1067
+
1068
+
1069
+
1070
+ &mdash;
1071
+ <div class='inline'><dl class="rdoc-list label-list"><dt>current date in timestamp format
1072
+ <dd></dd></dl>
1073
+ </div>
1074
+
1075
+ </li>
1076
+
1077
+ <li>
1078
+
1079
+ <span class='name'>delay</span>
1080
+
1081
+
1082
+ <span class='type'>(<tt>Fixnum</tt>)</span>
1083
+
1084
+
1085
+ <em class="default">(defaults to: <tt>0</tt>)</em>
1086
+
1087
+
1088
+ &mdash;
1089
+ <div class='inline'><dl class="rdoc-list label-list"><dt>delay in timestamp format
1090
+ <dd></dd></dl>
1091
+ </div>
1092
+
1093
+ </li>
1094
+
1095
+ </ul>
1096
+
1097
+ <p class="tag_title">Returns:</p>
1098
+ <ul class="return">
1099
+
1100
+ <li>
1101
+
1102
+
1103
+ <span class='type'>(<tt>String</tt>)</span>
1104
+
1105
+
1106
+
1107
+ &mdash;
1108
+ <div class='inline'>
1109
+ <p>message</p>
1110
+ </div>
1111
+
1112
+ </li>
1113
+
1114
+ </ul>
1115
+
1116
+ </div><table class="source_code">
1117
+ <tr>
1118
+ <td>
1119
+ <pre class="lines">
1120
+
1121
+
1122
+ 156
1123
+ 157
1124
+ 158
1125
+ 159
1126
+ 160</pre>
1127
+ </td>
1128
+ <td>
1129
+ <pre class="code"><span class="info file"># File 'lib/rack/simple_auth/hmac/middleware.rb', line 156</span>
1130
+
1131
+ <span class='kw'>def</span> <span class='id identifier rubyid_message'>message</span><span class='lparen'>(</span><span class='id identifier rubyid_date'>date</span><span class='comma'>,</span> <span class='id identifier rubyid_delay'>delay</span> <span class='op'>=</span> <span class='int'>0</span><span class='rparen'>)</span>
1132
+ <span class='id identifier rubyid_date'>date</span> <span class='op'>+=</span> <span class='id identifier rubyid_delay'>delay</span>
1133
+
1134
+ <span class='lbrace'>{</span> <span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>method</span><span class='tstring_end'>&#39;</span></span> <span class='op'>=&gt;</span> <span class='ivar'>@request</span><span class='period'>.</span><span class='id identifier rubyid_request_method'>request_method</span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>date</span><span class='tstring_end'>&#39;</span></span> <span class='op'>=&gt;</span> <span class='id identifier rubyid_date'>date</span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>data</span><span class='tstring_end'>&#39;</span></span> <span class='op'>=&gt;</span> <span class='id identifier rubyid_request_data'>request_data</span> <span class='rbrace'>}</span><span class='period'>.</span><span class='id identifier rubyid_to_json'>to_json</span>
1135
+ <span class='kw'>end</span></pre>
1136
+ </td>
1137
+ </tr>
1138
+ </table>
1139
+ </div>
1140
+
1141
+ <div class="method_details ">
1142
+ <h3 class="signature " id="request_data-instance_method">
1143
+
1144
+ - (<tt>String|Hash</tt>) <strong>request_data</strong> <span class="extras">(private)</span>
1145
+
1146
+
1147
+
1148
+
1149
+
1150
+ </h3><div class="docstring">
1151
+ <div class="discussion">
1152
+
1153
+ <p>Get Request Data specified by @config.request_config</p>
1154
+
1155
+
1156
+ </div>
1157
+ </div>
1158
+ <div class="tags">
1159
+
1160
+ <p class="tag_title">Returns:</p>
1161
+ <ul class="return">
1162
+
1163
+ <li>
1164
+
1165
+
1166
+ <span class='type'>(<tt>String|Hash</tt>)</span>
1167
+
1168
+
1169
+
1170
+ &mdash;
1171
+ <div class='inline'>
1172
+ <p>data</p>
1173
+ </div>
1174
+
1175
+ </li>
1176
+
1177
+ </ul>
1178
+
1179
+ </div><table class="source_code">
1180
+ <tr>
1181
+ <td>
1182
+ <pre class="lines">
1183
+
1184
+
1185
+ 166
1186
+ 167
1187
+ 168
1188
+ 169
1189
+ 170
1190
+ 171
1191
+ 172</pre>
1192
+ </td>
1193
+ <td>
1194
+ <pre class="code"><span class="info file"># File 'lib/rack/simple_auth/hmac/middleware.rb', line 166</span>
1195
+
1196
+ <span class='kw'>def</span> <span class='id identifier rubyid_request_data'>request_data</span>
1197
+ <span class='kw'>if</span> <span class='ivar'>@config</span><span class='period'>.</span><span class='id identifier rubyid_request_config'>request_config</span><span class='lbracket'>[</span><span class='ivar'>@request</span><span class='period'>.</span><span class='id identifier rubyid_request_method'>request_method</span><span class='rbracket'>]</span> <span class='op'>==</span> <span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>path</span><span class='tstring_end'>&#39;</span></span> <span class='op'>||</span> <span class='ivar'>@config</span><span class='period'>.</span><span class='id identifier rubyid_request_config'>request_config</span><span class='lbracket'>[</span><span class='ivar'>@request</span><span class='period'>.</span><span class='id identifier rubyid_request_method'>request_method</span><span class='rbracket'>]</span> <span class='op'>==</span> <span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>params</span><span class='tstring_end'>&#39;</span></span>
1198
+ <span class='ivar'>@request</span><span class='period'>.</span><span class='id identifier rubyid_send'>send</span><span class='lparen'>(</span><span class='ivar'>@config</span><span class='period'>.</span><span class='id identifier rubyid_request_config'>request_config</span><span class='lbracket'>[</span><span class='ivar'>@request</span><span class='period'>.</span><span class='id identifier rubyid_request_method'>request_method</span><span class='rbracket'>]</span><span class='period'>.</span><span class='id identifier rubyid_to_sym'>to_sym</span><span class='rparen'>)</span>
1199
+ <span class='kw'>else</span>
1200
+ <span class='id identifier rubyid_fail'>fail</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>Not a valid option </span><span class='embexpr_beg'>#{</span><span class='ivar'>@config</span><span class='period'>.</span><span class='id identifier rubyid_request_config'>request_config</span><span class='lbracket'>[</span><span class='ivar'>@request</span><span class='period'>.</span><span class='id identifier rubyid_request_method'>request_method</span><span class='rbracket'>]</span><span class='embexpr_end'>}</span><span class='tstring_content'> - Use either params or path</span><span class='tstring_end'>&quot;</span></span>
1201
+ <span class='kw'>end</span>
1202
+ <span class='kw'>end</span></pre>
1203
+ </td>
1204
+ </tr>
1205
+ </table>
1206
+ </div>
1207
+
1208
+ <div class="method_details ">
1209
+ <h3 class="signature " id="request_message-instance_method">
1210
+
1211
+ - (<tt>String</tt>) <strong>request_message</strong> <span class="extras">(private)</span>
1212
+
1213
+
1214
+
1215
+
1216
+
1217
+ </h3><div class="docstring">
1218
+ <div class="discussion">
1219
+
1220
+ <p>Get encrypted request message</p>
1221
+
1222
+
1223
+ </div>
1224
+ </div>
1225
+ <div class="tags">
1226
+
1227
+ <p class="tag_title">Returns:</p>
1228
+ <ul class="return">
1229
+
1230
+ <li>
1231
+
1232
+
1233
+ <span class='type'>(<tt>String</tt>)</span>
1234
+
1235
+
1236
+
1237
+ &mdash;
1238
+ <div class='inline'>
1239
+ <p>message of current request</p>
1240
+ </div>
1241
+
1242
+ </li>
1243
+
1244
+ </ul>
1245
+
1246
+ </div><table class="source_code">
1247
+ <tr>
1248
+ <td>
1249
+ <pre class="lines">
1250
+
1251
+
1252
+ 129
1253
+ 130
1254
+ 131</pre>
1255
+ </td>
1256
+ <td>
1257
+ <pre class="code"><span class="info file"># File 'lib/rack/simple_auth/hmac/middleware.rb', line 129</span>
1258
+
1259
+ <span class='kw'>def</span> <span class='id identifier rubyid_request_message'>request_message</span>
1260
+ <span class='ivar'>@request</span><span class='period'>.</span><span class='id identifier rubyid_env'>env</span><span class='lbracket'>[</span><span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>HTTP_AUTHORIZATION</span><span class='tstring_end'>&#39;</span></span><span class='rbracket'>]</span><span class='period'>.</span><span class='id identifier rubyid_split'>split</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>:</span><span class='tstring_end'>&#39;</span></span><span class='rparen'>)</span><span class='period'>.</span><span class='id identifier rubyid_first'>first</span>
1261
+ <span class='kw'>end</span></pre>
1262
+ </td>
1263
+ </tr>
1264
+ </table>
1265
+ </div>
1266
+
1267
+ <div class="method_details ">
1268
+ <h3 class="signature " id="request_signature-instance_method">
1269
+
1270
+ - (<tt>String</tt>) <strong>request_signature</strong> <span class="extras">(private)</span>
1271
+
1272
+
1273
+
1274
+
1275
+
1276
+ </h3><div class="docstring">
1277
+ <div class="discussion">
1278
+
1279
+ <p>Get request signature</p>
1280
+
1281
+
1282
+ </div>
1283
+ </div>
1284
+ <div class="tags">
1285
+
1286
+ <p class="tag_title">Returns:</p>
1287
+ <ul class="return">
1288
+
1289
+ <li>
1290
+
1291
+
1292
+ <span class='type'>(<tt>String</tt>)</span>
1293
+
1294
+
1295
+
1296
+ &mdash;
1297
+ <div class='inline'>
1298
+ <p>signature of current request</p>
1299
+ </div>
1300
+
1301
+ </li>
1302
+
1303
+ </ul>
1304
+
1305
+ </div><table class="source_code">
1306
+ <tr>
1307
+ <td>
1308
+ <pre class="lines">
1309
+
1310
+
1311
+ 120
1312
+ 121
1313
+ 122</pre>
1314
+ </td>
1315
+ <td>
1316
+ <pre class="code"><span class="info file"># File 'lib/rack/simple_auth/hmac/middleware.rb', line 120</span>
1317
+
1318
+ <span class='kw'>def</span> <span class='id identifier rubyid_request_signature'>request_signature</span>
1319
+ <span class='ivar'>@request</span><span class='period'>.</span><span class='id identifier rubyid_env'>env</span><span class='lbracket'>[</span><span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>HTTP_AUTHORIZATION</span><span class='tstring_end'>&#39;</span></span><span class='rbracket'>]</span><span class='period'>.</span><span class='id identifier rubyid_split'>split</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>:</span><span class='tstring_end'>&#39;</span></span><span class='rparen'>)</span><span class='period'>.</span><span class='id identifier rubyid_last'>last</span>
1320
+ <span class='kw'>end</span></pre>
1321
+ </td>
1322
+ </tr>
1323
+ </table>
1324
+ </div>
1325
+
1326
+ <div class="method_details ">
1327
+ <h3 class="signature " id="valid_request?-instance_method">
1328
+
1329
+ - (<tt>TrueClass</tt>, <tt>FalseClass</tt>) <strong>valid_request?</strong> <span class="extras">(private)</span>
1330
+
1331
+
1332
+
1333
+
1334
+
1335
+ </h3><div class="docstring">
1336
+ <div class="discussion">
1337
+
1338
+ <p>Checks for valid HMAC Request</p>
1339
+
1340
+
1341
+ </div>
1342
+ </div>
1343
+ <div class="tags">
1344
+
1345
+ <p class="tag_title">Returns:</p>
1346
+ <ul class="return">
1347
+
1348
+ <li>
1349
+
1350
+
1351
+ <span class='type'>(<tt>TrueClass</tt>)</span>
1352
+
1353
+
1354
+
1355
+ &mdash;
1356
+ <div class='inline'>
1357
+ <p>if request is authorized</p>
1358
+ </div>
1359
+
1360
+ </li>
1361
+
1362
+ <li>
1363
+
1364
+
1365
+ <span class='type'>(<tt>FalseClass</tt>)</span>
1366
+
1367
+
1368
+
1369
+ &mdash;
1370
+ <div class='inline'>
1371
+ <p>if request is not authorized or HTTP_AUTHORIZATION Header is not set</p>
1372
+ </div>
1373
+
1374
+ </li>
1375
+
1376
+ </ul>
1377
+
1378
+ </div><table class="source_code">
1379
+ <tr>
1380
+ <td>
1381
+ <pre class="lines">
1382
+
1383
+
1384
+ 86
1385
+ 87
1386
+ 88
1387
+ 89
1388
+ 90
1389
+ 91
1390
+ 92</pre>
1391
+ </td>
1392
+ <td>
1393
+ <pre class="code"><span class="info file"># File 'lib/rack/simple_auth/hmac/middleware.rb', line 86</span>
1394
+
1395
+ <span class='kw'>def</span> <span class='id identifier rubyid_valid_request?'>valid_request?</span>
1396
+ <span class='id identifier rubyid_log'>log</span>
1397
+
1398
+ <span class='kw'>return</span> <span class='kw'>false</span> <span class='kw'>if</span> <span class='id identifier rubyid_empty_header?'>empty_header?</span> <span class='op'>||</span> <span class='op'>!</span><span class='id identifier rubyid_authorized?'>authorized?</span>
1399
+
1400
+ <span class='kw'>true</span>
1401
+ <span class='kw'>end</span></pre>
1402
+ </td>
1403
+ </tr>
1404
+ </table>
1405
+ </div>
1406
+
1407
+ </div>
1408
+
1409
+ </div>
1410
+
1411
+ <div id="footer">
1412
+ Generated on Wed Apr 30 09:50:22 2014 by
1413
+ <a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
1414
+ 0.8.7.4 (ruby-2.1.1).
1415
+ </div>
1416
+
1417
+ </body>
1418
+ </html>