Skip to content
This repository was archived by the owner on Jun 13, 2023. It is now read-only.

Commit 5f09c6a

Browse files
ranribRon Yishai
authored andcommitted
sem-ver: bugfix collecting data in botocore events. (#4)
1 parent 2a3a7e5 commit 5f09c6a

1 file changed

Lines changed: 20 additions & 13 deletions

File tree

epsagon/events/botocore.py

Lines changed: 20 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -192,13 +192,15 @@ def __init__(self, wrapped, instance, args, kwargs, start_time, response,
192192

193193
_, request_data = args
194194
self.resource['name'] = request_data['StreamName']
195-
add_data_if_needed(
196-
self.resource['metadata'],
197-
'data',
198-
request_data['Data']
199-
)
200-
self.resource['metadata']['partition_key'] = \
201-
request_data['PartitionKey']
195+
if 'Data' in request_data:
196+
add_data_if_needed(
197+
self.resource['metadata'],
198+
'data',
199+
request_data['Data']
200+
)
201+
if 'PartitionKey' in request_data:
202+
self.resource['metadata']['partition_key'] = \
203+
request_data['PartitionKey']
202204

203205
def update_response(self, response):
204206
"""
@@ -430,9 +432,10 @@ def process_put_item_op(self):
430432
Process the put item operation.
431433
"""
432434
self.resource['name'] = self.request_data['TableName']
433-
item = self.request_data['Item']
434-
add_data_if_needed(self.resource['metadata'], 'Item', item)
435-
self.store_item_hash(item)
435+
if 'Item' in self.request_data:
436+
item = self.request_data['Item']
437+
add_data_if_needed(self.resource['metadata'], 'Item', item)
438+
self.store_item_hash(item)
436439

437440
def process_delete_item_op(self):
438441
"""
@@ -486,8 +489,12 @@ def process_get_item_response(self):
486489
:return:
487490
"""
488491
self.resource['name'] = self.request_data['TableName']
489-
item = self.response['Item']
490-
add_data_if_needed(self.resource['metadata'], 'Item', item)
492+
if 'Item' in self.response:
493+
add_data_if_needed(
494+
self.resource['metadata'],
495+
'Item',
496+
self.response['Item']
497+
)
491498

492499
def process_list_tables_response(self):
493500
"""
@@ -795,7 +802,7 @@ def __init__(self, wrapped, instance, args, kwargs, start_time, response,
795802

796803
_, request_data = args
797804

798-
self.resource['name'] = request_data['FunctionName']
805+
self.resource['name'] = request_data.get('FunctionName', '')
799806
if 'Payload' in request_data:
800807
add_data_if_needed(
801808
self.resource['metadata'],

0 commit comments

Comments
 (0)