コード例 #1
0
ファイル: iwf_repository.py プロジェクト: 5growth/mso-lo
def _get_nfvo(nfvo_id) -> Dict:
    try:
        resp = get(f'{url}/nfvOrchestrators/{nfvo_id}', headers=accept_h)
        resp.raise_for_status()
    except HTTPError as e:
        if e.response.status_code == 404:
            raise NfvoNotFound(nfvo_id)
        elif e.response.status_code == 401:
            raise Unauthorized()
        else:
            raise
    return resp.json()
コード例 #2
0
ファイル: iwf_repository.py プロジェクト: 5growth/mso-lo
def get_rano_list() -> List[Dict]:
    try:
        resp = get(f'{url}/ranOrchestrators', headers=accept_h)
        resp.raise_for_status()
    except HTTPError as e:
        if e.response.status_code == 401:
            raise Unauthorized()
        else:
            raise
    return [
        _convert_rano(rano)
        for rano in resp.json()['_embedded']['ranOrchestrators']
    ]
コード例 #3
0
 def _request(req: api.request, url, json=None, params=None, headers=None):
     try:
         resp = req(url,
                    json=json,
                    params=params,
                    headers=headers,
                    verify=False,
                    stream=True)
     except (ConnectionError, Timeout, TooManyRedirects, URLRequired) as e:
         raise ServerError('OSM connection error: ' + str(e))
     try:
         resp.raise_for_status()
     except HTTPError as e:
         if e.response.status_code == 400:
             raise BadRequest(description=e.response.text)
         elif e.response.status_code == 401:
             raise Unauthorized(description=e.response.text)
         elif e.response.status_code == 403:
             raise Forbidden(description=e.response.text)
         elif e.response.status_code == 404:
             raise ResourceNotFound(description=e.response.text)
         elif e.response.status_code == 405:
             raise MethodNotAllowed(description=e.response.text)
         elif e.response.status_code == 409:
             raise Conflict(description=e.response.text)
         elif e.response.status_code == 422:
             raise Unprocessable(description=e.response.text)
         else:
             raise ServerError(description=e.response.text)
     try:
         ctype = resp.headers['content-type']
     except KeyError:
         # success but no content
         return None, resp.headers
     if 'application/json' in ctype:
         return resp.json(), resp.headers
     elif 'application/yaml' in ctype:
         return YAML.load(resp.text, Loader=YAML.SafeLoader), resp.headers
     else:
         return resp.text, resp.headers