<p dir="auto">show the code:</p>
<div class="highlight highlight-source-js notranslate position-relative overflow-auto" dir="auto" data-snippet-clipboard-copy-content="axios.defaults.retry = 4;

axios.interceptors.response.use(undefined, (err) =&gt; {
  console.log(err.config)
});"><pre class="notranslate"><span class="pl-s1">axios</span><span class="pl-kos">.</span><span class="pl-c1">defaults</span><span class="pl-kos">.</span><span class="pl-c1">retry</span> <span class="pl-c1">=</span> <span class="pl-c1">4</span><span class="pl-kos">;</span>

<span class="pl-s1">axios</span><span class="pl-kos">.</span><span class="pl-c1">interceptors</span><span class="pl-kos">.</span><span class="pl-c1">response</span><span class="pl-kos">.</span><span class="pl-en">use</span><span class="pl-kos">(</span><span class="pl-c1">undefined</span><span class="pl-kos">,</span> <span class="pl-kos">(</span><span class="pl-s1">err</span><span class="pl-kos">)</span> <span class="pl-c1">=&gt;</span> <span class="pl-kos">{</span>
  <span class="pl-smi">console</span><span class="pl-kos">.</span><span class="pl-en">log</span><span class="pl-kos">(</span><span class="pl-s1">err</span><span class="pl-kos">.</span><span class="pl-c1">config</span><span class="pl-kos">)</span>
<span class="pl-kos">}</span><span class="pl-kos">)</span><span class="pl-kos">;</span></pre></div>
<p dir="auto">result:</p>
<p dir="auto"><a target="_blank" rel="noopener noreferrer nofollow" href="https://user-images.githubusercontent.com/24989439/65499868-e8288e00-def0-11e9-8071-1dffdc10b84e.png"><img src="https://user-images.githubusercontent.com/24989439/65499868-e8288e00-def0-11e9-8071-1dffdc10b84e.png" alt="image" style="max-width: 100%;"></a></p>
<p dir="auto"><strong>Expected behavior</strong><br>
<a target="_blank" rel="noopener noreferrer nofollow" href="https://user-images.githubusercontent.com/24989439/65500182-7a309680-def1-11e9-8cac-f1edd736fca9.png"><img src="https://user-images.githubusercontent.com/24989439/65500182-7a309680-def1-11e9-8cac-f1edd736fca9.png" alt="image" style="max-width: 100%;"></a></p>
<p dir="auto"><strong>Environment:</strong></p>
<ul dir="auto">
<li>Axios Version [0.19.0]</li>
<li>OS: [OSX 10.12.6]</li>
<li>Browser [Chrome]</li>
<li>Browser Version [77.0.3865.90]</li>
</ul>
<p dir="auto">So, if I understand it right, in 0.19.0 you've added <code class="notranslate">mergeConfig</code><br>
And this function filter config and remove custom properties from it.<br>
It broke my solution for cancellation:</p>
<p dir="auto">How it works:</p>
<div class="highlight highlight-source-js notranslate position-relative overflow-auto" dir="auto" data-snippet-clipboard-copy-content="const requestManager = new RequestManager();
const instance = axios.create();
requestManager.patchAxiosInstance(instance);

const search = q =&gt;
  instance.get('/search', {
    cancelable: true, // this is no longer possible in 0.19.0
    params: { q },
  });"><pre class="notranslate"><span class="pl-k">const</span> <span class="pl-s1">requestManager</span> <span class="pl-c1">=</span> <span class="pl-k">new</span> <span class="pl-v">RequestManager</span><span class="pl-kos">(</span><span class="pl-kos">)</span><span class="pl-kos">;</span>
<span class="pl-k">const</span> <span class="pl-s1">instance</span> <span class="pl-c1">=</span> <span class="pl-s1">axios</span><span class="pl-kos">.</span><span class="pl-en">create</span><span class="pl-kos">(</span><span class="pl-kos">)</span><span class="pl-kos">;</span>
<span class="pl-s1">requestManager</span><span class="pl-kos">.</span><span class="pl-en">patchAxiosInstance</span><span class="pl-kos">(</span><span class="pl-s1">instance</span><span class="pl-kos">)</span><span class="pl-kos">;</span>

<span class="pl-k">const</span> <span class="pl-en">search</span> <span class="pl-c1">=</span> <span class="pl-s1">q</span> <span class="pl-c1">=&gt;</span>
  <span class="pl-s1">instance</span><span class="pl-kos">.</span><span class="pl-en">get</span><span class="pl-kos">(</span><span class="pl-s">'/search'</span><span class="pl-kos">,</span> <span class="pl-kos">{</span>
    <span class="pl-c1">cancelable</span>: <span class="pl-c1">true</span><span class="pl-kos">,</span> <span class="pl-c">// this is no longer possible in 0.19.0</span>
    <span class="pl-c1">params</span>: <span class="pl-kos">{</span> q <span class="pl-kos">}</span><span class="pl-kos">,</span>
  <span class="pl-kos">}</span><span class="pl-kos">)</span><span class="pl-kos">;</span></pre></div>
