Cannot read property 'bind' of undefined #1

Closed
opened 2019-07-16 02:14:00 +00:00 by Ghost · 2 comments

Getting this error:

/app/node_modules/acme-challenge-test/index.js:37
  var fn = obj[name].bind(obj);
                    ^

TypeError: Cannot read property 'bind' of undefined
    at promiseCheckAndCatch (/app/node_modules/acme-challenge-test/index.js:37:21)
    at wrapChallenger (/app/node_modules/acme-challenge-test/index.js:355:11)
    at testEach (/app/node_modules/acme-challenge-test/index.js:118:13)
    at Object.testRecord (/app/node_modules/acme-challenge-test/index.js:419:10)
    at Object.<anonymous> (/app/stradge.js:8:4)
    at Module._compile (module.js:577:32)
    at Object.Module._extensions..js (module.js:586:10)
    at Module.load (module.js:494:32)
    at tryModuleLoad (module.js:453:12)
    at Function.Module._load (module.js:445:3)
    at Module.require (module.js:504:17)
    at require (internal/module.js:20:19)
    at Object.<anonymous> (/app/index.js:4:42)
    at Module._compile (module.js:577:32)
    at Object.Module._extensions..js (module.js:586:10)
    at Module.load (module.js:494:32)

Code:

var tester = require('acme-dns-01-test');

//var challenger = require('acme-dns-01-cli').create({});
var challenger = require('./stradge.js').create({
	YOUR_TOKEN_OPTION: 'SOME_API_KEY'
});

// The dry-run tests can pass on, literally, 'example.com'
// but the integration tests require that you have control over the domain
var zone = 'example.com';

tester.testZone('dns-01', zone, challenger).then(function() {
	console.info('PASS');
});

package.json:

{
  "name": "le-challenge-route53-gh",
  "version": "1.0.0",
  "description": "An ACME dns-01 challenge handler for node-letsencrypt.",
  "main": "index.js",
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1"
  },
  "author": "",
  "license": "MIT",
  "dependencies": {
    "acme-challenge-test": "^3.3.2",
    "bluebird": "^3.5.5"
  },
  "devDependencies": {
    "acme-dns-01-test": "^3.3.1"
  }
}

Getting this error: ``` /app/node_modules/acme-challenge-test/index.js:37 var fn = obj[name].bind(obj); ^ TypeError: Cannot read property 'bind' of undefined at promiseCheckAndCatch (/app/node_modules/acme-challenge-test/index.js:37:21) at wrapChallenger (/app/node_modules/acme-challenge-test/index.js:355:11) at testEach (/app/node_modules/acme-challenge-test/index.js:118:13) at Object.testRecord (/app/node_modules/acme-challenge-test/index.js:419:10) at Object.<anonymous> (/app/stradge.js:8:4) at Module._compile (module.js:577:32) at Object.Module._extensions..js (module.js:586:10) at Module.load (module.js:494:32) at tryModuleLoad (module.js:453:12) at Function.Module._load (module.js:445:3) at Module.require (module.js:504:17) at require (internal/module.js:20:19) at Object.<anonymous> (/app/index.js:4:42) at Module._compile (module.js:577:32) at Object.Module._extensions..js (module.js:586:10) at Module.load (module.js:494:32) ``` Code: ``` var tester = require('acme-dns-01-test'); //var challenger = require('acme-dns-01-cli').create({}); var challenger = require('./stradge.js').create({ YOUR_TOKEN_OPTION: 'SOME_API_KEY' }); // The dry-run tests can pass on, literally, 'example.com' // but the integration tests require that you have control over the domain var zone = 'example.com'; tester.testZone('dns-01', zone, challenger).then(function() { console.info('PASS'); }); ``` package.json: ``` { "name": "le-challenge-route53-gh", "version": "1.0.0", "description": "An ACME dns-01 challenge handler for node-letsencrypt.", "main": "index.js", "scripts": { "test": "echo \"Error: no test specified\" && exit 1" }, "author": "", "license": "MIT", "dependencies": { "acme-challenge-test": "^3.3.2", "bluebird": "^3.5.5" }, "devDependencies": { "acme-dns-01-test": "^3.3.1" } } ```
Author

Never mind. User error. This sample didn't work but managed to fix it.

Never mind. User error. [This sample](https://git.coolaj86.com/coolaj86/acme-challenge-test.js#starter-template) didn't work but managed to fix it.
Ghost closed this issue 2019-07-16 02:23:24 +00:00
Owner

Yes, that sample is for http-01 plugins, which don't have zones.

Yes, that sample is for `http-01` plugins, which don't have `zones`.
Sign in to join this conversation.
No Label
No Milestone
No Assignees
2 Participants
Notifications
Due Date
The due date is invalid or out of range. Please use the format 'yyyy-mm-dd'.

No due date set.

Dependencies

No dependencies set.

Reference: root/acme-challenge-test.js#1
No description provided.