def get_order()

in delivery/src/on_package_created/main.py [0:0]


def get_order(order_id: str) -> Optional[dict]:
    """
    Retrieve the order from ther Orders service
    """

    logger.debug({
        "message": "Retreiving order {}".format(order_id),
        "orderId": order_id
    })

    # Create IAM signature helper
    request_url = ORDERS_API_URL + order_id
    url = urlparse(request_url)
    region = boto3.session.Session().region_name
    auth = BotoAWSRequestsAuth(aws_host=url.netloc,
                               aws_region=region,
                               aws_service='execute-api')

    # Send request to order service
    response = requests.get(request_url, auth=auth)

    if response.status_code != 200:
        logger.error({
            "message": "Failed to retrieve order {}".format(order_id),
            "orderId": order_id,
            "statusCode": response.status_code,
            "response": response.json()
        })
        return None

    order = response.json()

    logger.info({
        "message": "Retrieved order {} from Orders service".format(order_id),
        "orderId": order_id,
        "order": order
    })
    return order