#request工具类,来处理curl、http、https的页面访问等处理逻辑,后期考虑wget等
import requests
from tools.ToolBase import ToolBase

class RequestTool(ToolBase):
    def validate_instruction(self, instruction_old):
        #指令过滤

        return instruction_old

    def execute_instruction(self, instruction_old):
        '''
        执行指令:验证合法性 -> 执行 -> 分析结果
        :param instruction_old:
        :return:
            bool:true-正常返回给大模型,false-结果不返回给大模型
            str:执行的指令
            str:执行指令的结果
        '''
        ext_params = self.create_extparams()
        # 第一步:验证指令合法性
        instruction,time_out = self.validate_instruction(instruction_old)
        if not instruction:
            return False,instruction_old,"该指令暂不执行!","",ext_params
        # 第二步:执行指令
        if instruction_old.startswith("curl"):
            parts = instruction_old.split()
            for i, part in enumerate(parts):
                if part == "-H" and i + 1 < len(parts):
                    target = parts[i + 1]
        elif instruction_old.startswith("http"):
            pass
        else:
            print(f"{instruction_old}暂不支持")
            return False, instruction_old, "该指令暂不执行!","",ext_params

        # 第三步:分析执行结果
        analysis = self.analyze_result(output,instruction)
        #指令和结果入数据库
        #?
        return True,instruction, analysis,"",ext_params


    def analyze_result(self, result,instruction):
        #指令结果分析

        return result

if __name__ == "__main__":
    RT = RequestTool()