Skip to content

Commit 7931275

Browse files
rexxarsbjoerge
authored andcommitted
[client] Set User-Agent in non-browser environments (#161)
1 parent 1262dd3 commit 7931275

File tree

2 files changed

+19
-1
lines changed

2 files changed

+19
-1
lines changed

packages/@sanity/client/src/http/request.js

+7-1
Original file line numberDiff line numberDiff line change
@@ -28,10 +28,16 @@ const middleware = [
2828
observable({implementation: SanityObservable})
2929
]
3030

31-
// Don't include debug middleware in browsers
31+
// Node-specifics
3232
if (process.env.BROWSERIFY_ENV !== 'build') {
33+
// Only include debug middleware in browsers
3334
const debug = require('get-it/lib/middleware/debug')
3435
middleware.unshift(debug({verbose: true, namespace: 'sanity:client'}))
36+
37+
// Assign user agent in node
38+
const headers = require('get-it/lib/middleware/headers')
39+
const pkg = require('../../package.json')
40+
middleware.unshift(headers({'User-Agent': `${pkg.name} ${pkg.version}`}))
3541
}
3642

3743
const request = getIt(middleware)

packages/@sanity/client/test/client.test.js

+12
Original file line numberDiff line numberDiff line change
@@ -1364,6 +1364,18 @@ test('includes token if set', t => {
13641364
.then(t.end)
13651365
})
13661366

1367+
test('includes user agent in node', t => {
1368+
const pkg = require('../package.json')
1369+
const reqheaders = {'User-Agent': `${pkg.name} ${pkg.version}`}
1370+
nock(projectHost(), {reqheaders})
1371+
.get('/v1/data/doc/foo/bar')
1372+
.reply(200, {documents: []})
1373+
1374+
getClient().getDocument('bar')
1375+
.catch(t.ifError)
1376+
.then(t.end)
1377+
})
1378+
13671379
// Don't rely on this unless you're working at Sanity Inc ;)
13681380
test('can use alternative http requester', t => {
13691381
const requester = () => sanityObservable.of({

0 commit comments

Comments
 (0)