Source code for luna_backport3.app.handlers.version_handler
# -*- coding: utf-8 -*-
"""Version Handler
Module realize version handler.
"""
from sanic.response import HTTPResponse
from app.handlers.base_handler import BaseHandler
from app.version import VERSION
[docs]class VersionHandler(BaseHandler):
    """
    Handler for getting version
    """
[docs]    @staticmethod
    def makeVersionBackward(version: dict) -> dict:
        """
        Prepare version response in backward format
        Args:
            version: version in current API format
        Returns:
            version in backward format
        """
        return {"Version": {key.replace("-", "_"): value for key, value in version.items()}} 
[docs]    async def get(self) -> HTTPResponse:
        """
        Get version of services, see `spec_get_version`_.
        .. _spec_get_version:
            _static/api.html#operation/getVersion
        Resource is reached by address '/version'
        """
        reply = await self.lunaApiClient.getVersion(raiseError=True)
        result = reply.json
        result["luna-backport3"] = VERSION["Version"]
        return self.success(outputJson=self.makeVersionBackward(result))