summaryrefslogtreecommitdiff
path: root/src/misc
diff options
context:
space:
mode:
authorsyuilo <Syuilotan@yahoo.co.jp>2020-07-26 11:04:07 +0900
committerGitHub <noreply@github.com>2020-07-26 11:04:07 +0900
commitf1ef85b63625edccd717dda8324078c232c7750e (patch)
tree2681f8f5057a9608dd9be943f486ebdfb81717e4 /src/misc
parentUpdate CONTRIBUTING.md (diff)
downloadmisskey-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.ts4
-rw-r--r--src/misc/fetch.ts21
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
*/