Class: Exceptional::SinatraExceptionData

Inherits:
ExceptionData
  • Object
show all
Defined in:
lib/sinatra/exceptional.rb

Constant Summary collapse

FILTERED_TEXT =
'[FILTERED]'

Instance Method Summary collapse

Constructor Details

#initialize(exception, environment, request, opts = {}) ⇒ SinatraExceptionData

Returns a new instance of SinatraExceptionData.



21
22
23
24
25
26
# File 'lib/sinatra/exceptional.rb', line 21

def initialize(exception, environment, request, opts={})
  super exception
  @opts = opts
  @environment = environment
  @request = request
end

Instance Method Details

#extra_stuffObject



32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
# File 'lib/sinatra/exceptional.rb', line 32

def extra_stuff
  params = {}

  if @opts && @opts[:params_filter]
    @request.params.each do |k,v|
      params[k] =  k.to_s.match(@opts[:params_filter]) ? FILTERED_TEXT : v
    end
  else
    params = @request.params
  end

  return {} if @request.nil?
  {
    'request' => {
      'url' => "#{@request.url}",
      'parameters' => params,
      'request_method' => @request.request_method.to_s,
      'remote_ip' => @request.ip,
      'headers' => extract_http_headers(@environment),
      'session' => self.class.sanitize_session(@request)
    }
  }
end

#frameworkObject



28
29
30
# File 'lib/sinatra/exceptional.rb', line 28

def framework
  "sinatra"
end