google-authsub 0.0.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (69) hide show
  1. data/.gitignore +1 -0
  2. data/MIT-LICENSE +20 -0
  3. data/README +98 -0
  4. data/Rakefile +19 -0
  5. data/VERSION +1 -0
  6. data/coverage/-Library-Ruby-Gems-1_8-gems-FakeWeb-1_1_2-lib-fake_net_http_rb.html +679 -0
  7. data/coverage/-Library-Ruby-Gems-1_8-gems-FakeWeb-1_1_2-lib-fake_web_rb.html +843 -0
  8. data/coverage/-Library-Ruby-Gems-1_8-gems-rcov-0_8_1_2_0-lib-rcov_rb.html +1598 -0
  9. data/coverage/index.html +360 -0
  10. data/coverage/lib-googleauthsub_rb.html +877 -0
  11. data/coverage/spec-googleauthsub_spec_rb.html +950 -0
  12. data/coverage/spec-spec_helper_rb.html +640 -0
  13. data/doc/classes/AuthEchoServlet.html +152 -0
  14. data/doc/classes/AuthEchoServlet.src/M000001.html +20 -0
  15. data/doc/classes/AuthEchoServlet.src/M000002.html +18 -0
  16. data/doc/classes/GData/AuthSubError.html +139 -0
  17. data/doc/classes/GData/AuthSubError.src/M000019.html +18 -0
  18. data/doc/classes/GData/Error.html +111 -0
  19. data/doc/classes/GData/GoogleAuthSub.html +521 -0
  20. data/doc/classes/GData/GoogleAuthSub.src/M000001.html +29 -0
  21. data/doc/classes/GData/GoogleAuthSub.src/M000002.html +22 -0
  22. data/doc/classes/GData/GoogleAuthSub.src/M000003.html +29 -0
  23. data/doc/classes/GData/GoogleAuthSub.src/M000004.html +22 -0
  24. data/doc/classes/GData/GoogleAuthSub.src/M000005.html +24 -0
  25. data/doc/classes/GData/GoogleAuthSub.src/M000006.html +19 -0
  26. data/doc/classes/GData/GoogleAuthSub.src/M000007.html +18 -0
  27. data/doc/classes/GData/GoogleAuthSub.src/M000008.html +18 -0
  28. data/doc/classes/GData/GoogleAuthSub.src/M000009.html +24 -0
  29. data/doc/classes/GData/GoogleAuthSub.src/M000010.html +25 -0
  30. data/doc/classes/GData/GoogleAuthSub.src/M000011.html +30 -0
  31. data/doc/classes/GData/GoogleAuthSub.src/M000012.html +18 -0
  32. data/doc/classes/GData/GoogleAuthSub.src/M000013.html +18 -0
  33. data/doc/classes/GData/GoogleAuthSub.src/M000014.html +18 -0
  34. data/doc/classes/GData/GoogleAuthSub.src/M000015.html +18 -0
  35. data/doc/classes/GData/GoogleAuthSub.src/M000016.html +20 -0
  36. data/doc/classes/GData/GoogleAuthSub.src/M000017.html +20 -0
  37. data/doc/classes/GData/GoogleAuthSub.src/M000018.html +19 -0
  38. data/doc/classes/GData.html +162 -0
  39. data/doc/created.rid +1 -0
  40. data/doc/files/googleauthsub_rb.html +140 -0
  41. data/doc/files/lib/googleauthsub_rb.html +140 -0
  42. data/doc/files/spec/googleauthsub_spec_rb.html +146 -0
  43. data/doc/files/spec/googleresponder_rb.html +121 -0
  44. data/doc/files/spec/spec_helper_rb.html +149 -0
  45. data/doc/fr_class_index.html +31 -0
  46. data/doc/fr_file_index.html +30 -0
  47. data/doc/fr_method_index.html +45 -0
  48. data/doc/index.html +24 -0
  49. data/doc/rdoc-style.css +208 -0
  50. data/google-authsub-0.0.2.gem +0 -0
  51. data/google-authsub-0.0.3.gem +0 -0
  52. data/google-authsub.gemspec +109 -0
  53. data/lib/googleauthsub.rb +271 -0
  54. data/live test/authsub_test.html +40 -0
  55. data/live test/gastest.rb +90 -0
  56. data/spec/googleauthsub_spec.rb +350 -0
  57. data/spec/googleresponder.rb +26 -0
  58. data/spec/mock responses/bad_token_info.txt +11 -0
  59. data/spec/mock responses/calendar.txt +11 -0
  60. data/spec/mock responses/revoke_token.txt +7 -0
  61. data/spec/mock responses/revoked_token.txt +17 -0
  62. data/spec/mock responses/session_token.txt +9 -0
  63. data/spec/mock responses/token_info.txt +11 -0
  64. data/spec/mock responses/unauthorized.txt +18 -0
  65. data/spec/mock_certs/test_private_key.pem +15 -0
  66. data/spec/mock_certs/test_public_key.pem +6 -0
  67. data/spec/spec_helper.rb +30 -0
  68. data/spec/spec_opts +7 -0
  69. metadata +125 -0
