|
5 | 5 | from .controllers.multitenant import MultitenancyController |
6 | 6 |
|
7 | 7 | import logging |
| 8 | +import ipaddress |
8 | 9 |
|
9 | 10 | logger = logging.getLogger("aries_controller") |
10 | 11 |
|
@@ -36,35 +37,34 @@ def __post_init__(self): |
36 | 37 | self.admin_url, self.client_session |
37 | 38 | ) |
38 | 39 |
|
39 | | - def init_webhook_server( |
40 | | - self, webhook_host: str = None, webhook_port: int = None, webhook_base: str = "" |
| 40 | + async def init_webhook_server( |
| 41 | + self, webhook_host: str, webhook_port: int, webhook_base: str = "" |
41 | 42 | ): |
42 | | - """Create a webhooklisteners |
| 43 | + """Create a webhook listeners |
43 | 44 |
|
44 | 45 | Args: |
45 | 46 | ---- |
46 | 47 | webhook_host : str |
47 | | - The url of the webhook host (default is None) |
| 48 | + The url of the webhook host |
48 | 49 | webhook_port : int |
49 | | - The exposed port for webhooks on the host (default is None) |
| 50 | + The exposed port for webhooks on the host |
50 | 51 | webhook_base : str |
51 | 52 | The base url for webhooks (default is "") |
52 | 53 | """ |
53 | | - self.webhook_server: AriesWebhookServer = AriesWebhookServer( |
54 | | - webhook_host=webhook_host, |
55 | | - webhook_port=webhook_port, |
56 | | - webhook_base=webhook_base, |
57 | | - is_multitenant=self.is_multitenant, |
58 | | - ) |
59 | | - |
60 | | - async def listen_webhooks(self): |
| 54 | + assert type(webhook_host) is str |
| 55 | + assert ipaddress.ip_address(webhook_host) |
| 56 | + assert type(webhook_port) is int |
61 | 57 | try: |
| 58 | + self.webhook_server: AriesWebhookServer = AriesWebhookServer( |
| 59 | + webhook_host=webhook_host, |
| 60 | + webhook_port=webhook_port, |
| 61 | + webhook_base=webhook_base, |
| 62 | + is_multitenant=self.is_multitenant, |
| 63 | + ) |
62 | 64 | await self.webhook_server.listen_webhooks() |
63 | | - logger.info("Webhook server started.") |
64 | | - except AttributeError: |
65 | | - warning = "Webhook server not initialised." |
66 | | - logger.warning(warning) |
67 | | - raise AttributeError(warning) |
| 65 | + logger.info( |
| 66 | + f"Webhook server started on {self.webhook_server.webhook_host}." |
| 67 | + ) |
68 | 68 | except Exception as exc: |
69 | | - logger.warning(f"Listening webhooks failed! {exc!r} occurred.") |
| 69 | + logger.error(f"Listening webhooks failed! {exc!r} occurred.") |
70 | 70 | raise Exception(f"{exc!r}") |
0 commit comments