Esempio n. 1
0
        protected override void ScanStartLine(HeaderBuffer headerBuffer)
        {
            // argument checks
            Debug.Assert(headerBuffer != null);

            // read items
            string version    = headerBuffer.ReadSpaceSeparatedItem(skipItem: false, decapitalize: false, lastItem: false);
            string statusCode = headerBuffer.ReadSpaceSeparatedItem(skipItem: false, decapitalize: false, lastItem: false);

            headerBuffer.ReadSpaceSeparatedItem(skipItem: true, decapitalize: false, lastItem: true);

            // set message properties
            Version httpVersion = HeaderBuffer.ParseVersion(version);

            this.Version    = httpVersion;
            this.StatusCode = HeaderBuffer.ParseStatusCode(statusCode);
            if (httpVersion.Major == 1 && httpVersion.Minor == 0)
            {
                // in HTTP/1.0, keep-alive is disabled by default
                this.KeepAliveEnabled = false;
            }

            return;
        }