cloudapp 0.0.14 → 0.0.15

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.
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- cloudapp (0.0.14)
4
+ cloudapp (0.0.15)
5
5
  addressable
6
6
  faraday (~> 0.8.0.rc2)
7
7
  gli
@@ -35,7 +35,7 @@ GEM
35
35
  link_header (0.0.5)
36
36
  mime-types (1.17.2)
37
37
  multi_json (1.0.4)
38
- multipart-post (1.1.4)
38
+ multipart-post (1.1.5)
39
39
  mustache (0.99.4)
40
40
  rake (0.9.2.2)
41
41
  rdiscount (1.6.8)
data/bin/cloudapp CHANGED
@@ -10,32 +10,33 @@ require 'yaml'
10
10
  require 'cloudapp'
11
11
  require 'cloudapp/drop_presenter'
12
12
  require 'cloudapp/drop_service'
13
- require 'cloudapp/identity'
14
13
 
15
14
 
16
15
  def service
17
- CloudApp::DropService.as_identity(identity).tap do |service|
18
- service.logger.level = Logger::WARN
19
- end
16
+ CloudApp::DropService.using_token token
17
+ end
18
+
19
+ def token_for_account(email, password)
20
+ CloudApp::DropService.retrieve_token email, password
20
21
  end
21
22
 
22
23
  def config_file
23
24
  File.expand_path '~/.cloudapprc'
24
25
  end
25
26
 
26
- def identity
27
+ def token
27
28
  return unless File.exist?(config_file)
28
29
  config = File.open(config_file) {|file| YAML::load(file) }
29
- CloudApp::Identity.from_config config
30
+ config[:token]
30
31
  end
31
32
 
32
- def save_identity(email, password)
33
+ def save_token(token)
33
34
  File.open(config_file, 'w', 0600) do |file|
34
- YAML.dump({ email: email, password: password }, file)
35
+ YAML.dump({ token: token }, file)
35
36
  end
36
37
  end
37
38
 
38
- def clear_identity
39
+ def clear_token
39
40
  return unless File.exist?(config_file)
40
41
  File.delete(config_file)
41
42
  end
@@ -44,24 +45,16 @@ def color(*args)
44
45
  HighLine.new.color *args
45
46
  end
46
47
 
47
- def plain_text_credentials_warning
48
- """
49
- #{ color('WARNING', :bold) }
50
- Your credentials are stored #{ color('in plain text', :bold) } at ~/.cloudapprc. If this worries you,
51
- keep an eye on issue #10 (https://github.com/cloudapp/cloudapp/issues/10). Some
52
- sort of non-plaintext authentication is planned before 1.0 is released.
53
- """
54
- end
55
-
56
48
  def check_for_credentials
57
- return unless identity.nil?
49
+ return unless token.nil?
58
50
 
59
- $stdout.puts [ plain_text_credentials_warning,
60
- 'Sign into your CloudApp account.' ]
51
+ $stdout.puts 'Sign into your CloudApp account.'
61
52
 
62
53
  email = HighLine.new.ask('Email: ')
63
54
  password = HighLine.new.ask('Password: ') {|q| q.echo = false }
64
- save_identity email, password
55
+ token = CloudApp::DropService.retrieve_token email, password
56
+
57
+ save_token token
65
58
  end
66
59
 
67
60
  def format_from(global_options)
@@ -178,7 +171,7 @@ end
178
171
  on_error do |e|
179
172
  if CloudApp::DropService::UNAUTHORIZED === e
180
173
  $stderr.puts color('Email and password given are incorrect.', :bold)
181
- clear_identity
174
+ clear_token
182
175
  false
183
176
  else
184
177
  true
data/cloudapp.gemspec CHANGED
@@ -13,8 +13,8 @@ Gem::Specification.new do |s|
13
13
  ## If your rubyforge_project name is different, then edit it and comment out
14
14
  ## the sub! line in the Rakefile
15
15
  s.name = 'cloudapp'
16
- s.version = '0.0.14'
17
- s.date = '2012-02-10'
16
+ s.version = '0.0.15'
17
+ s.date = '2012-02-14'
18
18
  s.rubyforge_project = 'cloudapp'
19
19
 
20
20
  ## Make sure your summary is short. The description may be as long
@@ -71,7 +71,6 @@ Gem::Specification.new do |s|
71
71
  bin/cloudapp
72
72
  cloudapp.gemspec
73
73
  lib/cloudapp.rb
74
- lib/cloudapp/digestable_typhoeus.rb
75
74
  lib/cloudapp/drop.rb
76
75
  lib/cloudapp/drop_presenter.rb
77
76
  lib/cloudapp/drop_service.rb
@@ -89,6 +88,8 @@ Gem::Specification.new do |s|
89
88
  spec/cassettes/DropService/list_drops_with_limit.yml
90
89
  spec/cassettes/DropService/list_trash.yml
91
90
  spec/cassettes/DropService/list_trash_with_bad_credentials.yml
91
+ spec/cassettes/DropService/retrieve_token.yml
92
+ spec/cassettes/DropService/retrieve_token_with_bad_credentials.yml
92
93
  spec/cassettes/DropService/upload_file.yml
