diff --git a/plugins/periskop/package.json b/plugins/periskop/package.json index 661efc23c3..5c925cde08 100644 --- a/plugins/periskop/package.json +++ b/plugins/periskop/package.json @@ -25,6 +25,7 @@ "@backstage/catalog-model": "^0.11.0", "@backstage/core-components": "^0.8.10", "@backstage/core-plugin-api": "^0.7.0", + "@backstage/errors": "^0.2.2", "@backstage/plugin-catalog-react": "^0.7.0", "@backstage/theme": "^0.2.15", "@material-ui/core": "^4.12.2", diff --git a/plugins/periskop/src/api/index.ts b/plugins/periskop/src/api/index.ts index 0afbe9abd9..4171d55ae2 100644 --- a/plugins/periskop/src/api/index.ts +++ b/plugins/periskop/src/api/index.ts @@ -15,6 +15,7 @@ */ import { ConfigApi, DiscoveryApi } from '@backstage/core-plugin-api'; +import { ResponseError } from '@backstage/errors'; import { AggregatedError, NotFoundInInstance } from '../types'; /** @public */ @@ -111,9 +112,7 @@ export class PeriskopClient implements PeriskopApi { body: await response.text(), }; } - throw new Error( - `failed to fetch data, status ${response.status}: ${response.statusText}`, - ); + throw await ResponseError.fromResponse(response); } return response.json(); }