def _make_request(self, request):
<EOL>try:<EOL><INDENT>response_raw = urllib.request.urlopen(request)<EOL><DEDENT>except urllib.error.HTTPError as e:<EOL><INDENT>print(e.read())<EOL>raise<EOL><DEDENT>response_str = response_raw.read()<EOL>response = json.loads(response_str)<EOL>self._last_request = request<EOL>self._last_response = response_raw<EOL>self._last_response_str = response_str<EOL>return response<EOL>
Does the magic of actually sending the request and parsing the response