класс Net::SMTP::Response
Этот класс представляет ответ, полученный от сервера SMTP. Экземпляры этого класса создаются классом SMTP; их не следует создавать напрямую. Для получения дополнительной информации об ответах SMTP см. Раздел 4.2 RFC 5321
Атрибуты
Трехзначный код ответа сервера SMTP
Текст ответа сервера SMTP, понятный для человека.
Публичные Классовые Методы
# File lib/net/smtp.rb, line 1004 def initialize(status, string) @status = status @string = string end
Создает новый экземпляр класса Response и устанавливает атрибуты status и string
# File lib/net/smtp.rb, line 998 def self.parse(str) new(str[0,3], str) end
Парсит полученный ответ и разделяет код ответа и текст ответа, понятный для человека.
Публичные Методы Экземпляров
# File lib/net/smtp.rb, line 1047
def capabilities
return {} unless @string[3, 1] == '-'
h = {}
@string.lines.drop(1).each do |line|
k, *v = line[4..-1].chomp.split
h[k] = v
end
h
end Возвращает хеш с текстом ответа, понятным для человека, если ответ состоит из нескольких строк. Первая строка не возвращается. Ключ хеша — первое слово, значение хеша — массив, где каждое последующее слово является значением в массиве.
# File lib/net/smtp.rb, line 1028 def continue? status_type_char() == '3' end
Определяет, был ли полученный ответ положительным промежуточным ответом (код ответа 3xx).
# File lib/net/smtp.rb, line 1039
def cram_md5_challenge
@string.split(/ /)[1].unpack1('m')
end Создает вызов CRAM-MD5. Дополнительную информацию о CRAM-MD5 можно найти в Википедии: en.wikipedia.org/wiki/CRAM-MD5
# File lib/net/smtp.rb, line 1059 def exception_class case @status when /\A4/ then SMTPServerBusy when /\A50/ then SMTPSyntaxError when /\A53/ then SMTPAuthenticationError when /\A5/ then SMTPFatalError else SMTPUnknownError end end
Определяет, была ли ошибка, и генерирует соответствующую ошибку на основе кода ответа.
# File lib/net/smtp.rb, line 1033 def message @string.lines.first end
Первая строка текста ответа, понятного для человека.
# File lib/net/smtp.rb, line 1016 def status_type_char @status[0, 1] end
Берет первую цифру кода ответа, чтобы определить тип статуса.
# File lib/net/smtp.rb, line 1022 def success? status_type_char() == '2' end
Определяет, был ли полученный ответ положительным завершающим ответом (код ответа 2xx).
Ruby Core © 1993–2017 Yukihiro Matsumoto
Licensed under the Ruby License.
Ruby Standard Library © contributors
Licensed under their own licenses.