(namespace, options)
| 11 | import url_for from 'sources/url_for'; |
| 12 | import { parseApiError } from './api_instance'; |
| 13 | export function openSocket(namespace, options) { |
| 14 | return new Promise((resolve, reject)=>{ |
| 15 | const socketObj = io(namespace, { |
| 16 | path: `${url_for('pgadmin.root')}/socket.io`, |
| 17 | pingTimeout: 120000, |
| 18 | pingInterval: 25000, |
| 19 | ...options, |
| 20 | }); |
| 21 | |
| 22 | /* Once the object is created, connect event is emitted. |
| 23 | Backend must implement connect and emit connected on success, |
| 24 | connect_error on failure. |
| 25 | */ |
| 26 | socketObj.on('connected', ()=>{ |
| 27 | resolve(socketObj); |
| 28 | }); |
| 29 | socketObj.on('connect_error', (err)=>{ |
| 30 | reject(err instanceof Error ? err : Error(gettext('Something went wrong'))); |
| 31 | }); |
| 32 | socketObj.on('disconnect', (err)=>{ |
| 33 | reject(err instanceof Error ? err : Error(gettext('Something went wrong'))); |
| 34 | }); |
| 35 | }); |
| 36 | } |
| 37 | |
| 38 | export function socketApiGet(socket, endpoint, params) { |
| 39 | return new Promise((resolve, reject)=>{ |
no test coverage detected