function compressContext()

in packages/rum-core/src/common/compress.js [75:118]


function compressContext(context) {
  if (!context) {
    return null
  }
  const compressed = {}
  const { page, http, response, destination, user, custom } = context

  if (page) {
    compressed.p = {
      rf: page.referer,
      url: page.url
    }
  }
  if (http) {
    compressed.h = compressHTTP(http)
  }
  if (response) {
    compressed.r = compressResponse(response)
  }
  if (destination) {
    const { service } = destination
    compressed.dt = {
      se: {
        n: service.name,
        t: service.type,
        rc: service.resource
      },
      ad: destination.address,
      po: destination.port
    }
  }
  if (user) {
    compressed.u = {
      id: user.id,
      un: user.username,
      em: user.email
    }
  }
  if (custom) {
    compressed.cu = custom
  }

  return compressed
}