video_info 2.2.2 → 2.3.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.
- checksums.yaml +4 -4
- data/README.md +14 -2
- data/lib/video_info.rb +1 -1
- data/lib/video_info/providers/vimeo.rb +9 -9
- data/lib/video_info/providers/vimeoplaylist.rb +64 -0
- data/lib/video_info/version.rb +1 -1
- data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_VimeoPlaylist/_available_/with_invalid_playlist/available_/.yml +152 -0
- data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_VimeoPlaylist/_available_/with_valid_playlist/available_/.yml +105 -0
- data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_VimeoPlaylist/with_playlist_2755718/date/.yml +75 -0
- data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_VimeoPlaylist/with_playlist_2755718/description/.yml +164 -0
- data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_VimeoPlaylist/with_playlist_2755718/duration/.yml +75 -0
- data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_VimeoPlaylist/with_playlist_2755718/height/.yml +71 -0
- data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_VimeoPlaylist/with_playlist_2755718/keywords/.yml +75 -0
- data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_VimeoPlaylist/with_playlist_2755718/thumbnail_large/.yml +168 -0
- data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_VimeoPlaylist/with_playlist_2755718/thumbnail_medium/.yml +164 -0
- data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_VimeoPlaylist/with_playlist_2755718/thumbnail_small/.yml +168 -0
- data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_VimeoPlaylist/with_playlist_2755718/title/.yml +166 -0
- data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_VimeoPlaylist/with_playlist_2755718/videos/.yml +202 -0
- data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_VimeoPlaylist/with_playlist_2755718/view_count/.yml +71 -0
- data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_VimeoPlaylist/with_playlist_2755718/width/.yml +71 -0
- data/spec/lib/video_info/providers/vimeo_playlist_spec.rb +78 -0
- data/spec/lib/video_info/providers/vimeo_spec.rb +10 -0
- metadata +33 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 2fd291c67498dd89547251a472b9e458f7ac3277
|
4
|
+
data.tar.gz: 6a4bab53f9e27cdac0dccca1df65f7be4a9823c8
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: eb12467cb8f6244bc9ff5a968ac3f844a10944412d30bb00e4ba10410019f2d8a276cfa6b96098cb244f350d77fa00fb73af9fc66f146f2f66010ec6397c8a62
|
7
|
+
data.tar.gz: d3a72a5fd3b05cd20a13d8e16345635a9ab3f8390ed51b6dada347d92363bab66712907c851a62b6b2f1ebc14c1ad92c6b83b43bb8b87e063b789afa451b6de7
|
data/README.md
CHANGED
@@ -2,7 +2,7 @@
|
|
2
2
|
|
3
3
|
[](http://badge.fury.io/rb/video_info) [](https://travis-ci.org/thibaudgg/video_info) [](https://gemnasium.com/thibaudgg/video_info) [](https://codeclimate.com/github/thibaudgg/video_info) [](https://coveralls.io/r/thibaudgg/video_info)
|
4
4
|
|
5
|
-
Simple Ruby Gem to get video info from Dailymotion, Vimeo, VK and YouTube (with playlist support).
|
5
|
+
Simple Ruby Gem to get video info from Dailymotion, Vimeo (with playlist support), VK and YouTube (with playlist support).
|
6
6
|
|
7
7
|
Tested against Ruby 1.9.3, 2.0.0, 2.1.0 and the latest versions of JRuby & Rubinius.
|
8
8
|
|
@@ -71,8 +71,20 @@ playlist = VideoInfo.new("http://www.youtube.com/playlist?p=PL9hW1uS6HUftLdHI6RI
|
|
71
71
|
# playlist.thumbnail_medium => "http://i.ytimg.com/vi/8b0aEoxqqC0/mqdefault.jpg"
|
72
72
|
# playlist.thumbnail_large => "http://i.ytimg.com/vi/8b0aEoxqqC0/hqdefault.jpg"
|
73
73
|
# playlist.embed_url => "http://www.youtube.com/embed/videoseries?list=PL9hW1uS6HUftLdHI6RIsaf-iXTm09qnEr"
|
74
|
-
# playlist.embed_code => "
|
74
|
+
# playlist.embed_code => "<iframe src="http://www.youtube.com/embed/videoseries?list=PL9hW1uS6HUftLdHI6RIsaf-iXTm09qnEr" frameborder="0" allowfullscreen="allowfullscreen"></iframe>"
|
75
75
|
# playlist.videos => [VideoInfo.new('http://www.youtube.com/watch?v=_Bt3-WsHfB0'), VideoInfo.new('http://www.youtube.com/watch?v=9g2U12SsRns'), VideoInfo.new('http://www.youtube.com/watch?v=8b0aEoxqqC0'), VideoInfo.new('http://www.youtube.com/watch?v=6c3mHikRz0I'), VideoInfo.new('http://www.youtube.com/watch?v=OQVHWsTHcoc')]
|
76
|
+
|
77
|
+
playlist = VideoInfo.new("http://vimeo.com/album/2755718")
|
78
|
+
# playlist.available? => true
|
79
|
+
# playlist.playlist_id => "2755718"
|
80
|
+
# playlist.provider => "Vimeo"
|
81
|
+
# playlist.title => "The Century Of Self"
|
82
|
+
# playlist.thumbnail_small => "http://b.vimeocdn.com/ts/443/595/443595474_100.jpg"
|
83
|
+
# playlist.thumbnail_medium => "http://b.vimeocdn.com/ts/443/595/443595474_200.jpg"
|
84
|
+
# playlist.thumbnail_large => "http://b.vimeocdn.com/ts/443/595/443595474_640.jpg"
|
85
|
+
# playlist.embed_url => "player.vimeo.com/hubnut/album/2755718"
|
86
|
+
# playlist.embed_code => "<iframe src="http://player.vimeo.com/hubnut/album/2755718?autoplay=0&byline=0&portrait=0&title=0" frameborder="0"></iframe>"
|
87
|
+
# playlist.videos => [VideoInfo.new('http://vimeo.com/67977038'), VideoInfo.new('http://vimeo.com/68843810'), VideoInfo.new('http://vimeo.com/69949597'), VideoInfo.new('http://vimeo.com/70388245')]
|
76
88
|
```
|
77
89
|
|
78
90
|
Options
|
data/lib/video_info.rb
CHANGED
@@ -7,7 +7,7 @@ class VideoInfo
|
|
7
7
|
class UrlError < StandardError; end
|
8
8
|
extend Forwardable
|
9
9
|
|
10
|
-
PROVIDERS = %w[Vimeo Vkontakte Youtube YoutubePlaylist Dailymotion]
|
10
|
+
PROVIDERS = %w[Vimeo VimeoPlaylist Vkontakte Youtube YoutubePlaylist Dailymotion]
|
11
11
|
PROVIDERS.each { |p| require "video_info/providers/#{p.downcase}" }
|
12
12
|
|
13
13
|
def_delegators :@provider, :provider, :video_id, :video_owner, :url, :data
|
@@ -3,7 +3,7 @@ class VideoInfo
|
|
3
3
|
class Vimeo < Provider
|
4
4
|
|
5
5
|
def self.usable?(url)
|
6
|
-
url =~ /vimeo\.com/
|
6
|
+
url =~ /(vimeo\.com\/(?!album|hubnut\/album).*)/
|
7
7
|
end
|
8
8
|
|
9
9
|
def provider
|
@@ -11,15 +11,15 @@ class VideoInfo
|
|
11
11
|
end
|
12
12
|
|
13
13
|
%w[title description thumbnail_small thumbnail_medium thumbnail_large].each do |method|
|
14
|
-
define_method(method) {
|
14
|
+
define_method(method) { _video[method] }
|
15
15
|
end
|
16
16
|
|
17
17
|
%w[duration width height].each do |method|
|
18
|
-
define_method(method) {
|
18
|
+
define_method(method) { _video[method].to_i }
|
19
19
|
end
|
20
20
|
|
21
21
|
def keywords
|
22
|
-
|
22
|
+
_video['tags']
|
23
23
|
end
|
24
24
|
|
25
25
|
def embed_url
|
@@ -27,19 +27,19 @@ class VideoInfo
|
|
27
27
|
end
|
28
28
|
|
29
29
|
def date
|
30
|
-
Time.parse(
|
30
|
+
Time.parse(_video['upload_date'], Time.now.utc).utc
|
31
31
|
end
|
32
32
|
|
33
33
|
def view_count
|
34
|
-
|
34
|
+
_video['stats_number_of_plays'].to_i
|
35
35
|
end
|
36
36
|
|
37
|
-
|
37
|
+
private
|
38
|
+
|
39
|
+
def _video
|
38
40
|
data && data.first
|
39
41
|
end
|
40
42
|
|
41
|
-
private
|
42
|
-
|
43
43
|
def _url_regex
|
44
44
|
/.*\.com\/(?:(?:groups\/[^\/]+\/videos\/)|(?:video\/))?([0-9]+).*$/i
|
45
45
|
end
|
@@ -0,0 +1,64 @@
|
|
1
|
+
class VideoInfo
|
2
|
+
module Providers
|
3
|
+
class VimeoPlaylist < Vimeo
|
4
|
+
|
5
|
+
alias_method :playlist_id, :video_id
|
6
|
+
|
7
|
+
def self.usable?(url)
|
8
|
+
url =~ /((vimeo\.com)\/album)|((vimeo\.com)\/hubnut\/album)/
|
9
|
+
end
|
10
|
+
|
11
|
+
def videos
|
12
|
+
_playlist_video_ids.map do |entry_id|
|
13
|
+
VideoInfo.new("http://vimeo.com/#{entry_id}")
|
14
|
+
end
|
15
|
+
end
|
16
|
+
|
17
|
+
def embed_url
|
18
|
+
"player.vimeo.com/hubnut/album/#{playlist_id}"
|
19
|
+
end
|
20
|
+
|
21
|
+
%w[width height date keywords duration view_count].each do |method|
|
22
|
+
define_method(method) { nil }
|
23
|
+
end
|
24
|
+
|
25
|
+
private
|
26
|
+
|
27
|
+
def _video
|
28
|
+
data
|
29
|
+
end
|
30
|
+
|
31
|
+
def _url_regex
|
32
|
+
/vimeo.com\/album\/([0-9]*)|vimeo.com\/hubnut\/album\/([0-9]*)/
|
33
|
+
end
|
34
|
+
|
35
|
+
def _api_path
|
36
|
+
"/api/v2/album/#{video_id}/info.json"
|
37
|
+
end
|
38
|
+
|
39
|
+
def _api_videos_path
|
40
|
+
"/api/v2/album/#{video_id}/videos.json"
|
41
|
+
end
|
42
|
+
|
43
|
+
def _api_videos_url
|
44
|
+
"http://#{_api_base}#{_api_videos_path}"
|
45
|
+
end
|
46
|
+
|
47
|
+
def _data_videos
|
48
|
+
@data_videos ||= _set_videos_from_api
|
49
|
+
end
|
50
|
+
|
51
|
+
def _set_videos_from_api
|
52
|
+
uri = open(_api_videos_url, options)
|
53
|
+
MultiJson.load(uri.read)
|
54
|
+
end
|
55
|
+
|
56
|
+
def _playlist_video_ids
|
57
|
+
_data_videos.map do |entry|
|
58
|
+
entry['id']
|
59
|
+
end
|
60
|
+
end
|
61
|
+
|
62
|
+
end
|
63
|
+
end
|
64
|
+
end
|
data/lib/video_info/version.rb
CHANGED
@@ -0,0 +1,152 @@
|
|
1
|
+
---
|
2
|
+
http_interactions:
|
3
|
+
- request:
|
4
|
+
method: head
|
5
|
+
uri: http://vimeo.com/api/v2/video/2755718.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
|
+
- Fri, 28 Feb 2014 23:49:05 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
|
+
- '1393634120'
|
31
|
+
Cache-Control:
|
32
|
+
- max-age=60
|
33
|
+
Expires:
|
34
|
+
- Fri, 28 Feb 2014 23:50:05 GMT
|
35
|
+
Last-Modified:
|
36
|
+
- Fri, 21 Feb 2014 06:05:40 GMT
|
37
|
+
Etag:
|
38
|
+
- '"0ad6ab03cab8ef64f7f7261e3c1b374c"'
|
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: Fri, 28 Feb 2014 23:49:07 GMT
|
54
|
+
- request:
|
55
|
+
method: head
|
56
|
+
uri: http://vimeo.com/api/v2/album/2755718/info.json
|
57
|
+
body:
|
58
|
+
encoding: US-ASCII
|
59
|
+
string: ''
|
60
|
+
headers:
|
61
|
+
Accept:
|
62
|
+
- '*/*'
|
63
|
+
User-Agent:
|
64
|
+
- Ruby
|
65
|
+
response:
|
66
|
+
status:
|
67
|
+
code: 200
|
68
|
+
message: OK
|
69
|
+
headers:
|
70
|
+
Date:
|
71
|
+
- Fri, 28 Feb 2014 23:53:57 GMT
|
72
|
+
Server:
|
73
|
+
- Apache
|
74
|
+
Access-Control-Allow-Origin:
|
75
|
+
- '*'
|
76
|
+
X-Ratelimit-Limit:
|
77
|
+
- '3600'
|
78
|
+
X-Ratelimit-Remaining:
|
79
|
+
- '3593'
|
80
|
+
X-Ratelimit-Reset:
|
81
|
+
- '1393634120'
|
82
|
+
Cache-Control:
|
83
|
+
- max-age=60
|
84
|
+
Expires:
|
85
|
+
- Fri, 28 Feb 2014 23:54:57 GMT
|
86
|
+
Last-Modified:
|
87
|
+
- Fri, 28 Feb 2014 23:19:45 GMT
|
88
|
+
Etag:
|
89
|
+
- '"066770d7b5e5c4a8ac2e5d2178671420"'
|
90
|
+
X-Ua-Compatible:
|
91
|
+
- IE=edge
|
92
|
+
X-Dns-Prefetch-Control:
|
93
|
+
- 'on'
|
94
|
+
Vary:
|
95
|
+
- Accept-Encoding
|
96
|
+
Cneonction:
|
97
|
+
- close
|
98
|
+
Content-Type:
|
99
|
+
- application/json
|
100
|
+
body:
|
101
|
+
encoding: UTF-8
|
102
|
+
string: ''
|
103
|
+
http_version:
|
104
|
+
recorded_at: Fri, 28 Feb 2014 23:53:59 GMT
|
105
|
+
- request:
|
106
|
+
method: head
|
107
|
+
uri: http://vimeo.com/api/v2/album/2/info.json
|
108
|
+
body:
|
109
|
+
encoding: US-ASCII
|
110
|
+
string: ''
|
111
|
+
headers:
|
112
|
+
Accept:
|
113
|
+
- '*/*'
|
114
|
+
User-Agent:
|
115
|
+
- Ruby
|
116
|
+
response:
|
117
|
+
status:
|
118
|
+
code: 404
|
119
|
+
message: Not Found
|
120
|
+
headers:
|
121
|
+
Date:
|
122
|
+
- Fri, 28 Feb 2014 23:56:09 GMT
|
123
|
+
Server:
|
124
|
+
- Apache
|
125
|
+
Access-Control-Allow-Origin:
|
126
|
+
- '*'
|
127
|
+
X-Ratelimit-Limit:
|
128
|
+
- '3600'
|
129
|
+
X-Ratelimit-Remaining:
|
130
|
+
- '3592'
|
131
|
+
X-Ratelimit-Reset:
|
132
|
+
- '1393634120'
|
133
|
+
Cache-Control:
|
134
|
+
- max-age=300, must-revalidate
|
135
|
+
Expires:
|
136
|
+
- Sat, 01 Mar 2014 00:01:09 GMT
|
137
|
+
X-Ua-Compatible:
|
138
|
+
- IE=edge
|
139
|
+
X-Dns-Prefetch-Control:
|
140
|
+
- 'on'
|
141
|
+
Vary:
|
142
|
+
- Accept-Encoding
|
143
|
+
Nncoection:
|
144
|
+
- close
|
145
|
+
Content-Type:
|
146
|
+
- text/html; charset=UTF-8
|
147
|
+
body:
|
148
|
+
encoding: UTF-8
|
149
|
+
string: ''
|
150
|
+
http_version:
|
151
|
+
recorded_at: Fri, 28 Feb 2014 23:56:11 GMT
|
152
|
+
recorded_with: VCR 2.8.0
|
@@ -0,0 +1,105 @@
|
|
1
|
+
---
|
2
|
+
http_interactions:
|
3
|
+
- request:
|
4
|
+
method: head
|
5
|
+
uri: http://vimeo.com/api/v2/video/2755718.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
|
+
- Fri, 28 Feb 2014 23:49:05 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
|
+
- '1393634120'
|
31
|
+
Cache-Control:
|
32
|
+
- max-age=60
|
33
|
+
Expires:
|
34
|
+
- Fri, 28 Feb 2014 23:50:05 GMT
|
35
|
+
Last-Modified:
|
36
|
+
- Fri, 21 Feb 2014 06:05:40 GMT
|
37
|
+
Etag:
|
38
|
+
- '"0ad6ab03cab8ef64f7f7261e3c1b374c"'
|
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: Fri, 28 Feb 2014 23:49:07 GMT
|
54
|
+
- request:
|
55
|
+
method: head
|
56
|
+
uri: http://vimeo.com/api/v2/album/2755718/info.json
|
57
|
+
body:
|
58
|
+
encoding: US-ASCII
|
59
|
+
string: ''
|
60
|
+
headers:
|
61
|
+
Accept:
|
62
|
+
- '*/*'
|
63
|
+
User-Agent:
|
64
|
+
- Ruby
|
65
|
+
response:
|
66
|
+
status:
|
67
|
+
code: 200
|
68
|
+
message: OK
|
69
|
+
headers:
|
70
|
+
Date:
|
71
|
+
- Fri, 28 Feb 2014 23:53:56 GMT
|
72
|
+
Server:
|
73
|
+
- Apache
|
74
|
+
Access-Control-Allow-Origin:
|
75
|
+
- '*'
|
76
|
+
X-Ratelimit-Limit:
|
77
|
+
- '3600'
|
78
|
+
X-Ratelimit-Remaining:
|
79
|
+
- '3594'
|
80
|
+
X-Ratelimit-Reset:
|
81
|
+
- '1393634120'
|
82
|
+
Cache-Control:
|
83
|
+
- max-age=60
|
84
|
+
Expires:
|
85
|
+
- Fri, 28 Feb 2014 23:54:56 GMT
|
86
|
+
Last-Modified:
|
87
|
+
- Fri, 28 Feb 2014 23:19:45 GMT
|
88
|
+
Etag:
|
89
|
+
- '"066770d7b5e5c4a8ac2e5d2178671420"'
|
90
|
+
X-Ua-Compatible:
|
91
|
+
- IE=edge
|
92
|
+
X-Dns-Prefetch-Control:
|
93
|
+
- 'on'
|
94
|
+
Vary:
|
95
|
+
- Accept-Encoding
|
96
|
+
Cneonction:
|
97
|
+
- close
|
98
|
+
Content-Type:
|
99
|
+
- application/json
|
100
|
+
body:
|
101
|
+
encoding: UTF-8
|
102
|
+
string: ''
|
103
|
+
http_version:
|
104
|
+
recorded_at: Fri, 28 Feb 2014 23:53:59 GMT
|
105
|
+
recorded_with: VCR 2.8.0
|
data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_VimeoPlaylist/with_playlist_2755718/date/.yml
ADDED
@@ -0,0 +1,75 @@
|
|
1
|
+
---
|
2
|
+
http_interactions:
|
3
|
+
- request:
|
4
|
+
method: get
|
5
|
+
uri: http://vimeo.com/api/v2/album/2755718/info.json
|
6
|
+
body:
|
7
|
+
encoding: US-ASCII
|
8
|
+
string: ''
|
9
|
+
headers:
|
10
|
+
User-Agent:
|
11
|
+
- VideoInfo/2.2.2
|
12
|
+
Accept-Encoding:
|
13
|
+
- gzip;q=1.0,deflate;q=0.6,identity;q=0.3
|
14
|
+
Accept:
|
15
|
+
- '*/*'
|
16
|
+
response:
|
17
|
+
status:
|
18
|
+
code: 200
|
19
|
+
message: OK
|
20
|
+
headers:
|
21
|
+
Age:
|
22
|
+
- '2'
|
23
|
+
Date:
|
24
|
+
- Sat, 01 Mar 2014 00:10:32 GMT
|
25
|
+
Expires:
|
26
|
+
- Sat, 01 Mar 2014 00:11:32 GMT
|
27
|
+
Connection:
|
28
|
+
- Keep-Alive
|
29
|
+
Via:
|
30
|
+
- 1.1 varnish
|
31
|
+
- dnet-dca
|
32
|
+
Etag:
|
33
|
+
- '"f9075c16b5f1158ce5ea0e7c4f82dad0"'
|
34
|
+
Server:
|
35
|
+
- Apache
|
36
|
+
Access-Control-Allow-Origin:
|
37
|
+
- '*'
|
38
|
+
X-Ratelimit-Limit:
|
39
|
+
- '3600'
|
40
|
+
X-Ratelimit-Remaining:
|
41
|
+
- '3597'
|
42
|
+
X-Ratelimit-Reset:
|
43
|
+
- '1393634121'
|
44
|
+
Last-Modified:
|
45
|
+
- Sat, 01 Mar 2014 00:07:48 GMT
|
46
|
+
X-Ua-Compatible:
|
47
|
+
- IE=edge
|
48
|
+
X-Dns-Prefetch-Control:
|
49
|
+
- 'on'
|
50
|
+
Vary:
|
51
|
+
- Accept-Encoding
|
52
|
+
Content-Type:
|
53
|
+
- application/json
|
54
|
+
Content-Length:
|
55
|
+
- '349'
|
56
|
+
Accept-Ranges:
|
57
|
+
- bytes
|
58
|
+
X-Varnish:
|
59
|
+
- '1775345710'
|
60
|
+
X-Varnish-Cache:
|
61
|
+
- '0'
|
62
|
+
Nncoection:
|
63
|
+
- close
|
64
|
+
X-Vserver:
|
65
|
+
- 10.90.128.196
|
66
|
+
body:
|
67
|
+
encoding: UTF-8
|
68
|
+
string: '{"id":2755718,"created_on":"2014-02-28 18:18:21","last_modified":"2014-02-28
|
69
|
+
19:07:48","title":"The Century Of Self","description":"The Century of the
|
70
|
+
Self is an award-winning British television documentary series by Adam Curtis,
|
71
|
+
released in 2002.","url":"http:\/\/vimeo.com\/album\/2755718","thumbnail_small":"http:\/\/b.vimeocdn.com\/ts\/443\/595\/443595474_100.jpg","thumbnail_medium":"http:\/\/b.vimeocdn.com\/ts\/443\/595\/443595474_200.jpg","thumbnail_large":"http:\/\/b.vimeocdn.com\/ts\/443\/595\/443595474_640.jpg","total_videos":4,"user_id":2618747,"user_display_name":"Karl
|
72
|
+
Entwistle","user_url":"http:\/\/vimeo.com\/user2618747"}'
|
73
|
+
http_version:
|
74
|
+
recorded_at: Sat, 01 Mar 2014 00:10:35 GMT
|
75
|
+
recorded_with: VCR 2.8.0
|