juice-shop
31 строка · 838.0 Байт
1/*
2* Copyright (c) 2014-2024 Bjoern Kimminich & the OWASP Juice Shop contributors.
3* SPDX-License-Identifier: MIT
4*/
5
6import { environment } from 'src/environments/environment'
7import { Injectable, NgZone } from '@angular/core'
8import { io, type Socket } from 'socket.io-client'
9
10@Injectable({
11providedIn: 'root'
12})
13export class SocketIoService {
14private _socket: Socket
15
16constructor (private readonly ngZone: NgZone) {
17this.ngZone.runOutsideAngular(() => {
18if (environment.hostServer === '.') {
19this._socket = io(window.location.origin, {
20path: (window.location.pathname.endsWith('/') ? window.location.pathname : window.location.pathname + '/') + 'socket.io'
21})
22} else {
23this._socket = io(environment.hostServer)
24}
25})
26}
27
28socket () {
29return this._socket
30}
31}
32