def get(self, endpoint): """ Perform GET GitHub REST request """ url = self._get_url(endpoint) LOGGER.debug("GET %s", url) return http_call("get", url, headers=_get_headers())
def http_call(method, url, **kwargs): """ Perform HTTP call - Check status code - Check JSON validity - Return reponse content as a dict """ try: response = requests.request(method, url, **kwargs) if response: LOGGER.info("Response: %s", response.status_code) else: LOGGER.info("Response: %s", dump.dump_all(response).decode("utf-8")) except requests.RequestException as exception: LOGGER.error(str(exception)) raise click.ClickException(str(exception)) LOGGER.debug(response.content[:500]) if response.status_code == 200: try: return response.json() except Exception as exception: LOGGER.error(str(exception)) raise click.ClickException(response.text) elif response.status_code == 400: raise click.ClickException("Bad request") elif response.status_code == 401: raise click.ClickException("Unauthorized") elif response.status_code == 500: raise click.ClickException("Internal server error") else: raise click.ClickException(response.text)
def post(self, endpoint, payload): """ Perform POST Slack REST request """ url = _get_slack_url(endpoint) LOGGER.debug("POST %s", url) LOGGER.debug(payload) return http_call("post", url, data=payload)
def get(self, endpoint, params): """ Perform GET Slack REST request """ settings = Settings() url = _get_slack_url(endpoint) LOGGER.debug("GET %s", url) params.append(("token", settings.get_slack_token())) return http_call("get", url, headers=_get_headers(), params=params)
def get(self, query): """ Perform GET GitHub GraphQL request """ payload = json.dumps({"query": query}) LOGGER.debug(payload) return http_call("post", self.url, headers=_get_headers(), data=payload)
def get(self, endpoint): """ Perform GET GitHub REST request """ url = self._get_url(endpoint) LOGGER.debug("GET %s", url) response = _http_call("get", url, headers=_get_headers()) LOGGER.debug(response.json()) if response.status_code == 200: try: return response.json() except Exception as exception: LOGGER.error(str(exception)) raise click.ClickException(response.text) elif response.status_code == 400: raise click.ClickException("Bad request") elif response.status_code == 401: raise click.ClickException("Unauthorized") else: raise click.ClickException(response.text)
def get(self, query): """ Perform GET GitHub GraphQL request """ payload = json.dumps({"query": query}) LOGGER.debug(payload) response = _http_call("post", self.url, headers=_get_headers(), data=payload) LOGGER.debug(response.content[:500]) if response.status_code == 200: try: return response.json() except Exception as exception: LOGGER.error(str(exception)) raise click.ClickException(response.text) elif response.status_code == 400: raise click.ClickException("Bad request") elif response.status_code == 401: raise click.ClickException("Unauthorized") else: raise click.ClickException(response.text)