in src/common.browser/WebsocketConnection.ts [27:81]
public constructor(
uri: string,
queryParameters: IStringDictionary<string>,
headers: IStringDictionary<string>,
messageFormatter: IWebsocketMessageFormatter,
proxyInfo: ProxyInfo,
enableCompression: boolean = false,
connectionId?: string) {
if (!uri) {
throw new ArgumentNullError("uri");
}
if (!messageFormatter) {
throw new ArgumentNullError("messageFormatter");
}
this.privMessageFormatter = messageFormatter;
let queryParams = "";
let i = 0;
if (queryParameters) {
for (const paramName in queryParameters) {
if (paramName) {
queryParams += ((i === 0) && (uri.indexOf("?") === -1)) ? "?" : "&";
const val = encodeURIComponent(queryParameters[paramName]);
queryParams += `${paramName}=${val}`;
i++;
}
}
}
if (headers) {
for (const headerName in headers) {
if (headerName) {
queryParams += ((i === 0) && (uri.indexOf("?") === -1)) ? "?" : "&";
const val = encodeURIComponent(headers[headerName]);
queryParams += `${headerName}=${val}`;
i++;
}
}
}
this.privUri = uri + queryParams;
this.privId = connectionId ? connectionId : createNoDashGuid();
this.privConnectionMessageAdapter = new WebsocketMessageAdapter(
this.privUri,
this.id,
this.privMessageFormatter,
proxyInfo,
headers,
enableCompression);
}