summaryrefslogtreecommitdiff
path: root/deps/npm/node_modules/npm-registry-client/lib/get.js
blob: ab0eae10f012181fef2e17246bb869d5e7fd5862 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
module.exports = get

var assert = require('assert')
var url = require('url')

/*
 * This is meant to be overridden in specific implementations if you
 * want specialized behavior for metadata (i.e. caching).
 */
function get (uri, params, cb) {
  assert(typeof uri === 'string', 'must pass registry URI to get')
  assert(params && typeof params === 'object', 'must pass params to get')
  assert(typeof cb === 'function', 'must pass callback to get')

  var parsed = url.parse(uri)
  assert(
    parsed.protocol === 'http:' || parsed.protocol === 'https:',
    'must have a URL that starts with http: or https:'
  )

  this.request(uri, params, cb)
}