strike_api 1.0.4 → 1.0.5
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/README.md +1 -1
- data/lib/strike_api/torrent.rb +15 -3
- data/lib/strike_api/version.rb +1 -1
- data/test/fixtures/test_site_down_cloudflare.yml +126 -0
- data/test/torrent/torrent_test.rb +10 -0
- metadata +5 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 2f52d0ba495cca0b1700a7c530780d736087dd7a
|
4
|
+
data.tar.gz: 4436491a814f90e98d43247a2d1a4b89c69a517d
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: c0d48f748a531b55e35f69cbf764487eaba97361ecb1f21175e881752395bf6802340cb167e372527d36396194c152558200ddd9f6265191fe4518fa733c3bb9
|
7
|
+
data.tar.gz: db2f904919f5a2435f2d8471d04ae12dddc435eda5c6c3e23d98dc61bce81fee3b0d6309398545a7aa53eb27580ef9a3a60f8e5fe7f54fd4fd36b16fc8aef265
|
data/README.md
CHANGED
@@ -49,7 +49,7 @@ searchResults = StrikeApi::Torrent.search(yourSearchPhrase, yourCatagoryOrSubCat
|
|
49
49
|
searchResults = StrikeApi::Torrent.search(yourSearchPhrase, yourCatagory, yourSubCategory)
|
50
50
|
```
|
51
51
|
|
52
|
-
### Top
|
52
|
+
### Top torrents
|
53
53
|
|
54
54
|
```ruby
|
55
55
|
# Param 1: category, examples: "Books", "all"
|
data/lib/strike_api/torrent.rb
CHANGED
@@ -109,14 +109,26 @@ module StrikeApi
|
|
109
109
|
return -1
|
110
110
|
end
|
111
111
|
end
|
112
|
-
# Checks for 4XX errors and onward. Examples: 404, 502
|
112
|
+
# Checks for 4XX errors and onward. Examples: 404, 502, 522
|
113
113
|
def self.errorChecker(response)
|
114
114
|
code = response.code
|
115
|
-
message =
|
115
|
+
message = response.message
|
116
|
+
if (valid_json?(response.body) && JSON.parse(response.body)["message"])
|
117
|
+
message = JSON.parse(response.body)["message"]
|
118
|
+
end
|
116
119
|
if(code >= 400)
|
117
120
|
raise "Strike API error: #{code} - #{message}"
|
118
121
|
end
|
119
122
|
end
|
120
|
-
|
123
|
+
# Checks for valid json
|
124
|
+
def self.valid_json?(json)
|
125
|
+
begin
|
126
|
+
JSON.parse(json)
|
127
|
+
return true
|
128
|
+
rescue Exception => e
|
129
|
+
return false
|
130
|
+
end
|
131
|
+
end
|
132
|
+
private_class_method :errorChecker, :categoryChecker, :valid_json?
|
121
133
|
end
|
122
134
|
end
|
data/lib/strike_api/version.rb
CHANGED
@@ -0,0 +1,126 @@
|
|
1
|
+
---
|
2
|
+
http_interactions:
|
3
|
+
- request:
|
4
|
+
method: get
|
5
|
+
uri: https://getstrike.net/api/v2/torrents/search/?phrase=Slackware%2014.1%20x86_64%20DVD%20ISO
|
6
|
+
body:
|
7
|
+
encoding: US-ASCII
|
8
|
+
string: ''
|
9
|
+
headers:
|
10
|
+
Accept-Encoding:
|
11
|
+
- gzip;q=1.0,deflate;q=0.6,identity;q=0.3
|
12
|
+
Accept:
|
13
|
+
- "*/*"
|
14
|
+
User-Agent:
|
15
|
+
- Ruby
|
16
|
+
response:
|
17
|
+
status:
|
18
|
+
code: 522
|
19
|
+
message: Origin Connection Time-out
|
20
|
+
headers:
|
21
|
+
Server:
|
22
|
+
- cloudflare-nginx
|
23
|
+
Date:
|
24
|
+
- Fri, 08 May 2015 00:30:00 GMT
|
25
|
+
Content-Type:
|
26
|
+
- text/html; charset=UTF-8
|
27
|
+
Transfer-Encoding:
|
28
|
+
- chunked
|
29
|
+
Connection:
|
30
|
+
- keep-alive
|
31
|
+
Set-Cookie:
|
32
|
+
- __cfduid=d288974c8a2d9b40f8201e7cc050bd2741431044985; expires=Sat, 07-May-16
|
33
|
+
00:29:45 GMT; path=/; domain=.getstrike.net; HttpOnly
|
34
|
+
Expires:
|
35
|
+
- Thu, 01 Jan 1970 00:00:01 GMT
|
36
|
+
Cache-Control:
|
37
|
+
- no-store, no-cache, must-revalidate, post-check=0, pre-check=0
|
38
|
+
Pragma:
|
39
|
+
- no-cache
|
40
|
+
X-Frame-Options:
|
41
|
+
- SAMEORIGIN
|
42
|
+
Cf-Ray:
|
43
|
+
- 1e310d5860cc10c3-ORD
|
44
|
+
body:
|
45
|
+
encoding: UTF-8
|
46
|
+
string: "<!DOCTYPE html>\n<!--[if lt IE 7]> <html class=\"no-js ie6 oldie\"
|
47
|
+
lang=\"en-US\"> <![endif]-->\n<!--[if IE 7]> <html class=\"no-js ie7 oldie\"
|
48
|
+
lang=\"en-US\"> <![endif]-->\n<!--[if IE 8]> <html class=\"no-js ie8 oldie\"
|
49
|
+
lang=\"en-US\"> <![endif]-->\n<!--[if gt IE 8]><!--> <html class=\"no-js\"
|
50
|
+
lang=\"en-US\"> <!--<![endif]-->\n<head>\n<meta http-equiv=\"refresh\" content=\"0\">\n<meta
|
51
|
+
http-equiv=\"set-cookie\" content=\"cf_use_ob=443; expires=Fri, 08-May-15
|
52
|
+
00:30:30 GMT; path=/\">\n<meta http-equiv=\"set-cookie\" content=\"cf_ob_info=522:1e310d5860cc10c3:ORD;
|
53
|
+
expires=Fri, 08-May-15 00:30:30 GMT; path=/\">\n<title>getstrike.net | 522:
|
54
|
+
Connection timed out</title>\n<meta charset=\"UTF-8\"/>\n<meta http-equiv=\"Content-Type\"
|
55
|
+
content=\"text/html; charset=UTF-8\"/>\n<meta http-equiv=\"X-UA-Compatible\"
|
56
|
+
content=\"IE=Edge,chrome=1\"/>\n<meta name=\"robots\" content=\"noindex, nofollow\"/>\n<meta
|
57
|
+
name=\"viewport\" content=\"width=device-width,initial-scale=1,maximum-scale=1\"/>\n<script
|
58
|
+
type=\"text/javascript\">\n//<![CDATA[\ntry{if (!window.CloudFlare) {var CloudFlare=[{verbose:0,p:0,byc:0,owlid:\"cf\",bag2:1,mirage2:0,oracle:0,paths:{cloudflare:\"/cdn-cgi/nexp/dok3v=1613a3a185/\"},atok:\"1125e9e1122745bfae623320017b7145\",petok:\"6d14af5b2acb6b513c57cb1b7e3678dfda2f5af2-1431045000-1800\",zone:\"getstrike.net\",rocket:\"0\",apps:{\"ga_key\":{\"ua\":\"UA-59872713-1\",\"ga_bs\":\"2\"}}}];!function(a,b){a=document.createElement(\"script\"),b=document.getElementsByTagName(\"script\")[0],a.async=!0,a.src=\"//ajax.cloudflare.com/cdn-cgi/nexp/dok3v=7e13c32551/cloudflare.min.js\",b.parentNode.insertBefore(a,b)}()}}catch(e){};\n//]]>\n</script>\n<link
|
59
|
+
rel=\"stylesheet\" id=\"cf_styles-css\" href=\"/cdn-cgi/styles/cf.errors.css\"
|
60
|
+
type=\"text/css\" media=\"screen,projection\"/>\n<!--[if lt IE 9]><link rel=\"stylesheet\"
|
61
|
+
id='cf_styles-ie-css' href=\"/cdn-cgi/styles/cf.errors.ie.css\" type=\"text/css\"
|
62
|
+
media=\"screen,projection\" /><![endif]-->\n<style type=\"text/css\">body{margin:0;padding:0}</style>\n<!--[if
|
63
|
+
lte IE 9]><script type=\"text/javascript\" src=\"/cdn-cgi/scripts/jquery.min.js\"></script><![endif]-->\n<!--[if
|
64
|
+
gte IE 10]><!--><script type=\"text/javascript\" src=\"/cdn-cgi/scripts/zepto.min.js\"></script><!--<![endif]-->\n<script
|
65
|
+
type=\"text/javascript\" src=\"/cdn-cgi/scripts/cf.common.js\"></script>\n<script
|
66
|
+
type=\"text/javascript\">\n/* <![CDATA[ */\nvar _gaq = _gaq || [];\n_gaq.push(['_setAccount',
|
67
|
+
'UA-59872713-1']);\n_gaq.push(['_trackPageview']);\n\n(function() {\nvar ga
|
68
|
+
= document.createElement('script'); ga.type = 'text/javascript'; ga.async
|
69
|
+
= true;\nga.src = ('https:' == document.location.protocol ? 'https://ssl'
|
70
|
+
: 'http://www') + '.google-analytics.com/ga.js';\nvar s = document.getElementsByTagName('script')[0];
|
71
|
+
s.parentNode.insertBefore(ga, s);\n})();\n\n(function(b){(function(a){\"__CF\"in
|
72
|
+
b&&\"DJS\"in b.__CF?b.__CF.DJS.push(a):\"addEventListener\"in b?b.addEventListener(\"load\",a,!1):b.attachEvent(\"onload\",a)})(function(){\"FB\"in
|
73
|
+
b&&\"Event\"in FB&&\"subscribe\"in FB.Event&&(FB.Event.subscribe(\"edge.create\",function(a){_gaq.push([\"_trackSocial\",\"facebook\",\"like\",a])}),FB.Event.subscribe(\"edge.remove\",function(a){_gaq.push([\"_trackSocial\",\"facebook\",\"unlike\",a])}),FB.Event.subscribe(\"message.send\",function(a){_gaq.push([\"_trackSocial\",\"facebook\",\"send\",a])}));\"twttr\"in
|
74
|
+
b&&\"events\"in twttr&&\"bind\"in twttr.events&&twttr.events.bind(\"tweet\",function(a){if(a){var
|
75
|
+
b;if(a.target&&a.target.nodeName==\"IFRAME\")a:{if(a=a.target.src){a=a.split(\"#\")[0].match(/[^?=&]+=([^&]*)?/g);b=0;for(var
|
76
|
+
c;c=a[b];++b)if(c.indexOf(\"url\")===0){b=unescape(c.split(\"=\")[1]);break
|
77
|
+
a}}b=void 0}_gaq.push([\"_trackSocial\",\"twitter\",\"tweet\",b])}})})})(window);\n/*
|
78
|
+
]]> */\n</script>\n</head>\n<body>\n<div id=\"cf-wrapper\">\n<div id=\"cf-error-details\"
|
79
|
+
class=\"cf-error-details-wrapper\">\n<div class=\"cf-wrapper cf-error-overview\">\n<h1>\n<span
|
80
|
+
class=\"cf-error-type\" data-translate=\"error\">Error</span>\n<span class=\"cf-error-code\">522</span>\n<small
|
81
|
+
class=\"heading-ray-id\">Ray ID: 1e310d5860cc10c3 • 2015-05-08 00:30:00
|
82
|
+
UTC</small>\n</h1>\n<h2 class=\"cf-subheadline\" data-translate=\"error_desc\">Connection
|
83
|
+
timed out</h2>\n</div> \n<div class=\"cf-section cf-highlight cf-status-display\">\n<div
|
84
|
+
class=\"cf-wrapper\">\n<div class=\"cf-columns cols-3\">\n<div id=\"cf-browser-status\"
|
85
|
+
class=\"cf-column cf-status-item cf-browser-status \">\n<div class=\"cf-icon-error-container\">\n<i
|
86
|
+
class=\"cf-icon cf-icon-browser\"></i>\n<i class=\"cf-icon-status cf-icon-ok\"></i>\n</div>\n<span
|
87
|
+
class=\"cf-status-desc\" data-translate=\"browser_desc\">You</span>\n<h3 class=\"cf-status-name\"
|
88
|
+
data-translate=\"browser_label\">Browser</h3>\n<span class=\"cf-status-label\"
|
89
|
+
data-translate=\"browser_status_label\">Working</span>\n</div>\n<div id=\"cf-cloudflare-status\"
|
90
|
+
class=\"cf-column cf-status-item cf-cloudflare-status \">\n<div class=\"cf-icon-error-container\">\n<i
|
91
|
+
class=\"cf-icon cf-icon-cloud\"></i>\n<i class=\"cf-icon-status cf-icon-ok\"></i>\n</div>\n<span
|
92
|
+
class=\"cf-status-desc\" data-translate=\"cloud_desc\">Chicago</span>\n<h3
|
93
|
+
class=\"cf-status-name\" data-translate=\"cloud_label\">CloudFlare</h3>\n<span
|
94
|
+
class=\"cf-status-label\" data-translate=\"cloud_status_label\">Working</span>\n</div>\n<div
|
95
|
+
id=\"cf-host-status\" class=\"cf-column cf-status-item cf-host-status cf-error-source\">\n<div
|
96
|
+
class=\"cf-icon-error-container\">\n<i class=\"cf-icon cf-icon-server\"></i>\n<i
|
97
|
+
class=\"cf-icon-status cf-icon-error\"></i>\n</div>\n<span class=\"cf-status-desc\"
|
98
|
+
data-translate=\"server_desc\">getstrike.net</span>\n<h3 class=\"cf-status-name\"
|
99
|
+
data-translate=\"server_label\">Host</h3>\n<span class=\"cf-status-label\"
|
100
|
+
data-translate=\"server_status_label\">Error</span>\n</div>\n</div>\n</div>\n</div>
|
101
|
+
\n<div class=\"cf-section cf-wrapper\">\n<div class=\"cf-columns two\">\n<div
|
102
|
+
class=\"cf-column\">\n<h2 data-translate=\"what_happened\">What happened?</h2>\n<p
|
103
|
+
data-translate=\"connection_timed_out\">The initial connection between CloudFlare's
|
104
|
+
network and the origin web server timed out. As a result, the web page can
|
105
|
+
not be displayed.</p>\n</div>\n<div class=\"cf-column\">\n<h2 data-translate=\"what_can_i_do\">What
|
106
|
+
can I do?</h2>\n<h5 data-translate=\"if_website_visitor\">If you're a visitor
|
107
|
+
of this website:</h5>\n<p data-translate=\"try_again_in_a_few\">Please try
|
108
|
+
again in a few minutes.</p>\n<h5 data-translate=\"if_website_owner\">If you're
|
109
|
+
the owner of this website:</h5>\n<p><span data-translate=\"522_owner_desc\">Contact
|
110
|
+
your hosting provider letting them know your web server is not completing
|
111
|
+
requests. An Error 522 means that the request was able to connect to your
|
112
|
+
web server, but that the request didn't finish. The most likely cause is that
|
113
|
+
something on your server is hogging resources.</span> <a href=\"https://support.cloudflare.com/hc/en-us/articles/200171906-Error-522\"
|
114
|
+
data-translate=\"addtl_troubleshooting\">Additional troubleshooting information
|
115
|
+
here.</a></p>\n</div>\n</div>\n</div> \n<div class=\"cf-error-footer cf-wrapper\">\n<p>\n<span
|
116
|
+
class=\"cf-footer-item\">CloudFlare Ray ID: <strong>1e310d5860cc10c3</strong></span>\n<span
|
117
|
+
class=\"cf-footer-separator\">•</span>\n<span class=\"cf-footer-item\"><span
|
118
|
+
data-translate=\"your_ip\">Your IP</span>: 2001:4930:22:0:dca1:642:aacb:7bd</span>\n<span
|
119
|
+
class=\"cf-footer-separator\">•</span>\n<span class=\"cf-footer-item\"><span
|
120
|
+
data-translate=\"performance_security_by\">Performance & security by</span>
|
121
|
+
<a data-orig-proto=\"https\" data-orig-ref=\"www.cloudflare.com/5xx-error-landing\"
|
122
|
+
id=\"brand_link\" target=\"_blank\">CloudFlare</a></span>\n</p>\n</div> \n</div>
|
123
|
+
\n</div> \n"
|
124
|
+
http_version:
|
125
|
+
recorded_at: Fri, 08 May 2015 00:30:00 GMT
|
126
|
+
recorded_with: VCR 2.9.3
|
@@ -187,6 +187,16 @@ class StrikeTorrentTest < Minitest::Test
|
|
187
187
|
end
|
188
188
|
end
|
189
189
|
|
190
|
+
def test_site_down_cloudflare
|
191
|
+
VCR.use_cassette('test_site_down_cloudflare') do
|
192
|
+
begin
|
193
|
+
result = StrikeApi::Torrent.search("Slackware 14.1 x86_64 DVD ISO")
|
194
|
+
rescue => e
|
195
|
+
assert_equal "Strike API error: 522 - Origin Connection Time-out", e.message
|
196
|
+
end
|
197
|
+
end
|
198
|
+
end
|
199
|
+
|
190
200
|
def test_filter_string
|
191
201
|
VCR.use_cassette('test_filter_string') do
|
192
202
|
flag = true
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: strike_api
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.0.
|
4
|
+
version: 1.0.5
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Marshall Ford
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2015-
|
12
|
+
date: 2015-05-08 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: bundler
|
@@ -138,6 +138,7 @@ files:
|
|
138
138
|
- test/fixtures/test_search_empty.yml
|
139
139
|
- test/fixtures/test_search_no_torrents.yml
|
140
140
|
- test/fixtures/test_search_subCategory.yml
|
141
|
+
- test/fixtures/test_site_down_cloudflare.yml
|
141
142
|
- test/fixtures/test_top.yml
|
142
143
|
- test/fixtures/test_top_all_category.yml
|
143
144
|
- test/test_helper.rb
|
@@ -162,7 +163,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
162
163
|
version: '0'
|
163
164
|
requirements: []
|
164
165
|
rubyforge_project:
|
165
|
-
rubygems_version: 2.
|
166
|
+
rubygems_version: 2.4.6
|
166
167
|
signing_key:
|
167
168
|
specification_version: 4
|
168
169
|
summary: Wrapper for the Strike API.
|
@@ -179,6 +180,7 @@ test_files:
|
|
179
180
|
- test/fixtures/test_search_empty.yml
|
180
181
|
- test/fixtures/test_search_no_torrents.yml
|
181
182
|
- test/fixtures/test_search_subCategory.yml
|
183
|
+
- test/fixtures/test_site_down_cloudflare.yml
|
182
184
|
- test/fixtures/test_top.yml
|
183
185
|
- test/fixtures/test_top_all_category.yml
|
184
186
|
- test/test_helper.rb
|