public bool TryMakeHelo(TokenEnumerator enumerator, out SmtpCommand command, out SmtpResponse errorResponse)
{
Debug.Assert(enumerator.Peek() == new Token(TokenKind.Text, "HELO"));
command = null;
errorResponse = null;
enumerator.Take();
enumerator.TakeWhile(TokenKind.Space);
string domain;
if (_parser.TryMakeDomain(enumerator, out domain) == false)
{
_logger.LogVerbose("Could not match the domain name (Text={0}).", enumerator.AsText());
errorResponse = SmtpResponse.SyntaxError;
return false;
}
command = new HeloCommand(domain);
return true;
}