<p dir="auto"><a target="_blank" rel="noopener noreferrer nofollow" href="https://user-images.githubusercontent.com/7009699/58960132-2ddd1180-87af-11e9-8eb1-3542c4d0b1c1.png"><img src="https://user-images.githubusercontent.com/7009699/58960132-2ddd1180-87af-11e9-8eb1-3542c4d0b1c1.png" alt="Screenshot 2019-06-05 at 16 30 01" style="max-width: 100%;"></a></p>
<p dir="auto">The solution:</p>
<div class="highlight highlight-source-js notranslate position-relative overflow-auto" dir="auto" data-snippet-clipboard-copy-content="class RequestManager {
  constructor() {
    this.pendingRequests = new Map();
  }

  patchAxiosInstance(instance) {
    instance.interceptors.request.use(config =&gt; {
      if (!config.cancelable) return config; // this is no longer possible in 0.19.0

      const source = axios.CancelToken.source();
      const requestId = `${config.method}_${config.url}`;
      const cancelToken = source.token;
      this.addRequest(requestId, source.cancel);
      return { ...config, cancelToken, requestId };
    });

    instance.interceptors.response.use(response =&gt; {
      const { requestId } = response.config; // this is no longer possible in 0.19.0
      if (requestId) {
        this.removeRequest(requestId);
      }
      return response;
    });
  }

  addRequest(requestId, cancelFn) {
    this.cancelRequest(requestId);
    this.pendingRequests.set(requestId, cancelFn);
  }

  removeRequest(requestId) {
    this.pendingRequests.delete(requestId);
  }

  cancelRequest(requestId) {
    if (this.pendingRequests.has(requestId)) {
      const cancelFn = this.pendingRequests.get(requestId);
      cancelFn();
      this.removeRequest(requestId);
    }
  }
}"><pre class="notranslate"><span class="pl-k">class</span> <span class="pl-v">RequestManager</span> <span class="pl-kos">{</span>
  <span class="pl-en">constructor</span><span class="pl-kos">(</span><span class="pl-kos">)</span> <span class="pl-kos">{</span>
    <span class="pl-smi">this</span><span class="pl-kos">.</span><span class="pl-c1">pendingRequests</span> <span class="pl-c1">=</span> <span class="pl-k">new</span> <span class="pl-v">Map</span><span class="pl-kos">(</span><span class="pl-kos">)</span><span class="pl-kos">;</span>
  <span class="pl-kos">}</span>

  <span class="pl-en">patchAxiosInstance</span><span class="pl-kos">(</span><span class="pl-s1">instance</span><span class="pl-kos">)</span> <span class="pl-kos">{</span>
    <span class="pl-s1">instance</span><span class="pl-kos">.</span><span class="pl-c1">interceptors</span><span class="pl-kos">.</span><span class="pl-c1">request</span><span class="pl-kos">.</span><span class="pl-en">use</span><span class="pl-kos">(</span><span class="pl-s1">config</span> <span class="pl-c1">=&gt;</span> <span class="pl-kos">{</span>
      <span class="pl-k">if</span> <span class="pl-kos">(</span><span class="pl-c1">!</span><span class="pl-s1">config</span><span class="pl-kos">.</span><span class="pl-c1">cancelable</span><span class="pl-kos">)</span> <span class="pl-k">return</span> <span class="pl-s1">config</span><span class="pl-kos">;</span> <span class="pl-c">// this is no longer possible in 0.19.0</span>

      <span class="pl-k">const</span> <span class="pl-s1">source</span> <span class="pl-c1">=</span> <span class="pl-s1">axios</span><span class="pl-kos">.</span><span class="pl-c1">CancelToken</span><span class="pl-kos">.</span><span class="pl-en">source</span><span class="pl-kos">(</span><span class="pl-kos">)</span><span class="pl-kos">;</span>
      <span class="pl-k">const</span> <span class="pl-s1">requestId</span> <span class="pl-c1">=</span> <span class="pl-s">`<span class="pl-s1"><span class="pl-kos">${</span><span class="pl-s1">config</span><span class="pl-kos">.</span><span class="pl-c1">method</span><span class="pl-kos">}</span></span>_<span class="pl-s1"><span class="pl-kos">${</span><span class="pl-s1">config</span><span class="pl-kos">.</span><span class="pl-c1">url</span><span class="pl-kos">}</span></span>`</span><span class="pl-kos">;</span>
      <span class="pl-k">const</span> <span class="pl-s1">cancelToken</span> <span class="pl-c1">=</span> <span class="pl-s1">source</span><span class="pl-kos">.</span><span class="pl-c1">token</span><span class="pl-kos">;</span>
      <span class="pl-smi">this</span><span class="pl-kos">.</span><span class="pl-en">addRequest</span><span class="pl-kos">(</span><span class="pl-s1">requestId</span><span class="pl-kos">,</span> <span class="pl-s1">source</span><span class="pl-kos">.</span><span class="pl-c1">cancel</span><span class="pl-kos">)</span><span class="pl-kos">;</span>
      <span class="pl-k">return</span> <span class="pl-kos">{</span> ...<span class="pl-s1">config</span><span class="pl-kos">,</span> cancelToken<span class="pl-kos">,</span> requestId <span class="pl-kos">}</span><span class="pl-kos">;</span>
    <span class="pl-kos">}</span><span class="pl-kos">)</span><span class="pl-kos">;</span>

    <span class="pl-s1">instance</span><span class="pl-kos">.</span><span class="pl-c1">interceptors</span><span class="pl-kos">.</span><span class="pl-c1">response</span><span class="pl-kos">.</span><span class="pl-en">use</span><span class="pl-kos">(</span><span class="pl-s1">response</span> <span class="pl-c1">=&gt;</span> <span class="pl-kos">{</span>
      <span class="pl-k">const</span> <span class="pl-kos">{</span> requestId <span class="pl-kos">}</span> <span class="pl-c1">=</span> <span class="pl-s1">response</span><span class="pl-kos">.</span><span class="pl-c1">config</span><span class="pl-kos">;</span> <span class="pl-c">// this is no longer possible in 0.19.0</span>
      <span class="pl-k">if</span> <span class="pl-kos">(</span><span class="pl-s1">requestId</span><span class="pl-kos">)</span> <span class="pl-kos">{</span>
        <span class="pl-smi">this</span><span class="pl-kos">.</span><span class="pl-en">removeRequest</span><span class="pl-kos">(</span><span class="pl-s1">requestId</span><span class="pl-kos">)</span><span class="pl-kos">;</span>
      <span class="pl-kos">}</span>
      <span class="pl-k">return</span> <span class="pl-s1">response</span><span class="pl-kos">;</span>
    <span class="pl-kos">}</span><span class="pl-kos">)</span><span class="pl-kos">;</span>
  <span class="pl-kos">}</span>

  <span class="pl-en">addRequest</span><span class="pl-kos">(</span><span class="pl-s1">requestId</span><span class="pl-kos">,</span> <span class="pl-s1">cancelFn</span><span class="pl-kos">)</span> <span class="pl-kos">{</span>
    <span class="pl-smi">this</span><span class="pl-kos">.</span><span class="pl-en">cancelRequest</span><span class="pl-kos">(</span><span class="pl-s1">requestId</span><span class="pl-kos">)</span><span class="pl-kos">;</span>
    <span class="pl-smi">this</span><span class="pl-kos">.</span><span class="pl-c1">pendingRequests</span><span class="pl-kos">.</span><span class="pl-en">set</span><span class="pl-kos">(</span><span class="pl-s1">requestId</span><span class="pl-kos">,</span> <span class="pl-s1">cancelFn</span><span class="pl-kos">)</span><span class="pl-kos">;</span>
  <span class="pl-kos">}</span>

  <span class="pl-en">removeRequest</span><span class="pl-kos">(</span><span class="pl-s1">requestId</span><span class="pl-kos">)</span> <span class="pl-kos">{</span>
    <span class="pl-smi">this</span><span class="pl-kos">.</span><span class="pl-c1">pendingRequests</span><span class="pl-kos">.</span><span class="pl-en">delete</span><span class="pl-kos">(</span><span class="pl-s1">requestId</span><span class="pl-kos">)</span><span class="pl-kos">;</span>
  <span class="pl-kos">}</span>

  <span class="pl-en">cancelRequest</span><span class="pl-kos">(</span><span class="pl-s1">requestId</span><span class="pl-kos">)</span> <span class="pl-kos">{</span>
    <span class="pl-k">if</span> <span class="pl-kos">(</span><span class="pl-smi">this</span><span class="pl-kos">.</span><span class="pl-c1">pendingRequests</span><span class="pl-kos">.</span><span class="pl-en">has</span><span class="pl-kos">(</span><span class="pl-s1">requestId</span><span class="pl-kos">)</span><span class="pl-kos">)</span> <span class="pl-kos">{</span>
      <span class="pl-k">const</span> <span class="pl-s1">cancelFn</span> <span class="pl-c1">=</span> <span class="pl-smi">this</span><span class="pl-kos">.</span><span class="pl-c1">pendingRequests</span><span class="pl-kos">.</span><span class="pl-en">get</span><span class="pl-kos">(</span><span class="pl-s1">requestId</span><span class="pl-kos">)</span><span class="pl-kos">;</span>
      <span class="pl-s1">cancelFn</span><span class="pl-kos">(</span><span class="pl-kos">)</span><span class="pl-kos">;</span>
      <span class="pl-smi">this</span><span class="pl-kos">.</span><span class="pl-en">removeRequest</span><span class="pl-kos">(</span><span class="pl-s1">requestId</span><span class="pl-kos">)</span><span class="pl-kos">;</span>
    <span class="pl-kos">}</span>
  <span class="pl-kos">}</span>
<span class="pl-kos">}</span></pre></div>
<p dir="auto">So, is it possible to relax filter in <code class="notranslate">mergeConfig</code> for custom properties? Because sometimes it is needed and very helpful in interceptors or somewhere else.</p>