Esempio n. 1
0
        protected override void ScanHeaderFieldValue(HeaderBuffer headerBuffer, string decapitalizedFieldName, int startOffset)
        {
            switch (decapitalizedFieldName)
            {
            case "host":
                // save its value, but its span is unnecessary
                if (this.HostEndPoint == null)
                {
                    string hostValue = HeaderBuffer.TrimHeaderFieldValue(headerBuffer.ReadFieldASCIIValue(false));
                    this.HostEndPoint = Util.ParseEndPoint(hostValue, canOmitPort: true);
                }
                else
                {
                    headerBuffer.SkipField();
                }
                this.HostSpan = new Span(startOffset, headerBuffer.CurrentOffset);
                break;

            case "proxy-authorization":
                // save its span, but its value is unnecessary
                headerBuffer.SkipField();
                this.ProxyAuthorizationSpan = new Span(startOffset, headerBuffer.CurrentOffset);
                break;

            default:
                base.ScanHeaderFieldValue(headerBuffer, decapitalizedFieldName, startOffset);
                break;
            }
        }