public static bool TryParse (string input, out RetryConditionHeaderValue parsedValue)
{
parsedValue = null;
var lexer = new Lexer (input);
var t = lexer.Scan ();
if (t != Token.Type.Token)
return false;
var ts = lexer.TryGetTimeSpanValue (t);
if (ts != null) {
if (lexer.Scan () != Token.Type.End)
return false;
parsedValue = new RetryConditionHeaderValue (ts.Value);
} else {
DateTimeOffset date;
if (!Lexer.TryGetDateValue (input, out date))
return false;
parsedValue = new RetryConditionHeaderValue (date);
}
return true;
}