Skip to content

Commit 9f65bb9

Browse files
committed
bugfix: Dgram: insert a receive block only if "--- dgram_response" is specified.
1 parent 196f9f7 commit 9f65bb9

1 file changed

Lines changed: 23 additions & 13 deletions

File tree

lib/Test/Nginx/Socket/Lua/Dgram.pm

Lines changed: 23 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -102,15 +102,10 @@ _EOC_
102102
} else {
103103
$new_http_server_config .= <<_EOC_;
104104
sock:send('trigger dgram req')
105-
local data, err = sock:receive()
106-
if not data then
107-
sock:close()
108-
ngx.say("receive stream response error: ", err)
109-
return
110-
end
111105
_EOC_
112106
}
113107

108+
114109
if (defined $block->abort) {
115110
my $timeout = Test::Nginx::Util::parse_time($block->timeout)
116111
// Test::Nginx::Util::timeout();
@@ -128,6 +123,14 @@ _EOC_
128123
|| defined $block->dgram_response
129124
|| defined $block->dgram_response_like)
130125
{
126+
$new_http_server_config .= <<_EOC_;
127+
local data, err = sock:receive()
128+
if not data then
129+
sock:close()
130+
ngx.say("receive stream response error: ", err)
131+
return
132+
end
133+
_EOC_
131134
if (defined $block->log_dgram_response) {
132135
$new_http_server_config .= <<_EOC_;
133136
print("stream response: ", data)
@@ -166,20 +169,21 @@ _EOC_
166169

167170
$new_http_server_config .= <<_EOC_;
168171
sock:send('trigger_dgram_req2')
169-
local data, err = sock:receive()
170-
if not data then
171-
ngx.say("receive stream response error: ", err)
172-
return
173-
end
174172
_EOC_
175173

176174
if (defined $block->response_body
177175
|| defined $block->response_body_like
178176
|| defined $block->dgram_response
179177
|| defined $block->dgram_response_like)
180178
{
181-
$new_http_server_config .= <<_EOC_;
182-
ngx.print(data)
179+
$new_http_server_config .= <<_EOC_;
180+
local data, err = sock:receive()
181+
if not data then
182+
sock:close()
183+
ngx.say("receive stream response error: ", err)
184+
return
185+
end
186+
ngx.print(data)
183187
_EOC_
184188
}
185189
}
@@ -223,6 +227,12 @@ _EOC_
223227
|| defined $block->dgram_response_like)
224228
{
225229
$new_http_server_config .= <<_EOC_;
230+
local data, err = sock:receive()
231+
if not data then
232+
sock:close()
233+
ngx.say("receive stream response error: ", err)
234+
return
235+
end
226236
ngx.print(data)
227237
_EOC_
228238
}

0 commit comments

Comments
 (0)