summaryrefslogtreecommitdiff
path: root/node_modules/sync-request/index.js
diff options
context:
space:
mode:
author8cy <[email protected]>2020-04-03 02:37:42 -0700
committer8cy <[email protected]>2020-04-03 02:37:42 -0700
commit60867fb030bae582082340ead7dbc7efdc2f5398 (patch)
tree4c6a7356351be2e4914e15c4703172597c45656e /node_modules/sync-request/index.js
parentcommenting (diff)
downloads5nical-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.js33
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);
+ }
+}