url_tokenizer-provider-limelight 0.0.1 → 0.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.
- checksums.yaml +4 -4
- data/VERSION +1 -1
- data/lib/url_tokenizer/provider/limelight.rb +21 -9
- data/url_tokenizer-provider-limelight.gemspec +1 -0
- metadata +16 -2
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA1:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: e78b683176d3afc3d9ac43ca7555fc71753e3541
|
|
4
|
+
data.tar.gz: a886c370aef4d0f6d7a36ad31a829c49f8163680
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 3cf1d881d9abf2b11e0d4f365966433c78716980f7760b0ec635d334a5a2531b65aa0a5013113f49f5410c23e6ee73d1b029f126e72286133ae1fadce2614e48
|
|
7
|
+
data.tar.gz: 808e3abb3ad66458ab6667a8c0cfb1d4b20d25da764da66ab70504bb5d037b27ffa34c15d1b4ba6468d6ea713240199eabbf2d122c1ba835a8ab3edb06533390
|
data/VERSION
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
0.0
|
|
1
|
+
0.1.0
|
|
@@ -5,6 +5,8 @@ require 'digest'
|
|
|
5
5
|
module UrlTokenizer
|
|
6
6
|
module Provider
|
|
7
7
|
class Limelight
|
|
8
|
+
PARAMS = %i[e h p cf cd]
|
|
9
|
+
|
|
8
10
|
def initialize(key)
|
|
9
11
|
@key = key
|
|
10
12
|
end
|
|
@@ -29,25 +31,35 @@ module UrlTokenizer
|
|
|
29
31
|
|
|
30
32
|
|
|
31
33
|
def build_options(token_options, url:, uri:)
|
|
32
|
-
{
|
|
33
|
-
**url_params(uri),
|
|
34
|
+
server_params = {
|
|
34
35
|
p: url.length,
|
|
35
|
-
e: expiration_date(token_options)
|
|
36
|
-
}
|
|
36
|
+
e: expiration_date(token_options[:expire_in]),
|
|
37
|
+
}.delete_if { |k, v| v.nil? }
|
|
38
|
+
|
|
39
|
+
cookie_params = {
|
|
40
|
+
cd: token_options[:cd],
|
|
41
|
+
cf: expiration_date(token_options[:cf]),
|
|
42
|
+
}.delete_if { |k, v| v.nil? }
|
|
43
|
+
|
|
44
|
+
server_params.delete :e if cookie_params.any?
|
|
45
|
+
|
|
46
|
+
url_params(uri)
|
|
47
|
+
.merge(server_params)
|
|
48
|
+
.merge(cookie_params)
|
|
37
49
|
end
|
|
38
50
|
|
|
39
51
|
def url_params(uri)
|
|
40
52
|
return {} if uri.query.nil?
|
|
41
53
|
|
|
42
54
|
symbolize_keys(CGI.parse(uri.query)).tap do |params|
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
55
|
+
PARAMS.each do |param|
|
|
56
|
+
params.delete param
|
|
57
|
+
end
|
|
46
58
|
end
|
|
47
59
|
end
|
|
48
60
|
|
|
49
|
-
def expiration_date(
|
|
50
|
-
Time.now.utc.to_i +
|
|
61
|
+
def expiration_date(expires_in)
|
|
62
|
+
Time.now.utc.to_i + expires_in.to_i if expires_in
|
|
51
63
|
end
|
|
52
64
|
|
|
53
65
|
def digest(url)
|
metadata
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: url_tokenizer-provider-limelight
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.0
|
|
4
|
+
version: 0.1.0
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Alexander Paramonov
|
|
8
8
|
autorequire:
|
|
9
9
|
bindir: exe
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date: 2015-
|
|
11
|
+
date: 2015-09-09 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: url_tokenizer
|
|
@@ -66,6 +66,20 @@ dependencies:
|
|
|
66
66
|
- - "~>"
|
|
67
67
|
- !ruby/object:Gem::Version
|
|
68
68
|
version: '3.0'
|
|
69
|
+
- !ruby/object:Gem::Dependency
|
|
70
|
+
name: pry
|
|
71
|
+
requirement: !ruby/object:Gem::Requirement
|
|
72
|
+
requirements:
|
|
73
|
+
- - ">="
|
|
74
|
+
- !ruby/object:Gem::Version
|
|
75
|
+
version: '0'
|
|
76
|
+
type: :development
|
|
77
|
+
prerelease: false
|
|
78
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
79
|
+
requirements:
|
|
80
|
+
- - ">="
|
|
81
|
+
- !ruby/object:Gem::Version
|
|
82
|
+
version: '0'
|
|
69
83
|
description: Limelight token provider for url_tokenizer gem.
|
|
70
84
|
email:
|
|
71
85
|
- alexander.n.paramonov@gmail.com
|