def run_and_check(self, session, prepped_request, extra_options):
extra_options = extra_options or {}<EOL>try:<EOL><INDENT>response = session.send(<EOL>prepped_request,<EOL>stream=extra_options.get("<STR_LIT>", False),<EOL>verify=extra_options.get("<STR_LIT>", True),<EOL>proxies=extra_options.get("<STR_LIT>", {}),<EOL>cert=extra_options.get("<STR_LIT>"),<EOL>timeout=extra_options.get("<STR_LIT>"),<EOL>allow_redirects=extra_options.get("<STR_LIT>", True))<EOL>if extra_options.get('<STR_LIT>', True):<EOL><INDENT>self.check_response(response)<EOL><DEDENT>return response<EOL><DEDENT>except requests.exceptions.ConnectionError as ex:<EOL><INDENT>self.log.warn(str(ex) + '<STR_LIT>')<EOL>raise ex<EOL><DEDENT>
Grabs extra options like timeout and actually runs the request,
checking for the result

:param session: the session to be used to execute the request
:type session: requests.Session
:param prepped_request: the prepared request generated in run()
:type prepped_request: session.prepare_request
:param extra_options: additional options to be used when executing the request
    i.e. {'check_response': False} to avoid checking raising exceptions on non 2XX
    or 3XX status codes
:type extra_options: dict