def send_post_request(url, credentials, params, patch=False, async_request=False): """ Sends a POST request to the given url. Args: url (str): The url to call. credentials (IntegrationCredentials): Object containing any authentication credentials. params (dict): The data to be sent. Returns: response (Response): Object containing the response information. If the async_request option is used then returns an Future object instead. In this case the Response object can be got by calling response.result() for the returned value. """ headers = {'Authorization': 'Bearer %s' % credentials.access_token} if async_request: session = FuturesSession() if patch: response = session.patch(url, headers=headers, json=params) else: response = session.post(url, headers=headers, json=params) else: if patch: response = requests.patch(url, headers=headers, json=params) else: response = requests.post(url, headers=headers, json=params) return response
class Connection: ''' Connects to league client and communicates with it ''' def __init__(self): self.kwargs = None self.url = None self.session = FuturesSession() def get_connection(self, settings): ''' Parses connection url and port from lockfile ''' raise NotImplementedError('Please implement this method') def get(self, url, *args, **kwargs): ''' Wrapper around requests get method ''' return requests.get('{}{}'.format(self.url, url), *args, **kwargs, **self.kwargs) def post(self, url, *args, **kwargs): ''' Wrapper around requests post method ''' return requests.post('{}{}'.format(self.url, url), *args, **kwargs, **self.kwargs) def patch(self, url, *args, **kwargs): ''' Wrapper around requests patch method ''' return requests.patch('{}{}'.format(self.url, url), *args, **kwargs, **self.kwargs) def put(self, url, *args, **kwargs): ''' Wrapper around requests put method ''' return requests.put('{}{}'.format(self.url, url), *args, **kwargs, **self.kwargs) def delete(self, url, *args, **kwargs): ''' Wrapper around requests delete method ''' return requests.delete('{}{}'.format(self.url, url), *args, **kwargs, **self.kwargs) def async_get(self, url, *args, **kwargs): ''' Wrapper around requests get method ''' return self.session.get('{}{}'.format(self.url, url), *args, **kwargs, **self.kwargs) def async_post(self, url, *args, **kwargs): ''' Wrapper around requests post method ''' return self.session.post('{}{}'.format(self.url, url), *args, **kwargs, **self.kwargs) def async_patch(self, url, *args, **kwargs): ''' Wrapper around requests patch method ''' return self.session.patch('{}{}'.format(self.url, url), *args, **kwargs, **self.kwargs) def async_put(self, url, *args, **kwargs): ''' Wrapper around requests put method ''' return self.session.put('{}{}'.format(self.url, url), *args, **kwargs, **self.kwargs) def async_delete(self, url, *args, **kwargs): ''' Wrapper around requests delete method ''' return self.session.delete('{}{}'.format(self.url, url), *args, **kwargs, **self.kwargs)