From 5c17b07c4d70d459d512cb10db233bbf847a44c1 Mon Sep 17 00:00:00 2001 From: Hisham Muhammad Date: Tue, 16 Oct 2012 23:29:19 -0300 Subject: Report LuaRocks user-agent when using LuaSocket as well. Report also architecture and downloader tool, so we gather some general stats. --- src/luarocks/cfg.lua | 3 ++- src/luarocks/fs/lua.lua | 10 +++++++++- src/luarocks/fs/unix/tools.lua | 4 ++-- src/luarocks/fs/win32/tools.lua | 4 ++-- 4 files changed, 15 insertions(+), 6 deletions(-) (limited to 'src') diff --git a/src/luarocks/cfg.lua b/src/luarocks/cfg.lua index 00c4aea0..d4222998 100644 --- a/src/luarocks/cfg.lua +++ b/src/luarocks/cfg.lua @@ -26,7 +26,6 @@ _M.site_config = site_config lua_version = _VERSION:sub(5) program_version = "2.0.11" -user_agent = "LuaRocks/"..program_version local persist = require("luarocks.persist") @@ -438,6 +437,8 @@ function which_config() return sys_config_file, sys_config_ok, home_config_file, home_config_ok end +user_agent = "LuaRocks/"..program_version.." "..arch + --- Check if platform was detected -- @param query string: The platform name to check. -- @return boolean: true if LuaRocks is currently running on queried platform. diff --git a/src/luarocks/fs/lua.lua b/src/luarocks/fs/lua.lua index 24b05a59..00c576dc 100644 --- a/src/luarocks/fs/lua.lua +++ b/src/luarocks/fs/lua.lua @@ -501,7 +501,15 @@ local function http_request(url, http, loop_control) proxy = "http://" .. proxy end - local res, status, headers, err = http.request { url = url, proxy = proxy, redirect = false, sink = ltn12.sink.table(result) } + local res, status, headers, err = http.request { + url = url, + proxy = proxy, + redirect = false, + sink = ltn12.sink.table(result), + headers = { + ["user-agent"] = cfg.user_agent.." via LuaSocket" + }, + } if not res then return nil, status elseif status == 301 or status == 302 then diff --git a/src/luarocks/fs/unix/tools.lua b/src/luarocks/fs/unix/tools.lua index 7e29fc0a..3b853be7 100644 --- a/src/luarocks/fs/unix/tools.lua +++ b/src/luarocks/fs/unix/tools.lua @@ -237,7 +237,7 @@ function download(url, filename) assert(type(filename) == "string" or not filename) if cfg.downloader == "wget" then - local wget_cmd = vars.WGET.." --no-check-certificate --no-cache --user-agent="..cfg.user_agent.." --quiet --continue " + local wget_cmd = vars.WGET.." --no-check-certificate --no-cache --user-agent='"..cfg.user_agent.." via wget' --quiet --continue " if filename then return fs.execute(wget_cmd.." --output-document ", filename, url) else @@ -245,7 +245,7 @@ function download(url, filename) end elseif cfg.downloader == "curl" then filename = filename or dir.base_name(url) - return fs.execute_string(vars.CURL.." -L --user-agent "..cfg.user_agent.." "..fs.Q(url).." 2> /dev/null 1> "..fs.Q(filename)) + return fs.execute_string(vars.CURL.." -L --user-agent '"..cfg.user_agent.." via curl' "..fs.Q(url).." 2> /dev/null 1> "..fs.Q(filename)) end end diff --git a/src/luarocks/fs/win32/tools.lua b/src/luarocks/fs/win32/tools.lua index 48eca64b..3e7ebd32 100644 --- a/src/luarocks/fs/win32/tools.lua +++ b/src/luarocks/fs/win32/tools.lua @@ -246,7 +246,7 @@ function download(url, filename) assert(type(filename) == "string" or not filename) if cfg.downloader == "wget" then - local wget_cmd = vars.WGET.." --no-check-certificate --no-cache --user-agent="..cfg.user_agent.." --quiet --continue " + local wget_cmd = vars.WGET.." --no-check-certificate --no-cache --user-agent=\""..cfg.user_agent.." via wget\" --quiet --continue " if filename then return fs.execute(wget_cmd.." --output-document ", filename, url) else @@ -254,7 +254,7 @@ function download(url, filename) end elseif cfg.downloader == "curl" then filename = filename or dir.base_name(url) - return fs.execute_string(vars.CURL.." -L --user-agent "..cfg.user_agent.." "..fs.Q(url).." 2> NUL 1> "..fs.Q(filename)) + return fs.execute_string(vars.CURL.." -L --user-agent \""..cfg.user_agent.." via curl\" "..fs.Q(url).." 2> NUL 1> "..fs.Q(filename)) end end -- cgit v1.2.3-55-g6feb