From 66b494d366df625f69b8258428a0ecde48bdb2ab Mon Sep 17 00:00:00 2001 From: Michael Ball Date: Sun, 1 Nov 2020 20:00:38 -0800 Subject: [PATCH 1/3] Fix typo in Content-Type header --- raven/senders/luasocket.lua | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/raven/senders/luasocket.lua b/raven/senders/luasocket.lua index ded028c..dbb5fac 100644 --- a/raven/senders/luasocket.lua +++ b/raven/senders/luasocket.lua @@ -36,7 +36,7 @@ function mt:send(json_str) method = "POST", url = self.server, headers = { - ['Content-Type'] = 'applicaion/json', + ['Content-Type'] = 'application/json', ['User-Agent'] = "raven-lua-socket/" .. _VERSION, ['X-Sentry-Auth'] = generate_auth_header(self), ["Content-Length"] = tostring(#json_str), From c697b1bcee3aad031e55cf483d29c8b9671126f6 Mon Sep 17 00:00:00 2001 From: Michael Ball Date: Sun, 1 Nov 2020 20:03:13 -0800 Subject: [PATCH 2/3] Add support for more known Sentry tags * `environment` in the initalizer or each event * `user` in the initalizer or each event * `request` in each event * `context` in each event --- raven/init.lua | 22 +++++++++++++++++----- 1 file changed, 17 insertions(+), 5 deletions(-) diff --git a/raven/init.lua b/raven/init.lua index 452f4f3..c9788da 100644 --- a/raven/init.lua +++ b/raven/init.lua @@ -136,6 +136,8 @@ function _M.new(conf) logger = conf.logger or "root", tags = conf.tags or nil, extra = conf.extra or nil, + user = conf.user or nil, + environment = conf.environment or nil } return setmetatable(obj, raven_mt) @@ -296,11 +298,12 @@ function raven_mt:send_report(json, conf) end end - json.event_id = event_id - json.timestamp = iso8601() - json.level = self.level - json.platform = "lua" - json.logger = self.logger + json.event_id = event_id + json.timestamp = iso8601() + json.level = self.level + json.platform = "lua" + json.logger = self.logger + json.environment = self.environment if conf then json.tags = merge_tables(conf.tags, self.tags) @@ -309,6 +312,15 @@ function raven_mt:send_report(json, conf) if conf.level then json.level = conf.level end + if conf.user then + json.user = merge_tables(conf.user, self.user) + end + if conf.request then + json.request = conf.request + end + if conf.context then + json.context = conf.context + end else json.tags = self.tags json.extra = self.extra From 6d4ebd6f25307935f5a55f9248a26d093c13a9a1 Mon Sep 17 00:00:00 2001 From: Michael Ball Date: Mon, 2 Nov 2020 01:59:13 -0800 Subject: [PATCH 3/3] Use `_M.get_request_data()` as a better way to augment an event. * fix a typo: context should be contexts --- raven/init.lua | 18 ++++++++++++------ 1 file changed, 12 insertions(+), 6 deletions(-) diff --git a/raven/init.lua b/raven/init.lua index c9788da..b5a5ce9 100644 --- a/raven/init.lua +++ b/raven/init.lua @@ -136,7 +136,6 @@ function _M.new(conf) logger = conf.logger or "root", tags = conf.tags or nil, extra = conf.extra or nil, - user = conf.user or nil, environment = conf.environment or nil } @@ -150,6 +149,15 @@ function _M.get_server_name() return "undefined" end +--- This method is reponsible to return the `request` field of an event. +-- The default implementation just returns `{}`, users are encouraged +-- to override this to something more sensible. +-- See [Sentry's docs](https://develop.sentry.dev/sdk/event-payloads/request/) +-- for the list of allowed properties. +function _M.get_request_data() + return {} +end + --- This table can be used to tune the message reporting. -- @field tags Tags for the message, they will be coalesced with the ones -- provided in the @{sentry_conf} table used in the constructor if any. In @@ -315,17 +323,15 @@ function raven_mt:send_report(json, conf) if conf.user then json.user = merge_tables(conf.user, self.user) end - if conf.request then - json.request = conf.request - end - if conf.context then - json.context = conf.context + if conf.contexts then + json.contexts = conf.contexts end else json.tags = self.tags json.extra = self.extra end + json.request = _M.get_request_data() json.server_name = _M.get_server_name() local json_str = json_encode(json)