1313
1414
1515_thread_locals = local ()
16- REQUEST_LOCAL_KEY = ' __awslambda_current_request'
16+ REQUEST_LOCAL_KEY = " __awslambda_current_request"
1717
1818
1919def current_event ():
@@ -63,7 +63,9 @@ def get_lambda_bootstrap():
6363 return sys .modules ["bootstrap" ]
6464 elif "__main__" in sys .modules :
6565 module = sys .modules ["__main__" ]
66- if hasattr (module , "awslambdaricmain" ) and hasattr (module .awslambdaricmain , "bootstrap" ):
66+ if hasattr (module , "awslambdaricmain" ) and hasattr (
67+ module .awslambdaricmain , "bootstrap"
68+ ):
6769 return module .awslambdaricmain .bootstrap
6870 elif hasattr (module , "bootstrap" ):
6971 return module .bootstrap
@@ -96,10 +98,12 @@ def wrapped_handler(aws_event, aws_context, *args, **kwargs):
9698class AWSLambdaPlugin (Plugin ):
9799
98100 def __init__ (self ):
99- super (AWSLambdaPlugin , self ).__init__ (' AWSLambda' )
101+ super (AWSLambdaPlugin , self ).__init__ (" AWSLambda" )
100102 lambda_bootstrap = get_lambda_bootstrap ()
101103 if not lambda_bootstrap :
102- logger .warning ('Lambda function not wrapped by honeybadger: Unable to locate bootstrap module.' )
104+ logger .warning (
105+ "Lambda function not wrapped by honeybadger: Unable to locate bootstrap module."
106+ )
103107 self .initialize_request_handler (lambda_bootstrap )
104108
105109 def supports (self , config , context ):
@@ -110,13 +114,10 @@ def generate_payload(self, default_payload, config, context):
110114 Generate payload by checking the lambda's
111115 request event
112116 """
113- request_payload = {
114- "params" : {
115- "event" : current_event ()
116- },
117- "context" : context
118- }
119- default_payload ["request" ].update (filter_dict (request_payload , config .params_filters ))
117+ request_payload = {"params" : {"event" : current_event ()}, "context" : context }
118+ default_payload ["request" ].update (
119+ filter_dict (request_payload , config .params_filters )
120+ )
120121
121122 AWS_ENV_MAP = (
122123 ("_HANDLER" , "handler" ),
@@ -126,10 +127,12 @@ def generate_payload(self, default_payload, config, context):
126127 ("AWS_LAMBDA_FUNCTION_MEMORY_SIZE" , "memory" ),
127128 ("AWS_LAMBDA_FUNCTION_VERSION" , "version" ),
128129 ("AWS_LAMBDA_LOG_GROUP_NAME" , "log_group" ),
129- ("AWS_LAMBDA_LOG_STREAM_NAME" , "log_name" )
130+ ("AWS_LAMBDA_LOG_STREAM_NAME" , "log_name" ),
130131 )
131132
132- lambda_details = {detail [1 ]: os .environ .get (detail [0 ], None ) for detail in AWS_ENV_MAP }
133+ lambda_details = {
134+ detail [1 ]: os .environ .get (detail [0 ], None ) for detail in AWS_ENV_MAP
135+ }
133136 default_payload ["details" ] = {}
134137 default_payload ["details" ]["Lambda Details" ] = lambda_details
135138 default_payload ["request" ]["component" ] = lambda_details ["function" ]
@@ -146,6 +149,7 @@ def initialize_request_handler(self, lambda_bootstrap):
146149 and override it with a wrapped version
147150 """
148151 if hasattr (lambda_bootstrap , "handle_http_request" ): # pre python3.7
152+
149153 def event_handler (request_handler , * args , ** kwargs ):
150154 request_handler = _wrap_lambda_handler (request_handler )
151155 return original_event_handler (request_handler , * args , ** kwargs )
@@ -161,13 +165,18 @@ def http_handler(request_handler, *args, **kwargs):
161165 lambda_bootstrap .handle_event_request = event_handler
162166 lambda_bootstrap .handle_http_request = http_handler
163167
164- except AttributeError as e : # Fail safely if we can't monkeypatch lambda handler
165- logger .warning ('Lambda function not wrapped by honeybadger: %s' % e )
168+ except (
169+ AttributeError
170+ ) as e : # Fail safely if we can't monkeypatch lambda handler
171+ logger .warning ("Lambda function not wrapped by honeybadger: %s" % e )
166172
167173 else :
174+
168175 def event_handler (lambda_runtime_client , request_handler , * args , ** kwargs ):
169176 request_handler = _wrap_lambda_handler (request_handler )
170- return original_event_handler (lambda_runtime_client , request_handler , * args , ** kwargs )
177+ return original_event_handler (
178+ lambda_runtime_client , request_handler , * args , ** kwargs
179+ )
171180
172181 try :
173182 original_event_handler = lambda_bootstrap .handle_event_request
@@ -178,4 +187,4 @@ def event_handler(lambda_runtime_client, request_handler, *args, **kwargs):
178187 # either of these will raise an Attribute error as "handle_event_request" or "handle_event_request"
179188 # may not be found.
180189 except AttributeError as e :
181- logger .warning (' Lambda function not wrapped by honeybadger: %s' % e )
190+ logger .warning (" Lambda function not wrapped by honeybadger: %s" % e )
0 commit comments