mutating func readAddressType()

in Sources/NIOSOCKS/Messages/SOCKSRequest.swift [131:148]


    mutating func readAddressType() throws -> SOCKSAddress? {
        return try self.parseUnwindingIfNeeded { buffer in
            guard let type = buffer.readInteger(as: UInt8.self) else {
                return nil
            }
            
            switch type {
            case SOCKSAddress.ipv4IdentifierByte:
                return try buffer.readIPv4Address()
            case SOCKSAddress.domainIdentifierByte:
                return buffer.readDomain()
            case SOCKSAddress.ipv6IdentifierByte:
                return try buffer.readIPv6Address()
            default:
                throw SOCKSError.InvalidAddressType(actual: type)
            }
        }
    }