Read responses in UrlReader#read() as array buffer instead of as text to allow reading non-text locations
Signed-off-by: Dominik Henneke <dominik.henneke@sda-se.com>
This commit is contained in:
@@ -0,0 +1,5 @@
|
||||
---
|
||||
'@backstage/backend-common': patch
|
||||
---
|
||||
|
||||
Read responses in `UrlReader#read()` as array buffer instead of as text to allow reading non-text locations such as images.
|
||||
@@ -70,7 +70,7 @@ export class AzureUrlReader implements UrlReader {
|
||||
|
||||
// for private repos when PAT is not valid, Azure API returns a http status code 203 with sign in page html
|
||||
if (response.ok && response.status !== 203) {
|
||||
return Buffer.from(await response.text());
|
||||
return Buffer.from(await response.arrayBuffer());
|
||||
}
|
||||
|
||||
const message = `${url} could not be read as ${builtUrl}, ${response.status} ${response.statusText}`;
|
||||
|
||||
@@ -86,7 +86,7 @@ export class BitbucketUrlReader implements UrlReader {
|
||||
}
|
||||
|
||||
if (response.ok) {
|
||||
return Buffer.from(await response.text());
|
||||
return Buffer.from(await response.arrayBuffer());
|
||||
}
|
||||
|
||||
const message = `${url} could not be read as ${bitbucketUrl}, ${response.status} ${response.statusText}`;
|
||||
|
||||
@@ -82,7 +82,7 @@ export class FetchUrlReader implements UrlReader {
|
||||
|
||||
if (response.ok) {
|
||||
return {
|
||||
buffer: async () => Buffer.from(await response.text()),
|
||||
buffer: async () => Buffer.from(await response.arrayBuffer()),
|
||||
etag: response.headers.get('ETag') ?? undefined,
|
||||
};
|
||||
}
|
||||
|
||||
@@ -119,7 +119,7 @@ export class GithubUrlReader implements UrlReader {
|
||||
|
||||
if (response.ok) {
|
||||
return {
|
||||
buffer: async () => Buffer.from(await response.text()),
|
||||
buffer: async () => Buffer.from(await response.arrayBuffer()),
|
||||
etag: response.headers.get('ETag') ?? undefined,
|
||||
};
|
||||
}
|
||||
|
||||
@@ -84,7 +84,7 @@ export class GitlabUrlReader implements UrlReader {
|
||||
|
||||
if (response.ok) {
|
||||
return {
|
||||
buffer: async () => Buffer.from(await response.text()),
|
||||
buffer: async () => Buffer.from(await response.arrayBuffer()),
|
||||
etag: response.headers.get('ETag') ?? undefined,
|
||||
};
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user