async function readBody ({ body }) {
  if (!body) {
    return undefined
  }

  if (typeof body === 'string') {
    return [Buffer.from(body)]
  }

  if (body.constructor.name === 'Buffer') {
    return [body]
  }

  const stream = Readable.from(body)

  /**
   * @type {Buffer[]}
   */
  const streamedBody = []

  stream.on('data', chunk => {
    streamedBody.push(Buffer.from(chunk))
  })

  await once(stream, 'end')

  return streamedBody
}
@param {import('../../types/cache-interceptor.d.ts').default.GetResult} param0
@returns {Promise<Buffer[] | undefined>}