private static bool ValidateHeadersSentState(IHttp2Stream stream, IHttp2Headers headers, bool isServer, bool endOfStream) { var isInformational = isServer && HttpStatusClass.ValueOf(headers.Status) == HttpStatusClass.Informational; if ((isInformational || !endOfStream) && stream.IsHeadersSent || stream.IsTrailersSent) { ThrowHelper.ThrowInvalidOperationException_StreamSentTooManyHeadersEOS(stream.Id, endOfStream); } return(isInformational); }
public void Test_GetNumberOfClassStatusCodes_ForServerErrorClass() { //Arrange string testedFilePath = TestFiles.CreateTempFile(@"..\..\InputTestFiles\HundredLogFile.txt"); HttpStatusClass testedStatusClass = HttpStatusClass.ClientError; Analyzer analyzer = new Analyzer(); uint expectedNumberOfClassStatusCodes = 31; //Act uint resultNumberOfClassStatusCodes = analyzer.GetNumberOfClassStatusCodes(testedFilePath, testedStatusClass); //Assert Assert.AreEqual(expectedNumberOfClassStatusCodes, resultNumberOfClassStatusCodes); }
public void Test_GetNumberOfClassStatusCodes_OnEmptyFile() { //Arrange string testedFilePath = TestFiles.CreateTempFile(@"..\..\InputTestFiles\emptyfile.txt"); HttpStatusClass testedStatusClass = HttpStatusClass.Successful; Analyzer analyzer = new Analyzer(); uint expectedNumberOfClassStatusCodes = 0; //Act uint resultNumberOfClassStatusCodes = analyzer.GetNumberOfClassStatusCodes(testedFilePath, testedStatusClass); //Assert Assert.AreEqual(expectedNumberOfClassStatusCodes, resultNumberOfClassStatusCodes); }
public uint GetNumberOfClassStatusCodes(string filepath, HttpStatusClass statusClass) { var pattern = @"\b" + (int)statusClass + @"\d\d\b"; uint counter = 0; string line; using (var reader = new StreamReader(filepath)) { while (null != (line = reader.ReadLine())) { if (Regex.Match(line, pattern).Success) { counter += 1; } } } return(counter); }