title: GuzzleHttp\Client ignores base path in base_url
body: <p>I'm using Guzzle in a set of PHPUnit-powered tests for a REST API.</p>
  
  <p>I create my client as follows:</p>
  
  <pre class="lang-php prettyprint-override"><code>use GuzzleHttp\Client;
  
  $client = new Client(['base_url' =&gt; ['http://api.localhost/api/{version}', ['version' =&gt; '1.0']]]);
  </code></pre>
  
  <p>This works fine, and I can make requests using the following code:</p>
  
  <pre class="lang-php prettyprint-override"><code>$request = $client-&gt;createRequest('GET', '/auth');
  $request-&gt;setBody(Stream::factory(json_encode(['test'=&gt;'data'])));
  $response = $client-&gt;send($request);
  $decodedResponse = $response-&gt;json();
  </code></pre>
  
  <p>However, Guzzle is ignoring the <code>/api/{version}</code> part of the base URL and makes the request to here:</p>
  
  <pre class="lang-html prettyprint-override"><code>http://api.localhost/auth
  </code></pre>
  
  <p>However, I would have expected it to make the request here:</p>
  
  <pre class="lang-html prettyprint-override"><code>http://api.localhost/api/1.0/auth
  </code></pre>
  
  <p>Have I mis-read the documentation and my expected behaviour is thus wrong, or is there some other option I need to enable to get it to append the <code>/auth</code> url to the <code>/api/1.0</code> base path when making the request?</p>