diff options
| author | tamaina <tamaina@hotmail.co.jp> | 2023-02-14 14:17:07 +0900 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2023-02-14 14:17:07 +0900 |
| commit | 4e68126c063a0c5ee10352adaeba083e91feb1d8 (patch) | |
| tree | 7276e4dac72a4a128d0d6e3efca572407ee45409 /packages/backend/src/server | |
| parent | fix: Dev Containerの設定を修正 (#9921) (diff) | |
| download | sharkey-4e68126c063a0c5ee10352adaeba083e91feb1d8.tar.gz sharkey-4e68126c063a0c5ee10352adaeba083e91feb1d8.tar.bz2 sharkey-4e68126c063a0c5ee10352adaeba083e91feb1d8.zip | |
enhance(server): URLプレビュー(summaly)はプロキシを通すように (#9905)
* enhance(server): URLプレビュー(summaly)はプロキシを通すように
* update summaly
* update summaly
* 型エラーバスター
* basic.html
* Delete basic.html
---------
Co-authored-by: syuilo <Syuilotan@yahoo.co.jp>
Diffstat (limited to 'packages/backend/src/server')
| -rw-r--r-- | packages/backend/src/server/web/UrlPreviewService.ts | 27 |
1 files changed, 17 insertions, 10 deletions
diff --git a/packages/backend/src/server/web/UrlPreviewService.ts b/packages/backend/src/server/web/UrlPreviewService.ts index 57461b7a33..2ce7293a52 100644 --- a/packages/backend/src/server/web/UrlPreviewService.ts +++ b/packages/backend/src/server/web/UrlPreviewService.ts @@ -1,5 +1,5 @@ import { Inject, Injectable } from '@nestjs/common'; -import summaly from 'summaly'; +import { summaly } from 'summaly'; import { DI } from '@/di-symbols.js'; import type { UsersRepository } from '@/models/index.js'; import type { Config } from '@/config.js'; @@ -30,7 +30,7 @@ export class UrlPreviewService { } @bindThis - private wrap(url?: string): string | null { + private wrap(url?: string | null): string | null { return url != null ? url.match(/^https?:\/\//) ? `${this.config.mediaProxy}/preview.webp?${query({ @@ -64,14 +64,21 @@ export class UrlPreviewService { ? `(Proxy) Getting preview of ${url}@${lang} ...` : `Getting preview of ${url}@${lang} ...`); try { - const summary = meta.summalyProxy ? await this.httpRequestService.getJson<ReturnType<typeof summaly.default>>(`${meta.summalyProxy}?${query({ - url: url, - lang: lang ?? 'ja-JP', - })}`) : await summaly.default(url, { - followRedirects: false, - lang: lang ?? 'ja-JP', - }); - + const summary = meta.summalyProxy ? + await this.httpRequestService.getJson<ReturnType<typeof summaly>>(`${meta.summalyProxy}?${query({ + url: url, + lang: lang ?? 'ja-JP', + })}`) + : + await summaly(url, { + followRedirects: false, + lang: lang ?? 'ja-JP', + agent: { + http: this.httpRequestService.httpAgent, + https: this.httpRequestService.httpsAgent, + }, + }); + this.logger.succ(`Got preview of ${url}: ${summary.title}`); if (summary.url && !(summary.url.startsWith('http://') || summary.url.startsWith('https://'))) { |