'Make the actual request and return the parsed response.'

def _request(self, method, path, params=None):

    url = '{}{}'.format(self._base_url, path)
    try:
        if (method == 'GET'):
            response = requests.get(url, timeout=DEFAULT_TIMEOUT)
        elif (method == 'POST'):
            response = requests.put(url, params, timeout=DEFAULT_TIMEOUT)
        elif (method == 'PUT'):
            response = requests.put(url, params, timeout=DEFAULT_TIMEOUT)
        elif (method == 'DELETE'):
            response = requests.delete(url, timeout=DEFAULT_TIMEOUT)
        return response.json()
    except requests.exceptions.HTTPError:
        return {'player_state': 'error'}
    except requests.exceptions.RequestException:
        return {'player_state': 'offline'}
