From f165dade06b7678bb80fa0bfbcee4e7b419dd14c Mon Sep 17 00:00:00 2001 From: Wessel Tip Date: Sat, 26 Oct 2019 14:45:22 +0200 Subject: [PATCH] Oopsie --- lib/index.js | 13 +++++++++++-- package.json | 2 +- 2 files changed, 12 insertions(+), 3 deletions(-) diff --git a/lib/index.js b/lib/index.js index 3c8ce9b..fb9c2e4 100644 --- a/lib/index.js +++ b/lib/index.js @@ -5,6 +5,15 @@ const MemoryCollection = require('./util/MemoryCollection'); const profiles = new MemoryCollection(); profiles.set('__default__', { headers: { 'User-Agent': `${metaData.name}/${metaData.version} (${metaData.repository.url})` } }); +const mergeDefaults = (opts) => { + const defaults = profiles.get('__default__'); + Object.keys(defaults).forEach((key) => { + if (!opts[key]) opts[key] = defaults[key]; + }); + + return opts; +}; + /** * Create a request with a specific method * @@ -14,8 +23,8 @@ profiles.set('__default__', { headers: { 'User-Agent': `${metaData.name}/${metaD */ module.exports = (url, method = profiles.get('__default__')) => { if (typeof url === 'object' && typeof method === 'string') url.method = method; - if (typeof url === 'object' && !url.overwriteDefaults) Object.assign(url, profiles.get('__default__')); - if (typeof method === 'object' && !method.overwriteDefaults) Object.assign(method, profiles.get('__default__')); + if (typeof url === 'object' && !url.overwriteDefaults) url = mergeDefaults(url); + if (typeof method === 'object' && !method.overwriteDefaults) method = mergeDefaults(method); return new req(url, method); }; diff --git a/package.json b/package.json index 48d012b..a73ad67 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "wumpfetch", - "version": "0.3.0", + "version": "0.3.1", "description": "🚀🔗 A modern, lightweight, fast and easy to use Node.js HTTP client", "author": "Wessel \"wesselgame\" T ", "license": "MIT",