diff options
| author | William Boman <william@redwill.se> | 2022-10-14 16:38:32 +0200 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2022-10-14 16:38:32 +0200 |
| commit | 95ca710e47fdd65407d4a776a966963e455b56c7 (patch) | |
| tree | f68f725e88803cbcd22c7ac73cce532efe381a34 | |
| parent | chore: update generated code (#551) (diff) | |
| download | mason-95ca710e47fdd65407d4a776a966963e455b56c7.tar mason-95ca710e47fdd65407d4a776a966963e455b56c7.tar.gz mason-95ca710e47fdd65407d4a776a966963e455b56c7.tar.bz2 mason-95ca710e47fdd65407d4a776a966963e455b56c7.tar.lz mason-95ca710e47fdd65407d4a776a966963e455b56c7.tar.xz mason-95ca710e47fdd65407d4a776a966963e455b56c7.tar.zst mason-95ca710e47fdd65407d4a776a966963e455b56c7.zip | |
feat(fetch): add Accept headers where appropriate (#554)
| -rw-r--r-- | lua/mason-core/managers/cargo/client.lua | 6 | ||||
| -rw-r--r-- | lua/mason-core/managers/github/client.lua | 6 | ||||
| -rw-r--r-- | lua/mason-registry/api.lua | 6 | ||||
| -rw-r--r-- | tests/mason-registry/api_spec.lua | 6 |
4 files changed, 20 insertions, 4 deletions
diff --git a/lua/mason-core/managers/cargo/client.lua b/lua/mason-core/managers/cargo/client.lua index d5ecb283..82dc85aa 100644 --- a/lua/mason-core/managers/cargo/client.lua +++ b/lua/mason-core/managers/cargo/client.lua @@ -8,7 +8,11 @@ local M = {} ---@param crate string ---@return Result # Result<CrateResponse> function M.fetch_crate(crate) - return fetch(("https://crates.io/api/v1/crates/%s"):format(crate)):map_catching(vim.json.decode) + return fetch(("https://crates.io/api/v1/crates/%s"):format(crate), { + headers = { + Accept = "application/json", + }, + }):map_catching(vim.json.decode) end return M diff --git a/lua/mason-core/managers/github/client.lua b/lua/mason-core/managers/github/client.lua index e375c45a..9583ab6d 100644 --- a/lua/mason-core/managers/github/client.lua +++ b/lua/mason-core/managers/github/client.lua @@ -25,7 +25,11 @@ local function gh_api_call(path, opts) .gh({ "api", path, env = { CLICOLOR_FORCE = 0 } }) :map(_.prop "stdout") :recover_catching(function() - return fetch(("https://api.github.com/%s"):format(path)):get_or_throw() + return fetch(("https://api.github.com/%s"):format(path), { + headers = { + Accept = "application/vnd.github.v3+json; q=1.0, application/json; q=0.8", + }, + }):get_or_throw() end) :map_catching(vim.json.decode) end diff --git a/lua/mason-registry/api.lua b/lua/mason-registry/api.lua index 3fcd9423..037d7fd6 100644 --- a/lua/mason-registry/api.lua +++ b/lua/mason-registry/api.lua @@ -17,7 +17,11 @@ function api.get(path, opts) local params = stringify_params(opts.params) path = ("%s?%s"):format(path, params) end - return fetch(("%s%s"):format(BASE_URL, path)):map_catching(vim.json.decode) + return fetch(("%s%s"):format(BASE_URL, path), { + headers = { + Accept = "application/vnd.mason-registry.v1+json; q=1.0, application/json; q=0.8", + }, + }):map_catching(vim.json.decode) end return api diff --git a/tests/mason-registry/api_spec.lua b/tests/mason-registry/api_spec.lua index b871520b..f7b1bf45 100644 --- a/tests/mason-registry/api_spec.lua +++ b/tests/mason-registry/api_spec.lua @@ -24,7 +24,11 @@ describe("mason-registry API", function() }) assert.spy(fetch).was_called(1) - assert.spy(fetch).was_called_with "https://api.mason-registry.dev/api/data?page=2&page_limit=10&sort=ASC" + assert.spy(fetch).was_called_with("https://api.mason-registry.dev/api/data?page=2&page_limit=10&sort=ASC", { + headers = { + Accept = "application/vnd.mason-registry.v1+json; q=1.0, application/json; q=0.8", + }, + }) end) it("should deserialize JSON", function() |
