1. /**
  2. * Buffers HTML input and logs it for maintenance tasks.
  3. * @param {string} url The URL of the HTML page to buffer.
  4. * @param {function} callback A function to call when the buffer is complete.
  5. */
  6. function bufferHtml(url, callback) {
  7. const http = require('http');
  8. const urlModule = require('url');
  9. const req = http.get(url, (res) => {
  10. let buffer = '';
  11. res.on('data', (chunk) => {
  12. buffer += chunk;
  13. console.log(`Received ${chunk.length} bytes. Total buffered: ${buffer.length}`); // Verbose logging
  14. });
  15. res.on('end', () => {
  16. console.log(`Finished receiving data. Total buffered: ${buffer.length}`); // Verbose logging
  17. callback(buffer);
  18. });
  19. res.on('error', (err) => {
  20. console.error(`Error fetching ${url}: ${err.message}`);
  21. callback(null); // Pass null to indicate an error
  22. });
  23. });
  24. req.on('error', (err) => {
  25. console.error(`Error creating request to ${url}: ${err.message}`);
  26. callback(null);
  27. });
  28. }

Add your comment