Class: Aikido::Zen::Events::AttackWave
Instance Attribute Summary collapse
#system_info, #time, #type
Class Method Summary
collapse
Instance Method Summary
collapse
Constructor Details
Returns an attack wave event.
102
103
104
105
106
|
# File 'lib/aikido/zen/event.rb', line 102
def initialize(request:, attack:, **opts)
super(type: "detected_attack_wave", **opts)
@request = request
@attack = attack
end
|
Instance Attribute Details
95
96
97
|
# File 'lib/aikido/zen/event.rb', line 95
def attack
@attack
end
|
92
93
94
|
# File 'lib/aikido/zen/event.rb', line 92
def request
@request
end
|
Class Method Details
Returns an attack wave event.
76
77
78
79
80
81
82
83
84
85
86
87
88
89
|
# File 'lib/aikido/zen/event.rb', line 76
def self.from_context(context)
request = Aikido::Zen::AttackWave::Request.new(
ip_address: context.request.client_ip,
user_agent: context.request.user_agent,
source: context.request.framework
)
attack = Aikido::Zen::AttackWave::Attack.new(
metadata: {}, user: context.request.actor
)
new(request: request, attack: attack)
end
|
Instance Method Details
#as_json ⇒ Object
108
109
110
111
112
113
|
# File 'lib/aikido/zen/event.rb', line 108
def as_json
super.update(
request: @request.as_json,
attack: @attack.as_json
)
end
|