socket.http headers in lua

3.6k views Asked by At

I am using the socket.http module to send http request but I am unable to get all the response headers from the http request.

Below is the sample code am using I need to print all the response headers

Connection  close, TE
Content-Length  210
Content-Type    application/x-www-form-urlencoded
Host    XXXX
TE  trailers
User-Agent  LuaSocket 3.0-rc1
method  POST
protocol    HTTP/1.1

test.lua

http = require("socket.http")
header = { }

local result,b,c,h = http.request{ url = "myurl", headers = header,method="POST" }
for k,v in pairs(c) do print(k,v) end

This is the output am getting:

content-type    text/html; charset=UTF-8
server  Apache/2.2.15 (CentOS)
date    Tue, 16 Jun 2015 13:32:50 GMT
connection  close
content-length  348
x-powered-by    PHP/5.4.35

But I need all the headers like

Connection  close, TE
Content-Length  210
Content-Type    application/x-www-form-urlencoded
Host    XXXX
TE  trailers
User-Agent  LuaSocket 3.0-rc1
method  POST
protocol    HTTP/1.1
1

There are 1 answers

0
dlask On

You do print all response headers.

You can verify it by inspecting the information in the browser's development tools or by inspecting the TCP traffic directly.

By the way, you cannot expect request fields (e.g. user-agent) to be present in the response header.