Repository: axios/axios (js)

Issue:
After upgrade to 1.0 GET request with parameters in the url fail
Working request with Axios v1.0.0-alpha.1: 
```
axios.get('https://git.somegit.com/api/v3/search/commits?q=sort:committer-date-desc merge:false repo:org/reponame&per_page=50&page=1
```

Same request with 1.0.0 fails with a 404. 1.0.0 was promoted today. 

When I print the failed response it looks like something is parsed/encoded incorrectly. 

```
   request: <ref *1> ClientRequest {
      _events: [Object: null prototype],
      _eventsCount: 7,
       .....
       ..... 
      _headerSent: true,
      socket: [TLSSocket],
      _header: 'GET /api/v3/search/commitsq=sort%3Acommitter-date-desc+merge%3Afalse+repo%3Aorg%2Freponame&per_page=50&page=1 HTTP/1.1\r\n' +
        'Accept: application/vnd.github.cloak-preview+json;application/vnd.github.v3+json\r\n' +
        'User-Agent: axios/1.0.0\r\n' +
        'Accept-Encoding: gzip, deflate, br\r\n' +
        'Host: git.somegit.com\r\n' +
        'Connection: close\r\n' +
        '\r\n',

```
To me the `?` is missing in between `commits` and `q`. 

When I don't parse the parameters on the URL and use `config.params` it works with Axios `1.0.0`. 

```
    config.params = {
        q: `sort:committer-date-desc merge:false repo:org/reponame`,
        per_page: 50,
        page: 1
    }
```

The success response then shows this `_header`: 
```
 _header: 'GET /api/v3/search/commits?q=sort:committer-date-desc+merge:false+repo:org%2Freponame&per_page=50&page=1 HTTP/1.1\r\n' +
      'Accept: application/vnd.github.cloak-preview+json;application/vnd.github.v3+json\r\n' +
      'User-Agent: axios/1.0.0\r\n' +
      'Accept-Encoding: gzip, deflate, br\r\n' +
      'Host: git.somegit.com\r\n' +
      'Connection: close\r\n' +
      '\r\n',

```
In the working version I do see the `?`. 

So right now the workaround is either sticking with v1.0.0-alpha.1 or using config.params instead of passing them with the .get call. 



Pull request:
Fixed query params composing;
Closes #4999;

Patch:
diff --git a/lib/adapters/http.js b/lib/adapters/http.js
index b864afe..35722b3 100755
--- a/lib/adapters/http.js
+++ b/lib/adapters/http.js
@@ -301,9 +301,14 @@ export default function httpAdapter(config) {
 
     auth && headers.delete('authorization');
 
-    const path = parsed.pathname.concat(parsed.searchParams);
+    let path;
+
     try {
-      buildURL(path, config.params, config.paramsSerializer).replace(/^\?/, '');
+      path = buildURL(
+        parsed.pathname + parsed.search,
+        config.params,
+        config.paramsSerializer
+      ).replace(/^\?/, '');
     } catch (err) {
       const customErr = new Error(err.message);
       customErr.config = config;
@@ -315,7 +320,7 @@ export default function httpAdapter(config) {
     headers.set('Accept-Encoding', 'gzip, deflate, br', false);
 
     const options = {
-      path: buildURL(path, config.params, config.paramsSerializer).replace(/^\?/, ''),
+      path,
       method: method,
       headers: headers.toJSON(),
       agents: { http: config.httpAgent, https: config.httpsAgent },


Test patch:
diff --git a/test/unit/regression/bugs.js b/test/unit/regression/bugs.js
new file mode 100644
index 0000000..1a66050
--- /dev/null
+++ b/test/unit/regression/bugs.js
@@ -0,0 +1,13 @@
+import assert from 'assert';
+import axios from '../../../index.js';
+
+describe('issues', function () {
+  describe('4999', function () {
+    it('should not fail with query parsing', async function () {
+      const {data} = await axios.get('https://postman-echo.com/get?foo1=bar1&foo2=bar2');
+
+      assert.strictEqual(data.args.foo1, 'bar1');
+      assert.strictEqual(data.args.foo2, 'bar2');
+    });
+  });
+});