11/** @format */
2- import { Injectable } from "@angular/core" ;
2+ import { inject , Injectable } from "@angular/core" ;
33import { filter , map , Observable , Observer , retry , Subject } from "rxjs" ;
44import { environment } from "@environment" ;
55import * as snakecaseKeys from "snakecase-keys" ;
66import camelcaseKeys from "camelcase-keys" ;
7+ import { TokenService } from "@corelib" ;
78
89/**
910 * Сервис для работы с WebSocket соединениями
@@ -20,6 +21,8 @@ export class WebsocketService {
2021 /** Subject для обработки входящих сообщений */
2122 private messages$ = new Subject < MessageEvent > ( ) ;
2223
24+ private readonly tokenService = inject ( TokenService ) ;
25+
2326 /** Флаг состояния соединения */
2427 public isConnected = false ;
2528
@@ -36,7 +39,11 @@ export class WebsocketService {
3639 */
3740 public connect ( path : string ) : Observable < void > {
3841 return new Observable ( ( observer : Observer < void > ) => {
39- this . socket = new WebSocket ( environment . websocketUrl + path ) ;
42+ const tokens = this . tokenService . getTokens ( ) ;
43+
44+ const tokenAccess = tokens ?. access ? tokens . access : "" ;
45+
46+ this . socket = new WebSocket ( environment . websocketUrl + path , [ "Bearer" , tokenAccess ] ) ;
4047
4148 this . socket . onopen = ( ) => {
4249 this . isConnected = true ;
0 commit comments