This forum uses cookies
This forum makes use of cookies to store your login information if you are registered, and your last visit if you are not. Cookies are small text documents stored on your computer; the cookies set by this forum can only be used on this website and pose no security risk. Cookies on this forum also track the specific topics you have read and when you last read them. Please confirm that you accept these cookies being set.

LM as webserver - ERR_INVALID_HTTP_RESPONSE
#1
I have an "old" piece of code that generates a html response for clients that connects to my lm:
http://192.168.x.x:19001/getdata/test

Results:
Chrome : ERR_INVALID_HTTP_RESPONSE
IOS Safari : cancelling load from .... because it is using HTTP/0.9
Internet explorer and Edge works great.

Anyone a solution?


Code:
-- init server handler if not ready then  require('copas')  -- list of client sockets  clients = {}  -- incoming data handler  function datahandler(sock, data)    local ip, port    ip, port = sock:getpeername()          -- send reply    if string.find(data,"GET /getdata/test") then      sock:send(htmlbody)    --else        --log(string.format('[server] data from %s:%d - %s', ip, port, data))    end  end  -- connection handler  function connhandler(sock)    -- enable keep-alive to check for disconnect events    --sock:setoption('keepalive', false)    local ip, port, data, err, id    -- get ip and port from socket    ip, port = sock:getpeername()    -- client id    id = string.format('%s:%d', ip, port)    --log(string.format('[server] connection from %s', id))             -- save socket reference    clients[ id ] = sock    -- main reader loop    while true do      -- wait for single line of data (until \n, \r is ignored)      data, err = copas.receive(sock, '*l')      -- error while receiving      if err then        --log(string.format('[server] closed connection from %s:%d', ip, port))        -- remove socket reference        clients[ id ] = nil        return      end      -- handle data frame      datahandler(sock, data)      if data == "" then        --log("stop")        break      end    end  end  -- bind to port 10001  tcpserver = socket.bind('*', 19001)  -- error while binding, try again later  if not tcpserver then    os.sleep(5)    log('[server] error: cannot bind')  end  -- set server connection handler  copas.addserver(tcpserver, connhandler)  -- create udp server on port 10002  udpserver = socket.udp()  udpserver:setsockname('*', 19002)  udpserver:settimeout(0.1)  ready = true end -- perform server tasks for one second (5 x (0.1 + 0.1)) for i = 1, 5 do  message = udpserver:receive()    -- got message from udp, send to all active clients  if message then    --log("message: " .. message .. " : " .. chartobyte(message))    for id, sock in pairs(clients) do      --log("client id: " .. id)      sock:send(message .. '\r')    end  end  copas.step(0.1) end -- all dynamic pages htmlbody = "<HTML>\n".. "\n".. "<HEAD>\n".. "<title>Web Communication</title>\n".. "</HEAD>\n".. "\n".. "<BODY>\n".. "Web Communication \n".. "<h3>Test</h3>\n".. "<pre style='white-space:normal;'>".. "</pre>".. "<br>".. "</BODY>\n".. "\n".. "</HTML>"
Reply


Messages In This Thread
LM as webserver - ERR_INVALID_HTTP_RESPONSE - by gjniewenhuijse - 20.11.2017, 10:35

Forum Jump: