From 9d2599df4deaf89fde25024bd27a70ec6319f73f Mon Sep 17 00:00:00 2001 From: Shourya Sharma <58838340+ShouryaRSharma@users.noreply.github.com> Date: Sat, 23 Nov 2024 04:47:29 +0000 Subject: [PATCH] refactor: :recycle: Updated API parsing logic for vertex AI to throw specific error (#887) Co-authored-by: Shourya Sharma --- lua/avante/providers/vertex.lua | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/lua/avante/providers/vertex.lua b/lua/avante/providers/vertex.lua index d843309..f28e8a2 100644 --- a/lua/avante/providers/vertex.lua +++ b/lua/avante/providers/vertex.lua @@ -23,12 +23,12 @@ local function execute_command(command) end M.parse_api_key = function() - if M.api_key_name:match("^cmd:") then - local command = M.api_key_name:sub(5) - return execute_command(command) - else - return vim.fn.getenv(M.api_key_name) + if not M.api_key_name:match("^cmd:") then + error("Invalid api_key_name: Expected 'cmd:' format, got '" .. M.api_key_name .. "'") end + local command = M.api_key_name:sub(5) + local direct_output = execute_command(command) + return direct_output end M.parse_curl_args = function(provider, code_opts) @@ -48,10 +48,12 @@ M.parse_curl_args = function(provider, code_opts) }) body_opts.temperature = nil body_opts.max_tokens = nil + local bearer_token = M.parse_api_key() + return { url = url, headers = { - ["Authorization"] = "Bearer " .. M.parse_api_key(), + ["Authorization"] = "Bearer " .. bearer_token, ["Content-Type"] = "application/json; charset=utf-8", }, proxy = base.proxy,