28 lines
728 B
JavaScript
28 lines
728 B
JavaScript
const fetch = require('node-fetch');
|
|
|
|
module.exports = async function wget(params) {
|
|
const { url } = params;
|
|
if (!url) throw new Error('missing url');
|
|
const res = await fetch(url);
|
|
const buffer = await res.buffer();
|
|
const filename = url.split('/').filter(Boolean).pop() || 'index.html';
|
|
const content = buffer.slice(0, 500).toString('utf8');
|
|
return { filename, content };
|
|
};
|
|
|
|
// metadata for the tool runner
|
|
module.exports.meta = {
|
|
type: 'function',
|
|
name: 'wget',
|
|
description: 'Download URL to filesystem',
|
|
strict: true,
|
|
parameters: {
|
|
type: 'object',
|
|
required: ['url'],
|
|
additionalProperties: false,
|
|
properties: {
|
|
url: { type: 'string', description: 'The url to get.' }
|
|
}
|
|
}
|
|
};
|