strike_api 1.0.4 → 1.0.5
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 +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
|