1 | 'use strict'
|
2 |
|
3 | let cli = require('heroku-cli-util')
|
4 |
|
5 | module.exports = function (path, parts, message) {
|
6 | let logMessage = message || 'Resolving trust chain'
|
7 |
|
8 | let sslDoctor = process.env.SSL_DOCTOR_URL || 'https://ssl-doctor.heroku.com/'
|
9 |
|
10 | let postData = parts.join('\n')
|
11 |
|
12 | let postOptions = {
|
13 | method: 'POST',
|
14 | headers: {
|
15 | 'content-type': 'application/octet-stream',
|
16 | 'content-length': Buffer.byteLength(postData)
|
17 | },
|
18 | body: postData
|
19 | }
|
20 |
|
21 | let promise = cli.got(sslDoctor + path, postOptions).then(function (response) {
|
22 | return response.body
|
23 | }).catch(function (error) {
|
24 | if (error.response && error.response.body) {
|
25 | throw new Error(error.response.body)
|
26 | } else {
|
27 | throw error
|
28 | }
|
29 | })
|
30 |
|
31 | return cli.action(logMessage, {}, promise)
|
32 | }
|