19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
|
# File 'lib/webhook_system/event_log.rb', line 19
def self.construct(subscription, event, request, response)
request_info = {
'event' => event,
'headers' => request..to_hash,
'body' => request.body.truncate(MAX_JSON_ATTRIBUTE_SIZE),
'url' => request.path,
}
response_info = {
'headers' => response..to_hash,
'body' => response.body.truncate(MAX_JSON_ATTRIBUTE_SIZE),
}
attributes = {
event_name: event['event_name'],
event_id: event['event_id'],
status: response.status,
request: request_info,
response: response_info,
}
subscription.event_logs.build(attributes)
end
|