You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

41 lines
1.1 KiB

var crypto = require("crypto")
var pkg = require("../package.json")
module.exports = initialize
function initialize (uri, method, accept, headers) {
if (!this.sessionToken) {
this.sessionToken = crypto.randomBytes(8).toString("hex")
this.log.verbose("request id", this.sessionToken)
}
var strict = this.conf.get("strict-ssl")
if (strict === undefined) strict = true
var p = this.conf.get("proxy")
var sp = this.conf.get("https-proxy") || p
var opts = {
url : uri,
method : method,
headers : headers,
proxy : uri.protocol === "https:" ? sp : p,
localAddress : this.conf.get("local-address"),
strictSSL : strict,
cert : this.conf.get("cert"),
key : this.conf.get("key"),
ca : this.conf.get("ca")
}
headers.version = this.version || pkg.version
headers.accept = accept
if (this.refer) headers.referer = this.refer
headers["npm-session"] = this.sessionToken
headers["user-agent"] = this.conf.get("user-agent") ||
"node/" + process.version
return opts
}