diff options
| author | 8cy <[email protected]> | 2020-04-03 02:37:42 -0700 |
|---|---|---|
| committer | 8cy <[email protected]> | 2020-04-03 02:37:42 -0700 |
| commit | 60867fb030bae582082340ead7dbc7efdc2f5398 (patch) | |
| tree | 4c6a7356351be2e4914e15c4703172597c45656e /node_modules/sync-request/index.js | |
| parent | commenting (diff) | |
| download | s5nical-60867fb030bae582082340ead7dbc7efdc2f5398.tar.xz s5nical-60867fb030bae582082340ead7dbc7efdc2f5398.zip | |
2020/04/03, 02:34, v1.2.0
Diffstat (limited to 'node_modules/sync-request/index.js')
| -rw-r--r-- | node_modules/sync-request/index.js | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/node_modules/sync-request/index.js b/node_modules/sync-request/index.js new file mode 100644 index 0000000..e4990d1 --- /dev/null +++ b/node_modules/sync-request/index.js @@ -0,0 +1,33 @@ +'use strict'; + +var fs = require('fs'); +var spawnSync = require('child_process').spawnSync || require('spawn-sync'); +var HttpResponse = require('http-response-object'); +require('concat-stream'); +require('then-request'); +var JSON = require('./lib/json-buffer'); + +Function('', fs.readFileSync(require.resolve('./lib/worker.js'), 'utf8')); + +module.exports = doRequest; +function doRequest(method, url, options) { + var req = JSON.stringify({ + method: method, + url: url, + options: options + }); + var res = spawnSync(process.execPath, [require.resolve('./lib/worker.js')], {input: req}); + if (res.status !== 0) { + throw new Error(res.stderr.toString()); + } + if (res.error) { + if (typeof res.error === 'string') res.error = new Error(res.error); + throw res.error; + } + var response = JSON.parse(res.stdout); + if (response.success) { + return new HttpResponse(response.response.statusCode, response.response.headers, response.response.body, response.response.url); + } else { + throw new Error(response.error.message || response.error || response); + } +} |