1
1
import asyncio
2
2
import json
3
3
import os
4
- import sys
5
4
from importlib .util import (spec_from_file_location , module_from_spec )
6
5
7
- from lambda_gateway import lambda_context
6
+ from lambda_gateway import ( lambda_context , logger )
8
7
9
8
10
9
class EventProxy :
@@ -35,6 +34,7 @@ def get_handler(self):
35
34
36
35
def invoke (self , event ):
37
36
with lambda_context .start (self .timeout ) as context :
37
+ logger .info ('Invoking "%s"' , self .handler )
38
38
return asyncio .run (self .invoke_async_with_timeout (event , context ))
39
39
40
40
async def invoke_async (self , event , context = None ):
@@ -49,8 +49,8 @@ async def invoke_async(self, event, context=None):
49
49
50
50
# Reject request if not starting at base path
51
51
if not path .startswith (self .base_path ):
52
- err = f'Rejected { path } -- Base path is { self .base_path } '
53
- sys . stderr . write ( f' { err } \n ' )
52
+ err = f'Rejected { path } :: Base path is { self .base_path } '
53
+ logger . error ( err )
54
54
return self .jsonify (httpMethod , 403 , message = 'Forbidden' )
55
55
56
56
# Get & invoke Lambda handler
@@ -59,7 +59,7 @@ async def invoke_async(self, event, context=None):
59
59
loop = asyncio .get_running_loop ()
60
60
return await loop .run_in_executor (None , handler , event , context )
61
61
except Exception as err :
62
- sys . stderr . write ( f' { err } \n ' )
62
+ logger . error ( err )
63
63
message = 'Internal server error'
64
64
return self .jsonify (httpMethod , 502 , message = message )
65
65
0 commit comments