"""
Module contains request class for handlers lambda
"""
from typing import final
from luna_lambda_tools.private.request import BaseHandlersRequest
from luna_lambda_tools.public.handlers.schemas import EventSourceSchema
[docs]
@final
class HandlersLambdaRequest(BaseHandlersRequest):
    """Handlers lambda request"""
[docs]
    def __init__(self, *args, **kwargs):
        super().__init__(*args, **kwargs) 
    @property
    def data(self) -> EventSourceSchema:
        """Get events sources from request"""
        return super().getRequestData(EventSourceSchema)
    @property
    def handlerId(self) -> str | None:
        """Request initiator handler id"""
        if handlerId := self.headers.get("Luna-Handler-Id"):
            return handlerId