1. /**
  2. * Extends the existing headers metadata with new properties.
  3. *
  4. * @param {object} headers The existing headers object.
  5. * @param {object} metadata The metadata to extend the headers with.
  6. * @returns {object} The extended headers object.
  7. */
  8. function extendHeadersMetadata(headers, metadata) {
  9. if (typeof headers !== 'object' || headers === null) {
  10. console.warn("Headers is not a valid object. Returning empty object.");
  11. return {};
  12. }
  13. if (typeof metadata !== 'object' || metadata === null) {
  14. console.warn("Metadata is not a valid object. Returning original headers.");
  15. return headers;
  16. }
  17. for (const key in metadata) {
  18. if (Object.hasOwnProperty.call(metadata, key)) {
  19. headers[key] = metadata[key]; // Add new properties to headers
  20. }
  21. }
  22. return headers;
  23. }

Add your comment