title: Can't set or override on specific header using Angular.js $http
body: <p>I'm using Angular.js 1.4.8 and Fiddler 4 for debugging my requests.</p>
  
  <p>The following is the request I made using AngularJS <code>$http</code>.</p>
  
  <pre><code>var postRequest = {
      method: 'POST',
      url: 'https://speech.platform.bing.com/recognize',
      headers: {
          'Transfer-Encoding': 'chunked',
          Expect: '100-continue',
          Expect2: 'abc',
          Accept: 'application/json;text/xml',
          Host: 'region.platform.bing.com',
          'Content-Type': 'audio/wav; samplerate=8000',
          Authorization: 'auth-token',
          'Accept-Language': undefined,
          'Accept-Encoding': undefined,
          'User-Agent': undefined,
      },
      params: {
          scenarios: 'smd', // 'smd' in the internal sample code,
          locale: langString,
          'device.os': 'wp7',
          version: '3.0',
          format: 'json',
      },
      data: "test"
  };
  
  $http(postRequest).then(function (response) {
      console.log(response)
  });
  </code></pre>
  
  <p>However, as described in below, in the actual request, there are some missing headers (e.g., Expect, Transfer-Encoding). In addition, there are still automatically added headers by Angular even after I set it as undefined (as guided in official document: <a href="https://code.angularjs.org/1.4.8/docs/api/ng/service/" rel="nofollow">https://code.angularjs.org/1.4.8/docs/api/ng/service/</a>$http).</p>
  
  <blockquote>
    <p>POST <a href="https://speech.platform.bing.com/recognize?device.os=wp7&amp;format=json&amp;locale=en-US&amp;scenarios=smd&amp;version=3.0" rel="nofollow">https://speech.platform.bing.com/recognize?device.os=wp7&amp;format=json&amp;locale=en-US&amp;scenarios=smd&amp;version=3.0</a> HTTP/1.1</p>
    
    <p>Expect2: abc </p>
    
    <p>Accept: application/json;text/xml </p>
    
    <p>Content-Type: audio/wav; samplerate=8000 </p>
    
    <p>Authorization: 'auth-token'</p>
    
    <p>**Accept-Language: en-US,en;q=0.8,ko;q=0.6,zh-Hans-CN;q=0.4,zh-Hans;q=0.2</p>
    
    <p>Accept-Encoding: gzip, deflate**</p>
    
    <p><strong>User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; MSAppHost/3.0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/42.0.2311.135 Safari/537.36 Edge/12.10240</strong> </p>
    
    <p>Host: speech.platform.bing.com</p>
    
    <p><strong>Content-Length: 271491</strong> Connection: Keep-Alive Cache-Control: no-cache</p>
    
    <p><strong>Cookie: MUIDB=39DE0AD21AD46AF2039D02BB1BB26B61</strong></p>
  </blockquote>
  
  <p>Is there any ways that</p>
  
  <ol>
  <li>Can I add headers which I could not add using 'headers' objects, and</li>
  <li>Can I remove the headers automatically added by Angular? </li>
  </ol>
  
  <p>Or is it the Angular bug?</p>