Skip to content
Snippets Groups Projects
Select Git revision
  • f8a8d81bd0e1baa420ea364bfb92786596d0160a
  • main default protected
  • development
  • integration
  • v1.1.5
  • v1.1.4
  • v1.1.3
  • v1.1.2
  • v1.1.1
  • v1.1.0
  • v1.0.0
11 results

RestlikeMessage.swift

Blame
  • Dariusz Rybicki's avatar
    Dariusz Rybicki authored
    98585779
    History
    RestlikeMessage.swift 948 B
    import Foundation
    
    public struct RestlikeMessage: Equatable {
      public init(
        version: Int,
        headers: Data,
        content: Data,
        method: Int,
        uri: String,
        error: String
      ) {
        self.version = version
        self.headers = headers
        self.content = content
        self.method = method
        self.uri = uri
        self.error = error
      }
    
      public var version: Int?
      public var headers: Data?
      public var content: Data?
      public var method: Int?
      public var uri: String?
      public var error: String?
    }
    
    extension RestlikeMessage: Codable {
      enum CodingKeys: String, CodingKey {
        case version = "Version"
        case headers = "Headers"
        case content = "Content"
        case method = "Method"
        case uri = "URI"
        case error = "Error"
      }
    
      public static func decode(_ data: Data) throws -> Self {
        try JSONDecoder().decode(Self.self, from: data)
      }
    
      public func encode() throws -> Data {
        try JSONEncoder().encode(self)
      }
    }