コード例 #1
0
ファイル: HttpRequestParser.cs プロジェクト: agocke/corefxlab
        internal static bool TryParseHttpVersion(ByteSpan buffer, out Utf8String httpVersion, out int parsedBytes)
        {
            var versionSpan = buffer.SliceTo(HttpRequestReader.s_CR, HttpRequestReader.s_LF, out parsedBytes);

            httpVersion = new Utf8String(versionSpan);
            return(parsedBytes != 0);
        }
コード例 #2
0
ファイル: HttpRequestParser.cs プロジェクト: agocke/corefxlab
        internal static bool TryParseRequestUri(ByteSpan buffer, out Utf8String requestUri, out int parsedBytes)
        {
            var uriSpan = buffer.SliceTo(HttpRequestReader.s_SP, out parsedBytes);

            requestUri = new Utf8String(uriSpan);
            return(parsedBytes != 0);
        }
コード例 #3
0
ファイル: HttpRequestParser.cs プロジェクト: agocke/corefxlab
        internal Utf8String ReadHeader()
        {
            int parsedBytes;
            var header = Buffer.SliceTo(s_CR, s_LF, out parsedBytes);

            if (parsedBytes > Buffer.Length)
            {
                Buffer = Buffer.Slice(parsedBytes);
            }
            else
            {
                Buffer = new ByteSpan();
            }
            return(new Utf8String(header));
        }
コード例 #4
0
 internal static ByteSpan SliceTo(this ByteSpan buffer, char terminator, out int consumedBytes)
 {
     return(buffer.SliceTo((byte)terminator, out consumedBytes));
 }
コード例 #5
0
 internal static ByteSpan SliceTo(this ByteSpan buffer, byte terminatorFirst, byte terminatorSecond, out int consumedBytes)
 {
     return(buffer.SliceTo(0, terminatorFirst, terminatorSecond, out consumedBytes));
 }
コード例 #6
0
 internal static ByteSpan SliceTo(this ByteSpan buffer, int start, char terminatorFirst, char terminatorSecond, out int consumedBytes)
 {
     return(buffer.SliceTo(start, (byte)terminatorFirst, (byte)terminatorSecond, out consumedBytes));
 }