DeviceRequestBindingModel.fromRequest constructor

DeviceRequestBindingModel.fromRequest(
  1. Request request
)

Implementation

factory DeviceRequestBindingModel.fromRequest(Request request) {
  final headers = request.requiredHeaders;
  final deviceKey = headers.deviceKey;
  final timestampRaw = headers.timestamp;
  final signature = headers.signature;

  final timestampMs = int.tryParse(timestampRaw);
  if (timestampMs == null) {
    throw const FormatException('Invalid request binding timestamp');
  }

  return DeviceRequestBindingModel(
    deviceKey: deviceKey,
    signature: signature,
    timestamp: DateTime.fromMillisecondsSinceEpoch(timestampMs, isUtc: true),
  );
}