diff options
| author | syuilo <Syuilotan@yahoo.co.jp> | 2020-07-26 11:04:07 +0900 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2020-07-26 11:04:07 +0900 |
| commit | f1ef85b63625edccd717dda8324078c232c7750e (patch) | |
| tree | 2681f8f5057a9608dd9be943f486ebdfb81717e4 /src/misc | |
| parent | Update CONTRIBUTING.md (diff) | |
| download | misskey-f1ef85b63625edccd717dda8324078c232c7750e.tar.gz misskey-f1ef85b63625edccd717dda8324078c232c7750e.tar.bz2 misskey-f1ef85b63625edccd717dda8324078c232c7750e.zip | |
feat(server): Fetch icon url of an instance (#6591)
* feat(server): Fetch icon url of an instance
Resolve #6589
* chore: Rename the function
Diffstat (limited to 'src/misc')
| -rw-r--r-- | src/misc/app-lock.ts | 4 | ||||
| -rw-r--r-- | src/misc/fetch.ts | 21 |
2 files changed, 23 insertions, 2 deletions
diff --git a/src/misc/app-lock.ts b/src/misc/app-lock.ts index ca2181f879..847299b46d 100644 --- a/src/misc/app-lock.ts +++ b/src/misc/app-lock.ts @@ -21,8 +21,8 @@ export function getApLock(uri: string, timeout = 30 * 1000) { return lock(`ap-object:${uri}`, timeout); } -export function getNodeinfoLock(host: string, timeout = 30 * 1000) { - return lock(`nodeinfo:${host}`, timeout); +export function getFetchInstanceMetadataLock(host: string, timeout = 30 * 1000) { + return lock(`instance:${host}`, timeout); } export function getChartInsertLock(lockKey: string, timeout = 30 * 1000) { diff --git a/src/misc/fetch.ts b/src/misc/fetch.ts index 358bc25030..7be0e53fd4 100644 --- a/src/misc/fetch.ts +++ b/src/misc/fetch.ts @@ -27,6 +27,27 @@ export async function getJson(url: string, accept = 'application/json, */*', tim return await res.json(); } +export async function getHtml(url: string, accept = 'text/html, */*', timeout = 10000, headers?: HeadersInit) { + const res = await fetch(url, { + headers: Object.assign({ + 'User-Agent': config.userAgent, + Accept: accept + }, headers || {}), + timeout, + agent: getAgentByUrl, + }); + + if (!res.ok) { + throw { + name: `StatusError`, + statusCode: res.status, + message: `${res.status} ${res.statusText}`, + }; + } + + return await res.text(); +} + /** * Get http non-proxy agent */ |