UNPKG

wechaty-grpc

Version:
52 lines 1.99 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.testDing = void 0; const fs_1 = __importDefault(require("fs")); const mod_js_1 = require("../../src/mod.js"); const promisify_js_1 = require("../promisify.js"); async function testDing(client) { const ding = (0, promisify_js_1.promisify)(client.ding.bind(client)); const dingRequest = new mod_js_1.puppet.DingRequest(); dingRequest.setData('dingdong'); try { // const metadata = new Metadata() // metadata.set('grpc.default_authority', 'puppet_token') await ding(dingRequest /* metadata */); } catch (e) { console.error(e); } } exports.testDing = testDing; async function main() { const TOKEN = '__token__'; void TOKEN; const rootCerts = fs_1.default.readFileSync('root-ca.crt'); /** * With server authentication SSL/TLS and a custom header with token * https://grpc.io/docs/guides/auth/#with-server-authentication-ssltls-and-a-custom-header-with-token-1 */ const metaCallback = (_params, callback) => { const meta = new mod_js_1.grpc.Metadata(); // metadata.add('authorization', `Wechaty ${TOKEN}`) callback(null, meta); }; const channelCred = mod_js_1.grpc.credentials.createSsl(rootCerts); const callCred = mod_js_1.grpc.credentials.createFromMetadataGenerator(metaCallback); const combCreds = mod_js_1.grpc.credentials.combineChannelCredentials(channelCred, callCred); const client = new mod_js_1.puppet.PuppetClient('localhost:8788', combCreds, { 'grpc.default_authority': '__token__', 'grpc.ssl_target_name_override': 'wechaty-puppet-service', }); await testDing(client); return 0; } main() .catch(e => { console.error(e); process.exit(1); }); //# sourceMappingURL=client.js.map