khamba
Version:
A cli tool for sharing files through local network.
51 lines (50 loc) • 1.62 kB
JavaScript
import { log, logError } from '../functions/log.js';
import { $baseInfo } from '../stores/baseStore.js';
export const fetchInitSenderTransfer = async (peerIP, peerHttpPort, MY_ID) => {
try {
const url = `http://${peerIP}:${peerHttpPort}/init-sender-transfer/${MY_ID}`;
const response = await fetch(url, {
method: 'GET',
headers: {
'Content-Type': 'application/json',
},
});
if (!response.ok) {
const errorData = await response.json();
logError(errorData);
return false;
}
const data = await response.json();
log(data.msg);
return true;
}
catch (error) {
logError(error);
return false;
}
};
// ! As a receiver, tell the sender about transfer state.
export const fetchUpdateSenderTransferState = async (peerIP, peerHttpPort, fileID, state, error) => {
const MY_ID = $baseInfo.get().MY_ID;
try {
const url = `http://${peerIP}:${peerHttpPort}/update-sender-transfer-state/${MY_ID}/${fileID}/${state}?${error ? `error=${error}` : ''}`;
const response = await fetch(url, {
method: 'GET',
headers: {
'Content-Type': 'application/json',
},
});
if (!response.ok) {
const errorData = await response.json();
logError(errorData);
return false;
}
const data = await response.json();
log(data.msg);
return true;
}
catch (error) {
logError(error);
return false;
}
};