public void ParseLineAsciiStringCustomCodeAndPhrase() { HttpResponseStatus customStatus = HttpResponseStatus.ParseLine(new AsciiString("612 FOO")); Assert.Equal(612, customStatus.Code); Assert.Equal("FOO", customStatus.ReasonPhrase); }
/// <summary> /// Apply HTTP/2 rules while translating status code to <see cref="HttpResponseStatus"/> /// </summary> /// <param name="status">The status from an HTTP/2 frame</param> /// <returns>The HTTP/1.x status</returns> /// <exception cref="Http2Exception">If there is a problem translating from HTTP/2 to HTTP/1.x</exception> public static HttpResponseStatus ParseStatus(ICharSequence status) { HttpResponseStatus result = null; try { result = HttpResponseStatus.ParseLine(status); if (result == HttpResponseStatus.SwitchingProtocols) { ThrowHelper.ThrowConnectionError_InvalidHttp2StatusCode(result.Code); } } catch (Http2Exception) { throw; } catch (Exception t) { ThrowHelper.ThrowConnectionError_UnrecognizedHttpStatusCode(t, status); } return(result); }
public void ParseLineAsciiStringMalformedCodeWithPhrase() { Assert.Throws <ArgumentException>(() => HttpResponseStatus.ParseLine(new AsciiString("200a foo"))); }
public void ParseLineAsciiStringCustomCode() { HttpResponseStatus customStatus = HttpResponseStatus.ParseLine(new AsciiString("612")); Assert.Equal(612, customStatus.Code); }
public void ParseLineAsciiStringCodeAndPhrase() { Assert.Same(HttpResponseStatus.OK, HttpResponseStatus.ParseLine(new AsciiString("200 OK"))); }
public void ParseLineAsciiStringJustCode() { Assert.Same(HttpResponseStatus.OK, HttpResponseStatus.ParseLine(new AsciiString("200"))); }
public void ParseLineStringMalformedCode() { Assert.Throws <ArgumentException>(() => HttpResponseStatus.ParseLine("200a")); }