@@ -0,0 +1,29 @@
1
+ <?xml version="1.0" encoding="iso-8859-1"?>
2
+ <!DOCTYPE html
3
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
4
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
5
+
6
+ <html>
7
+ <head>
8
+ <title>set_private_key (GData::GoogleAuthSub)</title>
9
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
10
+ <link rel="stylesheet" href="../../.././rdoc-style.css" type="text/css" media="screen" />
11
+ </head>
12
+ <body class="standalone-code">
13
+ <pre><span class="ruby-comment cmt"># File googleauthsub.rb, line 52</span>
14
+ <span class="ruby-keyword kw">def</span> <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">set_private_key</span>(<span class="ruby-identifier">key</span>)
15
+ <span class="ruby-keyword kw">case</span> <span class="ruby-identifier">key</span>
16
+ <span class="ruby-keyword kw">when</span> <span class="ruby-constant">OpenSSL</span><span class="ruby-operator">::</span><span class="ruby-constant">PKey</span><span class="ruby-operator">::</span><span class="ruby-constant">RSA</span>
17
+ <span class="ruby-ivar">@@pkey</span> = <span class="ruby-identifier">key</span>
18
+ <span class="ruby-keyword kw">when</span> <span class="ruby-constant">File</span>
19
+ <span class="ruby-comment cmt"># Read key from a PEM file.</span>
20
+ <span class="ruby-ivar">@@pkey</span> = <span class="ruby-constant">OpenSSL</span><span class="ruby-operator">::</span><span class="ruby-constant">PKey</span><span class="ruby-operator">::</span><span class="ruby-constant">RSA</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">key</span>.<span class="ruby-identifier">read</span>)
21
+ <span class="ruby-keyword kw">when</span> <span class="ruby-constant">String</span>
22
+ <span class="ruby-comment cmt"># Get key from a PEM in the form of a string.</span>
23
+ <span class="ruby-ivar">@@pkey</span> = <span class="ruby-constant">OpenSSL</span><span class="ruby-operator">::</span><span class="ruby-constant">PKey</span><span class="ruby-operator">::</span><span class="ruby-constant">RSA</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">key</span>)
24
+ <span class="ruby-keyword kw">else</span>
25
+ <span class="ruby-identifier">raise</span> <span class="ruby-node">&quot;Private Key in wrong format. Require IO, String or OpenSSL::Pkey::RSA, got #{key.class}&quot;</span>
26
+ <span class="ruby-keyword kw">end</span>
27
+ <span class="ruby-keyword kw">end</span></pre>
28
+ </body>
29
+ </html>
@@ -0,0 +1,22 @@
1
+ <?xml version="1.0" encoding="iso-8859-1"?>
2
+ <!DOCTYPE html
3
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
4
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
5
+
6
+ <html>
7
+ <head>
8
+ <title>new (GData::GoogleAuthSub)</title>
9
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
10
+ <link rel="stylesheet" href="../../.././rdoc-style.css" type="text/css" media="screen" />
11
+ </head>
12
+ <body class="standalone-code">
13
+ <pre><span class="ruby-comment cmt"># File googleauthsub.rb, line 75</span>
14
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">initialize</span>(<span class="ruby-identifier">opts</span> = {})
15
+ <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">next_url</span> = <span class="ruby-identifier">opts</span>[<span class="ruby-identifier">:next_url</span>] <span class="ruby-operator">||</span> <span class="ruby-value str">''</span>
16
+ <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">scope</span> = <span class="ruby-identifier">opts</span>[<span class="ruby-identifier">:scope_url</span>] <span class="ruby-operator">||</span> <span class="ruby-value str">''</span>
17
+ <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">session</span> = <span class="ruby-identifier">opts</span>[<span class="ruby-identifier">:session</span>] <span class="ruby-operator">||</span> <span class="ruby-keyword kw">false</span>
18
+ <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">secure</span> = <span class="ruby-identifier">opts</span>[<span class="ruby-identifier">:secure</span>] <span class="ruby-operator">||</span> <span class="ruby-keyword kw">false</span>
19
+ <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">sigalg</span> = <span class="ruby-value str">&quot;rsa-sha1&quot;</span>
20
+ <span class="ruby-keyword kw">end</span></pre>
21
+ </body>
22
+ </html>
@@ -0,0 +1,29 @@
1
+ <?xml version="1.0" encoding="iso-8859-1"?>
2
+ <!DOCTYPE html
3
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
4
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
5
+
6
+ <html>
7
+ <head>
8
+ <title>set_private_key (GData::GoogleAuthSub)</title>
9
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
10
+ <link rel="stylesheet" href="../../.././rdoc-style.css" type="text/css" media="screen" />
11
+ </head>
12
+ <body class="standalone-code">
13
+ <pre><span class="ruby-comment cmt"># File lib/googleauthsub.rb, line 63</span>
14
+ <span class="ruby-keyword kw">def</span> <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">set_private_key</span>(<span class="ruby-identifier">key</span>)
15
+ <span class="ruby-keyword kw">case</span> <span class="ruby-identifier">key</span>
16
+ <span class="ruby-keyword kw">when</span> <span class="ruby-constant">OpenSSL</span><span class="ruby-operator">::</span><span class="ruby-constant">PKey</span><span class="ruby-operator">::</span><span class="ruby-constant">RSA</span>
17
+ <span class="ruby-ivar">@@pkey</span> = <span class="ruby-identifier">key</span>
18
+ <span class="ruby-keyword kw">when</span> <span class="ruby-constant">File</span>
19
+ <span class="ruby-comment cmt"># Read key from a PEM file.</span>
20
+ <span class="ruby-ivar">@@pkey</span> = <span class="ruby-constant">OpenSSL</span><span class="ruby-operator">::</span><span class="ruby-constant">PKey</span><span class="ruby-operator">::</span><span class="ruby-constant">RSA</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">key</span>.<span class="ruby-identifier">read</span>)
21
+ <span class="ruby-keyword kw">when</span> <span class="ruby-constant">String</span>
22
+ <span class="ruby-comment cmt"># Get key from a PEM in the form of a string.</span>
23
+ <span class="ruby-ivar">@@pkey</span> = <span class="ruby-constant">OpenSSL</span><span class="ruby-operator">::</span><span class="ruby-constant">PKey</span><span class="ruby-operator">::</span><span class="ruby-constant">RSA</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">key</span>)
24
+ <span class="ruby-keyword kw">else</span>
25
+ <span class="ruby-identifier">raise</span> <span class="ruby-constant">AuthSubError</span>, <span class="ruby-node">&quot;Private Key in wrong format. Require IO, String or OpenSSL::Pkey::RSA, got #{key.class}&quot;</span>
26
+ <span class="ruby-keyword kw">end</span>
27
+ <span class="ruby-keyword kw">end</span></pre>
28
+ </body>
29
+ </html>
@@ -0,0 +1,22 @@
1
+ <?xml version="1.0" encoding="iso-8859-1"?>
2
+ <!DOCTYPE html
3
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
4
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
5
+
6
+ <html>
7
+ <head>
8
+ <title>new (GData::GoogleAuthSub)</title>
9
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
10
+ <link rel="stylesheet" href="../../.././rdoc-style.css" type="text/css" media="screen" />
11
+ </head>
12
+ <body class="standalone-code">
13
+ <pre><span class="ruby-comment cmt"># File lib/googleauthsub.rb, line 86</span>
14
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">initialize</span>(<span class="ruby-identifier">opts</span> = {})
15
+ <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">next_url</span> = <span class="ruby-identifier">opts</span>[<span class="ruby-identifier">:next_url</span>] <span class="ruby-operator">||</span> <span class="ruby-value str">''</span>
16
+ <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">scope</span> = <span class="ruby-identifier">opts</span>[<span class="ruby-identifier">:scope_url</span>] <span class="ruby-operator">||</span> <span class="ruby-value str">''</span>
17
+ <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">session</span> = <span class="ruby-identifier">opts</span>[<span class="ruby-identifier">:session</span>] <span class="ruby-operator">||</span> <span class="ruby-keyword kw">false</span>
18
+ <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">secure</span> = <span class="ruby-identifier">opts</span>[<span class="ruby-identifier">:secure</span>] <span class="ruby-operator">||</span> <span class="ruby-keyword kw">false</span>
19
+ <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">sigalg</span> = <span class="ruby-identifier">opts</span>[<span class="ruby-identifier">:sigalg</span>] <span class="ruby-operator">||</span> <span class="ruby-value str">&quot;rsa-sha1&quot;</span>
20
+ <span class="ruby-keyword kw">end</span></pre>
21
+ </body>
22
+ </html>
@@ -0,0 +1,24 @@
1
+ <?xml version="1.0" encoding="iso-8859-1"?>
2
+ <!DOCTYPE html
3
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
4
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
5
+
6
+ <html>
7
+ <head>
8
+ <title>request_url (GData::GoogleAuthSub)</title>
9
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
10
+ <link rel="stylesheet" href="../../.././rdoc-style.css" type="text/css" media="screen" />
11
+ </head>
12
+ <body class="standalone-code">
13
+ <pre><span class="ruby-comment cmt"># File lib/googleauthsub.rb, line 95</span>
14
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">request_url</span>
15
+ <span class="ruby-identifier">raise</span> <span class="ruby-constant">AuthSubError</span>, <span class="ruby-node">&quot;Invalid next URL: #{@next_url}&quot;</span> <span class="ruby-keyword kw">if</span> <span class="ruby-operator">!</span><span class="ruby-identifier">full_url?</span>(<span class="ruby-ivar">@next_url</span>)
16
+ <span class="ruby-identifier">raise</span> <span class="ruby-constant">AuthSubError</span>, <span class="ruby-node">&quot;Invalid scope URL: #{@scope}&quot;</span> <span class="ruby-keyword kw">if</span> <span class="ruby-operator">!</span><span class="ruby-identifier">full_url?</span>(<span class="ruby-ivar">@scope</span>)
17
+
18
+ <span class="ruby-identifier">query</span> = <span class="ruby-value str">&quot;next=&quot;</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-ivar">@next_url</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-value str">&quot;&amp;scope=&quot;</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-ivar">@scope</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-value str">&quot;&amp;session=&quot;</span><span class="ruby-operator">&lt;&lt;</span>
19
+ (<span class="ruby-identifier">session_token?</span> <span class="ruby-value">? </span><span class="ruby-value str">'1'</span> <span class="ruby-operator">:</span> <span class="ruby-value str">'0'</span>)<span class="ruby-operator">&lt;&lt;</span> <span class="ruby-value str">&quot;&amp;secure=&quot;</span><span class="ruby-operator">&lt;&lt;</span> (<span class="ruby-identifier">secure_token?</span> <span class="ruby-value">? </span><span class="ruby-value str">'1'</span> <span class="ruby-operator">:</span> <span class="ruby-value str">'0'</span>)
20
+ <span class="ruby-identifier">query</span> = <span class="ruby-constant">URI</span>.<span class="ruby-identifier">encode</span>(<span class="ruby-identifier">query</span>)
21
+ <span class="ruby-constant">URI</span><span class="ruby-operator">::</span><span class="ruby-constant">HTTPS</span>.<span class="ruby-identifier">build</span>({<span class="ruby-identifier">:host</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-constant">GOOGLE_HOST_URL</span>, <span class="ruby-identifier">:path</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-constant">GOOGLE_AUTHSUB_REQUEST_PATH</span>, <span class="ruby-identifier">:query</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">query</span> })
22
+ <span class="ruby-keyword kw">end</span></pre>
23
+ </body>
24
+ </html>
@@ -0,0 +1,19 @@
1
+ <?xml version="1.0" encoding="iso-8859-1"?>
2
+ <!DOCTYPE html
3
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
4
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
5
+
6
+ <html>
7
+ <head>
8
+ <title>receive_token (GData::GoogleAuthSub)</title>
9
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
10
+ <link rel="stylesheet" href="../../.././rdoc-style.css" type="text/css" media="screen" />
11
+ </head>
12
+ <body class="standalone-code">
13
+ <pre><span class="ruby-comment cmt"># File lib/googleauthsub.rb, line 113</span>
14
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">receive_token</span>(<span class="ruby-identifier">url</span>)
15
+ <span class="ruby-identifier">q</span> = <span class="ruby-identifier">url</span>.<span class="ruby-identifier">query</span>.<span class="ruby-identifier">match</span>(<span class="ruby-regexp re">/Token=(.*)/</span>)
16
+ <span class="ruby-ivar">@token</span> = <span class="ruby-identifier">q</span>[<span class="ruby-value">1</span>] <span class="ruby-keyword kw">if</span> <span class="ruby-operator">!</span><span class="ruby-identifier">q</span>.<span class="ruby-identifier">nil?</span>
17
+ <span class="ruby-keyword kw">end</span></pre>
18
+ </body>
19
+ </html>
@@ -0,0 +1,18 @@
1
+ <?xml version="1.0" encoding="iso-8859-1"?>
2
+ <!DOCTYPE html
3
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
4
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
5
+
6
+ <html>
7
+ <head>
8
+ <title>session_token? (GData::GoogleAuthSub)</title>
9
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
10
+ <link rel="stylesheet" href="../../.././rdoc-style.css" type="text/css" media="screen" />
11
+ </head>
12
+ <body class="standalone-code">
13
+ <pre><span class="ruby-comment cmt"># File lib/googleauthsub.rb, line 119</span>
14
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">session_token?</span>
15
+ <span class="ruby-identifier">session</span> <span class="ruby-operator">==</span> <span class="ruby-keyword kw">true</span>
16
+ <span class="ruby-keyword kw">end</span></pre>
17
+ </body>
18
+ </html>
@@ -0,0 +1,18 @@
1
+ <?xml version="1.0" encoding="iso-8859-1"?>
2
+ <!DOCTYPE html
3
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
4
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
5
+
6
+ <html>
7
+ <head>
8
+ <title>secure_token? (GData::GoogleAuthSub)</title>
9
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
10
+ <link rel="stylesheet" href="../../.././rdoc-style.css" type="text/css" media="screen" />
11
+ </head>
12
+ <body class="standalone-code">
13
+ <pre><span class="ruby-comment cmt"># File lib/googleauthsub.rb, line 124</span>
14
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">secure_token?</span>
15
+ <span class="ruby-identifier">secure</span> <span class="ruby-operator">==</span> <span class="ruby-keyword kw">true</span>
16
+ <span class="ruby-keyword kw">end</span></pre>
17
+ </body>
18
+ </html>
@@ -0,0 +1,24 @@
1
+ <?xml version="1.0" encoding="iso-8859-1"?>
2
+ <!DOCTYPE html
3
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
4
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
5
+
6
+ <html>
7
+ <head>
8
+ <title>session_token (GData::GoogleAuthSub)</title>
9
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
10
+ <link rel="stylesheet" href="../../.././rdoc-style.css" type="text/css" media="screen" />
11
+ </head>
12
+ <body class="standalone-code">
13
+ <pre><span class="ruby-comment cmt"># File lib/googleauthsub.rb, line 131</span>
14
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">session_token</span>
15
+ <span class="ruby-identifier">url</span> = <span class="ruby-constant">URI</span><span class="ruby-operator">::</span><span class="ruby-constant">HTTPS</span>.<span class="ruby-identifier">build</span>({<span class="ruby-identifier">:host</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-constant">GOOGLE_HOST_URL</span>,
16
+ <span class="ruby-identifier">:path</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-constant">GOOGLE_AUTHSUB_SESSION_TOKEN_PATH</span>})
17
+ <span class="ruby-keyword kw">begin</span>
18
+ <span class="ruby-ivar">@token</span> = <span class="ruby-identifier">get</span>(<span class="ruby-identifier">url</span>).<span class="ruby-identifier">body</span>.<span class="ruby-identifier">match</span>(<span class="ruby-regexp re">/^Token=(.*)$/</span>)[<span class="ruby-value">1</span>]
19
+ <span class="ruby-keyword kw">rescue</span>
20
+ <span class="ruby-identifier">raise</span> <span class="ruby-constant">AuthSubError</span>, <span class="ruby-value str">&quot;Invalid session token response.&quot;</span>
21
+ <span class="ruby-keyword kw">end</span>
22
+ <span class="ruby-keyword kw">end</span></pre>
23
+ </body>
24
+ </html>
@@ -0,0 +1,25 @@
1
+ <?xml version="1.0" encoding="iso-8859-1"?>
2
+ <!DOCTYPE html
3
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
4
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
5
+
6
+ <html>
7
+ <head>
8
+ <title>revoke_token (GData::GoogleAuthSub)</title>
9
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
10
+ <link rel="stylesheet" href="../../.././rdoc-style.css" type="text/css" media="screen" />
11
+ </head>
12
+ <body class="standalone-code">
13
+ <pre><span class="ruby-comment cmt"># File lib/googleauthsub.rb, line 145</span>
14
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">revoke_token</span>
15
+ <span class="ruby-identifier">url</span> = <span class="ruby-constant">URI</span><span class="ruby-operator">::</span><span class="ruby-constant">HTTPS</span>.<span class="ruby-identifier">build</span>({<span class="ruby-identifier">:host=</span><span class="ruby-operator">&gt;</span><span class="ruby-constant">GOOGLE_HOST_URL</span>,
16
+ <span class="ruby-identifier">:path</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-constant">GOOGLE_AUTHSUB_REVOKE_PATH</span>})
17
+ <span class="ruby-keyword kw">begin</span>
18
+ <span class="ruby-identifier">get</span>(<span class="ruby-identifier">url</span>)
19
+ <span class="ruby-keyword kw">true</span>
20
+ <span class="ruby-keyword kw">rescue</span>
21
+ <span class="ruby-keyword kw">false</span>
22
+ <span class="ruby-keyword kw">end</span>
23
+ <span class="ruby-keyword kw">end</span></pre>
24
+ </body>
25
+ </html>
@@ -0,0 +1,30 @@
1
+ <?xml version="1.0" encoding="iso-8859-1"?>
2
+ <!DOCTYPE html
3
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
4
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
5
+
6
+ <html>
7
+ <head>
8
+ <title>token_info (GData::GoogleAuthSub)</title>
9
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
10
+ <link rel="stylesheet" href="../../.././rdoc-style.css" type="text/css" media="screen" />
11
+ </head>
12
+ <body class="standalone-code">
13
+ <pre><span class="ruby-comment cmt"># File lib/googleauthsub.rb, line 159</span>
14
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">token_info</span>
15
+ <span class="ruby-identifier">url</span> = <span class="ruby-constant">URI</span><span class="ruby-operator">::</span><span class="ruby-constant">HTTPS</span>.<span class="ruby-identifier">build</span>({<span class="ruby-identifier">:host=</span><span class="ruby-operator">&gt;</span><span class="ruby-constant">GOOGLE_HOST_URL</span>,
16
+ <span class="ruby-identifier">:path</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-constant">GOOGLE_AUTHSUB_TOKEN_INFO_PATH</span>})
17
+ <span class="ruby-identifier">response</span> = <span class="ruby-identifier">get</span>(<span class="ruby-identifier">url</span>)
18
+ <span class="ruby-identifier">info</span> = <span class="ruby-constant">Hash</span>.<span class="ruby-identifier">new</span>
19
+ <span class="ruby-keyword kw">begin</span>
20
+ <span class="ruby-identifier">info</span>[<span class="ruby-identifier">:target</span>] = <span class="ruby-identifier">response</span>.<span class="ruby-identifier">body</span>.<span class="ruby-identifier">match</span>(<span class="ruby-regexp re">/^Target=(.*)$/</span>)[<span class="ruby-value">1</span>]
21
+ <span class="ruby-identifier">info</span>[<span class="ruby-identifier">:scope</span>] = <span class="ruby-identifier">response</span>.<span class="ruby-identifier">body</span>.<span class="ruby-identifier">match</span>(<span class="ruby-regexp re">/^Scope=(.*)$/</span>)[<span class="ruby-value">1</span>]
22
+ <span class="ruby-identifier">info</span>[<span class="ruby-identifier">:secure</span>] = (<span class="ruby-identifier">response</span>.<span class="ruby-identifier">body</span>.<span class="ruby-identifier">match</span>(<span class="ruby-regexp re">/^Secure=(.*)$/</span>)[<span class="ruby-value">1</span>].<span class="ruby-identifier">downcase</span> <span class="ruby-operator">==</span> <span class="ruby-value str">'true'</span>)
23
+ <span class="ruby-keyword kw">rescue</span>
24
+ <span class="ruby-identifier">raise</span> <span class="ruby-constant">AuthSubError</span>, <span class="ruby-value str">&quot;Google Authsub Error: invalid token info packet received.&quot;</span>
25
+ <span class="ruby-keyword kw">end</span>
26
+
27
+ <span class="ruby-keyword kw">return</span> <span class="ruby-identifier">info</span>
28
+ <span class="ruby-keyword kw">end</span></pre>
29
+ </body>
30
+ </html>
@@ -0,0 +1,18 @@
1
+ <?xml version="1.0" encoding="iso-8859-1"?>
2
+ <!DOCTYPE html
3
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
4
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
5
+
6
+ <html>
7
+ <head>
8
+ <title>get (GData::GoogleAuthSub)</title>
9
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
10
+ <link rel="stylesheet" href="../../.././rdoc-style.css" type="text/css" media="screen" />
11
+ </head>
12
+ <body class="standalone-code">
13
+ <pre><span class="ruby-comment cmt"># File lib/googleauthsub.rb, line 178</span>
14
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">get</span>(<span class="ruby-identifier">url</span>)
15
+ <span class="ruby-identifier">authsub_http_request</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">Get</span>,<span class="ruby-identifier">url</span>)
16
+ <span class="ruby-keyword kw">end</span></pre>
17
+ </body>
18
+ </html>
@@ -0,0 +1,18 @@
1
+ <?xml version="1.0" encoding="iso-8859-1"?>
2
+ <!DOCTYPE html
3
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
4
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
5
+
6
+ <html>
7
+ <head>
8
+ <title>post (GData::GoogleAuthSub)</title>
9
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
10
+ <link rel="stylesheet" href="../../.././rdoc-style.css" type="text/css" media="screen" />
11
+ </head>
12
+ <body class="standalone-code">
13
+ <pre><span class="ruby-comment cmt"># File lib/googleauthsub.rb, line 184</span>
14
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">post</span>(<span class="ruby-identifier">url</span>)
15
+ <span class="ruby-identifier">authsub_http_request</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">url</span>)
16
+ <span class="ruby-keyword kw">end</span></pre>
17
+ </body>
18
+ </html>
@@ -0,0 +1,18 @@
1
+ <?xml version="1.0" encoding="iso-8859-1"?>
2
+ <!DOCTYPE html
3
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
4
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
5
+
6
+ <html>
7
+ <head>
8
+ <title>put (GData::GoogleAuthSub)</title>
9
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
10
+ <link rel="stylesheet" href="../../.././rdoc-style.css" type="text/css" media="screen" />
11
+ </head>
12
+ <body class="standalone-code">
13
+ <pre><span class="ruby-comment cmt"># File lib/googleauthsub.rb, line 191</span>
14
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">put</span>(<span class="ruby-identifier">url</span>)
15
+ <span class="ruby-identifier">authsub_http_request</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">Put</span>,<span class="ruby-identifier">url</span>)
16
+ <span class="ruby-keyword kw">end</span></pre>
17
+ </body>
18
+ </html>
@@ -0,0 +1,18 @@
1
+ <?xml version="1.0" encoding="iso-8859-1"?>
2
+ <!DOCTYPE html
3
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
4
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
5
+
6
+ <html>
7
+ <head>
8
+ <title>delete (GData::GoogleAuthSub)</title>
9
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
10
+ <link rel="stylesheet" href="../../.././rdoc-style.css" type="text/css" media="screen" />
11
+ </head>
12
+ <body class="standalone-code">
13
+ <pre><span class="ruby-comment cmt"># File lib/googleauthsub.rb, line 198</span>
14
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">delete</span>(<span class="ruby-identifier">url</span>)
15
+ <span class="ruby-identifier">authsub_http_request</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">Delete</span>,<span class="ruby-identifier">url</span>)
16
+ <span class="ruby-keyword kw">end</span></pre>
17
+ </body>
18
+ </html>
@@ -0,0 +1,20 @@
1
+ <?xml version="1.0" encoding="iso-8859-1"?>
2
+ <!DOCTYPE html
3
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
4
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
5
+
6
+ <html>
7
+ <head>
8
+ <title>auth_header (GData::GoogleAuthSub)</title>
9
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
10
+ <link rel="stylesheet" href="../../.././rdoc-style.css" type="text/css" media="screen" />
11
+ </head>
12
+ <body class="standalone-code">
13
+ <pre><span class="ruby-comment cmt"># File spec/spec_helper.rb, line 25</span>
14
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">auth_header</span>(<span class="ruby-identifier">method</span>, <span class="ruby-identifier">url</span>)
15
+ <span class="ruby-identifier">url</span> = <span class="ruby-constant">URI</span>.<span class="ruby-identifier">parse</span>(<span class="ruby-identifier">url</span>)
16
+ <span class="ruby-identifier">request</span> = <span class="ruby-identifier">method</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">url</span>.<span class="ruby-identifier">path</span>)
17
+ <span class="ruby-identifier">authorization_header</span>(<span class="ruby-identifier">request</span>, <span class="ruby-identifier">url</span>)
18
+ <span class="ruby-keyword kw">end</span></pre>
19
+ </body>
20
+ </html>
@@ -0,0 +1,20 @@
1
+ <?xml version="1.0" encoding="iso-8859-1"?>
2
+ <!DOCTYPE html
3
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
4
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
5
+
6
+ <html>
7
+ <head>
8
+ <title>auth_data (GData::GoogleAuthSub)</title>
9
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
10
+ <link rel="stylesheet" href="../../.././rdoc-style.css" type="text/css" media="screen" />
11
+ </head>
12
+ <body class="standalone-code">
13
+ <pre><span class="ruby-comment cmt"># File spec/spec_helper.rb, line 32</span>
14
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">auth_data</span>(<span class="ruby-identifier">method</span>,<span class="ruby-identifier">url</span>)
15
+ <span class="ruby-identifier">url</span> = <span class="ruby-constant">URI</span>.<span class="ruby-identifier">parse</span>(<span class="ruby-identifier">url</span>)
16
+ <span class="ruby-identifier">request</span> = <span class="ruby-identifier">method</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">url</span>.<span class="ruby-identifier">path</span>)
17
+ <span class="ruby-identifier">authorization_data</span>(<span class="ruby-identifier">request</span>,<span class="ruby-identifier">url</span>)
18
+ <span class="ruby-keyword kw">end</span></pre>
19
+ </body>
20
+ </html>
@@ -0,0 +1,19 @@
1
+ <?xml version="1.0" encoding="iso-8859-1"?>
2
+ <!DOCTYPE html
3
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
4
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
5
+
6
+ <html>
7
+ <head>
8
+ <title>sig (GData::GoogleAuthSub)</title>
9
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
10
+ <link rel="stylesheet" href="../../.././rdoc-style.css" type="text/css" media="screen" />
11
+ </head>
12
+ <body class="standalone-code">
13
+ <pre><span class="ruby-comment cmt"># File spec/spec_helper.rb, line 39</span>
14
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">sig</span>(<span class="ruby-identifier">header</span>)
15
+ <span class="ruby-identifier">s</span> = <span class="ruby-identifier">header</span>.<span class="ruby-identifier">match</span>(<span class="ruby-regexp re">/^.*sig=&quot;(.*)&quot;/</span><span class="ruby-identifier">m</span>)
16
+ <span class="ruby-identifier">s</span>[<span class="ruby-value">1</span>] <span class="ruby-keyword kw">if</span> <span class="ruby-operator">!</span><span class="ruby-identifier">s</span>.<span class="ruby-identifier">nil?</span>
17
+ <span class="ruby-keyword kw">end</span></pre>
18
+ </body>
19
+ </html>
@@ -0,0 +1,162 @@
1
+ <?xml version="1.0" encoding="iso-8859-1"?>
2
+ <!DOCTYPE html
3
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
4
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
5
+
6
+ <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
7
+ <head>
8
+ <title>Module: GData</title>
9
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
10
+ <meta http-equiv="Content-Script-Type" content="text/javascript" />
11
+ <link rel="stylesheet" href=".././rdoc-style.css" type="text/css" media="screen" />
12
+ <script type="text/javascript">
13
+ // <![CDATA[
14
+
15
+ function popupCode( url ) {
16
+ window.open(url, "Code", "resizable=yes,scrollbars=yes,toolbar=no,status=no,height=150,width=400")
17
+ }
18
+
19
+ function toggleCode( id ) {
20
+ if ( document.getElementById )
21
+ elem = document.getElementById( id );
22
+ else if ( document.all )
23
+ elem = eval( "document.all." + id );
24
+ else
25
+ return false;
26
+
27
+ elemStyle = elem.style;
28
+
29
+ if ( elemStyle.display != "block" ) {
30
+ elemStyle.display = "block"
31
+ } else {
32
+ elemStyle.display = "none"
33
+ }
34
+
35
+ return true;
36
+ }
37
+
38
+ // Make codeblocks hidden by default
39
+ document.writeln( "<style type=\"text/css\">div.method-source-code { display: none }</style>" )
40
+
41
+ // ]]>
42
+ </script>
43
+
44
+ </head>
45
+ <body>
46
+
47
+
48
+
49
+ <div id="classHeader">
50
+ <table class="header-table">
51
+ <tr class="top-aligned-row">
52
+ <td><strong>Module</strong></td>
53
+ <td class="class-name-in-header">GData</td>
54
+ </tr>
55
+ <tr class="top-aligned-row">
56
+ <td><strong>In:</strong></td>
57
+ <td>
58
+ <a href="../files/lib/googleauthsub_rb.html">
59
+ lib/googleauthsub.rb
60
+ </a>
61
+ <br />
62
+ <a href="../files/spec/spec_helper_rb.html">
63
+ spec/spec_helper.rb
64
+ </a>
65
+ <br />
66
+ </td>
67
+ </tr>
68
+
69
+ </table>
70
+ </div>
71
+ <!-- banner header -->
72
+
73
+ <div id="bodyContent">
74
+
75
+
76
+
77
+ <div id="contextContent">
78
+
79
+ <div id="description">
80
+ <p>
81
+ Note: The module declared here may change depending on what other
82
+ developers are using
83
+ </p>
84
+
85
+ </div>
86
+
87
+
88
+ </div>
89
+
90
+
91
+ </div>
92
+
93
+
94
+ <!-- if includes -->
95
+
96
+ <div id="section">
97
+
98
+ <div id="class-list">
99
+ <h3 class="section-bar">Classes and Modules</h3>
100
+
101
+ Class <a href="GData/AuthSubError.html" class="link">GData::AuthSubError</a><br />
102
+ Class <a href="GData/Error.html" class="link">GData::Error</a><br />
103
+ Class <a href="GData/GoogleAuthSub.html" class="link">GData::GoogleAuthSub</a><br />
104
+
105
+ </div>
106
+
107
+ <div id="constants-list">
108
+ <h3 class="section-bar">Constants</h3>
109
+
110
+ <div class="name-list">
111
+ <table summary="Constants">
112
+ <tr class="top-aligned-row context-row">
113
+ <td class="context-item-name">GOOGLE_HOST_URL</td>
114
+ <td>=</td>
115
+ <td class="context-item-value">&quot;www.google.com&quot;</td>
116
+ </tr>
117
+ <tr class="top-aligned-row context-row">
118
+ <td class="context-item-name">GOOGLE_AUTHSUB_BASE_PATH</td>
119
+ <td>=</td>
120
+ <td class="context-item-value">&quot;/accounts&quot;</td>
121
+ </tr>
122
+ <tr class="top-aligned-row context-row">
123
+ <td class="context-item-name">GOOGLE_AUTHSUB_REQUEST_PATH</td>
124
+ <td>=</td>
125
+ <td class="context-item-value">GOOGLE_AUTHSUB_BASE_PATH + &quot;/AuthSubRequest&quot;</td>
126
+ </tr>
127
+ <tr class="top-aligned-row context-row">
128
+ <td class="context-item-name">GOOGLE_AUTHSUB_SESSION_TOKEN_PATH</td>
129
+ <td>=</td>
130
+ <td class="context-item-value">GOOGLE_AUTHSUB_BASE_PATH + &quot;/AuthSubSessionToken&quot;</td>
131
+ </tr>
132
+ <tr class="top-aligned-row context-row">
133
+ <td class="context-item-name">GOOGLE_AUTHSUB_REVOKE_PATH</td>
134
+ <td>=</td>
135
+ <td class="context-item-value">GOOGLE_AUTHSUB_BASE_PATH + &quot;/AuthSubRevokeToken&quot;</td>
136
+ </tr>
137
+ <tr class="top-aligned-row context-row">
138
+ <td class="context-item-name">GOOGLE_AUTHSUB_TOKEN_INFO_PATH</td>
139
+ <td>=</td>
140
+ <td class="context-item-value">GOOGLE_AUTHSUB_BASE_PATH + &quot;/AuthSubTokenInfo&quot;</td>
141
+ </tr>
142
+ </table>
143
+ </div>
144
+ </div>
145
+
146
+
147
+
148
+
149
+
150
+
151
+ <!-- if method_list -->
152
+
153
+
154
+ </div>
155
+
156
+
157
+ <div id="validator-badges">
158
+ <p><small><a href="http://validator.w3.org/check/referer">[Validate]</a></small></p>
159
+ </div>
160
+
161
+ </body>
162
+ </html>