93
94
  spec/cassettes/DropService/upload_public_file.yml
94
95
  spec/cloudapp/drop_presenter_spec.rb
@@ -1,15 +1,16 @@
1
1
  require 'leadlight'
2
2
  require 'addressable/uri'
3
- require 'cloudapp/digestable_typhoeus'
4
3
  require 'cloudapp/drop'
5
4
 
6
5
  # Leadlight service for mucking about with drops in the CloudApp API.
7
6
  #
8
7
  # Usage:
9
8
  #
10
- # # Create a new service passing CloudApp account credentials:
11
- # identity = Identity.from_config email: 'arthur@dent.com', password: 'towel'
12
- # service = DropSerivce.as_identity identity
9
+ # # Retrieve an account's token
10
+ # token = DropSerivce.retrieve_token 'arthur@dent.com', 'towel'
11
+ #
12
+ # # Create a new service passing CloudApp account token:
13
+ # service = DropSerivce.using_token token
13
14
  #
14
15
  # # List all drops:
15
16
  # service.drops
@@ -46,7 +47,7 @@ module CloudApp
46
47
  Leadlight.build_connection_common do |c|
47
48
  c.request :multipart
48
49
  c.request :url_encoded
49
- c.adapter :digestable_typhoeus
50
+ c.adapter :typhoeus
50
51
  end
51
52
 
52
53
  Leadlight.build_service(self) do
@@ -106,17 +107,35 @@ module CloudApp
106
107
  end
107
108
  end
108
109
 
109
- def identity=(identity)
110
- connection.options[:authentication] = { username: identity.email,
111
- password: identity.password }
110
+ def initialize(*args)
111
+ super
112
+ logger.level = Logger::WARN
112
113
  end
113
114
 
114
- def self.as_identity(identity, service_options = {})
115
- new(service_options).tap do |service|
116
- service.identity = identity
115
+ def self.using_token(token)
116
+ new.tap do |service|
117
+ service.token = token
117
118
  end
118
119
  end
119
120
 
121
+ def self.retrieve_token(email, password)
122
+ new.token email, password
123
+ end
124
+
125
+
126
+ def token=(token)
127
+ connection.token_auth token
128
+ end
129
+
130
+ def token(email, password)
131
+ post('/account/token', {}, { email: email, password: password }).
132
+ raise_on_error.submit_and_wait do |response|
133
+ return response['token']
134
+ end
135
+ rescue MultiJson::DecodeError => e
136
+ raise UNAUTHORIZED
137
+ end
138
+
120
139
  def drops(count = 20)
121
140
  root.paginated_drops(per_page: count)['items'].map do |drop_data|
122
141
  Drop.new drop_data
data/lib/cloudapp.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module CloudApp
2
- VERSION = '0.0.14'
2
+ VERSION = '0.0.15'
3
3
  end
@@ -2,69 +2,56 @@
2
2
  http_interactions:
3
3
  - request:
4
4
  method: get
5
- uri: http://arthur%40dent.com:towel@my.cl.ly/
5
+ uri: http://my.cl.ly/
6
6
  body: ''
7
7
  headers:
8
+ Authorization:
9
+ - Token token="8762f6679f8d001016b2"
8
10
  Accept:
9
11
  - application/json, text/x-yaml, application/xml, application/xhtml+xml, text/html,
10
12
  text/plain
11
13
  response:
12
14
  status:
13
15
  code: 200
14
- message: Unauthorized
16
+ message: OK
15
17
  headers:
16
18
  Cache-Control:
17
19
  - max-age=0, private, must-revalidate
18
- - no-cache
19
20
  Content-Type:
20
21
  - application/json; charset=utf-8
21
- - application/json; charset=utf-8
22
+ Etag:
23
+ - ! '"857fd84f26ef95ce47d9d41d1b235cf8"'
24
+ Last-Modified:
25
+ - Tue, 14 Feb 2012 14:24:16 GMT
22
26
  Server:
23
- - thin 1.2.11 codename Bat-Shit Crazy
24
- - thin 1.2.11 codename Bat-Shit Crazy
25
- Www-Authenticate:
26
- - Digest realm="Application", qop="auth", algorithm=MD5, nonce="MTMyODU0ODcyNTowMjVlMDlhMWM1ZTAzNDAzNmZhNzBhMTZiMjNmOGRjOA==",
27
- opaque="9eb56ccb2e8b017ae42bdb4739690863"
27
+ - thin 1.3.1 codename Triple Espresso
28
28
  X-Runtime:
29
- - '0.002545'
30
- - '0.177340'
29
+ - '0.087165'
31
30
  X-Ua-Compatible:
32
31
  - IE=Edge,chrome=1
33
- - IE=Edge,chrome=1
34
32
  Transfer-Encoding:
35
33
  - chunked
36
- - chunked
37
34
  Connection:
38
35
  - keep-alive
