feat: add support for specifying custom querystring arguments

This allows folks to implement token-based authentication for websocket access.

Closes #82
This commit is contained in:
Jose Diaz-Gonzalez
2024-02-14 22:56:16 -05:00
committed by Soren L. Hansen
parent 113b502abb
commit ba9326e417
6 changed files with 17 additions and 7 deletions

View File

@@ -1,10 +1,11 @@
import { OurXterm } from "./xterm";
import { Terminal, WebTTY, protocols } from "./webtty";
import { ConnectionFactory } from "./websocket";
import { Terminal, WebTTY, protocols } from "./webtty";
import { OurXterm } from "./xterm";
// @TODO remove these
declare var gotty_auth_token: string;
declare var gotty_term: string;
declare var gotty_ws_query_args: string;
const elem = document.getElementById("terminal")
@@ -13,7 +14,8 @@ if (elem !== null) {
term = new OurXterm(elem);
const httpsEnabled = window.location.protocol == "https:";
const url = (httpsEnabled ? 'wss://' : 'ws://') + window.location.host + window.location.pathname + 'ws';
const queryArgs = (gotty_ws_query_args === "") ? "" : "?" + gotty_ws_query_args;
const url = (httpsEnabled ? 'wss://' : 'ws://') + window.location.host + window.location.pathname + 'ws' + queryArgs;
const args = window.location.search;
const factory = new ConnectionFactory(url, protocols);
const wt = new WebTTY(term, factory, args, gotty_auth_token);