github.com/cozy/cozy-stack@v0.0.0-20240603063001-31110fa4cae1/tests/system/konnector/index.js (about) 1 let fs = require('fs') 2 let path = require('path') 3 let http = require('http') 4 5 let fields = JSON.parse(process.env['COZY_FIELDS']) 6 let credentials = process.env['COZY_CREDENTIALS'] 7 let instance = process.env['COZY_URL'] 8 9 let cozyPayload = process.env['COZY_PAYLOAD'] 10 let payload 11 try { 12 if (cozyPayload[0] == '@') { 13 let filepath = path.resolve(__dirname, cozyPayload.slice(1)) 14 payload = { fromFile: JSON.parse(fs.readFileSync(filepath)) } 15 } else { 16 payload = JSON.parse(cozyPayload) 17 } 18 } catch (e) { 19 payload = { error: e } 20 } 21 22 let url = instance + 'data/io.cozy.accounts/' + fields.account 23 let options = { 24 headers: { 25 Authorization: `Bearer ${credentials}`, 26 }, 27 } 28 29 http.get(url, options, (res) => { 30 if (res.statusCode !== 200) { 31 throw new Error(`Status Code: ${res.statusCode}`) 32 } 33 res.setEncoding('utf8') 34 let rawData = '' 35 res.on('data', (chunk) => { 36 rawData += chunk 37 }) 38 res.on('end', () => { 39 let account = JSON.parse(rawData) 40 let data = { account, fields, payload } 41 fs.writeFileSync(account.data.log, JSON.stringify(data, null, ' ')) 42 }) 43 })