Skip to content

Commit 828cf52

Browse files
fix: handle HOST header
1 parent 5dc89bb commit 828cf52

File tree

2 files changed

+8
-3
lines changed

2 files changed

+8
-3
lines changed

lua/rest-nvim/parser/init.lua

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -246,13 +246,18 @@ function M.parse(req_node, source, context)
246246
local handlers = vim.iter(handler_nodes):map(function (node)
247247
return M.parse_request_handler(node, source, context)
248248
end):totable()
249+
local headers = parse_headers(req_node, source, context)
250+
if headers["host"] then
251+
url = headers["host"]..url
252+
headers["host"] = nil
253+
end
249254
---@type Request
250255
return {
251256
context = context,
252257
method = method,
253258
url = url,
254259
http_version = get_node_field_text(req_node, "version", source),
255-
headers = parse_headers(req_node, source, context),
260+
headers = headers,
256261
body = body,
257262
handlers = handlers,
258263
}

spec/api_spec.lua

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -106,15 +106,15 @@ describe("parser", function()
106106
end)
107107
it("parse with variables in header", function ()
108108
local source = [[POST https://example.com
109-
HOST: {{$date}}
109+
X-DATE: {{$date}}
110110
]]
111111
local _, tree = utils.ts_parse_source(source)
112112
local req_node = assert(tree:root():child(0))
113113
local req = parser.parse(req_node, source)
114114
assert.is_not_nil(req)
115115
---@cast req Request
116116
assert.same({
117-
host = os.date("%Y-%m-%d")
117+
["x-date"] = os.date("%Y-%m-%d")
118118
}, req.headers)
119119
end)
120120
it("parse with variables in header", function ()

0 commit comments

Comments
 (0)