CML
    Preparing search index...

    Type Alias CmcdRequestReportConfig<C>

    CmcdRequestReportConfig: CmcdReportConfig & {
        customHeaderMap?: Partial<CmcdHeaderMap>;
        transform?: CmcdRequestReportTransform<C>;
        transmissionMode?: CmcdTransmissionMode;
    }

    Configuration for a CMCD request report.

    Type Parameters

    Type Declaration

    • OptionalcustomHeaderMap?: Partial<CmcdHeaderMap>

      A map of CMCD header fields to the custom keys that should be emitted in them when the transmission mode is CmcdTransmissionMode.HEADERS. Custom keys not listed in any shard are emitted in the CMCD-Request header. Standard keys have fixed shards per the CMCD specification and cannot be re-routed. Has no effect in query transmission mode or on event reports.

      undefined

    • Optionaltransform?: CmcdRequestReportTransform<C>

      Transform applied to each request-mode report before encoding. Return the data to continue, or null to skip CMCD decoration for that request.

      Applies only to reports created by CmcdReporter.createRequestReport. To transform event reports, set transform on the event target instead.

      undefined

      const { requester } = createMockRequester()

      const reporter = new CmcdReporter({
      sid: 'session-id',
      cid: 'content-id',
      enabledKeys: ['br', 'sid', 'cid', 'v', 'sn'],
      // Request mode: never decorate license requests with CMCD
      transform: (data, request) => request.url.includes('/license') ? null : data,
      eventTargets: [
      {
      url: 'https://collector.example.com/cmcd',
      events: [CmcdEventType.RESPONSE_RECEIVED],
      enabledKeys: ['url', 'rc', 'sid', 'v', 'e', 'ts', 'sn'],
      batchSize: 1,
      // Event mode, this target only: segment responses only
      transform: (data, request) =>
      request?.customData?.['requestType'] === 'segment' ? data : null,
      },
      ],
      }, requester)

      const license = reporter.createRequestReport({ url: 'https://drm.example.com/license' })
      ok(!license.url.includes('CMCD='))

      const segment = reporter.createRequestReport({ url: 'https://cdn.example.com/segment.mp4' })
      ok(segment.url.includes('CMCD='))
    • OptionaltransmissionMode?: CmcdTransmissionMode

      The transmission mode to use.

      CmcdTransmissionMode.QUERY