From 548427b2e3cd4f35b2cd4e2150a3e95703d8c495 Mon Sep 17 00:00:00 2001 From: Daniela Bento Date: Wed, 7 Apr 2021 08:41:08 +0100 Subject: [PATCH 1/8] Fix release name --- raven/init.lua | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/raven/init.lua b/raven/init.lua index 5426a6a..0a8cb8c 100644 --- a/raven/init.lua +++ b/raven/init.lua @@ -340,7 +340,7 @@ function raven_mt:send_report(json, conf) json.request = _M.get_request_data() json.server_name = _M.get_server_name() - json.releae = _M.get_release() + json.release = _M.get_release() local json_str = json_encode(json) local ok, err = self.sender:send(json_str) From b208dfae993975cbf9fde0deb32fa7f0d6ab2544 Mon Sep 17 00:00:00 2001 From: Daniela Bento Date: Wed, 7 Apr 2021 09:05:43 +0100 Subject: [PATCH 2/8] Use self.release --- raven/init.lua | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/raven/init.lua b/raven/init.lua index 0a8cb8c..48a3bfb 100644 --- a/raven/init.lua +++ b/raven/init.lua @@ -319,6 +319,7 @@ function raven_mt:send_report(json, conf) json.platform = "lua" json.logger = self.logger json.environment = self.environment + json.release = self.release if conf then json.tags = merge_tables(conf.tags, self.tags) @@ -340,7 +341,6 @@ function raven_mt:send_report(json, conf) json.request = _M.get_request_data() json.server_name = _M.get_server_name() - json.release = _M.get_release() local json_str = json_encode(json) local ok, err = self.sender:send(json_str) From d9cc125378e4d139be30e73670c0f81239a43dfd Mon Sep 17 00:00:00 2001 From: Daniela Bento Date: Wed, 7 Apr 2021 10:07:18 +0100 Subject: [PATCH 3/8] Add server_name --- raven/init.lua | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/raven/init.lua b/raven/init.lua index 48a3bfb..ecdbfae 100644 --- a/raven/init.lua +++ b/raven/init.lua @@ -137,7 +137,8 @@ function _M.new(conf) tags = conf.tags or nil, extra = conf.extra or nil, environment = conf.environment or nil, - release = conf.release or nil + release = conf.release or nil, + server_name = conf.server_name or nil } return setmetatable(obj, raven_mt) @@ -340,7 +341,7 @@ function raven_mt:send_report(json, conf) end json.request = _M.get_request_data() - json.server_name = _M.get_server_name() + json.server_name = self.server_name or _M.get_server_name() local json_str = json_encode(json) local ok, err = self.sender:send(json_str) From d77a92759f1186cc00116bf86cd5c0ada2b9b522 Mon Sep 17 00:00:00 2001 From: Daniela Bento Date: Wed, 7 Apr 2021 10:16:09 +0100 Subject: [PATCH 4/8] Experiment to add http_host into request_data --- raven/senders/ngx.lua | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/raven/senders/ngx.lua b/raven/senders/ngx.lua index 05bf470..ffa3293 100644 --- a/raven/senders/ngx.lua +++ b/raven/senders/ngx.lua @@ -240,4 +240,11 @@ function _M.get_server_name() return "undefined" end +function _M.get_request_data() + local request = { + host = ngx.var.http_host or nil + } + return request +end + return _M From 54e1997b33bb6b9a534f2036477bd0346b97542c Mon Sep 17 00:00:00 2001 From: Daniela Bento Date: Wed, 7 Apr 2021 10:27:58 +0100 Subject: [PATCH 5/8] Add release or get_release override --- raven/init.lua | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/raven/init.lua b/raven/init.lua index ecdbfae..0bed5b4 100644 --- a/raven/init.lua +++ b/raven/init.lua @@ -320,7 +320,6 @@ function raven_mt:send_report(json, conf) json.platform = "lua" json.logger = self.logger json.environment = self.environment - json.release = self.release if conf then json.tags = merge_tables(conf.tags, self.tags) @@ -342,6 +341,7 @@ function raven_mt:send_report(json, conf) json.request = _M.get_request_data() json.server_name = self.server_name or _M.get_server_name() + json.release = self.release or _M.get_release() local json_str = json_encode(json) local ok, err = self.sender:send(json_str) From 7206ff7f87ce9393f8e4449c4c75005d80c26e5c Mon Sep 17 00:00:00 2001 From: Daniela Bento Date: Wed, 7 Apr 2021 13:54:22 +0100 Subject: [PATCH 6/8] Validate get_request_data --- raven/senders/ngx.lua | 29 +++++++++++++++++++++++++---- 1 file changed, 25 insertions(+), 4 deletions(-) diff --git a/raven/senders/ngx.lua b/raven/senders/ngx.lua index ffa3293..2ac6400 100644 --- a/raven/senders/ngx.lua +++ b/raven/senders/ngx.lua @@ -240,11 +240,32 @@ function _M.get_server_name() return "undefined" end +--- Returns the value of the `request_data` variable if possible. +-- Otherwise (wrong phase), this will return {}. +-- +-- It is intended to be used as a `get_request_data` override on the main raven +-- instance. +-- +-- @usage +-- local raven_ngx = require("raven.senders.ngx") +-- local rvn = raven.new(...) +-- rvn.get_quest_data = raven_ngx.get_request_data function _M.get_request_data() - local request = { - host = ngx.var.http_host or nil - } - return request + local phase = ngx.get_phase() + -- the ngx.var.* API is not available in all contexts + if phase == "set" or + phase == "rewrite" or + phase == "access" or + phase == "content" or + phase == "header_filter" or + phase == "body_filter" or + phase == "log" + then + return { + host = ngx.var.http_host or nil + } + end + return {} end return _M From 29ef9b63342b1d4b6d93451851d5f62ca8f0a511 Mon Sep 17 00:00:00 2001 From: Daniela Bento Date: Wed, 7 Apr 2021 13:57:21 +0100 Subject: [PATCH 7/8] Add support for release and server_name --- raven/senders/ngx.lua | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/raven/senders/ngx.lua b/raven/senders/ngx.lua index 2ac6400..142b994 100644 --- a/raven/senders/ngx.lua +++ b/raven/senders/ngx.lua @@ -249,7 +249,7 @@ end -- @usage -- local raven_ngx = require("raven.senders.ngx") -- local rvn = raven.new(...) --- rvn.get_quest_data = raven_ngx.get_request_data +-- rvn.get_request_data = raven_ngx.get_request_data function _M.get_request_data() local phase = ngx.get_phase() -- the ngx.var.* API is not available in all contexts @@ -262,10 +262,13 @@ function _M.get_request_data() phase == "log" then return { - host = ngx.var.http_host or nil + caller = "nginx", + host = ngx.var.http_host or nil, } end - return {} + return { + caller = "nginx", + } end return _M From 096a3851106fabb445bfc4f5d0b95e3c3698e544 Mon Sep 17 00:00:00 2001 From: Daniela Bento Date: Thu, 8 Apr 2021 07:58:27 +0100 Subject: [PATCH 8/8] Add data into ngx get_request_data --- raven/senders/ngx.lua | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/raven/senders/ngx.lua b/raven/senders/ngx.lua index 142b994..5e92548 100644 --- a/raven/senders/ngx.lua +++ b/raven/senders/ngx.lua @@ -263,7 +263,13 @@ function _M.get_request_data() then return { caller = "nginx", + method = ngx.var.request_method or nil, host = ngx.var.http_host or nil, + url = ngx.var.request_uri or nil, + query_string = ngx.var.query_string or nil, + env = { + REMOTE_ADDR = ngx.var.remote_addr or nil, + }, } end return {