lib/utils/electron.js
- const isEmpty = require('lodash/isEmpty')
-
- /**
- * @desc Electron requires the use of the debugger to retrieve the requests response body
- * @param {string} requestId - the request to fetch the response body for
- * @param {Object} wcDebugger - the Electron debugger to use to get the response body
- * @see https://electron.atom.io/docs/api/debugger/
- * @return {Promise<?Buffer>} body - the response body as a node buffer
- */
- function getResBody (requestId, wcDebugger) {
- return new Promise((resolve) => {
- wcDebugger.sendCommand(
- 'Network.getResponseBody',
- { requestId },
- (error, body) => {
- resolve(!isEmpty(error) ? null : body)
- }
- )
- })
- }
-
- /**
- * @desc Electron requires the use of the debugger to retrieve the requests post data
- * @param {string} requestId - the request to fetch the post data for
- * @param {Object} wcDebugger - the Electron debugger to use to get the post data
- * @see https://electron.atom.io/docs/api/debugger/
- * @return {Promise<?Buffer>} body - the response body as a node buffer
- */
- function getPostData (requestId, wcDebugger) {
- return new Promise((resolve) => {
- wcDebugger.sendCommand(
- 'Network.getRequestPostData',
- { requestId },
- (error, body) => {
- resolve(!isEmpty(error) ? null : body)
- }
- )
- })
- }
-
- module.exports = {
- /**
- * @type {function(string, Object): Promise<?Buffer>}
- */
- getResBody,
- /**
- * @type {function(string, Object): Promise<?Buffer>}
- */
- getPostData
- }