{"version":3,"sources":["../src/httpExecutor.ts"],"names":[],"mappings":"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","sourcesContent":["import { createHash, Hash } from \"crypto\"\nimport _debug from \"debug\"\nimport { createWriteStream } from \"fs\"\nimport { IncomingMessage, OutgoingHttpHeaders, RequestOptions } from \"http\"\nimport { Socket } from \"net\"\nimport { Transform } from \"stream\"\nimport { URL } from \"url\"\nimport { CancellationToken } from \"./CancellationToken\"\nimport { newError } from \"./index\"\nimport { ProgressCallbackTransform, ProgressInfo } from \"./ProgressCallbackTransform\"\n\nconst debug = _debug(\"electron-builder\")\n\nexport interface RequestHeaders extends OutgoingHttpHeaders {\n [key: string]: string\n}\n\nexport interface DownloadOptions {\n readonly headers?: OutgoingHttpHeaders | null\n readonly sha2?: string | null\n readonly sha512?: string | null\n\n readonly cancellationToken: CancellationToken\n\n // noinspection JSUnusedLocalSymbols\n onProgress?(progress: ProgressInfo): void\n}\n\nexport function createHttpError(response: IncomingMessage, description: any | null = null) {\n return new HttpError(response.statusCode || -1, `${response.statusCode} ${response.statusMessage}` + (description == null ? \"\" : (\"\\n\" + JSON.stringify(description, null, \" \"))) + \"\\nHeaders: \" + safeStringifyJson(response.headers), description)\n}\n\nconst HTTP_STATUS_CODES = new Map([\n [429, \"Too many requests\"],\n [400, \"Bad request\"],\n [403, \"Forbidden\"],\n [404, \"Not found\"],\n [405, \"Method not allowed\"],\n [406, \"Not acceptable\"],\n [408, \"Request timeout\"],\n [413, \"Request entity too large\"],\n [500, \"Internal server error\"],\n [502, \"Bad gateway\"],\n [503, \"Service unavailable\"],\n [504, \"Gateway timeout\"],\n [505, \"HTTP version not supported\"],\n])\n\nexport class HttpError extends Error {\n constructor(readonly statusCode: number, message: string = `HTTP error: ${HTTP_STATUS_CODES.get(statusCode) || statusCode}`, readonly description: any | null = null) {\n super(message)\n\n this.name = \"HttpError\"\n }\n}\n\nexport function parseJson(result: Promise) {\n return result.then(it => it == null || it.length === 0 ? null : JSON.parse(it))\n}\n\nexport abstract class HttpExecutor {\n protected readonly maxRedirects = 10\n\n request(options: RequestOptions, cancellationToken: CancellationToken = new CancellationToken(), data?: { [name: string]: any; } | null): Promise {\n configureRequestOptions(options)\n const encodedData = data == null ? undefined : Buffer.from(JSON.stringify(data))\n if (encodedData != null) {\n options.method = \"post\"\n options.headers![\"Content-Type\"] = \"application/json\"\n options.headers![\"Content-Length\"] = encodedData.length\n }\n return this.doApiRequest(options, cancellationToken, it => {\n (it as any).end(encodedData)\n })\n }\n\n doApiRequest(options: RequestOptions, cancellationToken: CancellationToken, requestProcessor: (request: REQUEST, reject: (error: Error) => void) => void, redirectCount: number = 0): Promise {\n if (debug.enabled) {\n debug(`Request: ${safeStringifyJson(options)}`)\n }\n\n return cancellationToken.createPromise((resolve, reject, onCancel) => {\n const request = this.createRequest(options, (response: any) => {\n try {\n this.handleResponse(response, options, cancellationToken, resolve, reject, redirectCount, requestProcessor)\n }\n catch (e) {\n reject(e)\n }\n })\n this.addErrorAndTimeoutHandlers(request, reject)\n this.addRedirectHandlers(request, options, reject, redirectCount, options => {\n this.doApiRequest(options, cancellationToken, requestProcessor, redirectCount)\n .then(resolve)\n .catch(reject)\n })\n requestProcessor(request, reject)\n onCancel(() => request.abort())\n })\n }\n\n // noinspection JSUnusedLocalSymbols\n protected addRedirectHandlers(request: any, options: RequestOptions, reject: (error: Error) => void, redirectCount: number, handler: (options: RequestOptions) => void) {\n // not required for NodeJS\n }\n\n addErrorAndTimeoutHandlers(request: any, reject: (error: Error) => void) {\n this.addTimeOutHandler(request, reject)\n request.on(\"error\", reject)\n request.on(\"aborted\", () => {\n reject(new Error(\"Request has been aborted by the server\"))\n })\n }\n\n private handleResponse(response: IncomingMessage,\n options: RequestOptions,\n cancellationToken: CancellationToken,\n resolve: (data?: any) => void,\n reject: (error: Error) => void,\n redirectCount: number,\n requestProcessor: (request: REQUEST, reject: (error: Error) => void) => void) {\n if (debug.enabled) {\n debug(`Response: ${response.statusCode} ${response.statusMessage}, request options: ${safeStringifyJson(options)}`)\n }\n\n // we handle any other >= 400 error on request end (read detailed message in the response body)\n if (response.statusCode === 404) {\n // error is clear, we don't need to read detailed error description\n reject(createHttpError(response, `method: ${options.method || \"GET\"} url: ${options.protocol || \"https:\"}//${options.hostname}${options.port ? `:${options.port}` : \"\"}${options.path}\n\nPlease double check that your authentication token is correct. Due to security reasons actual status maybe not reported, but 404.\n`))\n return\n }\n else if (response.statusCode === 204) {\n // on DELETE request\n resolve()\n return\n }\n\n const redirectUrl = safeGetHeader(response, \"location\")\n if (redirectUrl != null) {\n if (redirectCount > this.maxRedirects) {\n reject(this.createMaxRedirectError())\n return\n }\n\n this.doApiRequest(HttpExecutor.prepareRedirectUrlOptions(redirectUrl, options), cancellationToken, requestProcessor, redirectCount)\n .then(resolve)\n .catch(reject)\n return\n }\n\n response.setEncoding(\"utf8\")\n\n let data = \"\"\n response.on(\"data\", (chunk: string) => data += chunk)\n response.on(\"end\", () => {\n try {\n if (response.statusCode != null && response.statusCode >= 400) {\n const contentType = safeGetHeader(response, \"content-type\")\n const isJson = contentType != null && (Array.isArray(contentType) ? contentType.find(it => it.includes(\"json\")) != null : contentType.includes(\"json\"))\n reject(createHttpError(response, isJson ? JSON.parse(data) : data))\n }\n else {\n resolve(data.length === 0 ? null : data)\n }\n }\n catch (e) {\n reject(e)\n }\n })\n }\n\n // noinspection JSUnusedLocalSymbols\n abstract createRequest(options: any, callback: (response: any) => void): any\n\n async downloadToBuffer(url: URL, options: DownloadOptions): Promise {\n return await options.cancellationToken.createPromise((resolve, reject, onCancel) => {\n let result: Buffer | null = null\n const requestOptions = {\n headers: options.headers || undefined,\n // because PrivateGitHubProvider requires HttpExecutor.prepareRedirectUrlOptions logic, so, we need to redirect manually\n redirect: \"manual\",\n }\n configureRequestUrl(url, requestOptions)\n configureRequestOptions(requestOptions)\n this.doDownload(requestOptions, {\n destination: null,\n options,\n onCancel,\n callback: error => {\n if (error == null) {\n resolve(result!!)\n }\n else {\n reject(error)\n }\n },\n responseHandler: (response, callback) => {\n const contentLength = safeGetHeader(response, \"content-length\")\n let position = -1\n if (contentLength != null) {\n const size = parseInt(contentLength, 10)\n if (size > 0) {\n if (size > 5242880) {\n callback(new Error(\"Maximum allowed size is 5 MB\"))\n return\n }\n\n result = Buffer.alloc(size)\n position = 0\n }\n }\n response.on(\"data\", (chunk: Buffer) => {\n if (position !== -1) {\n chunk.copy(result!!, position)\n position += chunk.length\n }\n else if (result == null) {\n result = chunk\n }\n else {\n if (result.length > 5242880) {\n callback(new Error(\"Maximum allowed size is 5 MB\"))\n return\n }\n result = Buffer.concat([result, chunk])\n }\n })\n response.on(\"end\", () => {\n if (result != null && position !== -1 && position !== result.length) {\n callback(new Error(`Received data length ${position} is not equal to expected ${result.length}`))\n }\n else {\n callback(null)\n }\n })\n },\n }, 0)\n })\n }\n\n protected doDownload(requestOptions: any, options: DownloadCallOptions, redirectCount: number) {\n const request = this.createRequest(requestOptions, (response: IncomingMessage) => {\n if (response.statusCode! >= 400) {\n options.callback(new Error(`Cannot download \"${requestOptions.protocol || \"https:\"}//${requestOptions.hostname}${requestOptions.path}\", status ${response.statusCode}: ${response.statusMessage}`))\n return\n }\n\n // this code not relevant for Electron (redirect event instead handled)\n const redirectUrl = safeGetHeader(response, \"location\")\n if (redirectUrl != null) {\n if (redirectCount < this.maxRedirects) {\n this.doDownload(HttpExecutor.prepareRedirectUrlOptions(redirectUrl, requestOptions), options, redirectCount++)\n }\n else {\n options.callback(this.createMaxRedirectError())\n }\n return\n }\n\n if (options.responseHandler == null) {\n configurePipes(options, response)\n }\n else {\n options.responseHandler(response, options.callback)\n }\n })\n this.addErrorAndTimeoutHandlers(request, options.callback)\n this.addRedirectHandlers(request, requestOptions, options.callback, redirectCount, requestOptions => {\n this.doDownload(requestOptions, options, redirectCount++)\n })\n request.end()\n }\n\n protected createMaxRedirectError() {\n return new Error(`Too many redirects (> ${this.maxRedirects})`)\n }\n\n private addTimeOutHandler(request: any, callback: (error: Error) => void) {\n request.on(\"socket\", (socket: Socket) => {\n socket.setTimeout(60 * 1000, () => {\n request.abort()\n callback(new Error(\"Request timed out\"))\n })\n })\n }\n\n static prepareRedirectUrlOptions(redirectUrl: string, options: RequestOptions): RequestOptions {\n const newOptions = configureRequestOptionsFromUrl(redirectUrl, {...options})\n const headers = newOptions.headers\n if (headers != null && headers.authorization != null && (headers.authorization as string).startsWith(\"token\")) {\n const parsedNewUrl = new URL(redirectUrl)\n if (parsedNewUrl.hostname.endsWith(\".amazonaws.com\")) {\n delete headers.authorization\n }\n }\n return newOptions\n }\n}\n\nexport interface DownloadCallOptions {\n responseHandler: ((response: IncomingMessage, callback: (error: Error | null) => void) => void) | null\n onCancel: (callback: () => void) => void\n callback: (error: Error | null) => void\n\n options: DownloadOptions\n\n destination: string | null\n}\n\nexport function configureRequestOptionsFromUrl(url: string, options: RequestOptions) {\n const result = configureRequestOptions(options)\n configureRequestUrl(new URL(url), result)\n return result\n}\n\nexport function configureRequestUrl(url: URL, options: RequestOptions): void {\n options.protocol = url.protocol\n options.hostname = url.hostname\n if (url.port) {\n options.port = url.port\n }\n else if (options.port) {\n delete options.port\n }\n options.path = url.pathname + url.search\n}\n\nexport class DigestTransform extends Transform {\n private readonly digester: Hash\n\n private _actual: string | null = null\n\n // noinspection JSUnusedGlobalSymbols\n get actual() {\n return this._actual\n }\n\n isValidateOnEnd: boolean = true\n\n constructor(readonly expected: string, private readonly algorithm: string = \"sha512\", private readonly encoding: \"hex\" | \"base64\" | \"latin1\" = \"base64\") {\n super()\n\n this.digester = createHash(algorithm)\n }\n\n // noinspection JSUnusedGlobalSymbols\n _transform(chunk: Buffer, encoding: string, callback: any) {\n this.digester.update(chunk)\n callback(null, chunk)\n }\n\n // noinspection JSUnusedGlobalSymbols\n _flush(callback: any): void {\n this._actual = this.digester.digest(this.encoding)\n\n if (this.isValidateOnEnd) {\n try {\n this.validate()\n }\n catch (e) {\n callback(e)\n return\n }\n }\n\n callback(null)\n }\n\n validate() {\n if (this._actual == null) {\n throw newError(\"Not finished yet\", \"ERR_STREAM_NOT_FINISHED\")\n }\n\n if (this._actual !== this.expected) {\n throw newError(`${this.algorithm} checksum mismatch, expected ${this.expected}, got ${this._actual}`, \"ERR_CHECKSUM_MISMATCH\")\n }\n\n return null\n }\n}\n\nfunction checkSha2(sha2Header: string | null | undefined, sha2: string | null | undefined, callback: (error: Error | null) => void): boolean {\n if (sha2Header != null && sha2 != null && sha2Header !== sha2) {\n callback(new Error(`checksum mismatch: expected ${sha2} but got ${sha2Header} (X-Checksum-Sha2 header)`))\n return false\n }\n return true\n}\n\nexport function safeGetHeader(response: any, headerKey: string) {\n const value = response.headers[headerKey]\n if (value == null) {\n return null\n }\n else if (Array.isArray(value)) {\n // electron API\n return value.length === 0 ? null : value[value.length - 1]\n }\n else {\n return value\n }\n}\n\nfunction configurePipes(options: DownloadCallOptions, response: IncomingMessage) {\n if (!checkSha2(safeGetHeader(response, \"X-Checksum-Sha2\"), options.options.sha2, options.callback)) {\n return\n }\n\n const streams: Array = []\n if (options.options.onProgress != null) {\n const contentLength = safeGetHeader(response, \"content-length\")\n if (contentLength != null) {\n streams.push(new ProgressCallbackTransform(parseInt(contentLength, 10), options.options.cancellationToken, options.options.onProgress))\n }\n }\n\n const sha512 = options.options.sha512\n if (sha512 != null) {\n streams.push(new DigestTransform(sha512, \"sha512\", sha512.length === 128 && !sha512.includes(\"+\") && !sha512.includes(\"Z\") && !sha512.includes(\"=\") ? \"hex\" : \"base64\"))\n }\n else if (options.options.sha2 != null) {\n streams.push(new DigestTransform(options.options.sha2, \"sha256\", \"hex\"))\n }\n\n const fileOut = createWriteStream(options.destination!!)\n streams.push(fileOut)\n\n let lastStream = response\n for (const stream of streams) {\n stream.on(\"error\", (error: Error) => {\n if (!options.options.cancellationToken.cancelled) {\n options.callback(error)\n }\n })\n lastStream = lastStream.pipe(stream)\n }\n\n fileOut.on(\"finish\", () => {\n (fileOut.close as any)(options.callback)\n })\n}\n\nexport function configureRequestOptions(options: RequestOptions, token?: string | null, method?: \"GET\" | \"DELETE\" | \"PUT\"): RequestOptions {\n if (method != null) {\n options.method = method\n }\n\n let headers = options.headers\n if (headers == null) {\n headers = {}\n options.headers = headers\n }\n if (token != null) {\n (headers as any).authorization = token.startsWith(\"Basic\") ? token : `token ${token}`\n }\n if (headers[\"User-Agent\"] == null) {\n headers[\"User-Agent\"] = \"electron-builder\"\n }\n\n if ((method == null || method === \"GET\") || headers[\"Cache-Control\"] == null) {\n headers[\"Cache-Control\"] = \"no-cache\"\n }\n\n // do not specify for node (in any case we use https module)\n if (options.protocol == null && (process.versions as any).electron != null) {\n options.protocol = \"https:\"\n }\n return options\n}\n\nexport function safeStringifyJson(data: any, skippedNames?: Set) {\n return JSON.stringify(data, (name, value) => {\n if (name.endsWith(\"authorization\") || name.endsWith(\"Password\") || name.endsWith(\"PASSWORD\") || name.endsWith(\"Token\") || name.includes(\"password\") || name.includes(\"token\") || (skippedNames != null && skippedNames.has(name))) {\n return \"\"\n }\n return value\n }, 2)\n}"],"sourceRoot":""}