@handle_request_errors
    def run(self):
        params = self.args.get('<params>')
        if params == '-':
            params = sys.stdin.read()
        body = json.loads(params)
        try:
            timeout = float(self.args.get('--timeout'))
        except __HOLE__:
            print("--timeout requires a number (e.g. --timeout=0.42)")
            return 1
        subject, version = parse_versioned_name(self.args['<subject>'])
        address = self.args.get('--address')
        if not address:
            address = subject.rsplit('.', 1)[0]

        client = Client.from_config(self.config)

        def request():
            trace.set_id(self.args.get('--trace-id'))
            return client.request(address, subject, body, timeout=timeout, version=version)

        N, C = int(self.args['-N']), int(self.args['-C'])

        if N == 1:
            return self._run_one_request(request)
        else:
            return self._run_many_requests(request, N, C)
dataset/ETHPy150Open deliveryhero/lymph/lymph/cli/request.py/RequestCommand.run