minhttp 0.0.7 → 0.0.8
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.
- data/VERSION +1 -1
- data/lib/minhttp.rb +13 -1
- metadata +40 -65
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.0.
|
1
|
+
0.0.8
|
data/lib/minhttp.rb
CHANGED
@@ -20,6 +20,7 @@ module Http
|
|
20
20
|
|
21
21
|
def self.configure(options={})
|
22
22
|
@@options = options
|
23
|
+
@@options[:ssl_whitelist] ||= []
|
23
24
|
@@logger = options[:logger] || Logger.new(STDOUT)
|
24
25
|
@@connections = 0
|
25
26
|
Http::SSLValidator.configure(options[:ssl_logger])
|
@@ -107,7 +108,7 @@ module Http
|
|
107
108
|
#
|
108
109
|
def ssl_handshake_completed
|
109
110
|
begin
|
110
|
-
return unless
|
111
|
+
return unless ssl_verification_enabled?(@host)
|
111
112
|
close_connection unless Http::SSLValidator.validate(@certs, @host)
|
112
113
|
rescue Exception => e
|
113
114
|
@@logger.error("Error in ssl_handshake_completed: #{e}")
|
@@ -115,5 +116,16 @@ module Http
|
|
115
116
|
end
|
116
117
|
end
|
117
118
|
|
119
|
+
#
|
120
|
+
# SSL verification is only on if the 'verify_ssl' option is set and
|
121
|
+
# if the host is not on the whitelist
|
122
|
+
#
|
123
|
+
def ssl_verification_enabled?(host)
|
124
|
+
return false unless @@options[:verify_ssl]
|
125
|
+
# the ssl_whitelist is an array of regular expressions
|
126
|
+
return false if @@options[:ssl_whitelist].find { |r| host =~ r }
|
127
|
+
return true
|
128
|
+
end
|
129
|
+
|
118
130
|
end
|
119
131
|
end
|
metadata
CHANGED
@@ -1,61 +1,46 @@
|
|
1
|
-
--- !ruby/object:Gem::Specification
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
2
|
name: minhttp
|
3
|
-
version: !ruby/object:Gem::Version
|
4
|
-
|
5
|
-
prerelease:
|
6
|
-
segments:
|
7
|
-
- 0
|
8
|
-
- 0
|
9
|
-
- 7
|
10
|
-
version: 0.0.7
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 0.0.8
|
5
|
+
prerelease:
|
11
6
|
platform: ruby
|
12
|
-
authors:
|
7
|
+
authors:
|
13
8
|
- Andrew Farmer
|
14
9
|
autorequire:
|
15
10
|
bindir: bin
|
16
11
|
cert_chain: []
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
dependencies:
|
21
|
-
- !ruby/object:Gem::Dependency
|
12
|
+
date: 2011-07-01 00:00:00.000000000Z
|
13
|
+
dependencies:
|
14
|
+
- !ruby/object:Gem::Dependency
|
22
15
|
name: http_parser.rb
|
23
|
-
|
24
|
-
requirement: &id001 !ruby/object:Gem::Requirement
|
16
|
+
requirement: &13044100 !ruby/object:Gem::Requirement
|
25
17
|
none: false
|
26
|
-
requirements:
|
27
|
-
- -
|
28
|
-
- !ruby/object:Gem::Version
|
29
|
-
|
30
|
-
segments:
|
31
|
-
- 0
|
32
|
-
version: "0"
|
18
|
+
requirements:
|
19
|
+
- - ! '>='
|
20
|
+
- !ruby/object:Gem::Version
|
21
|
+
version: '0'
|
33
22
|
type: :runtime
|
34
|
-
version_requirements: *id001
|
35
|
-
- !ruby/object:Gem::Dependency
|
36
|
-
name: eventmachine
|
37
23
|
prerelease: false
|
38
|
-
|
24
|
+
version_requirements: *13044100
|
25
|
+
- !ruby/object:Gem::Dependency
|
26
|
+
name: eventmachine
|
27
|
+
requirement: &13043560 !ruby/object:Gem::Requirement
|
39
28
|
none: false
|
40
|
-
requirements:
|
41
|
-
- -
|
42
|
-
- !ruby/object:Gem::Version
|
43
|
-
|
44
|
-
segments:
|
45
|
-
- 0
|
46
|
-
version: "0"
|
29
|
+
requirements:
|
30
|
+
- - ! '>='
|
31
|
+
- !ruby/object:Gem::Version
|
32
|
+
version: '0'
|
47
33
|
type: :runtime
|
48
|
-
|
49
|
-
|
50
|
-
|
34
|
+
prerelease: false
|
35
|
+
version_requirements: *13043560
|
36
|
+
description: MinHTTP allows one to send and receive raw HTTP requests. It's a very
|
37
|
+
thin wrapper around EventMachine's connect method with some SSL validation added.
|
38
|
+
email:
|
51
39
|
- ahfarmer@gmail.com
|
52
40
|
executables: []
|
53
|
-
|
54
41
|
extensions: []
|
55
|
-
|
56
42
|
extra_rdoc_files: []
|
57
|
-
|
58
|
-
files:
|
43
|
+
files:
|
59
44
|
- README.md
|
60
45
|
- VERSION
|
61
46
|
- Gemfile
|
@@ -70,40 +55,30 @@ files:
|
|
70
55
|
- lib/rawparser.rb~
|
71
56
|
- test/simple_test.rb~
|
72
57
|
- test/simple_test.rb
|
73
|
-
has_rdoc: true
|
74
58
|
homepage: http://github.com/ahfarmer/minhttp
|
75
59
|
licenses: []
|
76
|
-
|
77
60
|
post_install_message:
|
78
61
|
rdoc_options: []
|
79
|
-
|
80
|
-
require_paths:
|
62
|
+
require_paths:
|
81
63
|
- lib
|
82
|
-
required_ruby_version: !ruby/object:Gem::Requirement
|
64
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
83
65
|
none: false
|
84
|
-
requirements:
|
85
|
-
- -
|
86
|
-
- !ruby/object:Gem::Version
|
87
|
-
|
88
|
-
|
89
|
-
- 0
|
90
|
-
version: "0"
|
91
|
-
required_rubygems_version: !ruby/object:Gem::Requirement
|
66
|
+
requirements:
|
67
|
+
- - ! '>='
|
68
|
+
- !ruby/object:Gem::Version
|
69
|
+
version: '0'
|
70
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
92
71
|
none: false
|
93
|
-
requirements:
|
94
|
-
- -
|
95
|
-
- !ruby/object:Gem::Version
|
96
|
-
|
97
|
-
segments:
|
98
|
-
- 0
|
99
|
-
version: "0"
|
72
|
+
requirements:
|
73
|
+
- - ! '>='
|
74
|
+
- !ruby/object:Gem::Version
|
75
|
+
version: '0'
|
100
76
|
requirements: []
|
101
|
-
|
102
77
|
rubyforge_project: minhttp
|
103
|
-
rubygems_version: 1.
|
78
|
+
rubygems_version: 1.8.5
|
104
79
|
signing_key:
|
105
80
|
specification_version: 3
|
106
81
|
summary: An HTTP library for the minimalist.
|
107
|
-
test_files:
|
82
|
+
test_files:
|
108
83
|
- test/simple_test.rb~
|
109
84
|
- test/simple_test.rb
|