diff options
Diffstat (limited to 'includes/external/matrix/node_modules/matrix-js-sdk/lib/http-api/fetch.js.map')
-rw-r--r-- | includes/external/matrix/node_modules/matrix-js-sdk/lib/http-api/fetch.js.map | 1 |
1 files changed, 0 insertions, 1 deletions
diff --git a/includes/external/matrix/node_modules/matrix-js-sdk/lib/http-api/fetch.js.map b/includes/external/matrix/node_modules/matrix-js-sdk/lib/http-api/fetch.js.map deleted file mode 100644 index b5e30ee..0000000 --- a/includes/external/matrix/node_modules/matrix-js-sdk/lib/http-api/fetch.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"fetch.js","names":["utils","_interopRequireWildcard","require","_method","_errors","_interface","_utils2","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","default","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","FetchHttpApi","constructor","eventEmitter","opts","_opts$useAuthorizatio","_defineProperty2","AbortController","checkObjectHasKeys","onlyData","useAuthorizationHeader","abort","abortController","fetch","resource","options","fetchFn","global","setIdBaseUrl","url","idBaseUrl","idServerRequest","method","path","params","prefix","accessToken","Error","queryParams","undefined","body","Method","Get","fullUri","getUrl","json","headers","Authorization","requestOtherUrl","authedRequest","access_token","requestPromise","request","catch","err","errcode","inhibitLogoutEmit","emit","HttpApiEvent","SessionLoggedOut","NoConsent","message","data","consent_uri","baseUrl","_opts$json","_body$constructor","_opts$localTimeoutMs","_opts$keepAlive","assign","jsonBody","name","timeout","localTimeoutMs","keepAlive","signals","signal","push","timeoutSignal","abortSignal","JSON","stringify","cleanup","anySignal","res","mode","redirect","referrer","referrerPolicy","credentials","keepalive","e","ConnectionError","ok","parseErrorResponse","text","URL","encodeParams","searchParams","exports"],"sources":["../../src/http-api/fetch.ts"],"sourcesContent":["/*\nCopyright 2022 The Matrix.org Foundation C.I.C.\n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n*/\n\n/**\n * This is an internal module. See {@link MatrixHttpApi} for the public class.\n */\n\nimport * as utils from \"../utils\";\nimport { TypedEventEmitter } from \"../models/typed-event-emitter\";\nimport { Method } from \"./method\";\nimport { ConnectionError, MatrixError } from \"./errors\";\nimport { HttpApiEvent, HttpApiEventHandlerMap, IHttpOpts, IRequestOpts } from \"./interface\";\nimport { anySignal, parseErrorResponse, timeoutSignal } from \"./utils\";\nimport { QueryDict } from \"../utils\";\n\ntype Body = Record<string, any> | BodyInit;\n\ninterface TypedResponse<T> extends Response {\n json(): Promise<T>;\n}\n\nexport type ResponseType<T, O extends IHttpOpts> = O extends undefined\n ? T\n : O extends { onlyData: true }\n ? T\n : TypedResponse<T>;\n\nexport class FetchHttpApi<O extends IHttpOpts> {\n private abortController = new AbortController();\n\n public constructor(\n private eventEmitter: TypedEventEmitter<HttpApiEvent, HttpApiEventHandlerMap>,\n public readonly opts: O,\n ) {\n utils.checkObjectHasKeys(opts, [\"baseUrl\", \"prefix\"]);\n opts.onlyData = !!opts.onlyData;\n opts.useAuthorizationHeader = opts.useAuthorizationHeader ?? true;\n }\n\n public abort(): void {\n this.abortController.abort();\n this.abortController = new AbortController();\n }\n\n public fetch(resource: URL | string, options?: RequestInit): ReturnType<typeof global.fetch> {\n if (this.opts.fetchFn) {\n return this.opts.fetchFn(resource, options);\n }\n return global.fetch(resource, options);\n }\n\n /**\n * Sets the base URL for the identity server\n * @param url - The new base url\n */\n public setIdBaseUrl(url: string): void {\n this.opts.idBaseUrl = url;\n }\n\n public idServerRequest<T extends {} = Record<string, unknown>>(\n method: Method,\n path: string,\n params: Record<string, string | string[]> | undefined,\n prefix: string,\n accessToken?: string,\n ): Promise<ResponseType<T, O>> {\n if (!this.opts.idBaseUrl) {\n throw new Error(\"No identity server base URL set\");\n }\n\n let queryParams: QueryDict | undefined = undefined;\n let body: Record<string, string | string[]> | undefined = undefined;\n if (method === Method.Get) {\n queryParams = params;\n } else {\n body = params;\n }\n\n const fullUri = this.getUrl(path, queryParams, prefix, this.opts.idBaseUrl);\n\n const opts: IRequestOpts = {\n json: true,\n headers: {},\n };\n if (accessToken) {\n opts.headers!.Authorization = `Bearer ${accessToken}`;\n }\n\n return this.requestOtherUrl(method, fullUri, body, opts);\n }\n\n /**\n * Perform an authorised request to the homeserver.\n * @param method - The HTTP method e.g. \"GET\".\n * @param path - The HTTP path <b>after</b> the supplied prefix e.g.\n * \"/createRoom\".\n *\n * @param queryParams - A dict of query params (these will NOT be\n * urlencoded). If unspecified, there will be no query params.\n *\n * @param body - The HTTP JSON body.\n *\n * @param opts - additional options. If a number is specified,\n * this is treated as `opts.localTimeoutMs`.\n *\n * @returns Promise which resolves to\n * ```\n * {\n * data: {Object},\n * headers: {Object},\n * code: {Number},\n * }\n * ```\n * If `onlyData` is set, this will resolve to the `data` object only.\n * @returns Rejects with an error if a problem occurred.\n * This includes network problems and Matrix-specific error JSON.\n */\n public authedRequest<T>(\n method: Method,\n path: string,\n queryParams?: QueryDict,\n body?: Body,\n opts: IRequestOpts = {},\n ): Promise<ResponseType<T, O>> {\n if (!queryParams) queryParams = {};\n\n if (this.opts.accessToken) {\n if (this.opts.useAuthorizationHeader) {\n if (!opts.headers) {\n opts.headers = {};\n }\n if (!opts.headers.Authorization) {\n opts.headers.Authorization = \"Bearer \" + this.opts.accessToken;\n }\n if (queryParams.access_token) {\n delete queryParams.access_token;\n }\n } else if (!queryParams.access_token) {\n queryParams.access_token = this.opts.accessToken;\n }\n }\n\n const requestPromise = this.request<T>(method, path, queryParams, body, opts);\n\n requestPromise.catch((err: MatrixError) => {\n if (err.errcode == \"M_UNKNOWN_TOKEN\" && !opts?.inhibitLogoutEmit) {\n this.eventEmitter.emit(HttpApiEvent.SessionLoggedOut, err);\n } else if (err.errcode == \"M_CONSENT_NOT_GIVEN\") {\n this.eventEmitter.emit(HttpApiEvent.NoConsent, err.message, err.data.consent_uri);\n }\n });\n\n // return the original promise, otherwise tests break due to it having to\n // go around the event loop one more time to process the result of the request\n return requestPromise;\n }\n\n /**\n * Perform a request to the homeserver without any credentials.\n * @param method - The HTTP method e.g. \"GET\".\n * @param path - The HTTP path <b>after</b> the supplied prefix e.g.\n * \"/createRoom\".\n *\n * @param queryParams - A dict of query params (these will NOT be\n * urlencoded). If unspecified, there will be no query params.\n *\n * @param body - The HTTP JSON body.\n *\n * @param opts - additional options\n *\n * @returns Promise which resolves to\n * ```\n * {\n * data: {Object},\n * headers: {Object},\n * code: {Number},\n * }\n * ```\n * If `onlyData</code> is set, this will resolve to the <code>data`\n * object only.\n * @returns Rejects with an error if a problem\n * occurred. This includes network problems and Matrix-specific error JSON.\n */\n public request<T>(\n method: Method,\n path: string,\n queryParams?: QueryDict,\n body?: Body,\n opts?: IRequestOpts,\n ): Promise<ResponseType<T, O>> {\n const fullUri = this.getUrl(path, queryParams, opts?.prefix, opts?.baseUrl);\n return this.requestOtherUrl<T>(method, fullUri, body, opts);\n }\n\n /**\n * Perform a request to an arbitrary URL.\n * @param method - The HTTP method e.g. \"GET\".\n * @param url - The HTTP URL object.\n *\n * @param body - The HTTP JSON body.\n *\n * @param opts - additional options\n *\n * @returns Promise which resolves to data unless `onlyData` is specified as false,\n * where the resolved value will be a fetch Response object.\n * @returns Rejects with an error if a problem\n * occurred. This includes network problems and Matrix-specific error JSON.\n */\n public async requestOtherUrl<T>(\n method: Method,\n url: URL | string,\n body?: Body,\n opts: Pick<IRequestOpts, \"headers\" | \"json\" | \"localTimeoutMs\" | \"keepAlive\" | \"abortSignal\"> = {},\n ): Promise<ResponseType<T, O>> {\n const headers = Object.assign({}, opts.headers || {});\n const json = opts.json ?? true;\n // We can't use getPrototypeOf here as objects made in other contexts e.g. over postMessage won't have same ref\n const jsonBody = json && body?.constructor?.name === Object.name;\n\n if (json) {\n if (jsonBody && !headers[\"Content-Type\"]) {\n headers[\"Content-Type\"] = \"application/json\";\n }\n\n if (!headers[\"Accept\"]) {\n headers[\"Accept\"] = \"application/json\";\n }\n }\n\n const timeout = opts.localTimeoutMs ?? this.opts.localTimeoutMs;\n const keepAlive = opts.keepAlive ?? false;\n const signals = [this.abortController.signal];\n if (timeout !== undefined) {\n signals.push(timeoutSignal(timeout));\n }\n if (opts.abortSignal) {\n signals.push(opts.abortSignal);\n }\n\n let data: BodyInit;\n if (jsonBody) {\n data = JSON.stringify(body);\n } else {\n data = body as BodyInit;\n }\n\n const { signal, cleanup } = anySignal(signals);\n\n let res: Response;\n try {\n res = await this.fetch(url, {\n signal,\n method,\n body: data,\n headers,\n mode: \"cors\",\n redirect: \"follow\",\n referrer: \"\",\n referrerPolicy: \"no-referrer\",\n cache: \"no-cache\",\n credentials: \"omit\", // we send credentials via headers\n keepalive: keepAlive,\n });\n } catch (e) {\n if ((<Error>e).name === \"AbortError\") {\n throw e;\n }\n throw new ConnectionError(\"fetch failed\", <Error>e);\n } finally {\n cleanup();\n }\n\n if (!res.ok) {\n throw parseErrorResponse(res, await res.text());\n }\n\n if (this.opts.onlyData) {\n return json ? res.json() : res.text();\n }\n return res as ResponseType<T, O>;\n }\n\n /**\n * Form and return a homeserver request URL based on the given path params and prefix.\n * @param path - The HTTP path <b>after</b> the supplied prefix e.g. \"/createRoom\".\n * @param queryParams - A dict of query params (these will NOT be urlencoded).\n * @param prefix - The full prefix to use e.g. \"/_matrix/client/v2_alpha\", defaulting to this.opts.prefix.\n * @param baseUrl - The baseUrl to use e.g. \"https://matrix.org/\", defaulting to this.opts.baseUrl.\n * @returns URL\n */\n public getUrl(path: string, queryParams?: QueryDict, prefix?: string, baseUrl?: string): URL {\n const url = new URL((baseUrl ?? this.opts.baseUrl) + (prefix ?? this.opts.prefix) + path);\n if (queryParams) {\n utils.encodeParams(queryParams, url.searchParams);\n }\n return url;\n }\n}\n"],"mappings":"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"}
\ No newline at end of file |