hatetepe 0.2.0 → 0.2.1
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/lib/hatetepe/body.rb +6 -4
- data/lib/hatetepe/parser.rb +1 -0
- data/lib/hatetepe/request.rb +7 -5
- data/lib/hatetepe/server.rb +1 -1
- data/lib/hatetepe/version.rb +1 -1
- data/lib/rack/handler/hatetepe.rb +2 -0
- data/spec/unit/body_spec.rb +0 -14
- data/spec/unit/parser_spec.rb +1 -0
- metadata +20 -20
data/lib/hatetepe/body.rb
CHANGED
@@ -54,25 +54,27 @@ module Hatetepe
|
|
54
54
|
|
55
55
|
def read(*args)
|
56
56
|
sync
|
57
|
-
rewind
|
58
57
|
@io.read *args
|
59
58
|
end
|
60
59
|
|
61
60
|
def gets
|
62
61
|
sync
|
63
|
-
rewind
|
64
62
|
@io.gets
|
65
63
|
end
|
66
64
|
|
67
65
|
def write(chunk)
|
68
66
|
ret = @io.write chunk
|
69
|
-
|
67
|
+
Fiber.new {
|
68
|
+
@receivers.each {|r| r.call chunk }
|
69
|
+
}.resume
|
70
70
|
ret
|
71
71
|
end
|
72
72
|
|
73
73
|
def <<(chunk)
|
74
74
|
ret = @io << chunk
|
75
|
-
|
75
|
+
Fiber.new {
|
76
|
+
@receivers.each {|r| r.call chunk }
|
77
|
+
}.resume
|
76
78
|
ret
|
77
79
|
end
|
78
80
|
end
|
data/lib/hatetepe/parser.rb
CHANGED
data/lib/hatetepe/request.rb
CHANGED
@@ -18,13 +18,15 @@ module Hatetepe
|
|
18
18
|
"rack.input" => body,
|
19
19
|
"REQUEST_METHOD" => verb.dup,
|
20
20
|
"REQUEST_URI" => uri.dup
|
21
|
-
}.tap {|
|
21
|
+
}.tap {|hsh|
|
22
22
|
headers.each {|key, value|
|
23
|
-
|
23
|
+
key = key.upcase.gsub! /[^A-Z]/, "_"
|
24
|
+
key = "HTTP_#{key}" unless key =~ /^CONTENT_(TYPE|LENGTH)$/
|
25
|
+
hsh[key] = value
|
24
26
|
}
|
25
|
-
|
26
|
-
|
27
|
-
|
27
|
+
|
28
|
+
hsh["REQUEST_PATH"], qm, hsh["QUERY_STRING"] = uri.partition("?")
|
29
|
+
hsh["PATH_INFO"], hsh["SCRIPT_NAME"] = hsh["REQUEST_PATH"].dup, ""
|
28
30
|
}
|
29
31
|
end
|
30
32
|
end
|
data/lib/hatetepe/server.rb
CHANGED
@@ -74,7 +74,7 @@ module Hatetepe
|
|
74
74
|
e["stream.start"] = proc {|response|
|
75
75
|
e.delete "stream.start"
|
76
76
|
EM::Synchrony.sync previous if previous
|
77
|
-
response[1]["Server"] = "hatetepe/#{VERSION}"
|
77
|
+
response[1]["Server"] = "hatetepe/#{Hatetepe::VERSION}"
|
78
78
|
builder.response response[0..1]
|
79
79
|
}
|
80
80
|
|
data/lib/hatetepe/version.rb
CHANGED
data/spec/unit/body_spec.rb
CHANGED
@@ -135,13 +135,6 @@ describe Hatetepe::Body do
|
|
135
135
|
read.should be_true
|
136
136
|
end
|
137
137
|
|
138
|
-
it "rewinds the body" do
|
139
|
-
body.succeed
|
140
|
-
|
141
|
-
body.should_receive :rewind
|
142
|
-
body.read
|
143
|
-
end
|
144
|
-
|
145
138
|
it "forwards to io#read" do
|
146
139
|
body.succeed
|
147
140
|
args, ret = [stub("arg#1"), stub("arg#2")], stub("ret")
|
@@ -162,13 +155,6 @@ describe Hatetepe::Body do
|
|
162
155
|
read.should be_true
|
163
156
|
end
|
164
157
|
|
165
|
-
it "rewinds the body" do
|
166
|
-
body.succeed
|
167
|
-
|
168
|
-
body.should_receive :rewind
|
169
|
-
body.gets
|
170
|
-
end
|
171
|
-
|
172
158
|
it "forwards to io#gets" do
|
173
159
|
body.succeed
|
174
160
|
ret = stub("ret")
|
data/spec/unit/parser_spec.rb
CHANGED
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: hatetepe
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.2.
|
4
|
+
version: 0.2.1
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,11 +9,11 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2011-09-
|
12
|
+
date: 2011-09-11 00:00:00.000000000Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: http_parser.rb
|
16
|
-
requirement: &
|
16
|
+
requirement: &73976140 !ruby/object:Gem::Requirement
|
17
17
|
none: false
|
18
18
|
requirements:
|
19
19
|
- - ! '>='
|
@@ -21,10 +21,10 @@ dependencies:
|
|
21
21
|
version: '0'
|
22
22
|
type: :runtime
|
23
23
|
prerelease: false
|
24
|
-
version_requirements: *
|
24
|
+
version_requirements: *73976140
|
25
25
|
- !ruby/object:Gem::Dependency
|
26
26
|
name: eventmachine
|
27
|
-
requirement: &
|
27
|
+
requirement: &73975870 !ruby/object:Gem::Requirement
|
28
28
|
none: false
|
29
29
|
requirements:
|
30
30
|
- - ! '>='
|
@@ -32,10 +32,10 @@ dependencies:
|
|
32
32
|
version: '0'
|
33
33
|
type: :runtime
|
34
34
|
prerelease: false
|
35
|
-
version_requirements: *
|
35
|
+
version_requirements: *73975870
|
36
36
|
- !ruby/object:Gem::Dependency
|
37
37
|
name: em-synchrony
|
38
|
-
requirement: &
|
38
|
+
requirement: &73975650 !ruby/object:Gem::Requirement
|
39
39
|
none: false
|
40
40
|
requirements:
|
41
41
|
- - ! '>='
|
@@ -43,10 +43,10 @@ dependencies:
|
|
43
43
|
version: '0'
|
44
44
|
type: :runtime
|
45
45
|
prerelease: false
|
46
|
-
version_requirements: *
|
46
|
+
version_requirements: *73975650
|
47
47
|
- !ruby/object:Gem::Dependency
|
48
48
|
name: rack
|
49
|
-
requirement: &
|
49
|
+
requirement: &73975440 !ruby/object:Gem::Requirement
|
50
50
|
none: false
|
51
51
|
requirements:
|
52
52
|
- - ! '>='
|
@@ -54,10 +54,10 @@ dependencies:
|
|
54
54
|
version: '0'
|
55
55
|
type: :runtime
|
56
56
|
prerelease: false
|
57
|
-
version_requirements: *
|
57
|
+
version_requirements: *73975440
|
58
58
|
- !ruby/object:Gem::Dependency
|
59
59
|
name: async-rack
|
60
|
-
requirement: &
|
60
|
+
requirement: &73975230 !ruby/object:Gem::Requirement
|
61
61
|
none: false
|
62
62
|
requirements:
|
63
63
|
- - ! '>='
|
@@ -65,10 +65,10 @@ dependencies:
|
|
65
65
|
version: '0'
|
66
66
|
type: :runtime
|
67
67
|
prerelease: false
|
68
|
-
version_requirements: *
|
68
|
+
version_requirements: *73975230
|
69
69
|
- !ruby/object:Gem::Dependency
|
70
70
|
name: thor
|
71
|
-
requirement: &
|
71
|
+
requirement: &73975020 !ruby/object:Gem::Requirement
|
72
72
|
none: false
|
73
73
|
requirements:
|
74
74
|
- - ! '>='
|
@@ -76,10 +76,10 @@ dependencies:
|
|
76
76
|
version: '0'
|
77
77
|
type: :runtime
|
78
78
|
prerelease: false
|
79
|
-
version_requirements: *
|
79
|
+
version_requirements: *73975020
|
80
80
|
- !ruby/object:Gem::Dependency
|
81
81
|
name: rspec
|
82
|
-
requirement: &
|
82
|
+
requirement: &73974800 !ruby/object:Gem::Requirement
|
83
83
|
none: false
|
84
84
|
requirements:
|
85
85
|
- - ! '>='
|
@@ -87,10 +87,10 @@ dependencies:
|
|
87
87
|
version: '0'
|
88
88
|
type: :development
|
89
89
|
prerelease: false
|
90
|
-
version_requirements: *
|
90
|
+
version_requirements: *73974800
|
91
91
|
- !ruby/object:Gem::Dependency
|
92
92
|
name: fakefs
|
93
|
-
requirement: &
|
93
|
+
requirement: &73974590 !ruby/object:Gem::Requirement
|
94
94
|
none: false
|
95
95
|
requirements:
|
96
96
|
- - ! '>='
|
@@ -98,10 +98,10 @@ dependencies:
|
|
98
98
|
version: '0'
|
99
99
|
type: :development
|
100
100
|
prerelease: false
|
101
|
-
version_requirements: *
|
101
|
+
version_requirements: *73974590
|
102
102
|
- !ruby/object:Gem::Dependency
|
103
103
|
name: em-http-request
|
104
|
-
requirement: &
|
104
|
+
requirement: &73974330 !ruby/object:Gem::Requirement
|
105
105
|
none: false
|
106
106
|
requirements:
|
107
107
|
- - ! '>='
|
@@ -109,7 +109,7 @@ dependencies:
|
|
109
109
|
version: '0'
|
110
110
|
type: :development
|
111
111
|
prerelease: false
|
112
|
-
version_requirements: *
|
112
|
+
version_requirements: *73974330
|
113
113
|
description:
|
114
114
|
email:
|
115
115
|
- lars.gierth@gmail.com
|