37 lines
1.3 KiB
TypeScript
37 lines
1.3 KiB
TypeScript
import axios, { AxiosResponse } from 'axios';
|
|
|
|
export async function storeData(servers: string[], key: string, value: any, ttl: number | null): Promise<AxiosResponse | null> {
|
|
for (const server of servers) {
|
|
try {
|
|
const response = await axios.post(`${server}/store`, { key, value, ttl });
|
|
console.log('Data stored successfully:', response.data);
|
|
if (response.status !== 200) {
|
|
console.error('Received response status', response.status);
|
|
continue;
|
|
}
|
|
console.log('Stored data:', response.data);
|
|
return response;
|
|
} catch (error) {
|
|
console.error('Error storing data:', error);
|
|
}
|
|
}
|
|
return null;
|
|
}
|
|
|
|
export async function retrieveData(servers: string[], key: string): Promise<any | null> {
|
|
for (const server of servers) {
|
|
try {
|
|
const response = await axios.get(`${server}/retrieve/${key}`);
|
|
if (response.status !== 200) {
|
|
console.error('Received response status', response.status);
|
|
continue;
|
|
}
|
|
console.log('Retrieved data:', response.data);
|
|
return response.data;
|
|
} catch (error) {
|
|
console.error('Error retrieving data:', error);
|
|
}
|
|
}
|
|
return null
|
|
}
|