Exemple #1
0
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
Exemple #3
0
def request_handler(event, context):
    try:
        valid_event = validate_dict(
            data_dict=event,
            required_keys=REQUIRED_KEYS_FOR_CANCEL_ORDER_EVENT)
        if not valid_event:
            return generate_lambda_response(400,
                                            "Bad Request",
                                            cors_enabled=True)

        path_parameters = event.get("pathParameters", None)

        order_service = OrderService(obj_repo=repo)
        cancel_order_status = order_service.cancel_order_for_given_order_id(
            order_id=path_parameters["order_id"])
        response = generate_lambda_response(200, {
            "status": "success",
            "data": cancel_order_status
        },
                                            cors_enabled=True)
    except Exception as e:
        error_message = format_error_message(status="failed",
                                             error=repr(e),
                                             payload=payload_dict,
                                             net_id=NETWORK_ID,
                                             handler="cancel_order_handler")
        obj_util.report_slack(1, error_message, SLACK_HOOK)
        response = generate_lambda_response(500,
                                            error_message,
                                            cors_enabled=True)
        traceback.print_exc()
    return response
Exemple #4
0
def currency_to_token_conversion(event, context):
    try:
        logger.info(f"currency_to_token_conversion::event: {event}")
        valid_event = validate_dict(
            data_dict=event,
            required_keys=REQUIRED_KEYS_FOR_CURRENCY_TO_TOKEN_CONVERSION)
        if not valid_event:
            return generate_lambda_response(400,
                                            "Bad Request",
                                            cors_enabled=True)

        path_parameters = event["pathParameters"]
        query_string_parameters = event["queryStringParameters"]

        order_service = OrderService(obj_repo=repo)
        response_data = order_service.currency_to_token(
            currency=path_parameters["currency"],
            amount=query_string_parameters["amount"])
        response = generate_lambda_response(200, {
            "status": "success",
            "data": response_data
        },
                                            cors_enabled=True)
        logger.info(f"currency_to_token_conversion::response: {response}")
    except Exception as e:
        error_message = format_error_message(
            status=ResponseStatus.FAILED,
            error=repr(e),
            payload=path_parameters,
            net_id=NETWORK_ID,
            handler="currency-to-token-conversion")
        utils.report_slack(1, error_message, SLACK_HOOK)
        response = generate_lambda_response(500,
                                            error_message,
                                            cors_enabled=True)
        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