39
- - keep-alive
40
- Etag:
41
- - ! '"7627909c5075c221977952673420bd4b"'
42
- Last-Modified:
43
- - Mon, 06 Feb 2012 17:15:02 GMT
44
- Set-Cookie:
45
- - _engine_session=BAh7CEkiD3Nlc3Npb25faWQGOgZFRiIlYzExNDk0N2JkYTE5MmJmMWFlMDA0NTRmZjgzM2JmMGNJIhV1c2VyX2NyZWRlbnRpYWxzBjsARkkiAYAxYTM5Mjg4MzhlZDcwY2UyOGVkYWRkOGE1MDU2NWU1MzFlNzlhOTg4ODQxZmY5NTkxMjAzNWNhYTU1ZmIxZTZhODliMmMzN2VlYzkzMzFmOWE2ZDRjN2Y1ZDM4ZDIwNGE5NjM1ZTI0YTAxNzM1NDNiYThkNDlhNDkxY2M5NDM3MAY7AFRJIhh1c2VyX2NyZWRlbnRpYWxzX2lkBjsARmkDp4EB--9680bc44604bbba4d002934ccf9e14a751130def;
46
- path=/; HttpOnly
47
- - user_credentials=1a3928838ed70ce28edadd8a50565e531e79a988841ff95912035caa55fb1e6a89b2c37eec9331f9a6d4c7f5d38d204a9635e24a0173543ba8d49a491cc94370%3A%3A98727;
48
- path=/; expires=Sun, 06-May-2012 17:18:45 GMT
49
- body: ! '[{"created_at":"2012-02-06T17:14:45Z","deleted_at":null,"id":14878865,"item_type":"bookmark","name":null,"private":true,"redirect_url":"http://getcloudapp.com","remote_url":null,"source":null,"updated_at":"2012-02-06T17:14:45Z","view_counter":0,"href":"http://my.cl.ly/items/14878865","url":"http://cl.ly/1U2a1B460N0V2o1j391i","content_url":"http://cl.ly/1U2a1B460N0V2o1j391i","icon":"http://assets.my.cld.me/images/item-types/bookmark.png","subscribed":false},{"created_at":"2012-02-06T17:04:10Z","deleted_at":null,"id":14878378,"item_type":"bookmark","name":null,"private":true,"redirect_url":"http://getcloudapp.com","remote_url":null,"source":null,"updated_at":"2012-02-06T17:04:10Z","view_counter":0,"href":"http://my.cl.ly/items/14878378","url":"http://cl.ly/1B2q2C1l1m2j0y0b320x","content_url":"http://cl.ly/1B2q2C1l1m2j0y0b320x","icon":"http://assets.my.cld.me/images/item-types/bookmark.png","subscribed":false},{"created_at":"2012-01-12T20:49:23Z","deleted_at":null,"id":13950097,"item_type":"image","name":"favicon.ico","private":true,"redirect_url":null,"remote_url":"http://f.cl.ly/items/0p2t030e0a1N091o2t3o/favicon.ico","source":"Mozilla/5.0
36
+ body: ! '[{"created_at":"2012-01-12T20:49:23Z","deleted_at":null,"id":13950097,"item_type":"image","name":"favicon.ico","private":true,"redirect_url":null,"remote_url":"http://f.cl.ly/items/0p2t030e0a1N091o2t3o/favicon.ico","source":"Mozilla/5.0
50
37
  (Macintosh; Intel Mac OS X 10_7_2) AppleWebKit/535.7 (KHTML, like Gecko) Chrome/16.0.912.75
51
- Safari/535.7","updated_at":"2012-01-18T23:25:10Z","view_counter":2,"href":"http://my.cl.ly/items/13950097","url":"http://cl.ly/0P281s1u1J1p47241B3o","content_url":"http://cl.ly/0P281s1u1J1p47241B3o/favicon.ico","icon":"http://assets.my.cld.me/images/item-types/image.png","thumbnail_url":"http://thumbs.cl.ly/0P281s1u1J1p47241B3o","subscribed":false,"download_url":"http://api.cld.me/0P281s1u1J1p47241B3o/download/favicon.ico"},{"created_at":"2012-01-12T20:49:13Z","deleted_at":null,"id":13950087,"item_type":"image","name":"\u00f8\u00e6\u00d8\u00fc\u00f6\u00e4\u00df!?&+-.jpeg","private":true,"redirect_url":null,"remote_url":"http://f.cl.ly/items/0p2t030e0a1N091o2t3o/%C3%B8%C3%A6%C3%98%C3%BC%C3%B6%C3%A4%C3%9F!%3F&%2B-.jpeg","source":"Mozilla/5.0
38
+ Safari/535.7","updated_at":"2012-02-07T15:34:17Z","view_counter":3,"href":"http://my.cl.ly/items/13950097","url":"http://cl.ly/0P281s1u1J1p47241B3o","content_url":"http://cl.ly/0P281s1u1J1p47241B3o/favicon.ico","icon":"http://assets.my.cld.me/images/item-types/image.png","thumbnail_url":"http://thumbs.cl.ly/0P281s1u1J1p47241B3o","subscribed":false,"download_url":"http://api.cld.me/0P281s1u1J1p47241B3o/download/favicon.ico"},{"created_at":"2012-01-12T20:49:13Z","deleted_at":null,"id":13950087,"item_type":"image","name":"\u00f8\u00e6\u00d8\u00fc\u00f6\u00e4\u00df!?&+-.jpeg","private":true,"redirect_url":null,"remote_url":"http://f.cl.ly/items/0p2t030e0a1N091o2t3o/%C3%B8%C3%A6%C3%98%C3%BC%C3%B6%C3%A4%C3%9F!%3F&%2B-.jpeg","source":"Mozilla/5.0
52
39
  (Macintosh; Intel Mac OS X 10_7_2) AppleWebKit/535.7 (KHTML, like Gecko) Chrome/16.0.912.75
