aletrn commited on
Commit
d071ba9
·
1 Parent(s): 7b56b41

[refactor] change two error response http status

Browse files
Files changed (1) hide show
  1. src/app.py +8 -6
src/app.py CHANGED
@@ -1,6 +1,7 @@
1
  """Lambda entry point"""
2
  import time
3
  from http import HTTPStatus
 
4
 
5
  from aws_lambda_powertools.utilities.typing import LambdaContext
6
  from pydantic import ValidationError
@@ -10,16 +11,17 @@ from src.io.lambda_helpers import get_parsed_request_body, get_parsed_bbox_point
10
  from src.prediction_api.predictors import samexporter_predict
11
 
12
 
13
- def lambda_handler(event: dict, context: LambdaContext) -> str:
14
  """
15
- Handle the request for the serverless backend, dispatch the response.
 
16
 
17
  Args:
18
  event: request content
19
  context: request context
20
 
21
  Returns:
22
- dict: response from try_return_output() function
23
 
24
  """
25
  app_logger.info(f"start with aws_request_id:{context.aws_request_id}.")
@@ -33,21 +35,21 @@ def lambda_handler(event: dict, context: LambdaContext) -> str:
33
  request_input = get_parsed_request_body(event)
34
  app_logger.info("event parsed: ok")
35
  body_request = get_parsed_bbox_points(request_input)
 
36
 
37
  try:
38
- app_logger.info(f"body_request => {type(body_request)}, {body_request}.")
39
  body_response = samexporter_predict(body_request["bbox"], body_request["prompt"], body_request["zoom"])
40
  app_logger.info(f"output body_response:{body_response}.")
41
  response = get_response(HTTPStatus.OK.value, start_time, context.aws_request_id, body_response)
42
  except Exception as ex2:
43
  app_logger.error(f"exception2:{ex2}.")
44
- response = get_response(HTTPStatus.BAD_REQUEST.value, start_time, context.aws_request_id, {})
45
  except ValidationError as va1:
46
  app_logger.error(f"ValidationError:{va1}.")
47
  response = get_response(HTTPStatus.UNPROCESSABLE_ENTITY.value, start_time, context.aws_request_id, {})
48
  except Exception as ex1:
49
  app_logger.error(f"exception1:{ex1}.")
50
- response = get_response(HTTPStatus.INTERNAL_SERVER_ERROR.value, start_time, context.aws_request_id, {})
51
 
52
  app_logger.info(f"response_dumped:{response}...")
53
  return response
 
1
  """Lambda entry point"""
2
  import time
3
  from http import HTTPStatus
4
+ from typing import Dict
5
 
6
  from aws_lambda_powertools.utilities.typing import LambdaContext
7
  from pydantic import ValidationError
 
11
  from src.prediction_api.predictors import samexporter_predict
12
 
13
 
14
+ def lambda_handler(event: Dict, context: LambdaContext) -> str:
15
  """
16
+ Handle the request for the serverless backend and return the response
17
+ (success or a type of error based on the exception raised).
18
 
19
  Args:
20
  event: request content
21
  context: request context
22
 
23
  Returns:
24
+ json response from get_response() function
25
 
26
  """
27
  app_logger.info(f"start with aws_request_id:{context.aws_request_id}.")
 
35
  request_input = get_parsed_request_body(event)
36
  app_logger.info("event parsed: ok")
37
  body_request = get_parsed_bbox_points(request_input)
38
+ app_logger.info(f"body_request => {type(body_request)}, {body_request}.")
39
 
40
  try:
 
41
  body_response = samexporter_predict(body_request["bbox"], body_request["prompt"], body_request["zoom"])
42
  app_logger.info(f"output body_response:{body_response}.")
43
  response = get_response(HTTPStatus.OK.value, start_time, context.aws_request_id, body_response)
44
  except Exception as ex2:
45
  app_logger.error(f"exception2:{ex2}.")
46
+ response = get_response(HTTPStatus.INTERNAL_SERVER_ERROR.value, start_time, context.aws_request_id, {})
47
  except ValidationError as va1:
48
  app_logger.error(f"ValidationError:{va1}.")
49
  response = get_response(HTTPStatus.UNPROCESSABLE_ENTITY.value, start_time, context.aws_request_id, {})
50
  except Exception as ex1:
51
  app_logger.error(f"exception1:{ex1}.")
52
+ response = get_response(HTTPStatus.BAD_REQUEST.value, start_time, context.aws_request_id, {})
53
 
54
  app_logger.info(f"response_dumped:{response}...")
55
  return response