* luci/httpd: Populated missing functions to wrapped socket
This commit is contained in:
parent
54e2e5ac39
commit
9926128741
1 changed files with 12 additions and 9 deletions
|
@ -112,7 +112,10 @@ function Server.process( self, client )
|
||||||
-- Setup sockets and sources
|
-- Setup sockets and sources
|
||||||
local thread = {
|
local thread = {
|
||||||
receive = function(self, ...) return luci.httpd.corecv(client, ...) end,
|
receive = function(self, ...) return luci.httpd.corecv(client, ...) end,
|
||||||
send = function(self, ...) return luci.httpd.cosend(client, ...) end
|
send = function(self, ...) return luci.httpd.cosend(client, ...) end,
|
||||||
|
close = function(self, ...) return client:close(...) end,
|
||||||
|
getfd = function(self, ...) return client:getfd(...) end,
|
||||||
|
dirty = function(self, ...) return client:dirty(...) end
|
||||||
}
|
}
|
||||||
|
|
||||||
client:settimeout( 0 )
|
client:settimeout( 0 )
|
||||||
|
@ -132,7 +135,7 @@ function Server.process( self, client )
|
||||||
message, err = luci.http.protocol.parse_message_header( sourcehdr )
|
message, err = luci.http.protocol.parse_message_header( sourcehdr )
|
||||||
|
|
||||||
if not message then
|
if not message then
|
||||||
self:error( client, 400, err )
|
self:error( thread, 400, err )
|
||||||
break
|
break
|
||||||
end
|
end
|
||||||
|
|
||||||
|
@ -152,7 +155,7 @@ function Server.process( self, client )
|
||||||
if message.http_version == 1.1 and message.headers['Expect'] and
|
if message.http_version == 1.1 and message.headers['Expect'] and
|
||||||
message.headers['Expect'] == '100-continue'
|
message.headers['Expect'] == '100-continue'
|
||||||
then
|
then
|
||||||
client:send("HTTP/1.1 100 Continue\r\n\r\n")
|
thread:send("HTTP/1.1 100 Continue\r\n\r\n")
|
||||||
end
|
end
|
||||||
|
|
||||||
if message.headers['Transfer-Encoding'] and
|
if message.headers['Transfer-Encoding'] and
|
||||||
|
@ -162,12 +165,12 @@ function Server.process( self, client )
|
||||||
sourcein = socket.source("by-length", thread,
|
sourcein = socket.source("by-length", thread,
|
||||||
tonumber(message.env.CONTENT_LENGTH))
|
tonumber(message.env.CONTENT_LENGTH))
|
||||||
else
|
else
|
||||||
self:error( client, 411, luci.http.protocol.statusmsg[411] )
|
self:error( thread, 411, luci.http.protocol.statusmsg[411] )
|
||||||
break;
|
break;
|
||||||
end
|
end
|
||||||
|
|
||||||
else
|
else
|
||||||
self:error( client, 405, luci.http.protocol.statusmsg[405] )
|
self:error( thread, 405, luci.http.protocol.statusmsg[405] )
|
||||||
break;
|
break;
|
||||||
|
|
||||||
end
|
end
|
||||||
|
@ -175,7 +178,7 @@ function Server.process( self, client )
|
||||||
|
|
||||||
local host = self.vhosts[message.env.HTTP_HOST] or self.host
|
local host = self.vhosts[message.env.HTTP_HOST] or self.host
|
||||||
if not host then
|
if not host then
|
||||||
self:error( client, 500, "Unable to find matching host" )
|
self:error( thread, 500, "Unable to find matching host" )
|
||||||
break;
|
break;
|
||||||
end
|
end
|
||||||
|
|
||||||
|
@ -184,7 +187,7 @@ function Server.process( self, client )
|
||||||
client, io.stderr
|
client, io.stderr
|
||||||
)
|
)
|
||||||
if not response then
|
if not response then
|
||||||
self:error( client, 500, "Error processing handler" )
|
self:error( thread, 500, "Error processing handler" )
|
||||||
end
|
end
|
||||||
|
|
||||||
-- Post process response
|
-- Post process response
|
||||||
|
@ -221,7 +224,7 @@ function Server.process( self, client )
|
||||||
header = header .. k .. ": " .. v .. "\r\n"
|
header = header .. k .. ": " .. v .. "\r\n"
|
||||||
end
|
end
|
||||||
|
|
||||||
client:send(header .. "\r\n")
|
thread:send(header .. "\r\n")
|
||||||
|
|
||||||
if sourceout then
|
if sourceout then
|
||||||
local eof = false
|
local eof = false
|
||||||
|
|
Loading…
Reference in a new issue