mirror of
https://github.com/plankanban/planka.git
synced 2025-12-19 09:13:20 +03:00
38 lines
872 B
JavaScript
38 lines
872 B
JavaScript
|
|
import socketIOClient from 'socket.io-client';
|
||
|
|
import sailsIOClient from 'sails.io.js';
|
||
|
|
|
||
|
|
import Config from '../constants/Config';
|
||
|
|
|
||
|
|
const io = sailsIOClient(socketIOClient);
|
||
|
|
|
||
|
|
io.sails.url = Config.API_URL;
|
||
|
|
io.sails.autoConnect = false;
|
||
|
|
io.sails.reconnection = true;
|
||
|
|
io.sails.useCORSRouteToGetCookie = false;
|
||
|
|
|
||
|
|
const { socket } = io;
|
||
|
|
|
||
|
|
socket.connect = socket._connect; // eslint-disable-line no-underscore-dangle
|
||
|
|
|
||
|
|
['GET', 'POST', 'PUT', 'PATCH', 'DELETE'].forEach((method) => {
|
||
|
|
socket[method.toLowerCase()] = (url, data, headers) => new Promise((resolve, reject) => {
|
||
|
|
socket.request(
|
||
|
|
{
|
||
|
|
method,
|
||
|
|
data,
|
||
|
|
headers,
|
||
|
|
url: `${Config.API_PATH}${url}`,
|
||
|
|
},
|
||
|
|
(_, { body, error }) => {
|
||
|
|
if (error) {
|
||
|
|
reject(body);
|
||
|
|
} else {
|
||
|
|
resolve(body);
|
||
|
|
}
|
||
|
|
},
|
||
|
|
);
|
||
|
|
});
|
||
|
|
});
|
||
|
|
|
||
|
|
export default socket;
|