This repository has been archived on 2023-08-20. You can view files and clone it, but cannot push or open issues or pull requests.
admin-panel/graphql-types/node_modules/sync-fetch/worker.js

36 lines
825 B
JavaScript

#!/usr/bin/env node
const fetch = require('node-fetch')
const shared = require('./shared')
const chunks = []
process.stdin.resume()
process.stdin.setEncoding('utf8')
process.stdin.on('data', function (chunk) {
chunks.push(chunk)
})
process.stdin.on('end', function () {
const input = JSON.parse(chunks.join(''))
const request = shared.deserializeRequest(fetch, ...input)
fetch(request)
.then(response => response.buffer()
.then(buffer => respond([
buffer.toString(),
shared.serializeResponse(response)
]))
.catch(error => respond([
'',
shared.serializeResponse(response),
shared.serializeError(error)
]))
)
.catch(error => respond(shared.serializeError(error)))
})
function respond (message) {
console.log(JSON.stringify(message))
}