title: Angular HttpClient not setting Authorization header
body: <p>I have seen several other questions like this, but they do not solve the issue. I used MailChimp's API to make a simple call to add a member to my mailing list when they sign up. </p>
  
  <p>However when I test, I get a 401 unauthorized and the API complains of no API key submitted. When I inspect the request in Chrome, I don't see any Authorization header. Here is my code:</p>
  
  <pre><code>        const formData = {
              email_address: this.emailControl.value,
              status: 'subscribed',
              merge_fields: {
                  NAME: this.nameControl.value
              }
          };
          const header = new HttpHeaders({
              'Authorization': 'apikey:' + environment.mailChimpApiKey
          });
  
          this.http.post(this.mailChimpUrl, formData, {
              headers: header,
              observe: 'response'
          }).subscribe(response =&gt; {
              console.log('response', response);
              if (response.status === 200) {
                  this.submitted = true;
              }
          });
  </code></pre>
  
  <p>I have checked and double-checked the HttpClient.post method signature, and how the MailChimp API expects to receive the Auth header. It seems like I'm doing everything right, so why isn't Angular setting the header?</p>
  
  <p>I am noticing that the value changes only for the <code>Access-Control-Request-Headers</code> when I set optional headers. Am I reading the chrome console wrong?</p>
  
  <p><a href="https://i.stack.imgur.com/EM05u.png" rel="noreferrer"><img src="https://i.stack.imgur.com/EM05u.png" alt="enter image description here"></a></p>
  
  <p>Angular version: 5.2.4</p>