import requests ## # POST a request to the backend, and return a error # response if any error occurs. # # @param endpoint the backend endpoint where to POST # this request. # @param json the POST's body. # @return the backend response (JSON format). def backend_post(backend_url, endpoint, json): headers = {"Authorization": "ApiKey " + APIKEY} try: resp = requests.post( urljoin(backend_url, endpoint), json=json, headers=headers ) except requests.ConnectionError: err_abort(500, message="Could not establish connection to backend") try: response_json = resp.json() except ValueError: err_abort( 500, message="Could not parse response from backend", status_code=resp.status_code ) if resp.status_code != 200: err_abort( 500, message="Backend returned error status", json=response_json, status_code=resp.status_code ) return response_json ## # Issue a GET request to the backend. # # @param endpoint the backend endpoint where to issue the request. # @param params (dict type of) URL parameters to append to the request. # @return the JSON response from the backend, or a error response # if something unexpected happens. def backend_get(backend_url, endpoint, params): headers = {"Authorization": "ApiKey " + APIKEY} try: resp = requests.get( urljoin(backend_url, endpoint), params=params, headers=headers ) except requests.ConnectionError: err_abort(500, message="Could not establish connection to backend") try: response_json = resp.json() except ValueError: err_abort(500, message="Could not parse response from backend") if resp.status_code != 200: err_abort( 500, message="Backend returned error status", json=response_json, status_code=resp.status_code ) return response_json