video_info 2.0.2 → 2.1.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.travis.yml +6 -2
- data/README.md +2 -0
- data/lib/video_info.rb +1 -0
- data/lib/video_info/provider.rb +13 -0
- data/lib/video_info/providers/vimeo.rb +9 -1
- data/lib/video_info/providers/vkontakte.rb +16 -0
- data/lib/video_info/providers/youtube.rb +9 -1
- data/lib/video_info/version.rb +1 -1
- data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/_available_/with_password_required_video/available_/.yml +50 -0
- data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/_available_/with_this_video_does_not_exist_video/available_/.yml +50 -0
- data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/_available_/with_valid_video/available_/.yml +54 -0
- data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_video_898029/date/.yml +33 -26
- data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_video_898029/description/.yml +32 -27
- data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_video_898029/duration/.yml +32 -27
- data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_video_898029/height/.yml +31 -26
- data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_video_898029/keywords/.yml +32 -27
- data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_video_898029/thumbnail_large/.yml +30 -25
- data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_video_898029/thumbnail_medium/.yml +30 -25
- data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_video_898029/thumbnail_small/.yml +31 -26
- data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_video_898029/title/.yml +31 -26
- data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_video_898029/view_count/.yml +31 -26
- data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_video_898029/width/.yml +31 -26
- data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vkontakte/_available_/with_invalid_video/available_/.yml +147 -0
- data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vkontakte/_available_/with_valid_video/available_/.yml +1115 -0
- data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vkontakte/with_video_video-54799401_165822734/title/.yml +1255 -1701
- data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vkontakte/with_video_video39576223_108370515/description/.yml +1070 -1110
- data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vkontakte/with_video_video39576223_108370515/duration/.yml +1070 -1110
- data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vkontakte/with_video_video39576223_108370515/embed_code/.yml +1072 -1112
- data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vkontakte/with_video_video39576223_108370515/embed_url/.yml +1072 -1112
- data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vkontakte/with_video_video39576223_108370515/height/.yml +1070 -1110
- data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vkontakte/with_video_video39576223_108370515/keywords/.yml +1070 -1110
- data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vkontakte/with_video_video39576223_108370515/title/.yml +1029 -1110
- data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vkontakte/with_video_video39576223_108370515/view_count/.yml +1070 -1110
- data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vkontakte/with_video_video39576223_108370515/width/.yml +1070 -1110
- data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Youtube/_available_/with_valid_video/available_/.yml +56 -0
- data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Youtube/_available_/with_video_is_unavailable_video/available_/.yml +46 -0
- data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Youtube/_available_/with_video_no_longer_available_due_to_a_copyright_claim_video/available_/.yml +46 -0
- data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Youtube/with_video_mZqGqE0D0n4/date/.yml +16 -18
- data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Youtube/with_video_mZqGqE0D0n4/description/.yml +17 -19
- data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Youtube/with_video_mZqGqE0D0n4/duration/.yml +16 -18
- data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Youtube/with_video_mZqGqE0D0n4/keywords/.yml +19 -19
- data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Youtube/with_video_mZqGqE0D0n4/thumbnail_large/.yml +16 -18
- data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Youtube/with_video_mZqGqE0D0n4/thumbnail_medium/.yml +16 -18
- data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Youtube/with_video_mZqGqE0D0n4/thumbnail_small/.yml +16 -18
- data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Youtube/with_video_mZqGqE0D0n4/title/.yml +16 -16
- data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Youtube/with_video_mZqGqE0D0n4/view_count/.yml +16 -18
- data/spec/lib/video_info/providers/vimeo_spec.rb +17 -0
- data/spec/lib/video_info/providers/vkontakte_spec.rb +15 -2
- data/spec/lib/video_info/providers/youtube_spec.rb +18 -1
- metadata +39 -23
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 21b79a7e562e3263f2f67aa38f96ffb252b1f019
|
4
|
+
data.tar.gz: eb59bbe4c81999eca8a85806d07a609f43df93cd
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 37d0c60af3bd72cd2827b7d9f2ef163333b70eb56a443df3c40ccdf5459128aaea2cc49ca0b70481ad458cae6a824b60b5c1643dae2d365aa40e6e89614a7e7e
|
7
|
+
data.tar.gz: 78e77ef175bad01da5b4de6c3aa9fb7200b8ee9b38cd86566e7d577b39e76c254467029a50a26ad7837c73ebb27172a8999e8a6ceede4f7510ae7c1550d76cdf
|
data/.travis.yml
CHANGED
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)
|
data/lib/video_info/provider.rb
CHANGED
@@ -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
|
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
|
68
|
+
"http://#{_api_base}#{_api_path}"
|
61
69
|
end
|
62
70
|
|
63
71
|
def _default_iframe_attributes
|
data/lib/video_info/version.rb
CHANGED
@@ -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/
|
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
|
-
- '
|
41
|
+
- '3598'
|
27
42
|
X-Ratelimit-Reset:
|
28
|
-
- '
|
29
|
-
Expires:
|
30
|
-
- Fri, 25 Oct 2013 10:37:52 GMT
|
43
|
+
- '1392892121'
|
31
44
|
Last-Modified:
|
32
|
-
-
|
33
|
-
|
34
|
-
-
|
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
|
-
-
|
49
|
-
Age:
|
50
|
-
- '2'
|
51
|
-
Via:
|
52
|
-
- 1.1 varnish
|
59
|
+
- '1744118388'
|
53
60
|
X-Varnish-Cache:
|
54
|
-
- '
|
55
|
-
|
61
|
+
- '0'
|
62
|
+
Nncoection:
|
56
63
|
- close
|
57
64
|
X-Vserver:
|
58
|
-
- 10.90.128.
|
65
|
+
- 10.90.128.146
|
59
66
|
body:
|
60
67
|
encoding: UTF-8
|
61
|
-
string:
|
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
|
64
|
-
13:10:39"
|
65
|
-
Zangs"
|
66
|
-
bloom, secret sounds, king of the knife, rock, alternative"
|
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:
|
69
|
-
recorded_with: VCR 2.
|
75
|
+
recorded_at: Thu, 20 Feb 2014 12:43:22 GMT
|
76
|
+
recorded_with: VCR 2.8.0
|
data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_video_898029/description/.yml
CHANGED
@@ -8,32 +8,43 @@ http_interactions:
|
|
8
8
|
string: ''
|
9
9
|
headers:
|
10
10
|
User-Agent:
|
11
|
-
- VideoInfo/2.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
|
-
- '
|
41
|
+
- '3598'
|
29
42
|
X-Ratelimit-Reset:
|
30
|
-
- '
|
31
|
-
Expires:
|
32
|
-
- Fri, 25 Oct 2013 20:34:56 GMT
|
43
|
+
- '1392892121'
|
33
44
|
Last-Modified:
|
34
|
-
-
|
35
|
-
|
36
|
-
-
|
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
|
-
-
|
51
|
-
Age:
|
52
|
-
- '0'
|
53
|
-
Via:
|
54
|
-
- 1.1 varnish
|
59
|
+
- '1744118388'
|
55
60
|
X-Varnish-Cache:
|
56
|
-
- '
|
57
|
-
|
61
|
+
- '0'
|
62
|
+
Nncoection:
|
58
63
|
- close
|
59
64
|
X-Vserver:
|
60
|
-
- 10.90.128.
|
65
|
+
- 10.90.128.146
|
61
66
|
body:
|
62
67
|
encoding: UTF-8
|
63
|
-
string:
|
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
|
66
|
-
13:10:39"
|
67
|
-
Zangs"
|
68
|
-
bloom, secret sounds, king of the knife, rock, alternative"
|
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:
|
71
|
-
recorded_with: VCR 2.
|
75
|
+
recorded_at: Thu, 20 Feb 2014 12:43:21 GMT
|
76
|
+
recorded_with: VCR 2.8.0
|