Respect proxies when fetching link previews
This commit is contained in:
parent
1f4d01f21a
commit
92f7259272
2 changed files with 15 additions and 3 deletions
|
@ -54,7 +54,7 @@ const MAX_DATE = new Date(3000, 0, 1).valueOf();
|
|||
|
||||
const emptyContentType = { type: null, charset: null };
|
||||
|
||||
type FetchFn = (href: string, init: RequestInit) => Promise<Response>;
|
||||
export type FetchFn = (href: string, init: RequestInit) => Promise<Response>;
|
||||
|
||||
export type LinkPreviewMetadata = {
|
||||
title: string;
|
||||
|
|
|
@ -999,6 +999,14 @@ export function initialize({
|
|||
socketManager.authenticate({ username, password });
|
||||
}
|
||||
|
||||
let fetchForLinkPreviews: linkPreviewFetch.FetchFn;
|
||||
if (proxyUrl) {
|
||||
const agent = new ProxyAgent(proxyUrl);
|
||||
fetchForLinkPreviews = (href, init) => fetch(href, { ...init, agent });
|
||||
} else {
|
||||
fetchForLinkPreviews = fetch;
|
||||
}
|
||||
|
||||
// Thanks, function hoisting!
|
||||
return {
|
||||
getSocketStatus,
|
||||
|
@ -1968,7 +1976,7 @@ export function initialize({
|
|||
abortSignal: AbortSignal
|
||||
) {
|
||||
return linkPreviewFetch.fetchLinkPreviewMetadata(
|
||||
fetch,
|
||||
fetchForLinkPreviews,
|
||||
href,
|
||||
abortSignal
|
||||
);
|
||||
|
@ -1978,7 +1986,11 @@ export function initialize({
|
|||
href: string,
|
||||
abortSignal: AbortSignal
|
||||
) {
|
||||
return linkPreviewFetch.fetchLinkPreviewImage(fetch, href, abortSignal);
|
||||
return linkPreviewFetch.fetchLinkPreviewImage(
|
||||
fetchForLinkPreviews,
|
||||
href,
|
||||
abortSignal
|
||||
);
|
||||
}
|
||||
|
||||
async function makeProxiedRequest(
|
||||
|
|
Loading…
Reference in a new issue