Replace axios with native fetch in webhook utils #1

Open
Michilis wants to merge 1 commits from claude/epic-nobel-5d1572 into main
2 changed files with 20 additions and 7 deletions
+13 -3
View File
@@ -1,4 +1,3 @@
const axios = require('axios');
const logger = require('./logger');
// Function to send a note to a webhook
@@ -18,10 +17,21 @@ async function publishNoteWithKey(content, relays, privateKeyHex) {
}
// Send the payload to the webhook
const response = await axios.post(webhookUrl, payload);
const response = await fetch(webhookUrl, {
method: 'POST',
headers: { 'Content-Type': 'application/json' },
body: JSON.stringify(payload)
});
if (!response.ok) {
throw new Error(`Webhook responded with status ${response.status}`);
}
logger.info(`✅ Successfully sent note to webhook: ${response.status}`);
return response.data; // Assuming the webhook returns some data
// Parse JSON if the webhook returns it, otherwise fall back to text
const contentType = response.headers.get('content-type') || '';
return contentType.includes('application/json')
? await response.json()
: await response.text();
} catch (error) {
logger.error('Error sending note to webhook:', error);
throw error;
+7 -4
View File
@@ -1,4 +1,3 @@
const axios = require('axios');
const logger = require('./logger');
// Function to send webhook notifications
@@ -10,10 +9,14 @@ async function sendWebhookNotification(action, data) {
}
try {
await axios.post(webhookUrl, {
action,
data
const response = await fetch(webhookUrl, {
method: 'POST',
headers: { 'Content-Type': 'application/json' },
body: JSON.stringify({ action, data })
});
if (!response.ok) {
throw new Error(`Webhook responded with status ${response.status}`);
}
logger.info(`Webhook notification sent for action: ${action}`);
} catch (error) {
logger.error('Failed to send webhook notification:', error);