53
40
  Safari/535.7","updated_at":"2012-01-18T23:25:10Z","view_counter":6,"href":"http://my.cl.ly/items/13950087","url":"http://cl.ly/2n3a3S3f0J2w3X453r3L","content_url":"http://cl.ly/2n3a3S3f0J2w3X453r3L/%C3%B8%C3%A6%C3%98%C3%BC%C3%B6%C3%A4%C3%9F!%3F&%2B-.jpeg","icon":"http://assets.my.cld.me/images/item-types/image.png","thumbnail_url":"http://thumbs.cl.ly/2n3a3S3f0J2w3X453r3L","subscribed":false,"download_url":"http://api.cld.me/2n3a3S3f0J2w3X453r3L/download/%C3%B8%C3%A6%C3%98%C3%BC%C3%B6%C3%A4%C3%9F!%3F&%2B-.jpeg"},{"created_at":"2012-01-12T20:48:03Z","deleted_at":null,"id":13950015,"item_type":"bookmark","name":"The
54
41
  Hitchhiker''s Guide to the Galaxy","private":true,"redirect_url":"http://en.wikipedia.org/wiki/The_Hitchhiker''s_Guide_to_the_Galaxy","remote_url":null,"source":"Mozilla/5.0
55
42
  (Macintosh; Intel Mac OS X 10_7_2) AppleWebKit/535.7 (KHTML, like Gecko) Chrome/16.0.912.75
56
- Safari/535.7","updated_at":"2012-01-18T23:25:11Z","view_counter":3,"href":"http://my.cl.ly/items/13950015","url":"http://cl.ly/3I28311d3n3S0x3R3k2Y","content_url":"http://cl.ly/3I28311d3n3S0x3R3k2Y","icon":"http://assets.my.cld.me/images/item-types/bookmark.png","subscribed":false},{"created_at":"2012-01-12T20:45:24Z","deleted_at":null,"id":13949886,"item_type":"audio","name":"Epic
43
+ Safari/535.7","updated_at":"2012-02-07T15:34:23Z","view_counter":4,"href":"http://my.cl.ly/items/13950015","url":"http://cl.ly/3I28311d3n3S0x3R3k2Y","content_url":"http://cl.ly/3I28311d3n3S0x3R3k2Y","icon":"http://assets.my.cld.me/images/item-types/bookmark.png","subscribed":false},{"created_at":"2012-01-12T20:45:24Z","deleted_at":null,"id":13949886,"item_type":"audio","name":"Epic
57
44
  Sax Guy NES Remix.mp3","private":true,"redirect_url":null,"remote_url":"http://f.cl.ly/items/0p2t030e0a1N091o2t3o/Epic%20Sax%20Guy%20NES%20Remix.mp3","source":"Mozilla/5.0
58
45
  (Macintosh; Intel Mac OS X 10_7_2) AppleWebKit/535.7 (KHTML, like Gecko) Chrome/16.0.912.75
59
46
  Safari/535.7","updated_at":"2012-01-12T20:45:24Z","view_counter":0,"href":"http://my.cl.ly/items/13949886","url":"http://cl.ly/322M3q1t261o30012s32","content_url":"http://cl.ly/322M3q1t261o30012s32/Epic%20Sax%20Guy%20NES%20Remix.mp3","icon":"http://assets.my.cld.me/images/item-types/audio.png","subscribed":false,"download_url":"http://api.cld.me/322M3q1t261o30012s32/download/Epic%20Sax%20Guy%20NES%20Remix.mp3"},{"created_at":"2012-01-12T20:45:05Z","deleted_at":null,"id":13949869,"item_type":"text","name":"2011-05-03-cloudapp-1.5-released.md","private":true,"redirect_url":null,"remote_url":"http://f.cl.ly/items/0p2t030e0a1N091o2t3o/2011-05-03-cloudapp-1.5-released.md","source":"Mozilla/5.0
60
47
  (Macintosh; Intel Mac OS X 10_7_2) AppleWebKit/535.7 (KHTML, like Gecko) Chrome/16.0.912.75
