]> gerrit.simantics Code Review - simantics/district.git/blob - org.simantics.maps.server/node/node-v4.8.0-win-x64/node_modules/npm/lib/config/set-credentials-by-uri.js
Adding integrated tile server
[simantics/district.git] / org.simantics.maps.server / node / node-v4.8.0-win-x64 / node_modules / npm / lib / config / set-credentials-by-uri.js
1 var assert = require("assert")
2
3 var toNerfDart = require("./nerf-dart.js")
4
5 module.exports = setCredentialsByURI
6
7 function setCredentialsByURI (uri, c) {
8   assert(uri && typeof uri === "string", "registry URL is required")
9   assert(c && typeof c === "object", "credentials are required")
10
11   var nerfed = toNerfDart(uri)
12
13   if (c.token) {
14     this.set(nerfed + ":_authToken", c.token, "user")
15     this.del(nerfed + ":_password",           "user")
16     this.del(nerfed + ":username",            "user")
17     this.del(nerfed + ":email",               "user")
18     this.del(nerfed + ":always-auth",         "user")
19   }
20   else if (c.username || c.password || c.email) {
21     assert(c.username, "must include username")
22     assert(c.password, "must include password")
23     assert(c.email, "must include email address")
24
25     this.del(nerfed + ":_authToken", "user")
26
27     var encoded = new Buffer(c.password, "utf8").toString("base64")
28     this.set(nerfed + ":_password", encoded,   "user")
29     this.set(nerfed + ":username", c.username, "user")
30     this.set(nerfed + ":email", c.email,       "user")
31
32     if (c.alwaysAuth !== undefined) {
33       this.set(nerfed + ":always-auth", c.alwaysAuth, "user")
34     }
35     else {
36       this.del(nerfed + ":always-auth", "user")
37     }
38   }
39   else {
40     throw new Error("No credentials to set.")
41   }
42 }