video_info 2.0.2 → 2.1.0

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 (51) hide show
  1. checksums.yaml +4 -4
  2. data/.travis.yml +6 -2
  3. data/README.md +2 -0
  4. data/lib/video_info.rb +1 -0
  5. data/lib/video_info/provider.rb +13 -0
  6. data/lib/video_info/providers/vimeo.rb +9 -1
  7. data/lib/video_info/providers/vkontakte.rb +16 -0
  8. data/lib/video_info/providers/youtube.rb +9 -1
  9. data/lib/video_info/version.rb +1 -1
  10. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/_available_/with_password_required_video/available_/.yml +50 -0
  11. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/_available_/with_this_video_does_not_exist_video/available_/.yml +50 -0
  12. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/_available_/with_valid_video/available_/.yml +54 -0
  13. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_video_898029/date/.yml +33 -26
  14. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_video_898029/description/.yml +32 -27
  15. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_video_898029/duration/.yml +32 -27
  16. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_video_898029/height/.yml +31 -26
  17. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_video_898029/keywords/.yml +32 -27
  18. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_video_898029/thumbnail_large/.yml +30 -25
  19. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_video_898029/thumbnail_medium/.yml +30 -25
  20. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_video_898029/thumbnail_small/.yml +31 -26
  21. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_video_898029/title/.yml +31 -26
  22. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_video_898029/view_count/.yml +31 -26
  23. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_video_898029/width/.yml +31 -26
  24. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vkontakte/_available_/with_invalid_video/available_/.yml +147 -0
  25. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vkontakte/_available_/with_valid_video/available_/.yml +1115 -0
  26. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vkontakte/with_video_video-54799401_165822734/title/.yml +1255 -1701
  27. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vkontakte/with_video_video39576223_108370515/description/.yml +1070 -1110
  28. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vkontakte/with_video_video39576223_108370515/duration/.yml +1070 -1110
  29. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vkontakte/with_video_video39576223_108370515/embed_code/.yml +1072 -1112
  30. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vkontakte/with_video_video39576223_108370515/embed_url/.yml +1072 -1112
  31. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vkontakte/with_video_video39576223_108370515/height/.yml +1070 -1110
  32. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vkontakte/with_video_video39576223_108370515/keywords/.yml +1070 -1110
  33. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vkontakte/with_video_video39576223_108370515/title/.yml +1029 -1110
  34. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vkontakte/with_video_video39576223_108370515/view_count/.yml +1070 -1110
  35. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vkontakte/with_video_video39576223_108370515/width/.yml +1070 -1110
  36. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Youtube/_available_/with_valid_video/available_/.yml +56 -0
  37. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Youtube/_available_/with_video_is_unavailable_video/available_/.yml +46 -0
  38. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Youtube/_available_/with_video_no_longer_available_due_to_a_copyright_claim_video/available_/.yml +46 -0
  39. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Youtube/with_video_mZqGqE0D0n4/date/.yml +16 -18
  40. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Youtube/with_video_mZqGqE0D0n4/description/.yml +17 -19
  41. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Youtube/with_video_mZqGqE0D0n4/duration/.yml +16 -18
  42. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Youtube/with_video_mZqGqE0D0n4/keywords/.yml +19 -19
  43. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Youtube/with_video_mZqGqE0D0n4/thumbnail_large/.yml +16 -18
  44. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Youtube/with_video_mZqGqE0D0n4/thumbnail_medium/.yml +16 -18
  45. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Youtube/with_video_mZqGqE0D0n4/thumbnail_small/.yml +16 -18
  46. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Youtube/with_video_mZqGqE0D0n4/title/.yml +16 -16
  47. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Youtube/with_video_mZqGqE0D0n4/view_count/.yml +16 -18
  48. data/spec/lib/video_info/providers/vimeo_spec.rb +17 -0
  49. data/spec/lib/video_info/providers/vkontakte_spec.rb +15 -2
  50. data/spec/lib/video_info/providers/youtube_spec.rb +18 -1
  51. metadata +39 -23
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 2d47ec2988bd9ee02646d61ac4da49a16cd44506
4
- data.tar.gz: c75a2daba684c399625c12f2bc41ca2869f37bea
3
+ metadata.gz: 21b79a7e562e3263f2f67aa38f96ffb252b1f019
4
+ data.tar.gz: eb59bbe4c81999eca8a85806d07a609f43df93cd
5
5
  SHA512:
