github.com/cozy/cozy-stack@v0.0.0-20240603063001-31110fa4cae1/tests/system/konnector/on_delete.js (about)

     1  let fs = require('fs')
     2  let http = require('http')
     3  
     4  let fields = JSON.parse(process.env['COZY_FIELDS'])
     5  let credentials = process.env['COZY_CREDENTIALS']
     6  let instance = process.env['COZY_URL']
     7  
     8  let url =
     9    instance +
    10    'data/io.cozy.accounts/' +
    11    fields.account +
    12    '?rev=' +
    13    fields.account_rev
    14  let options = {
    15    headers: {
    16      Authorization: `Bearer ${credentials}`,
    17    },
    18  }
    19  
    20  const main = () => {
    21    http.get(url, options, (res) => {
    22      if (res.statusCode !== 200) {
    23        throw new Error(`Status Code: ${res.statusCode}`)
    24      }
    25      res.setEncoding('utf8')
    26      let rawData = ''
    27      res.on('data', (chunk) => {
    28        rawData += chunk
    29      })
    30      res.on('end', () => {
    31        let data = JSON.parse(rawData)
    32        if (data.data.failure) {
    33          throw new Error(data.data.failure)
    34        }
    35        url = instance + 'data/io.cozy.accounts/' + data.relationships.data._id
    36        http.get(url, options, (res2) => {
    37          if (res2.statusCode !== 200) {
    38            throw new Error(`Status Code: ${res2.statusCode}`)
    39          }
    40          res2.pipe(fs.createWriteStream(data.data.log))
    41        })
    42      })
    43    })
    44  }
    45  
    46  setTimeout(main, 1000)