Update proxy docs to include fetchApi

Signed-off-by: Alex McKay <77302540+alex-mckay@users.noreply.github.com>
This commit is contained in:
Alex McKay
2024-10-08 14:27:18 -04:00
committed by GitHub
parent 2f608fb4e2
commit 6339b85f76
@@ -114,20 +114,22 @@ look something like this:
/* ... */
import { DiscoveryApi } from '@backstage/core-plugin-api';
import { DiscoveryApi, FetchApi } from '@backstage/core-plugin-api';
export class MyAwesomeApiClient implements MyAwesomeApi {
discoveryApi: DiscoveryApi;
fetchApi: FetchApi;
constructor({discoveryApi}: {discoveryApi: DiscoveryApi}) {
constructor({discoveryApi, fetchApi}: {discoveryApi: DiscoveryApi, fetchApi: FetchApi}) {
this.discoveryApi = discoveryApi;
this.fetchApi = FetchApi;
}
private async fetch<T = any>(input: string, init?: RequestInit): Promise<T> {
// As configured previously for the backend proxy
const proxyUri = `${await this.discoveryApi.getBaseUrl('proxy')}/<your-proxy-uri>`;
const resp = await fetch(`${proxyUri}${input}`, init);
const resp = await this.fetchApi.fetch(`${proxyUri}${input}`, init);
if (!resp.ok) throw new Error(resp);
return await resp.json();
}