6
- metadata.gz: b080c73210b34e0b700a7497d7ae1fd818c7e45e520f4fc97234a035db4fa38982f074affcaf3372935ea423bf7127742da03efabf645b32cdb370d40de6b1d5
7
- data.tar.gz: 607f4ad5c7e9c8ca0ef9e57b0f989aaea7cde900e303f215ce560dd2742349b9878118984a10a53f7ea14922e270e8d95380a1ecfede58c92833f5a3a538783e
6
+ metadata.gz: 37d0c60af3bd72cd2827b7d9f2ef163333b70eb56a443df3c40ccdf5459128aaea2cc49ca0b70481ad458cae6a824b60b5c1643dae2d365aa40e6e89614a7e7e
7
+ data.tar.gz: 78e77ef175bad01da5b4de6c3aa9fb7200b8ee9b38cd86566e7d577b39e76c254467029a50a26ad7837c73ebb27172a8999e8a6ceede4f7510ae7c1550d76cdf
data/.travis.yml CHANGED
@@ -3,5 +3,9 @@ bundler_args: --without tool
3
3
  rvm:
4
4
  - 1.9.3
5
5
  - 2.0.0
6
- - jruby-19mode
7
- - rbx-19mode
6
+ - 2.1.0
7
+ - jruby
8
+ - rbx
9
+ matrix:
10
+ allow_failures:
11
+ - rvm: rbx
data/README.md CHANGED
@@ -18,6 +18,7 @@ Usage
18
18
 
