This commit is contained in:
Patrick Nisble
2026-06-01 09:56:50 +02:00
parent 7c6c3d7223
commit 5c2016a05c
14 changed files with 1140 additions and 261 deletions
+30 -13
View File
@@ -11,27 +11,32 @@ local M = {}
---@param params {[string]: string}
---@returns table | nil
M.request = function(method, session, endpoint, params)
local param_list = {}
for param_name, param_value in pairs(params) do
table.insert(param_list, param_name .. "=" .. param_value)
end
local url = session.base_url .. endpoint
if #param_list then
url = url .. "?" .. table.concat(param_list, "&")
end
local resp = nil
if method == "get" then
resp = curl.get(url, {headers = {
local param_list = {}
for param_name, param_value in pairs(params) do
table.insert(param_list, param_name .. "=" .. param_value)
end
if #param_list then
url = url .. "?" .. table.concat(param_list, "&")
end
resp = curl.get(url, {
headers = {
-- ['PRIVATE-TOKEN'] = session.auth,
['Authorization'] = session.auth,
["content-type"] = "application/json",
}})
}
})
elseif method == "post" then
resp = curl.post(url, {headers = {
resp = curl.post(url, {
headers = {
-- ['PRIVATE-TOKEN'] = session.auth,
['Authorization'] = session.auth,
["content-type"] = "application/json",
}})
},
body = vim.json.encode(params)
})
else
return nil
end
@@ -56,8 +61,20 @@ M.request = function(method, session, endpoint, params)
return prjs
end
print("failed http request: " .. tostring(resp.status) .. " (" .. resp.body .. ", " .. url .. ")")
return nil
error("failed http request: " .. tostring(resp.status) .. " (" .. resp.body .. ", " .. url .. ")")
end
--- @param str string
--- @param char? string defaults to " "
--- @return string[]
M.split = function(str, char)
char = char or " "
--- @type string[]
local ret = {}
for part in str:gmatch("[^" .. char .. "]+") do
table.insert(ret, part)
end
return ret
end
return M