61
- Safari/535.7","updated_at":"2012-02-05T22:45:02Z","view_counter":3,"href":"http://my.cl.ly/items/13949869","url":"http://cl.ly/0s1o3A46290S1s331G28","content_url":"http://cl.ly/0s1o3A46290S1s331G28/2011-05-03-cloudapp-1.5-released.md","icon":"http://assets.my.cld.me/images/item-types/text.png","subscribed":false,"download_url":"http://api.cld.me/0s1o3A46290S1s331G28/download/2011-05-03-cloudapp-1.5-released.md"},{"created_at":"2012-01-12T20:44:58Z","deleted_at":null,"id":13949858,"item_type":"image","name":"Cover.jpeg","private":true,"redirect_url":null,"remote_url":"http://f.cl.ly/items/0p2t030e0a1N091o2t3o/Cover.jpeg","source":"Mozilla/5.0
48
+ Safari/535.7","updated_at":"2012-02-07T15:35:28Z","view_counter":4,"href":"http://my.cl.ly/items/13949869","url":"http://cl.ly/0s1o3A46290S1s331G28","content_url":"http://cl.ly/0s1o3A46290S1s331G28/2011-05-03-cloudapp-1.5-released.md","icon":"http://assets.my.cld.me/images/item-types/text.png","subscribed":false,"download_url":"http://api.cld.me/0s1o3A46290S1s331G28/download/2011-05-03-cloudapp-1.5-released.md"},{"created_at":"2012-01-12T20:44:58Z","deleted_at":null,"id":13949858,"item_type":"image","name":"Cover.jpeg","private":true,"redirect_url":null,"remote_url":"http://f.cl.ly/items/0p2t030e0a1N091o2t3o/Cover.jpeg","source":"Mozilla/5.0
62
49
  (Macintosh; Intel Mac OS X 10_7_2) AppleWebKit/535.7 (KHTML, like Gecko) Chrome/16.0.912.75
63
- Safari/535.7","updated_at":"2012-01-12T20:44:58Z","view_counter":0,"href":"http://my.cl.ly/items/13949858","url":"http://cl.ly/1x200A0m3v101d1n2O1u","content_url":"http://cl.ly/1x200A0m3v101d1n2O1u/Cover.jpeg","icon":"http://assets.my.cld.me/images/item-types/image.png","thumbnail_url":"http://thumbs.cl.ly/1x200A0m3v101d1n2O1u","subscribed":false,"download_url":"http://api.cld.me/1x200A0m3v101d1n2O1u/download/Cover.jpeg"},{"created_at":"2012-01-12T20:44:54Z","deleted_at":null,"id":13949855,"item_type":"text","name":"Chapter
50
+ Safari/535.7","updated_at":"2012-02-07T15:34:41Z","view_counter":1,"href":"http://my.cl.ly/items/13949858","url":"http://cl.ly/1x200A0m3v101d1n2O1u","content_url":"http://cl.ly/1x200A0m3v101d1n2O1u/Cover.jpeg","icon":"http://assets.my.cld.me/images/item-types/image.png","thumbnail_url":"http://thumbs.cl.ly/1x200A0m3v101d1n2O1u","subscribed":false,"download_url":"http://api.cld.me/1x200A0m3v101d1n2O1u/download/Cover.jpeg"},{"created_at":"2012-01-12T20:44:54Z","deleted_at":null,"id":13949855,"item_type":"text","name":"Chapter
64
51
  1.md","private":true,"redirect_url":null,"remote_url":"http://f.cl.ly/items/0p2t030e0a1N091o2t3o/Chapter%201.md","source":"Mozilla/5.0
65
52
  (Macintosh; Intel Mac OS X 10_7_2) AppleWebKit/535.7 (KHTML, like Gecko) Chrome/16.0.912.75
66
- Safari/535.7","updated_at":"2012-02-05T22:44:14Z","view_counter":6,"href":"http://my.cl.ly/items/13949855","url":"http://cl.ly/3U3d3w3r0G0T1T1M0d2T","content_url":"http://cl.ly/3U3d3w3r0G0T1T1M0d2T/Chapter%201.md","icon":"http://assets.my.cld.me/images/item-types/text.png","subscribed":false,"download_url":"http://api.cld.me/3U3d3w3r0G0T1T1M0d2T/download/Chapter%201.md"},{"created_at":"2012-01-12T20:39:04Z","deleted_at":null,"id":13949577,"item_type":"bookmark","name":"Link
67
- 40","private":true,"redirect_url":"http://getcloudapp.com","remote_url":null,"source":null,"updated_at":"2012-01-18T18:22:29Z","view_counter":2,"href":"http://my.cl.ly/items/13949577","url":"http://cl.ly/2O2J1h3t0H0v1I1u0t0P","content_url":"http://cl.ly/2O2J1h3t0H0v1I1u0t0P","icon":"http://assets.my.cld.me/images/item-types/bookmark.png","subscribed":false},{"created_at":"2012-01-12T20:39:04Z","deleted_at":null,"id":13949576,"item_type":"bookmark","name":"Link
53
+ Safari/535.7","updated_at":"2012-02-10T02:09:36Z","view_counter":8,"href":"http://my.cl.ly/items/13949855","url":"http://cl.ly/3U3d3w3r0G0T1T1M0d2T","content_url":"http://cl.ly/3U3d3w3r0G0T1T1M0d2T/Chapter%201.md","icon":"http://assets.my.cld.me/images/item-types/text.png","subscribed":false,"download_url":"http://api.cld.me/3U3d3w3r0G0T1T1M0d2T/download/Chapter%201.md"},{"created_at":"2012-01-12T20:39:04Z","deleted_at":null,"id":13949577,"item_type":"bookmark","name":"Link
54
+ 40","private":true,"redirect_url":"http://getcloudapp.com","remote_url":null,"source":null,"updated_at":"2012-02-07T15:35:45Z","view_counter":3,"href":"http://my.cl.ly/items/13949577","url":"http://cl.ly/2O2J1h3t0H0v1I1u0t0P","content_url":"http://cl.ly/2O2J1h3t0H0v1I1u0t0P","icon":"http://assets.my.cld.me/images/item-types/bookmark.png","subscribed":false},{"created_at":"2012-01-12T20:39:04Z","deleted_at":null,"id":13949576,"item_type":"bookmark","name":"Link
68
55
  39","private":true,"redirect_url":"http://getcloudapp.com","remote_url":null,"source":null,"updated_at":"2012-01-12T20:39:04Z","view_counter":0,"href":"http://my.cl.ly/items/13949576","url":"http://cl.ly/2t062C1h393d2L452U2Z","content_url":"http://cl.ly/2t062C1h393d2L452U2Z","icon":"http://assets.my.cld.me/images/item-types/bookmark.png","subscribed":false},{"created_at":"2012-01-12T20:39:04Z","deleted_at":null,"id":13949575,"item_type":"bookmark","name":"Link
