def run(self):
        results = {}
        resp = None
        json_content = self._is_json_content()

        try:
            if json_content:
                # cast params (body) to dict
                data = self._cast_object(self.body)

                try:
                    data = json.dumps(data)
                except ValueError:
                    msg = (data) % 'Request body (%s) can\'t be parsed as JSON'
                    raise ValueError(msg)
            else:
                data = self.body

            resp = requests.request(
                self.method,
                self.url,
                params=self.params,
                data=data,
                headers=self.headers,
                cookies=self.cookies,
                auth=self.auth,
                timeout=self.timeout,
                allow_redirects=self.allow_redirects,
                proxies=self.proxies,
                files=self.files,
                verify=self.verify
            )

            headers = dict(resp.headers)
            body, parsed = self._parse_response_body(headers=headers, body=resp.text)

            results['status_code'] = resp.status_code
            results['body'] = body
            results['parsed'] = parsed  # flag which indicates if body has been parsed
            results['headers'] = headers
            return results
        except Exception as e:
            LOG.exception('Exception making request to remote URL: %s, %s', self.url, e)
            raise
        finally:
            if resp:
                resp.close()
dataset/ETHPy150Open StackStorm/st2/st2actions/st2actions/runners/httprunner.py/HTTPClient.run/swapped operands of `%`