public prompt(severity: Severity, message: string, _buttons: INotificationButton[], _onCancel: () => void): INotificationHandle {
		switch (severity) {
			case Severity.Info: logger.info(message); break;
			case Severity.Warning: logger.warn(message); break;
			case Severity.Error: logger.error(message); break;
		}

		return {
			close: (): void => undefined,
			updateMessage: (): void => undefined,
			updateButtons: (): void => undefined,
		};
	}
Example #2
0
			req.on("end", () => {
				const body = data.join("");
				fs.writeFileSync(fullPath, body);
				logger.debug("Wrote resource", field("path", fullPath), field("content-length", body.length));
				res.status(200);
				res.end();
			});
Example #3
0
				eventEmitter!.on(event, (...args: any[]) => {
					logger.trace(() => [
						`${event}`,
						field("id", message.getId()),
						field("args", args.map((a) => stringify(a))),
					]);
					cb(...args);
				});
	public start<T>(title: string, task: (progress: IProgress) => Promise<T>): Promise<T> {
		logger.info(title);

		return task({
			report: (progress): void => {
				logger.info(`${title} progress: ${progress}`);
			},
		});
	}
Example #5
0
			send: (data): void => {
				if (ws.readyState !== ws.OPEN) {
					return;
				}
				try {
					ws.send(data);
				} catch (error) {
					logger.error(error.message);
				}
			},
Example #6
0
			emit: (event: string, ...args: any[]): void => {
				logger.trace(() => [
					`emit ${event}`,
					field("id", message.getId()),
					field("args", args.map((a) => stringify(a))),
				]);
				const eventMsg = new EvalEventMessage();
				eventMsg.setEvent(event);
				eventMsg.setArgsList(args.map((a) => stringify(a)));
				eventMsg.setId(message.getId());
				const serverMsg = new ServerMessage();
				serverMsg.setEvalEvent(eventMsg);
				connection.send(serverMsg.serializeBinary());
			},
actions.MenuRegistry.appendMenuItem = (id: actions.MenuId, item: actions.IMenuItem | actions.ISubmenuItem): IDisposable => {
	if (actions.isIMenuItem(item)) {
		switch (item.command.id) {
			case ToggleDevToolsAction.ID: // There appears to be no way to toggle this programmatically.
				logger.debug(`Skipping unsupported menu item ${item.command.id}`);

				return {
					dispose: (): void => undefined,
				};
		}
	}

	return originalAppend(id, item);
};
Example #8
0
	const isAuthed = (req: http.IncomingMessage): boolean => {
		try {
			if (!options.password || options.bypassAuth) {
				return true;
			}

			// Try/catch placed here just in case
			const cookies = parseCookies(req);
			if (cookies.password && safeCompare(cookies.password, options.password)) {
				return true;
			}
		} catch (ex) {
			logger.error("Failed to parse cookies", field("error", ex));
		}

		return false;
	};
Example #9
0
	const sendException = (error: Error): void => {
		logger.trace(() => [
			"reject",
			field("id", message.getId()),
			field("response", stringify(error, true)),
		]);

		const evalFailed = new EvalFailedMessage();
		evalFailed.setId(message.getId());
		evalFailed.setResponse(stringify(error, true));

		const serverMsg = new ServerMessage();
		serverMsg.setEvalFailed(evalFailed);
		connection.send(serverMsg.serializeBinary());

		onDispose();
	};
Example #10
0
	const sendResp = (resp: any): void => {
		logger.trace(() => [
			"resolve",
			field("id", message.getId()),
			field("response", stringify(resp)),
		]);

		const evalDone = new EvalDoneMessage();
		evalDone.setId(message.getId());
		evalDone.setResponse(stringify(resp));

		const serverMsg = new ServerMessage();
		serverMsg.setEvalDone(evalDone);
		connection.send(serverMsg.serializeBinary());

		onDispose();
	};