69
56
  38","private":true,"redirect_url":"http://getcloudapp.com","remote_url":null,"source":null,"updated_at":"2012-01-12T20:39:04Z","view_counter":0,"href":"http://my.cl.ly/items/13949575","url":"http://cl.ly/1S131o2v2J3z2r0A0Q0W","content_url":"http://cl.ly/1S131o2v2J3z2r0A0Q0W","icon":"http://assets.my.cld.me/images/item-types/bookmark.png","subscribed":false},{"created_at":"2012-01-12T20:39:04Z","deleted_at":null,"id":13949574,"item_type":"bookmark","name":"Link
70
57
  37","private":true,"redirect_url":"http://getcloudapp.com","remote_url":null,"source":null,"updated_at":"2012-01-12T20:39:04Z","view_counter":0,"href":"http://my.cl.ly/items/13949574","url":"http://cl.ly/423a3W361X1l1i2w0q30","content_url":"http://cl.ly/423a3W361X1l1i2w0q30","icon":"http://assets.my.cld.me/images/item-types/bookmark.png","subscribed":false},{"created_at":"2012-01-12T20:39:04Z","deleted_at":null,"id":13949573,"item_type":"bookmark","name":"Link
@@ -74,16 +61,20 @@ http_interactions:
74
61
  33","private":true,"redirect_url":"http://getcloudapp.com","remote_url":null,"source":null,"updated_at":"2012-01-12T20:39:04Z","view_counter":0,"href":"http://my.cl.ly/items/13949570","url":"http://cl.ly/1W2f000i091B2128303J","content_url":"http://cl.ly/1W2f000i091B2128303J","icon":"http://assets.my.cld.me/images/item-types/bookmark.png","subscribed":false},{"created_at":"2012-01-12T20:39:04Z","deleted_at":null,"id":13949568,"item_type":"bookmark","name":"Link
75
62
  32","private":true,"redirect_url":"http://getcloudapp.com","remote_url":null,"source":null,"updated_at":"2012-01-12T20:39:04Z","view_counter":0,"href":"http://my.cl.ly/items/13949568","url":"http://cl.ly/333d0V1B403M0d2f2o09","content_url":"http://cl.ly/333d0V1B403M0d2f2o09","icon":"http://assets.my.cld.me/images/item-types/bookmark.png","subscribed":false},{"created_at":"2012-01-12T20:39:03Z","deleted_at":null,"id":13949567,"item_type":"bookmark","name":"Link
76
63
  31","private":true,"redirect_url":"http://getcloudapp.com","remote_url":null,"source":null,"updated_at":"2012-01-12T20:39:03Z","view_counter":0,"href":"http://my.cl.ly/items/13949567","url":"http://cl.ly/260m2h3T0O2P272k2F3h","content_url":"http://cl.ly/260m2h3T0O2P272k2F3h","icon":"http://assets.my.cld.me/images/item-types/bookmark.png","subscribed":false},{"created_at":"2012-01-12T20:39:03Z","deleted_at":null,"id":13949566,"item_type":"bookmark","name":"Link
