import Foundation /// Was beim Sprechen mit einem Server schiefgehen kann. /// /// Sechs der sieben Fälle galten schon für Plex — sie sind nicht serverbezogen, /// sondern beschreiben die Lage, in der man steckt. Dass es sie jetzt nur /// einmal gibt, beseitigt nebenbei eine Doppelung: die Übersetzung in /// lesbaren Text stand an zwei Stellen, und die beiden waren bereits /// auseinandergelaufen. public enum MediaBackendError: Error, Equatable, Sendable { /// Der Token gilt nicht mehr. Führt zur Abmeldung, nicht zu einer Meldung. case unauthorized case notFound /// Keine der bekannten Adressen antwortet. case noReachableConnection /// Der Server hat geantwortet, aber mit einem Fehler. case server(status: Int) /// Die Anfrage kam gar nicht an. case transport(description: String) /// Der Server hat geantwortet, aber anders als erwartet. case decoding(description: String) /// Der Server hat verstanden und abgelehnt — mit eigener Begründung. /// /// Nicht `.server(status:)`: dort steht eine Zahl, hier ein Satz, den der /// Server selbst formuliert hat. Beim Live-TV war genau dieser Satz die /// einzige brauchbare Spur — und er ging verloren, solange es diesen Fall /// nicht gab. case refused(reason: String) }