def request_handler(event, context): try: valid_event = validate_dict(data_dict=event, required_keys=REQUIRED_KEYS_FOR_LAMBDA_EVENT) if not valid_event: return generate_lambda_response(400, "Bad Request") path = event['path'].lower() method = event['httpMethod'] method_found, payload_dict = extract_payload(method=method, event=event) if not method_found: return generate_lambda_response(405, "Method Not Allowed") path_exist, response_data = route_path(path=path, method=method, payload_dict=payload_dict) if not path_exist: return generate_lambda_response(404, "Not Found") if response_data is None: error_message = format_error_message(status="failed", error="Bad Request", resource=path, payload=payload_dict, net_id=NETWORK_ID) obj_util.report_slack(1, error_message) response = generate_lambda_response(500, error_message) else: response = generate_lambda_response(200, {"status": "success", "data": response_data}) except Exception as e: error_message = format_error_message(status="failed", error="Bad Request", resource=path, payload=payload_dict, net_id=NETWORK_ID) obj_util.report_slack(1, error_message) response = generate_lambda_response(500, error_message) traceback.print_exc() return response
def request_handler(event, context): logger.info(f"Wallets::event: {event}") try: valid_event = validate_dict( data_dict=event, required_keys=REQUIRED_KEYS_FOR_LAMBDA_EVENT) if not valid_event: return generate_lambda_response(400, StatusDescription.BAD_REQUEST) path = event['path'].lower() method = event['httpMethod'] method_found, path_parameters, payload_dict = extract_payload( method=method, event=event) if not method_found: return generate_lambda_response( 405, ErrorDescription.METHOD_NOT_ALLOWED) path_exist, response_data = route_path(path=path, method=method, payload_dict=payload_dict, path_parameters=path_parameters) if not path_exist: return generate_lambda_response(404, ErrorDescription.NOT_FOUND) if response_data is None: error_message = format_error_message( status="failed", error=StatusDescription.BAD_REQUEST, resource=path, payload=payload_dict, net_id=NETWORK_ID) util.report_slack(error_message, SLACK_HOOK) response = generate_lambda_response(500, error_message) else: response = generate_lambda_response(200, { "status": "success", "data": response_data }) except Exception as e: error_message = format_error_message( status="failed", error=StatusDescription.BAD_REQUEST, resource=path, payload=payload_dict, net_id=NETWORK_ID) util.report_slack(error_message, SLACK_HOOK) response = generate_lambda_response(500, error_message) traceback.print_exc() return response
def request_handler(event, context): logger.info(f"Orchestrator::event: {event}") try: valid_event = validate_dict( data_dict=event, required_keys=REQUIRED_KEYS_FOR_LAMBDA_EVENT) if not valid_event: return generate_lambda_response(400, "Bad Request", cors_enabled=True) path = event["path"].lower() path = re.sub(r"^(\/orchestrator)", "", path) method = event["httpMethod"] method_found, path_parameters, payload_dict = extract_payload( method=method, event=event) if not method_found: return generate_lambda_response(405, "Method Not Allowed", cors_enabled=True) path_exist, response_data = route_path(path=path, method=method, payload_dict=payload_dict, request_context=event.get( "requestContext", None), path_parameters=path_parameters) if not path_exist: return generate_lambda_response(404, "Not Found", cors_enabled=True) logger.info(f"Orchestrator::response_data: {response_data}") if response_data is None: error_message = format_error_message( status="failed", error="Bad Request", resource=path, payload=payload_dict, net_id=NETWORK_ID, ) obj_util.report_slack(error_message, SLACK_HOOK) response = generate_lambda_response(500, error_message, cors_enabled=True) else: response = generate_lambda_response(200, { "status": "success", "data": response_data }, cors_enabled=True) except Exception as e: error_message = format_error_message( status="failed", error=repr(e), resource=path, payload=payload_dict, net_id=NETWORK_ID, ) obj_util.report_slack(error_message, SLACK_HOOK) response = generate_lambda_response(500, error_message, cors_enabled=True) traceback.print_exc() return response