ntfy/web/src/app/Api.js
2022-02-24 14:53:45 -05:00

26 lines
685 B
JavaScript

import {topicUrlJsonPoll, fetchLinesIterator, topicUrl} from "./utils";
class Api {
async poll(baseUrl, topic) {
const url = topicUrlJsonPoll(baseUrl, topic);
const messages = [];
console.log(`[Api] Polling ${url}`);
for await (let line of fetchLinesIterator(url)) {
messages.push(JSON.parse(line));
}
return messages;
}
async publish(baseUrl, topic, message) {
const url = topicUrl(baseUrl, topic);
console.log(`[Api] Publishing message to ${url}`);
await fetch(url, {
method: 'PUT',
body: message
});
}
}
const api = new Api();
export default api;