Browse Source

Close #171 PR: Fix user-agent string RFC 2616 Section 14.43. Fixes #169

node-7
birhoff 9 years ago
committed by Sindre Sorhus
parent
commit
f9078b6440
  1. 3
      index.js
  2. 3
      readme.md
  3. 3
      test/headers.js

3
index.js

@ -18,6 +18,7 @@ const createErrorClass = require('create-error-class');
const nodeStatusCodes = require('node-status-codes'); const nodeStatusCodes = require('node-status-codes');
const isPlainObj = require('is-plain-obj'); const isPlainObj = require('is-plain-obj');
const isRetryAllowed = require('is-retry-allowed'); const isRetryAllowed = require('is-retry-allowed');
const pkg = require('./package.json');
function requestAsEventEmitter(opts) { function requestAsEventEmitter(opts) {
opts = opts || {}; opts = opts || {};
@ -202,7 +203,7 @@ function normalizeArguments(url, opts) {
); );
opts.headers = Object.assign({ opts.headers = Object.assign({
'user-agent': 'https://github.com/sindresorhus/got', 'user-agent': `${pkg.name}/${pkg.version} (https://github.com/sindresorhus/got)`,
'accept-encoding': 'gzip,deflate' 'accept-encoding': 'gzip,deflate'
}, lowercaseKeys(opts.headers)); }, lowercaseKeys(opts.headers));

3
readme.md

@ -263,10 +263,11 @@ It's a good idea to set the `'user-agent'` header so the provider can more easil
```js ```js
const got = require('got'); const got = require('got');
const pkg = require('./package.json');
got('todomvc.com', { got('todomvc.com', {
headers: { headers: {
'user-agent': 'https://github.com/your-username/repo-name' 'user-agent': `my-module/${pkg.version} (https://github.com/username/my-module)`
} }
}); });
``` ```

3
test/headers.js

@ -1,5 +1,6 @@
import test from 'ava'; import test from 'ava';
import got from '../'; import got from '../';
import pkg from '../package.json';
import {createServer} from './helpers/server'; import {createServer} from './helpers/server';
let s; let s;
@ -17,7 +18,7 @@ test.before('setup', async () => {
test('user-agent', async t => { test('user-agent', async t => {
const headers = (await got(s.url, {json: true})).body; const headers = (await got(s.url, {json: true})).body;
t.is(headers['user-agent'], 'https://github.com/sindresorhus/got'); t.is(headers['user-agent'], `${pkg.name}/${pkg.version} (https://github.com/sindresorhus/got)`);
}); });
test('accept-encoding', async t => { test('accept-encoding', async t => {

Loading…
Cancel
Save