45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
|
# File 'lib/newrelic_security/instrumentation-security/sqlite3/chain.rb', line 45
def self.instrument!
::SQLite3::Statement.class_eval do
include NewRelic::Security::Instrumentation::SQLite3::Statement
alias_method :initialize_without_security, :initialize
def initialize(db, sql)
retval = nil
event = initialize_on_enter(db, sql) { retval = initialize_without_security(db, sql) }
initialize_on_exit(event, retval, sql) { return retval }
end
alias_method :bind_params_without_security, :bind_params
def bind_params(*bind_vars)
retval = nil
event = bind_params_on_enter(*bind_vars) { retval = bind_params_without_security(*bind_vars) }
bind_params_on_exit(event) { return retval }
end
alias_method :execute_without_security, :execute
def execute(*bind_vars)
retval = nil
event = execute_on_enter(*bind_vars) { retval = execute_without_security(*bind_vars) }
execute_on_exit(event) { return retval }
end
end
end
|