deps/npm/lib/config/load-cafile.js

Summary

Maintainability
A
25 mins
Test Coverage
module.exports = loadCAFile

var fs = require("fs")

function loadCAFile(cafilePath, cb) {
  if (!cafilePath)
    return process.nextTick(cb)

  fs.readFile(cafilePath, "utf8", afterCARead.bind(this))

  function afterCARead(er, cadata) {

    if (er) {
      // previous cafile no longer exists, so just continue on gracefully
      if (er.code === 'ENOENT') return cb()
      return cb(er)
    }

    var delim = "-----END CERTIFICATE-----"
    var output

    output = cadata
      .split(delim)
      .filter(function(xs) {
        return !!xs.trim()
      })
      .map(function(xs) {
        return xs.trimLeft() + delim
      })

    this.set("ca", output)
    cb(null)
  }
}