summaryrefslogtreecommitdiff
path: root/packages/backend/src/server/web/UrlPreviewService.ts
diff options
context:
space:
mode:
authortamaina <tamaina@hotmail.co.jp>2023-02-14 14:17:07 +0900
committerGitHub <noreply@github.com>2023-02-14 14:17:07 +0900
commit4e68126c063a0c5ee10352adaeba083e91feb1d8 (patch)
tree7276e4dac72a4a128d0d6e3efca572407ee45409 /packages/backend/src/server/web/UrlPreviewService.ts
parentfix: Dev Containerの設定を修正 (#9921) (diff)
downloadsharkey-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/web/UrlPreviewService.ts')
-rw-r--r--packages/backend/src/server/web/UrlPreviewService.ts27
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://'))) {