1 | 'use strict'
|
2 |
|
3 | let co = require('co')
|
4 | let cli = require('heroku-cli-util')
|
5 |
|
6 | let error = require('../../lib/error.js')
|
7 | let readFile = require('../../lib/read_file.js')
|
8 | let sslDoctor = require('../../lib/ssl_doctor.js')
|
9 |
|
10 | function * run (context) {
|
11 | if (context.args.length === 0) {
|
12 | error.exit(1, 'Usage: heroku certs:chain CRT [CRT ...]\nMust specify at least one certificate file.')
|
13 | }
|
14 |
|
15 | let res = yield context.args.map(function (arg) { return readFile(arg) })
|
16 |
|
17 | let body = yield sslDoctor('resolve-chain', res)
|
18 | cli.console.writeLog(body)
|
19 | }
|
20 |
|
21 | module.exports = {
|
22 | topic: 'certs',
|
23 | command: 'chain',
|
24 | description: 'print an ordered & complete chain for a certificate',
|
25 | needsApp: true,
|
26 | needsAuth: true,
|
27 | variableArgs: true,
|
28 | run: cli.command(co.wrap(run))
|
29 | }
|