77
- 30","private":true,"redirect_url":"http://getcloudapp.com","remote_url":null,"source":null,"updated_at":"2012-01-12T20:39:03Z","view_counter":0,"href":"http://my.cl.ly/items/13949566","url":"http://cl.ly/411H1g1a3y2T2B3U322x","content_url":"http://cl.ly/411H1g1a3y2T2B3U322x","icon":"http://assets.my.cld.me/images/item-types/bookmark.png","subscribed":false}]'
64
+ 30","private":true,"redirect_url":"http://getcloudapp.com","remote_url":null,"source":null,"updated_at":"2012-01-12T20:39:03Z","view_counter":0,"href":"http://my.cl.ly/items/13949566","url":"http://cl.ly/411H1g1a3y2T2B3U322x","content_url":"http://cl.ly/411H1g1a3y2T2B3U322x","icon":"http://assets.my.cld.me/images/item-types/bookmark.png","subscribed":false},{"created_at":"2012-01-12T20:39:03Z","deleted_at":null,"id":13949565,"item_type":"bookmark","name":"Link
65
+ 29","private":true,"redirect_url":"http://getcloudapp.com","remote_url":null,"source":null,"updated_at":"2012-01-12T20:39:03Z","view_counter":0,"href":"http://my.cl.ly/items/13949565","url":"http://cl.ly/3B1V3H0c0c3s3O2u1Q0c","content_url":"http://cl.ly/3B1V3H0c0c3s3O2u1Q0c","icon":"http://assets.my.cld.me/images/item-types/bookmark.png","subscribed":false},{"created_at":"2012-01-12T20:39:03Z","deleted_at":null,"id":13949564,"item_type":"bookmark","name":"Link
66
+ 28","private":true,"redirect_url":"http://getcloudapp.com","remote_url":null,"source":null,"updated_at":"2012-01-12T20:39:03Z","view_counter":0,"href":"http://my.cl.ly/items/13949564","url":"http://cl.ly/1w2e1K3j0T14193P2y1j","content_url":"http://cl.ly/1w2e1K3j0T14193P2y1j","icon":"http://assets.my.cld.me/images/item-types/bookmark.png","subscribed":false}]'
78
67
  http_version:
79
- recorded_at: Mon, 06 Feb 2012 17:18:46 GMT
68
+ recorded_at: Tue, 14 Feb 2012 14:35:01 GMT
80
69
  - request:
81
70
  method: post
82
- uri: http://arthur%40dent.com:towel@my.cl.ly/items?api_version=1.2
71
+ uri: http://my.cl.ly/items?api_version=1.2
83
72
  body: ! '{"item":{"redirect_url":"http://getcloudapp.com"}}'
84
73
  headers:
85
74
  Content-Type:
86
75
  - application/json
76
+ Authorization:
77
+ - Token token="8762f6679f8d001016b2"
87
78
  Accept:
88
79
  - application/json, text/x-yaml, application/xml, application/xhtml+xml, text/html,
89
80
  text/plain
@@ -97,67 +88,18 @@ http_interactions:
97
88
  Content-Type:
98
89
  - application/json; charset=utf-8
99
90
  Etag:
100
- - ! '"f40a480ca81fe03b5eb7ebd0717a2cd5"'
91
+ - ! '"ac70569a55f8f0d602f4322ce4b40da4"'
101
92
  Server:
102
- - thin 1.2.11 codename Bat-Shit Crazy
103
- Set-Cookie:
104
- - _engine_session=BAh7CEkiD3Nlc3Npb25faWQGOgZFRiIlYTAzNDE0ZWM0MWY4YjQ3YzViODJkYjhmZTE3YzViOTdJIhV1c2VyX2NyZWRlbnRpYWxzBjsARkkiAYAxYTM5Mjg4MzhlZDcwY2UyOGVkYWRkOGE1MDU2NWU1MzFlNzlhOTg4ODQxZmY5NTkxMjAzNWNhYTU1ZmIxZTZhODliMmMzN2VlYzkzMzFmOWE2ZDRjN2Y1ZDM4ZDIwNGE5NjM1ZTI0YTAxNzM1NDNiYThkNDlhNDkxY2M5NDM3MAY7AFRJIhh1c2VyX2NyZWRlbnRpYWxzX2lkBjsARmkDp4EB--ac346691b95bf1fbb9ae4398c3f57e1fb603e89f;
105
- path=/; HttpOnly
106
- - user_credentials=1a3928838ed70ce28edadd8a50565e531e79a988841ff95912035caa55fb1e6a89b2c37eec9331f9a6d4c7f5d38d204a9635e24a0173543ba8d49a491cc94370%3A%3A98727;
107
- path=/; expires=Sun, 06-May-2012 17:18:46 GMT
93
+ - thin 1.3.1 codename Triple Espresso
108
94
  X-Runtime:
109
- - '0.039854'
95
+ - '0.057528'
110
96
  X-Ua-Compatible:
111
97
  - IE=Edge,chrome=1
112
98
  Transfer-Encoding:
113
99
  - chunked
114
100
  Connection:
115
101
  - keep-alive
