sportsflix 1.2.2 → 1.2.3

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: d52a51b76a3464f486e020e8b17878451454e044
4
- data.tar.gz: e561a1dc515827b6d979444596a10f0e97f2e175
3
+ metadata.gz: f30e7c7fc0b7de5e6fb2083ff704984c4de93764
4
+ data.tar.gz: 78c8aae468eddd0c85d90a2362134f69a0b8c854
5
5
  SHA512:
6
- metadata.gz: ddf28e970279ee9cdc9509b076f847c1eda8b107594716451b18c2d4a141f515a1bb9299fb7c745770af7edabb26df884f194ed3c2355a60ce49ec6cab9da43a
7
- data.tar.gz: 894d0dbe5a0b408dfe5bb5712208655e91de36cc70ce8de89b6301cddb887226e5b8cacb25df3d64f46257be65c141aa18464831a14bdd82e71c1eefd47f28de
6
+ metadata.gz: 1485abed1a5e0d5bf1f630edc5190a441fc4289f5740fad1687f0104da1ee410ed854222f1c91c913986e8b7faa48c03e5dbb9621d5ef466e2527e07e7459b69
7
+ data.tar.gz: fe4ce15d3f4caf0fc8792b18d2cf21868f33bafc322f78a62587efdbd61458603b8f077c54f59a21e0b3ddd0fa12d71ea2673ca814d6cde5012d8fdb2927d7db
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- sportsflix (1.2.2)
4
+ sportsflix (1.2.3)
5
5
  execjs-fastnode (~> 0.2.0)
6
6
  oga (~> 2.8)
7
7
  thor (~> 0.19.4)
@@ -57,20 +57,8 @@ module Sportsflix
57
57
 
58
58
  private
59
59
  def with_cf_bypass(res, req_lambda)
60
- if res.is_a?(Net::HTTPRedirection)
61
- puts "Redirecting from #{res.uri.to_s} to #{res['location']}."
62
- res
63
- elsif res.is_a?(Net::HTTPServiceUnavailable) &&
64
- res['Server'] == 'cloudflare-nginx' &&
65
- res.body.include?('jschl_vc') &&
66
- res.body.include?('jschl_answer')
67
-
68
- url = "#{res.uri.scheme}://#{res.uri.hostname}"
69
- if res.uri.port
70
- url = "#{url}:#{res.uri.port}"
71
- end
72
-
73
- url = "#{url}/cdn-cgi/l/chk_jschl"
60
+ if needs_cf_answer(res)
61
+ url = "#{res.uri.scheme}://#{res.uri.hostname}:#{res.uri.port}/cdn-cgi/l/chk_jschl"
74
62
 
75
63
  @headers = @headers.merge({Referer: res.uri.to_s})
76
64
  @params = @params.merge(
@@ -84,10 +72,21 @@ module Sportsflix
84
72
  redirect = req_lambda.call(url)
85
73
  req_lambda.call(redirect['location'])
86
74
  else
75
+ if res.is_a?(Net::HTTPRedirection)
76
+ puts "Redirecting from #{res.uri} to #{res['location']}."
77
+ end
78
+
87
79
  res
88
80
  end
89
81
  end
90
82
 
83
+ def needs_cf_answer(res)
84
+ res.is_a?(Net::HTTPServiceUnavailable) &&
85
+ res['Server'] == 'cloudflare-nginx' &&
86
+ res.body.include?('jschl_vc') &&
87
+ res.body.include?('jschl_answer')
88
+ end
89
+
91
90
  def solve_challenge(body)
92
91
  begin
93
92
  js = /setTimeout\(function\(\){\s+(var s,t,o,p,b,r,e,a,k,i,n,g,f.+?\r?\n[\s\S]+?a\.value =.+?)\r?\n/.match(body)
@@ -1,3 +1,3 @@
1
1
  module Sportsflix
2
- VERSION = '1.2.2'
2
+ VERSION = '1.2.3'
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: sportsflix
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.2.2
4
+ version: 1.2.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Rodrigo Fernandes