phantom_proxy 1.2.6 → 1.2.7
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.
@@ -48,9 +48,11 @@ module PhantomJSProxy
|
|
48
48
|
|
49
49
|
puts("Opened page: "+ /Open page: (.*?) END/.match(@dom)[1])
|
50
50
|
|
51
|
+
@ready = 503
|
52
|
+
dom_text = "Failed to load page"
|
53
|
+
|
51
54
|
if /DONE_LOADING_URL/.match(@dom)
|
52
|
-
|
53
|
-
@dom = @dom.split('PHANTOMJS_DOMDATA_END')[0]
|
55
|
+
dom_text = getDOMText @dom
|
54
56
|
if pictureOnly && File.exist?(picture)
|
55
57
|
puts("File is there")
|
56
58
|
@image = IO::File.open(picture, "rb") {|f| f.read }
|
@@ -59,15 +61,27 @@ module PhantomJSProxy
|
|
59
61
|
puts("No file to load at: "+picture)
|
60
62
|
@image = ""
|
61
63
|
end
|
62
|
-
@ready =
|
63
|
-
|
64
|
-
|
65
|
-
|
64
|
+
@ready = 200
|
65
|
+
end
|
66
|
+
if /FAILED_LOADING_URL/.match(@dom)
|
67
|
+
@ready = getHTTPCode @dom
|
68
|
+
puts("LOAD_ERROR")
|
66
69
|
end
|
67
|
-
|
70
|
+
@dom = dom_text
|
68
71
|
return @dom
|
69
72
|
end
|
70
73
|
|
74
|
+
def getDOMText data
|
75
|
+
tmp = data.split('PHANTOMJS_DOMDATA_WRITE:')[1];
|
76
|
+
tmp = tmp.split('PHANTOMJS_DOMDATA_END')[0]
|
77
|
+
tmp
|
78
|
+
end
|
79
|
+
|
80
|
+
def getHTTPCode data
|
81
|
+
tmp = /FAILED_LOADING_URL: (.*?)FAILED_LOADING_URL_END/.match(data)[1]
|
82
|
+
tmp.to_i
|
83
|
+
end
|
84
|
+
|
71
85
|
def getAsImageResponse(type='png')
|
72
86
|
return "HTTP/1.0 200 OK\r\nConnection: close\r\nContent-Type: image/"+type+"\r\n\r\n"+@image;
|
73
87
|
end
|
@@ -137,14 +137,14 @@ module PhantomJSProxy
|
|
137
137
|
phJS.getUrl(url, picture, loadFrames)
|
138
138
|
|
139
139
|
#Create the response
|
140
|
-
if
|
140
|
+
if phJS.ready != 200
|
141
141
|
if !/favicon\.ico/.match(req.url())
|
142
142
|
env['rack.errors'].write("Request FAILED\n")
|
143
143
|
control_panel.add_special_request "@failed_requests"
|
144
144
|
else
|
145
145
|
control_panel.add_special_request "@favicon_requests"
|
146
146
|
end
|
147
|
-
resp = Rack::Response.new([],
|
147
|
+
resp = Rack::Response.new([], phJS.ready , {
|
148
148
|
'Content-Type' => 'text/html'
|
149
149
|
}) { |r|
|
150
150
|
r.write(phJS.dom)
|
@@ -131,8 +131,8 @@ function main() {
|
|
131
131
|
page.onResourceReceived = function (response) {
|
132
132
|
if (response.stage == "end" && response.url == address && response.status != 200)
|
133
133
|
{
|
134
|
-
console.log('FAILED_LOADING_URL: '+response.status);
|
135
|
-
phantom.exit();
|
134
|
+
console.log('FAILED_LOADING_URL: '+response.status+'FAILED_LOADING_URL_END');
|
135
|
+
//phantom.exit();
|
136
136
|
}
|
137
137
|
};
|
138
138
|
|
metadata
CHANGED
@@ -1,56 +1,64 @@
|
|
1
|
-
--- !ruby/object:Gem::Specification
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
2
|
name: phantom_proxy
|
3
|
-
version: !ruby/object:Gem::Version
|
4
|
-
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
hash: 17
|
5
5
|
prerelease:
|
6
|
+
segments:
|
7
|
+
- 1
|
8
|
+
- 2
|
9
|
+
- 7
|
10
|
+
version: 1.2.7
|
6
11
|
platform: ruby
|
7
|
-
authors:
|
12
|
+
authors:
|
8
13
|
- Daniel Sudmann
|
9
14
|
autorequire:
|
10
15
|
bindir: bin
|
11
16
|
cert_chain: []
|
12
|
-
|
13
|
-
|
14
|
-
|
17
|
+
|
18
|
+
date: 2012-09-17 00:00:00 +02:00
|
19
|
+
default_executable:
|
20
|
+
dependencies:
|
21
|
+
- !ruby/object:Gem::Dependency
|
15
22
|
name: thin
|
16
|
-
requirement: !ruby/object:Gem::Requirement
|
17
|
-
none: false
|
18
|
-
requirements:
|
19
|
-
- - ! '>='
|
20
|
-
- !ruby/object:Gem::Version
|
21
|
-
version: 1.3.1
|
22
|
-
type: :runtime
|
23
23
|
prerelease: false
|
24
|
-
|
24
|
+
requirement: &id001 !ruby/object:Gem::Requirement
|
25
25
|
none: false
|
26
|
-
requirements:
|
27
|
-
- -
|
28
|
-
- !ruby/object:Gem::Version
|
26
|
+
requirements:
|
27
|
+
- - ">="
|
28
|
+
- !ruby/object:Gem::Version
|
29
|
+
hash: 25
|
30
|
+
segments:
|
31
|
+
- 1
|
32
|
+
- 3
|
33
|
+
- 1
|
29
34
|
version: 1.3.1
|
30
|
-
- !ruby/object:Gem::Dependency
|
31
|
-
name: ruby-hmac
|
32
|
-
requirement: !ruby/object:Gem::Requirement
|
33
|
-
none: false
|
34
|
-
requirements:
|
35
|
-
- - ! '>='
|
36
|
-
- !ruby/object:Gem::Version
|
37
|
-
version: 0.4.0
|
38
35
|
type: :runtime
|
36
|
+
version_requirements: *id001
|
37
|
+
- !ruby/object:Gem::Dependency
|
38
|
+
name: ruby-hmac
|
39
39
|
prerelease: false
|
40
|
-
|
40
|
+
requirement: &id002 !ruby/object:Gem::Requirement
|
41
41
|
none: false
|
42
|
-
requirements:
|
43
|
-
- -
|
44
|
-
- !ruby/object:Gem::Version
|
42
|
+
requirements:
|
43
|
+
- - ">="
|
44
|
+
- !ruby/object:Gem::Version
|
45
|
+
hash: 15
|
46
|
+
segments:
|
47
|
+
- 0
|
48
|
+
- 4
|
49
|
+
- 0
|
45
50
|
version: 0.4.0
|
46
|
-
|
47
|
-
|
51
|
+
type: :runtime
|
52
|
+
version_requirements: *id002
|
53
|
+
description: This is a phyntonjs Proxy it allows you to fetch webpages and execute javascript in them.
|
48
54
|
email: suddani@googlemail.com
|
49
|
-
executables:
|
55
|
+
executables:
|
50
56
|
- phantom_proxy
|
51
57
|
extensions: []
|
58
|
+
|
52
59
|
extra_rdoc_files: []
|
53
|
-
|
60
|
+
|
61
|
+
files:
|
54
62
|
- lib/phantom_proxy/phantomjsserver.rb
|
55
63
|
- lib/phantom_proxy/phantomjs_control_panel.rb
|
56
64
|
- lib/phantom_proxy/phantomjs.rb
|
@@ -58,33 +66,43 @@ files:
|
|
58
66
|
- lib/phantom_proxy/scripts/proxy.js
|
59
67
|
- lib/phantom_proxy/config.ru
|
60
68
|
- lib/phantom_proxy/web/control_panel.html
|
61
|
-
- lib/phantom_proxy/scripts/test
|
62
69
|
- lib/phantom_proxy/install/phproxy
|
63
70
|
- bin/phantom_proxy
|
64
71
|
- README.rdoc
|
65
72
|
- Gemfile
|
73
|
+
has_rdoc: true
|
66
74
|
homepage: http://experteer.com
|
67
75
|
licenses: []
|
76
|
+
|
68
77
|
post_install_message:
|
69
78
|
rdoc_options: []
|
70
|
-
|
79
|
+
|
80
|
+
require_paths:
|
71
81
|
- lib
|
72
|
-
required_ruby_version: !ruby/object:Gem::Requirement
|
82
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
73
83
|
none: false
|
74
|
-
requirements:
|
75
|
-
- -
|
76
|
-
- !ruby/object:Gem::Version
|
77
|
-
|
78
|
-
|
84
|
+
requirements:
|
85
|
+
- - ">="
|
86
|
+
- !ruby/object:Gem::Version
|
87
|
+
hash: 3
|
88
|
+
segments:
|
89
|
+
- 0
|
90
|
+
version: "0"
|
91
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
79
92
|
none: false
|
80
|
-
requirements:
|
81
|
-
- -
|
82
|
-
- !ruby/object:Gem::Version
|
83
|
-
|
93
|
+
requirements:
|
94
|
+
- - ">="
|
95
|
+
- !ruby/object:Gem::Version
|
96
|
+
hash: 3
|
97
|
+
segments:
|
98
|
+
- 0
|
99
|
+
version: "0"
|
84
100
|
requirements: []
|
101
|
+
|
85
102
|
rubyforge_project:
|
86
|
-
rubygems_version: 1.
|
103
|
+
rubygems_version: 1.5.2
|
87
104
|
signing_key:
|
88
105
|
specification_version: 3
|
89
106
|
summary: This is a phantomjs Proxy
|
90
107
|
test_files: []
|
108
|
+
|