116
- body: ! '{"created_at":"2012-02-06T17:18:46Z","deleted_at":null,"id":14879058,"item_type":"bookmark","name":null,"private":true,"redirect_url":"http://getcloudapp.com","remote_url":null,"source":null,"updated_at":"2012-02-06T17:18:46Z","view_counter":0,"href":"http://my.cl.ly/items/14879058","url":"http://cl.ly/0n3n1m0I2i3O2m2E0E0e","content_url":"http://cl.ly/0n3n1m0I2i3O2m2E0E0e","icon":"http://assets.my.cld.me/images/item-types/bookmark.png","subscribed":false}'
117
- http_version:
118
- recorded_at: Mon, 06 Feb 2012 17:18:46 GMT
119
- - request:
120
- method: get
121
- uri: http://arthur%40dent.com:towel@my.cl.ly/
122
- body: ''
123
- headers:
124
- Accept:
125
- - application/json, text/x-yaml, application/xml, application/xhtml+xml, text/html,
126
- text/plain
127
- response:
128
- status:
129
- code: 401
130
- message: Unauthorized
131
- headers:
132
- Cache-Control:
133
- - no-cache
134
- - no-cache
135
- Content-Type:
136
- - application/json; charset=utf-8
137
- - application/json; charset=utf-8
138
- Server:
139
- - thin 1.2.11 codename Bat-Shit Crazy
140
- - thin 1.2.11 codename Bat-Shit Crazy
141
- Www-Authenticate:
142
- - Digest realm="Application", qop="auth", algorithm=MD5, nonce="MTMyODU0ODczNjo2MmU4ZTM1NDRhNGQxNDQ5NDY1NTE4Y2M2NGI2NTMwNQ==",
143
- opaque="9eb56ccb2e8b017ae42bdb4739690863"
144
- - Digest realm="Application", qop="auth", algorithm=MD5, nonce="MTMyODU0ODczNjo2MmU4ZTM1NDRhNGQxNDQ5NDY1NTE4Y2M2NGI2NTMwNQ==",
145
- opaque="9eb56ccb2e8b017ae42bdb4739690863"
146
- X-Runtime:
147
- - '0.002251'
148
- - '0.004127'
149
- X-Ua-Compatible:
150
- - IE=Edge,chrome=1
151
- - IE=Edge,chrome=1
152
- Transfer-Encoding:
153
- - chunked
154
- - chunked
155
- Connection:
156
- - keep-alive
157
- - keep-alive
158
- body: ! 'HTTP Digest: Access denied.
159
-
160
- '
102
+ body: ! '{"created_at":"2012-02-14T14:35:01Z","deleted_at":null,"id":15182703,"item_type":"bookmark","name":null,"private":true,"redirect_url":"http://getcloudapp.com","remote_url":null,"source":null,"updated_at":"2012-02-14T14:35:01Z","view_counter":0,"href":"http://my.cl.ly/items/15182703","url":"http://cl.ly/0F2c181b3Q30371t2F3g","content_url":"http://cl.ly/0F2c181b3Q30371t2F3g","icon":"http://assets.my.cld.me/images/item-types/bookmark.png","subscribed":false}'
161
103
  http_version:
162
- recorded_at: Mon, 06 Feb 2012 17:18:56 GMT
104
+ recorded_at: Tue, 14 Feb 2012 14:35:01 GMT
163
105
  recorded_with: VCR 2.0.0.rc1
@@ -2,9 +2,11 @@
2
2
  http_interactions:
3
3
  - request:
4
4
  method: get
5
- uri: http://ford%40prefect:earthling@my.cl.ly/
5
+ uri: http://my.cl.ly/
6
6
  body: ''
7
7
  headers:
8
+ Authorization:
9
+ - Token token="bad-token"
8
10
  Accept:
9
11
  - application/json, text/x-yaml, application/xml, application/xhtml+xml, text/html,
10
12
  text/plain
@@ -15,33 +17,23 @@ http_interactions:
15
17
  headers:
16
18
  Cache-Control:
17
19
  - no-cache
18
- - no-cache
19
20
  Content-Type:
20
21
  - application/json; charset=utf-8
21
- - application/json; charset=utf-8
22
22
  Server:
23
- - thin 1.2.11 codename Bat-Shit Crazy
24
- - thin 1.2.11 codename Bat-Shit Crazy
23
+ - thin 1.3.1 codename Triple Espresso
25
24
  Www-Authenticate:
26
- - Digest realm="Application", qop="auth", algorithm=MD5, nonce="MTMyODkwOTU2MDplMzk2NTJkOWFkMTllYzljODkyNGQ5Yjc2MmRiN2I5Mg==",
27
- opaque="9eb56ccb2e8b017ae42bdb4739690863"
28
- - Digest realm="Application", qop="auth", algorithm=MD5, nonce="MTMyODkwOTU2MDplMzk2NTJkOWFkMTllYzljODkyNGQ5Yjc2MmRiN2I5Mg==",
29
- opaque="9eb56ccb2e8b017ae42bdb4739690863"
25
+ - Token realm="Application"
30
26
  X-Runtime:
31
- - '0.004544'
32
- - '0.009808'
27
+ - '0.084830'
33
28
  X-Ua-Compatible:
34
29
  - IE=Edge,chrome=1
35
- - IE=Edge,chrome=1
36
30
  Transfer-Encoding:
37
31
  - chunked
38
- - chunked
39
32
  Connection:
40
33
  - keep-alive
41
- - keep-alive
42
- body: ! 'HTTP Digest: Access denied.
34
+ body: ! 'HTTP Token: Access denied.
43
35
 
44
36
  '
45
37
  http_version:
46
- recorded_at: Fri, 10 Feb 2012 21:32:40 GMT
38
+ recorded_at: Tue, 14 Feb 2012 14:44:20 GMT
47
39
  recorded_with: VCR 2.0.0.rc1