File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -137,7 +137,8 @@ function _M.new(conf)
137137 tags = conf .tags or nil ,
138138 extra = conf .extra or nil ,
139139 environment = conf .environment or nil ,
140- release = conf .release or nil
140+ release = conf .release or nil ,
141+ server_name = conf .server_name or nil
141142 }
142143
143144 return setmetatable (obj , raven_mt )
@@ -339,8 +340,8 @@ function raven_mt:send_report(json, conf)
339340 end
340341
341342 json .request = _M .get_request_data ()
342- json .server_name = _M .get_server_name ()
343- json .releae = _M .get_release ()
343+ json .server_name = self . server_name or _M .get_server_name ()
344+ json .release = self . release or _M .get_release ()
344345
345346 local json_str = json_encode (json )
346347 local ok , err = self .sender :send (json_str )
Original file line number Diff line number Diff line change @@ -240,4 +240,41 @@ function _M.get_server_name()
240240 return " undefined"
241241end
242242
243+ --- Returns the value of the `request_data` variable if possible.
244+ -- Otherwise (wrong phase), this will return {}.
245+ --
246+ -- It is intended to be used as a `get_request_data` override on the main raven
247+ -- instance.
248+ --
249+ -- @usage
250+ -- local raven_ngx = require("raven.senders.ngx")
251+ -- local rvn = raven.new(...)
252+ -- rvn.get_request_data = raven_ngx.get_request_data
253+ function _M .get_request_data ()
254+ local phase = ngx .get_phase ()
255+ -- the ngx.var.* API is not available in all contexts
256+ if phase == " set" or
257+ phase == " rewrite" or
258+ phase == " access" or
259+ phase == " content" or
260+ phase == " header_filter" or
261+ phase == " body_filter" or
262+ phase == " log"
263+ then
264+ return {
265+ caller = " nginx" ,
266+ method = ngx .var .request_method or nil ,
267+ host = ngx .var .http_host or nil ,
268+ url = ngx .var .request_uri or nil ,
269+ query_string = ngx .var .query_string or nil ,
270+ env = {
271+ REMOTE_ADDR = ngx .var .remote_addr or nil ,
272+ },
273+ }
274+ end
275+ return {
276+ caller = " nginx" ,
277+ }
278+ end
279+
243280return _M
You can’t perform that action at this time.
0 commit comments