vocode-python/vocode/streaming/telephony/server/router/twiml.py
2023-03-28 10:29:00 -07:00

29 lines
795 B
Python

import logging
from typing import Optional
from fastapi import APIRouter
from vocode.streaming.telephony.templates import Templater
class TwiMLRouter:
def __init__(
self,
base_url: str,
templater: Templater,
logger: Optional[logging.Logger] = None,
):
super().__init__()
self.base_url = base_url
self.templater = templater
self.logger = logger or logging.getLogger(__name__)
self.router = APIRouter()
self.router.add_api_route(
"/twiml/initiate_call/{id}", self.call_twiml, methods=["POST"]
)
def call_twiml(self, id: str):
return self.templater.get_connection_twiml(base_url=self.base_url, call_id=id)
def get_router(self) -> APIRouter:
return self.router