RegisterTransport constructor

RegisterTransport({
  1. required Future<String?> idToken(),
  2. required Future<String?> sessionId(),
  3. required String cashregisterId,
  4. String? baseUrl,
  5. Client? httpClient,
  6. Duration? timeout,
  7. String? clientHeader,
  8. bool omitKasseneckHeaders = false,
})

baseUrl muss auf /v3 enden (die Web-Kasse: /api/v3), sonst wirft schon das Anlegen. clientHeader nennt die App in der Zaehlung des Backends (kasse-app/<version+build>), Vorgabe kasseneck_api/<version>. omitKasseneckHeaders laesst die beiden Kasseneck-Kopfzeilen weg; die Pruefung der Antwort bleibt.

httpClient darf kein RetryClient (oder anderer wiederholender Client) sein: ein zweites stilles Senden waere ein zweiter Beleg.

Implementation

RegisterTransport({
  required this.idToken,
  required this.sessionId,
  required this.cashregisterId,
  String? baseUrl,
  http.Client? httpClient,
  Duration? timeout,
  String? clientHeader,
  bool omitKasseneckHeaders = false,
})  : baseUrl = v3BaseUrl('RegisterTransport', baseUrl, kRegisterBaseUrl),
      _kopf = V3Headers('RegisterTransport', clientHeader: clientHeader, omit: omitKasseneckHeaders),
      _http = httpClient ?? http.Client(),
      _timeout = timeout ?? const Duration(seconds: 30);