19
19
  ``` ruby
20
20
  video = VideoInfo.new("http://www.youtube.com/watch?v=mZqGqE0D0n4")
21
+ # video.available? => true
21
22
  # video.video_id => "mZqGqE0D0n4"
22
23
  # video.provider => "YouTube"
23
24
  # video.title => "Cherry Bloom - King Of The Knife"
@@ -31,6 +32,7 @@ video = VideoInfo.new("http://www.youtube.com/watch?v=mZqGqE0D0n4")
31
32
  # video.embed_code => "'<iframe src="http://www.youtube.com/embed/mZqGqE0D0n4" frameborder="0" allowfullscreen="allowfullscreen"></iframe>'"
32
33
 
33
34
  video = VideoInfo.new("http://vimeo.com/898029")
35
+ # video.available? => true
34
36
  # video.video_id => "898029"
35
37
  # video.provider => "Vimeo"
36
38
  # video.title => "Cherry Bloom - King Of The Knife"
data/lib/video_info.rb CHANGED
@@ -14,6 +14,7 @@ class VideoInfo
14
14
  def_delegators :@provider, :date, :duration, :width, :height
15
15
  def_delegators :@provider, :thumbnail_small, :thumbnail_medium, :thumbnail_large
16
16
  def_delegators :@provider, :embed_code, :embed_url
17
+ def_delegators :@provider, :available?
17
18
 
18
19
  def initialize(url, options = {})
19
20
  @provider = _select_provider(url, options)
@@ -28,8 +28,21 @@ class VideoInfo
28
28
  @data ||= _set_data_from_api
29
29
  end
30
30
 
31
+
32
+ def available?
33
+ !%w[403 404].include?(_response_code)
34
+ end
35
+
31
36
  private
32
37
 
38
+ def _response_code
39
+ response = nil
40
+ Net::HTTP.start(_api_base, 80) {|http|
41
+ response = http.head(_api_path)
42
+ }
43
+ response.code
44
+ end
45
+
33
46
  def _clean_options(options)
34
47
  options = { 'User-Agent' => "VideoInfo/#{VideoInfo::VERSION}" }.merge(options)
35
48
  options.dup.each do |key, value|
@@ -44,8 +44,16 @@ class VideoInfo
44
44
  /.*\.com\/(?:(?:groups\/[^\/]+\/videos\/)|(?:video\/))?([0-9]+).*$/i
45
45
  end
46
46
 
47
+ def _api_base
48
+ "vimeo.com"
49
+ end
50
+
51
+ def _api_path
52
+ "/api/v2/video/#{video_id}.json"
53
+ end
54
+
47
55
  def _api_url
48
- "http://vimeo.com/api/v2/video/#{video_id}.json"
56
+ "http://#{_api_base}#{_api_path}"
49
57
  end
50
58
 
51
59
  def _default_iframe_attributes
@@ -60,6 +60,22 @@ class VideoInfo
60
60
  end
61
61
  end
62
62
 
63
+ def _response_code
64
+ response = nil
65
+ Net::HTTP.start(_api_base, 80) {|http|
66
+ response = http.get(_api_path)
67
+ }
68
+ response.code
69
+ end
70
+
71
+ def _api_base
72
+ URI::parse(url).host
73
+ end
74
+
75
+ def _api_path
76
+ URI::parse(url).path
77
+ end
78
+
63
79
  def _data_hash
64
80
  data[/hash2\\":\\"(\w+)/,1]
65
81
  end
@@ -56,8 +56,16 @@ class VideoInfo
56
56
  /(?:youtube(?:-nocookie)?\.com\/(?:[^\/]+\/.+\/|(?:v|e(?:mbed)?)\/|.*[?&]v=)|youtu\.be\/)([^"&?\/ ]{11})/i
57
57
  end
58
58
 
59
+ def _api_base
60
+ "gdata.youtube.com"
61
+ end
62
+
63
+ def _api_path
64
+ "/feeds/api/videos/#{video_id}?v=2&alt=json"
65
+ end
66
+
59
67
  def _api_url
60
- "http://gdata.youtube.com/feeds/api/videos/#{video_id}?v=2&alt=json"
68
+ "http://#{_api_base}#{_api_path}"
61
69
  end
62
70
 
63
71
  def _default_iframe_attributes
@@ -1,3 +1,3 @@
1
1
  class VideoInfo
2
- VERSION = '2.0.2'
2
+ VERSION = '2.1.0'
3
3
  end
@@ -0,0 +1,50 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: head
5
+ uri: http://vimeo.com/api/v2/video/54189727.json
6
+ body:
7
+ encoding: US-ASCII
8
+ string: ''
9
+ headers:
10
+ Accept:
11
+ - "*/*"
12
+ User-Agent:
13
+ - Ruby
14
+ response:
15
+ status:
16
+ code: 404
17
+ message: Not Found
18
+ headers:
19
+ Date:
20
+ - Wed, 19 Feb 2014 14:59:45 GMT
21
+ Server:
22
+ - Apache
23
+ Access-Control-Allow-Origin:
24
+ - "*"
25
+ X-Ratelimit-Limit:
26
+ - '3600'
27
+ X-Ratelimit-Remaining:
28
+ - '3594'
29
+ X-Ratelimit-Reset:
30
+ - '1392825334'
31
+ Cache-Control:
32
+ - max-age=300, must-revalidate
33
+ Expires:
34
+ - Wed, 19 Feb 2014 15:04:45 GMT
35
+ X-Ua-Compatible:
36
+ - IE=edge
37
+ X-Dns-Prefetch-Control:
38
+ - 'on'
39
+ Vary:
40
+ - Accept-Encoding
41
+ Nncoection:
42
+ - close
43
+ Content-Type:
44
+ - text/html; charset=UTF-8
45
+ body:
46
+ encoding: UTF-8
47
+ string: ''
48
+ http_version:
49
+ recorded_at: Wed, 19 Feb 2014 14:59:45 GMT
50
+ recorded_with: VCR 2.8.0
@@ -0,0 +1,50 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: head
5
+ uri: http://vimeo.com/api/v2/video/59312311.json
6
+ body:
7
+ encoding: US-ASCII
8
+ string: ''
9
+ headers:
10
+ Accept:
11
+ - "*/*"
12
+ User-Agent:
13
+ - Ruby
14
+ response:
15
+ status:
16
+ code: 404
17
+ message: Not Found
18
+ headers:
19
+ Date:
20
+ - Wed, 19 Feb 2014 14:59:45 GMT
21
+ Server:
22
+ - Apache
23
+ Access-Control-Allow-Origin:
24
+ - "*"
25
+ X-Ratelimit-Limit:
26
+ - '3600'
27
+ X-Ratelimit-Remaining:
28
+ - '3595'
29
+ X-Ratelimit-Reset:
30
+ - '1392825334'
31
+ Cache-Control:
32
+ - max-age=300, must-revalidate
33
+ Expires:
34
+ - Wed, 19 Feb 2014 15:04:45 GMT
35
+ X-Ua-Compatible:
36
+ - IE=edge
37
+ X-Dns-Prefetch-Control:
38
+ - 'on'
39
+ Vary:
40
+ - Accept-Encoding
41
+ Nncoection:
42
+ - close
43
+ Content-Type:
44
+ - text/html; charset=UTF-8
45
+ body:
46
+ encoding: UTF-8
47
+ string: ''
48
+ http_version:
49
+ recorded_at: Wed, 19 Feb 2014 14:59:45 GMT
50
+ recorded_with: VCR 2.8.0
@@ -0,0 +1,54 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: head
5
+ uri: http://vimeo.com/api/v2/video/898029.json
6
+ body:
7
+ encoding: US-ASCII
8
+ string: ''
9
+ headers:
10
+ Accept:
11
+ - "*/*"
12
+ User-Agent:
13
+ - Ruby
14
+ response:
15
+ status:
16
+ code: 200
17
+ message: OK
18
+ headers:
19
+ Date:
20
+ - Wed, 19 Feb 2014 14:59:44 GMT
21
+ Server:
22
+ - Apache
23
+ Access-Control-Allow-Origin:
24
+ - "*"
25
+ X-Ratelimit-Limit:
26
+ - '3600'
27
+ X-Ratelimit-Remaining:
28
+ - '3596'
29
+ X-Ratelimit-Reset:
30
+ - '1392825334'
31
+ Cache-Control:
32
+ - max-age=60
33
+ Expires:
34
+ - Wed, 19 Feb 2014 15:00:44 GMT
35
+ Last-Modified:
36
+ - Fri, 14 Feb 2014 05:07:12 GMT
37
+ Etag:
38
+ - "\"c3db5c1f249552ac31bdff080df7ab26\""
39
+ X-Ua-Compatible:
40
+ - IE=edge
41
+ X-Dns-Prefetch-Control:
42
+ - 'on'
43
+ Vary:
44
+ - Accept-Encoding
45
+ Cneonction:
46
+ - close
47
+ Content-Type:
48
+ - application/json
49
+ body:
50
+ encoding: UTF-8
51
+ string: ''
52
+ http_version:
53
+ recorded_at: Wed, 19 Feb 2014 14:59:45 GMT
54
+ recorded_with: VCR 2.8.0
@@ -8,30 +8,43 @@ http_interactions:
8
8
  string: ''
9
9
  headers:
10
10
  User-Agent:
11
- - VideoInfo/1.6.0
11
+ - VideoInfo/2.0.2
12
12
  Accept-Encoding:
13
13
  - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
14
14
  Accept:
15
- - '*/*'
15
+ - "*/*"
16
16
  response:
17
17
  status:
18
18
  code: 200
19
19
  message: OK
20
20
  headers:
21
+ Age:
22
+ - '3'
23
+ Date:
24
+ - Thu, 20 Feb 2014 12:43:21 GMT
25
+ Expires:
26
+ - Thu, 20 Feb 2014 12:44:21 GMT
27
+ Connection:
28
+ - Keep-Alive
29
+ Via:
30
+ - 1.1 varnish
31
+ - dnet-dca
32
+ Etag:
33
+ - "\"6dfa4929546eb170df1cf6c24e6b93e8\""
21
34
  Server:
22
35
  - Apache
36
+ Access-Control-Allow-Origin:
37
+ - "*"
23
38
  X-Ratelimit-Limit:
24
39
  - '3600'
25
40
  X-Ratelimit-Remaining:
26
- - '3599'
41
+ - '3598'
27
42
  X-Ratelimit-Reset:
28
- - '1382701011'
29
- Expires:
30
- - Fri, 25 Oct 2013 10:37:52 GMT
43
+ - '1392892121'
31
44
  Last-Modified:
32
- - Sun, 20 Oct 2013 01:45:34 GMT
33
- Etag:
34
- - '"c632ac4e6ac3e1fcd30be3046eb936b0"'
45
+ - Fri, 14 Feb 2014 05:07:12 GMT
46
+ X-Ua-Compatible:
47
+ - IE=edge
35
48
  X-Dns-Prefetch-Control:
36
49
  - 'on'
37
50
  Vary:
@@ -42,28 +55,22 @@ http_interactions:
42
55
  - '498'
43
56
  Accept-Ranges:
44
57
  - bytes
45
- Date:
46
- - Fri, 25 Oct 2013 10:36:53 GMT
47
58
  X-Varnish:
48
- - 1698943940 1698943341
49
- Age:
50
- - '2'
51
- Via:
52
- - 1.1 varnish
59
+ - '1744118388'
53
60
  X-Varnish-Cache:
54
- - '1'
55
- Connection:
61
+ - '0'
62
+ Nncoection:
56
63
  - close
57
64
  X-Vserver:
58
- - 10.90.128.197
65
+ - 10.90.128.146
59
66
  body:
60
67
  encoding: UTF-8
61
- string: '[{"id":898029,"title":"Cherry Bloom - King Of The Knife","description":"The
68
+ string: "[{\"id\":898029,\"title\":\"Cherry Bloom - King Of The Knife\",\"description\":\"The
62
69
  first video from the upcoming album Secret Sounds, to download in-stores April
63
- 14. Checkout http:\/\/www.cherrybloom.net","url":"http:\/\/vimeo.com\/898029","upload_date":"2008-04-14
64
- 13:10:39","thumbnail_small":"http:\/\/b.vimeocdn.com\/ts\/343\/731\/34373130_100.jpg","thumbnail_medium":"http:\/\/b.vimeocdn.com\/ts\/343\/731\/34373130_200.jpg","thumbnail_large":"http:\/\/b.vimeocdn.com\/ts\/343\/731\/34373130_640.jpg","user_id":206215,"user_name":"Octave
65
- Zangs","user_url":"http:\/\/vimeo.com\/octave","user_portrait_small":"http:\/\/b.vimeocdn.com\/ps\/257\/715\/2577152_30.jpg","user_portrait_medium":"http:\/\/b.vimeocdn.com\/ps\/257\/715\/2577152_75.jpg","user_portrait_large":"http:\/\/b.vimeocdn.com\/ps\/257\/715\/2577152_100.jpg","user_portrait_huge":"http:\/\/b.vimeocdn.com\/ps\/257\/715\/2577152_300.jpg","stats_number_of_likes":11,"stats_number_of_plays":4557,"stats_number_of_comments":4,"duration":175,"width":640,"height":360,"tags":"cherry
66
- bloom, secret sounds, king of the knife, rock, alternative","embed_privacy":"anywhere"}]'
70
+ 14. Checkout http:\\/\\/www.cherrybloom.net\",\"url\":\"http:\\/\\/vimeo.com\\/898029\",\"upload_date\":\"2008-04-14
71
+ 13:10:39\",\"thumbnail_small\":\"http:\\/\\/b.vimeocdn.com\\/ts\\/343\\/731\\/34373130_100.jpg\",\"thumbnail_medium\":\"http:\\/\\/b.vimeocdn.com\\/ts\\/343\\/731\\/34373130_200.jpg\",\"thumbnail_large\":\"http:\\/\\/b.vimeocdn.com\\/ts\\/343\\/731\\/34373130_640.jpg\",\"user_id\":206215,\"user_name\":\"Octave
72
+ Zangs\",\"user_url\":\"http:\\/\\/vimeo.com\\/octave\",\"user_portrait_small\":\"http:\\/\\/b.vimeocdn.com\\/ps\\/257\\/715\\/2577152_30.jpg\",\"user_portrait_medium\":\"http:\\/\\/b.vimeocdn.com\\/ps\\/257\\/715\\/2577152_75.jpg\",\"user_portrait_large\":\"http:\\/\\/b.vimeocdn.com\\/ps\\/257\\/715\\/2577152_100.jpg\",\"user_portrait_huge\":\"http:\\/\\/b.vimeocdn.com\\/ps\\/257\\/715\\/2577152_300.jpg\",\"stats_number_of_likes\":11,\"stats_number_of_plays\":4563,\"stats_number_of_comments\":4,\"duration\":175,\"width\":640,\"height\":360,\"tags\":\"cherry
73
+ bloom, secret sounds, king of the knife, rock, alternative\",\"embed_privacy\":\"anywhere\"}]"
67
74
  http_version:
68
- recorded_at: Fri, 25 Oct 2013 10:36:53 GMT
69
- recorded_with: VCR 2.6.0
75
+ recorded_at: Thu, 20 Feb 2014 12:43:22 GMT
76
+ recorded_with: VCR 2.8.0
@@ -8,32 +8,43 @@ http_interactions:
8
8
  string: ''
9
9
  headers:
10
10
  User-Agent:
11
- - VideoInfo/2.0.0
11
+ - VideoInfo/2.0.2
12
12
  Accept-Encoding:
13
13
  - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
14
14
  Accept:
15
- - '*/*'
15
+ - "*/*"
16
16
  response:
17
17
  status:
18
18
  code: 200
19
19
  message: OK
20
20
  headers:
21
+ Age:
22
+ - '2'
23
+ Date:
24
+ - Thu, 20 Feb 2014 12:43:21 GMT
25
+ Expires:
26
+ - Thu, 20 Feb 2014 12:44:21 GMT
27
+ Connection:
28
+ - Keep-Alive
29
+ Via:
30
+ - 1.1 varnish
31
+ - dnet-dca
32
+ Etag:
33
+ - "\"6dfa4929546eb170df1cf6c24e6b93e8\""
21
34
  Server:
22
35
  - Apache
23
36
  Access-Control-Allow-Origin:
24
- - '*'
37
+ - "*"
25
38
  X-Ratelimit-Limit:
26
39
  - '3600'
27
40
  X-Ratelimit-Remaining:
28
- - '3599'
41
+ - '3598'
29
42
  X-Ratelimit-Reset:
30
- - '1382736836'
31
- Expires:
32
- - Fri, 25 Oct 2013 20:34:56 GMT
43
+ - '1392892121'
33
44
  Last-Modified:
34
- - Sun, 20 Oct 2013 01:45:34 GMT
35
- Etag:
36
- - '"c632ac4e6ac3e1fcd30be3046eb936b0"'
45
+ - Fri, 14 Feb 2014 05:07:12 GMT
46
+ X-Ua-Compatible:
47
+ - IE=edge
37
48
  X-Dns-Prefetch-Control:
38
49
  - 'on'
39
50
  Vary:
@@ -44,28 +55,22 @@ http_interactions:
44
55
  - '498'
45
56
  Accept-Ranges:
46
57
  - bytes
47
- Date:
48
- - Fri, 25 Oct 2013 20:33:56 GMT
49
58
  X-Varnish:
50
- - 1715089933 1715089698
51
- Age:
52
- - '0'
53
- Via:
54
- - 1.1 varnish
59
+ - '1744118388'
55
60
  X-Varnish-Cache:
56
- - '1'
57
- Connection:
61
+ - '0'
62
+ Nncoection:
58
63
  - close
59
64
  X-Vserver:
60
- - 10.90.128.197
65
+ - 10.90.128.146
61
66
  body:
62
67
  encoding: UTF-8
63
- string: '[{"id":898029,"title":"Cherry Bloom - King Of The Knife","description":"The
68
+ string: "[{\"id\":898029,\"title\":\"Cherry Bloom - King Of The Knife\",\"description\":\"The
64
69
  first video from the upcoming album Secret Sounds, to download in-stores April
65
- 14. Checkout http:\/\/www.cherrybloom.net","url":"http:\/\/vimeo.com\/898029","upload_date":"2008-04-14
66
- 13:10:39","thumbnail_small":"http:\/\/b.vimeocdn.com\/ts\/343\/731\/34373130_100.jpg","thumbnail_medium":"http:\/\/b.vimeocdn.com\/ts\/343\/731\/34373130_200.jpg","thumbnail_large":"http:\/\/b.vimeocdn.com\/ts\/343\/731\/34373130_640.jpg","user_id":206215,"user_name":"Octave
67
- Zangs","user_url":"http:\/\/vimeo.com\/octave","user_portrait_small":"http:\/\/b.vimeocdn.com\/ps\/257\/715\/2577152_30.jpg","user_portrait_medium":"http:\/\/b.vimeocdn.com\/ps\/257\/715\/2577152_75.jpg","user_portrait_large":"http:\/\/b.vimeocdn.com\/ps\/257\/715\/2577152_100.jpg","user_portrait_huge":"http:\/\/b.vimeocdn.com\/ps\/257\/715\/2577152_300.jpg","stats_number_of_likes":11,"stats_number_of_plays":4557,"stats_number_of_comments":4,"duration":175,"width":640,"height":360,"tags":"cherry
68
- bloom, secret sounds, king of the knife, rock, alternative","embed_privacy":"anywhere"}]'
70
+ 14. Checkout http:\\/\\/www.cherrybloom.net\",\"url\":\"http:\\/\\/vimeo.com\\/898029\",\"upload_date\":\"2008-04-14
71
+ 13:10:39\",\"thumbnail_small\":\"http:\\/\\/b.vimeocdn.com\\/ts\\/343\\/731\\/34373130_100.jpg\",\"thumbnail_medium\":\"http:\\/\\/b.vimeocdn.com\\/ts\\/343\\/731\\/34373130_200.jpg\",\"thumbnail_large\":\"http:\\/\\/b.vimeocdn.com\\/ts\\/343\\/731\\/34373130_640.jpg\",\"user_id\":206215,\"user_name\":\"Octave
72
+ Zangs\",\"user_url\":\"http:\\/\\/vimeo.com\\/octave\",\"user_portrait_small\":\"http:\\/\\/b.vimeocdn.com\\/ps\\/257\\/715\\/2577152_30.jpg\",\"user_portrait_medium\":\"http:\\/\\/b.vimeocdn.com\\/ps\\/257\\/715\\/2577152_75.jpg\",\"user_portrait_large\":\"http:\\/\\/b.vimeocdn.com\\/ps\\/257\\/715\\/2577152_100.jpg\",\"user_portrait_huge\":\"http:\\/\\/b.vimeocdn.com\\/ps\\/257\\/715\\/2577152_300.jpg\",\"stats_number_of_likes\":11,\"stats_number_of_plays\":4563,\"stats_number_of_comments\":4,\"duration\":175,\"width\":640,\"height\":360,\"tags\":\"cherry
73
+ bloom, secret sounds, king of the knife, rock, alternative\",\"embed_privacy\":\"anywhere\"}]"
69
74
  http_version:
70
- recorded_at: Fri, 25 Oct 2013 20:33:56 GMT
71
- recorded_with: VCR 2.6.0
75
+ recorded_at: Thu, 20 Feb 2014 12:43:21 GMT
76
+ recorded_with: VCR 2.8.0