File: DocumentationServerError.swift

package info (click to toggle)
swiftlang 6.0.3-2
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 2,519,992 kB
  • sloc: cpp: 9,107,863; ansic: 2,040,022; asm: 1,135,751; python: 296,500; objc: 82,456; f90: 60,502; lisp: 34,951; pascal: 19,946; sh: 18,133; perl: 7,482; ml: 4,937; javascript: 4,117; makefile: 3,840; awk: 3,535; xml: 914; fortran: 619; cs: 573; ruby: 573
file content (46 lines) | stat: -rw-r--r-- 1,879 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
/*
 This source file is part of the Swift.org open source project

 Copyright (c) 2021 Apple Inc. and the Swift project authors
 Licensed under Apache License v2.0 with Runtime Library Exception

 See https://swift.org/LICENSE.txt for license information
 See https://swift.org/CONTRIBUTORS.txt for Swift project authors
*/

import Foundation

/// An error that occurs during the processing of a message by a documentation service.
public struct DocumentationServerError: DescribedError, Codable {
    /// The identifier of the error.
    public var identifier: String
    
    /// The human-readable description of the error.
    public var description: String
    
    public var errorDescription: String { description }
    
    /// An error that indicates that a received message has no service that can process it.
    public static func unsupportedMessageType() -> DocumentationServerError {
        DocumentationServerError(
            identifier: "unsupported-message-type",
            description: "The message type is not recognized by the service."
        )
    }
    
    /// An error that indicates that a received message could not be decoded, likely because it is encoded in an invalid format.
    public static func invalidMessage(underlyingError: String) -> DocumentationServerError {
        DocumentationServerError(
            identifier: "invalid-message",
            description: "The message is invalid and cannot be decoded: \(underlyingError)"
        )
    }
    
    /// An error that indicates that a response message could not be encoded.
    public static func invalidResponseMessage(underlyingError: String) -> DocumentationServerError {
        DocumentationServerError(
            identifier: "invalid-response-message",
            description: "The response message is invalid and cannot be encoded: \(underlyingError)"
        )
    }
}