def send(self, **kwargs):
merged_kwargs = {}<EOL>merged_kwargs.update(self.kwargs)<EOL>merged_kwargs.update(kwargs)<EOL>try:<EOL><INDENT>self.response = self.session.request(<EOL>self.method, self.url, **merged_kwargs)<EOL><DEDENT>except Exception as e:<EOL><INDENT>self.exception = e<EOL>self.traceback = traceback.format_exc()<EOL><DEDENT>return self<EOL>
Prepares request based on parameter passed to constructor and optional
``kwargs```. Then sends request and saves response to :attr:`response`.

:returns: ``Response``