diff --git a/.changeset/blue-hats-admire.md b/.changeset/blue-hats-admire.md new file mode 100644 index 0000000000..0be0c7d25f --- /dev/null +++ b/.changeset/blue-hats-admire.md @@ -0,0 +1,5 @@ +--- +'@backstage/plugin-api-docs': patch +--- + +Fix custom http resolvers for AsyncAPI widget. diff --git a/plugins/api-docs/src/components/AsyncApiDefinitionWidget/AsyncApiDefinition.tsx b/plugins/api-docs/src/components/AsyncApiDefinitionWidget/AsyncApiDefinition.tsx index 3e2fbd1078..461e466b4f 100644 --- a/plugins/api-docs/src/components/AsyncApiDefinitionWidget/AsyncApiDefinition.tsx +++ b/plugins/api-docs/src/components/AsyncApiDefinitionWidget/AsyncApiDefinition.tsx @@ -143,18 +143,33 @@ const useStyles = makeStyles(theme => ({ }, })); -const fetchResolver = { - order: 199, // Use 199 as the built-in http resolver is 200 - canRead: /^https?:\/\//, - async read(file: any) { - const response = await fetch(file.url); +const httpsFetchResolver = { + schema: 'https', + order: 1, + canRead: true, + async read(uri: any) { + const response = await fetch(uri.toString()); + return response.text(); + }, +}; + +const httpFetchResolver = { + schema: 'http', + order: 1, + canRead: true, + async read(uri: any) { + const response = await fetch(uri.toString()); return response.text(); }, }; const config = { parserOptions: { - resolve: { fetch: fetchResolver }, + __unstable: { + resolver: { + resolvers: [httpsFetchResolver, httpFetchResolver], + }, + }, }, };