Class DrmTodayUriFactory

java.lang.Object
com.castlabs.android.drm.DrmTodayUriFactory

public class DrmTodayUriFactory extends Object
Factory class for creating DRMToday URIs and managing DRMToday request properties. This class provides utilities for generating license request URLs and managing request properties for different DRM implementations (PlayReady, Widevine) when working with DRMToday services.

DRMToday clients helper. Generates url with several parameter configurations for the following request:

Device Registration:

 GET /license-server-oma/RegistrationTrigger
 

According to the OMA DRM specification. To register a device it must receive a RegistrationTrigger first. This means that it must send a HTTP GET request for the following address and consume the response.

OMA v2 1-pass ROAP license request:

 GET /onepassro/v2/(string: merchant)?sessionId=(string: sessionId)
 					&userId=(string: userId)&deviceId=(string: deviceId)
 					&assetId=(string: assetId)
 					&variantId=(string: variantId)
 					&drmTime=(ISO8601Time: drmTime)
 					&authToken=(string: authToken)
 

Widevine modular license request:

 GET license-proxy-widevine/cenc/(string: merchant)
 					&logRequestId=(string: deviceId)
 					&assetId=(string: assetId)
 					&variantId=(string: variantId)
  • Field Details

    • TIME_FORMAT

      public static final DateFormat TIME_FORMAT
      Date format for DRM time in ISO 8601 format (yyyyMMdd'T'HHmmss.SSS'Z').
  • Constructor Details

    • DrmTodayUriFactory

      public DrmTodayUriFactory()
      Creates a new instance of DrmTodayUriFactory. This class provides utilities for generating DRMToday license request URLs and managing request properties.
  • Method Details

    • appendRequestProperties

      public static void appendRequestProperties(@NonNull DrmTodayConfiguration configuration, @NonNull Map<String,String> requestProperties)
      Adds the required DRMtoday request properties to the given map.
      Parameters:
      configuration - The DRMtoday configuration
      requestProperties - The target map where the properties will be appended to
    • createLicenseUri

      public static Uri.Builder createLicenseUri(@NonNull DrmTodayConfiguration configuration)
      Utility method that builds the license request URL to DRMToday for each DRM implementation.
      Parameters:
      configuration - the drm configuration
      Returns:
      The URI use for license requests to DRMToday
    • createLicenseUri

      public static Uri.Builder createLicenseUri(@NonNull DrmTodayConfiguration configuration, String drmTimeString)
      Utility method that builds the license request URL to DRMToday for each DRM implementation.
      Parameters:
      configuration - the drm configuration
      drmTimeString - The drm time string
      Returns:
      The URI use for license requests to DRMToday