def find_schema_in_request()

in src/aaz_dev/command/controller/cfg_reader.py [0:0]


    def find_schema_in_request(cls, request, idx):
        current_idx = idx[0]
        remain_idx = idx[1:]
        if request.path and current_idx == _SchemaIdxEnum.Path:
            if remain_idx and request.path.params:
                for param in request.path.params:
                    if param.name == remain_idx[0]:
                        return param

        if request.query and current_idx == _SchemaIdxEnum.Query:
            if remain_idx and request.query.params:
                for param in request.query.params:
                    if param.name == remain_idx[0]:
                        return param

        if request.header and current_idx == _SchemaIdxEnum.Header:
            if remain_idx and request.header.params:
                for param in request.header.params:
                    if param.name == remain_idx[0]:
                        return param

        if isinstance(request.body, CMDHttpRequestJsonBody) and current_idx == _SchemaIdxEnum.Body:
            current_idx = remain_idx[0]
            remain_idx = remain_idx[1:]
            if current_idx == _SchemaIdxEnum.Json:
                return cls.find_schema_in_json(request.body.json, remain_idx)
        return None