Skip to content

Commit b557cef

Browse files
authored
Add User-Agent to API Calls
1 parent 0da6bd6 commit b557cef

1 file changed

Lines changed: 9 additions & 0 deletions

File tree

Aeon-ArchivesSpace-Addon/Aeon-ArchivesSpace.lua

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,10 +25,13 @@ settings.AutoGroupResults = GetSetting("AutoGroupResults");
2525
local types = {};
2626

2727
luanet.load_assembly("System.Net");
28+
luanet.load_assembly("System.Windows.Forms");
29+
2830
types["System.Net.WebClient"] = luanet.import_type("System.Net.WebClient");
2931
types["System.IO.StreamReader"] = luanet.import_type("System.IO.StreamReader");
3032
types["System.Text.Encoding"] = luanet.import_type("System.Text.Encoding");
3133
types["System.DBNull"] = luanet.import_type("System.DBNull");
34+
types["System.Windows.Forms.Application"] = luanet.import_type("System.Windows.Forms.Application");
3235

3336
luanet.load_assembly("System");
3437
types["System.Collections.Specialized.NameValueCollection"] = luanet.import_type("System.Collections.Specialized.NameValueCollection");
@@ -164,6 +167,10 @@ function Init()
164167
catalogSearchForm.Browser:Navigate(settings.BaseURL);
165168
end
166169

170+
function Version()
171+
return types["System.Windows.Forms.Application"].ProductVersion;
172+
end
173+
167174
function WebView2Enabled()
168175
return AddonInfo.Browsers ~= nil and AddonInfo.Browsers.WebView2 ~= nil and AddonInfo.Browsers.WebView2 == true;
169176
end
@@ -747,6 +754,8 @@ function SendApiRequest(apiPath, method, parameters, authToken)
747754
local webClient = types["System.Net.WebClient"]();
748755

749756
webClient.Headers:Clear();
757+
-- Add a user-agent for the API request to support ArchivesSpace API hosted by Lyrasis
758+
webClient.Headers:Add("user-agent", "AtlasAeon/" .. Version());
750759
if (authToken ~= nil and authToken ~= "") then
751760
webClient.Headers:Add("X-ArchivesSpace-Session", authToken);
752761
end

0 commit comments

Comments
 (0)