private static IEnumerable<string> GetHeaderSplitImplementation(StringValues values) { foreach (var segment in new HeaderSegmentCollection(values)) { if (segment.Data.HasValue) { yield return DeQuote(segment.Data.Value); } } }
string QueryToJson(IQueryCollection query) { var dict = new Dictionary<string,string>(); foreach (var key in query.Keys) { StringValues @value = new StringValues(); query.TryGetValue(key, out @value); dict.Add(key, @value.ToString()); } return JsonConvert.SerializeObject(dict); }
public void Append(string key, string value) { if (_accumulator == null) { _accumulator = new Dictionary<string, StringValues>(StringComparer.OrdinalIgnoreCase); } StringValues values; if (_accumulator.TryGetValue(key, out values)) { if (values.Count == 0) { // Marker entry for this key to indicate entry already in expanding list dictionary _expandingAccumulator[key].Add(value); } else if (values.Count == 1) { // Second value for this key _accumulator[key] = new string[] { values[0], value }; } else { // Third value for this key // Add zero count entry and move to data to expanding list dictionary _accumulator[key] = default(StringValues); if (_expandingAccumulator == null) { _expandingAccumulator = new Dictionary<string, List<string>>(StringComparer.OrdinalIgnoreCase); } // Already 3 entries so use starting allocated as 8; then use List's expansion mechanism for more var list = new List<string>(8); var array = values.ToArray(); list.Add(array[0]); list.Add(array[1]); list.Add(value); _expandingAccumulator[key] = list; } } else { // First value for this key _accumulator[key] = new StringValues(value); } ValueCount++; }
public async Task IgnoreNullHeaderValues(string headerName, StringValues headerValue, string expectedValue) { var config = new ConfigurationBuilder() .AddInMemoryCollection(new Dictionary<string, string> { { "server.urls", "http://localhost:8793/" } }) .Build(); var hostBuilder = new WebApplicationBuilder() .UseConfiguration(config) .UseServerFactory("Microsoft.AspNet.Server.Kestrel") .Configure(app => { app.Run(async context => { context.Response.Headers.Add(headerName, headerValue); await context.Response.WriteAsync(""); }); }); using (var app = hostBuilder.Build().Start()) { using (var client = new HttpClient()) { var response = await client.GetAsync("http://localhost:8793/"); response.EnsureSuccessStatusCode(); var headers = response.Headers; if (expectedValue == null) { Assert.False(headers.Contains(headerName)); } else { Assert.True(headers.Contains(headerName)); Assert.Equal(headers.GetValues(headerName).Single(), expectedValue); } } } }
public static void SetHeaderJoined(IHeaderDictionary headers, string key, StringValues value) { if (headers == null) { throw new ArgumentNullException(nameof(headers)); } if (string.IsNullOrWhiteSpace(key)) { throw new ArgumentNullException(nameof(key)); } if (StringValues.IsNullOrEmpty(value)) { headers.Remove(key); } else { headers[key] = string.Join(",", value.Select((s) => QuoteIfNeeded(s))); } }
public void Main(string[] args) { for (int i = 0; i < 10; i++) { Stopwatch timer = new Stopwatch(); timer.Start(); string myString; string[] myArray; StringValues myValues; for (int j = 0; j < 100000000; j++) { myString = new string('a', 40); myArray = new[] { myString }; // myValues = new StringValues(myString); myValues = new StringValues(myArray); } timer.Stop(); Console.WriteLine(timer.Elapsed + ", " + Environment.WorkingSet); } }
private bool TryValidatePseudoHeaders() { // The initial pseudo header validation takes place in Http2Connection.ValidateHeader and StartStream // They make sure the right fields are at least present (except for Connect requests) exactly once. _httpVersion = Http.HttpVersion.Http2; // Method could already have been set from :method static table index if (Method == HttpMethod.None && !TryValidateMethod()) { return(false); } if (!TryValidateAuthorityAndHost(out var hostText)) { return(false); } if (Method == HttpMethod.Connect) { // https://datatracker.ietf.org/doc/html/rfc8441#section-4 // HTTP/2 WebSockets if (!StringValues.IsNullOrEmpty(HttpRequestHeaders.HeaderProtocol)) { // On requests that contain the :protocol pseudo-header field, the :scheme and :path pseudo-header fields of the target URI MUST also be included. if (StringValues.IsNullOrEmpty(HttpRequestHeaders.HeaderScheme) || StringValues.IsNullOrEmpty(HttpRequestHeaders.HeaderPath)) { ResetAndAbort(new ConnectionAbortedException(CoreStrings.ConnectRequestsWithProtocolRequireSchemeAndPath), Http2ErrorCode.PROTOCOL_ERROR); return(false); } ConnectProtocol = HttpRequestHeaders.HeaderProtocol; IsExtendedConnectRequest = true; } // CONNECT - :scheme and :path must be excluded else if (!StringValues.IsNullOrEmpty(HttpRequestHeaders.HeaderScheme) || !StringValues.IsNullOrEmpty(HttpRequestHeaders.HeaderPath)) { ResetAndAbort(new ConnectionAbortedException(CoreStrings.Http2ErrorConnectMustNotSendSchemeOrPath), Http2ErrorCode.PROTOCOL_ERROR); return(false); } else { RawTarget = hostText; return(true); } } else if (!StringValues.IsNullOrEmpty(HttpRequestHeaders.HeaderProtocol)) { ResetAndAbort(new ConnectionAbortedException(CoreStrings.ProtocolRequiresConnect), Http2ErrorCode.PROTOCOL_ERROR); return(false); } // :scheme https://tools.ietf.org/html/rfc7540#section-8.1.2.3 // ":scheme" is not restricted to "http" and "https" schemed URIs. A // proxy or gateway can translate requests for non - HTTP schemes, // enabling the use of HTTP to interact with non - HTTP services. // A common example is TLS termination. var headerScheme = HttpRequestHeaders.HeaderScheme.ToString(); if (!ReferenceEquals(headerScheme, Scheme) && !string.Equals(headerScheme, Scheme, StringComparison.OrdinalIgnoreCase)) { if (!ServerOptions.AllowAlternateSchemes || !Uri.CheckSchemeName(headerScheme)) { ResetAndAbort(new ConnectionAbortedException( CoreStrings.FormatHttp2StreamErrorSchemeMismatch(headerScheme, Scheme)), Http2ErrorCode.PROTOCOL_ERROR); return(false); } Scheme = headerScheme; } // :path (and query) - Required // Must start with / except may be * for OPTIONS var path = HttpRequestHeaders.HeaderPath.ToString(); RawTarget = path; // OPTIONS - https://tools.ietf.org/html/rfc7540#section-8.1.2.3 // This pseudo-header field MUST NOT be empty for "http" or "https" // URIs; "http" or "https" URIs that do not contain a path component // MUST include a value of '/'. The exception to this rule is an // OPTIONS request for an "http" or "https" URI that does not include // a path component; these MUST include a ":path" pseudo-header field // with a value of '*'. if (Method == HttpMethod.Options && path.Length == 1 && path[0] == '*') { // * is stored in RawTarget only since HttpRequest expects Path to be empty or start with a /. Path = string.Empty; QueryString = string.Empty; return(true); } // Approximate MaxRequestLineSize by totaling the required pseudo header field lengths. var requestLineLength = _methodText !.Length + Scheme !.Length + hostText.Length + path.Length; if (requestLineLength > ServerOptions.Limits.MaxRequestLineSize) { ResetAndAbort(new ConnectionAbortedException(CoreStrings.BadRequest_RequestLineTooLong), Http2ErrorCode.PROTOCOL_ERROR); return(false); } var queryIndex = path.IndexOf('?'); QueryString = queryIndex == -1 ? string.Empty : path.Substring(queryIndex); var pathSegment = queryIndex == -1 ? path.AsSpan() : path.AsSpan(0, queryIndex); return(TryValidatePath(pathSegment)); }
public async Task ConnectionNotClosedWhenClientSatisfiesMinimumDataRateGivenLargeResponseHeaders() { var headerSize = 1024 * 1024; // 1 MB for each header value var headerCount = 64; // 64 MB of headers per response var requestCount = 4; // Minimum of 256 MB of total response headers var headerValue = new string('a', headerSize); var headerStringValues = new StringValues(Enumerable.Repeat(headerValue, headerCount).ToArray()); var requestAborted = false; var mockKestrelTrace = new Mock <KestrelTrace>(Logger) { CallBase = true }; var testContext = new TestServiceContext { Log = mockKestrelTrace.Object, ServerOptions = { Limits = { MinResponseDataRate = new MinDataRate(bytesPerSecond: 240, gracePeriod: TimeSpan.FromSeconds(2)) } } }; testContext.InitializeHeartbeat(); var listenOptions = new ListenOptions(new IPEndPoint(IPAddress.Loopback, 0)); async Task App(HttpContext context) { context.RequestAborted.Register(() => { requestAborted = true; }); context.Response.Headers[$"X-Custom-Header"] = headerStringValues; context.Response.ContentLength = 0; await context.Response.Body.FlushAsync(); } using (var server = new TestServer(App, testContext, listenOptions)) { using (var connection = server.CreateConnection()) { for (var i = 0; i < requestCount - 1; i++) { await connection.Send( "GET / HTTP/1.1", "Host:", "", ""); } // Close the connection with the last request so AssertStreamCompleted actually completes. await connection.Send( "GET / HTTP/1.1", "Host:", "Connection: close", "", ""); var responseSize = headerSize * headerCount; var minTotalOutputSize = requestCount * responseSize; // Make sure consuming a single set of response headers exceeds the 2 second timeout. var targetBytesPerSecond = responseSize / 4; await AssertStreamCompleted(connection.Reader.BaseStream, minTotalOutputSize, targetBytesPerSecond); mockKestrelTrace.Verify(t => t.ResponseMininumDataRateNotSatisfied(It.IsAny <string>(), It.IsAny <string>()), Times.Never()); mockKestrelTrace.Verify(t => t.ConnectionStop(It.IsAny <string>()), Times.Once()); Assert.False(requestAborted); } } }
/// <summary> /// 处理微信授权结果(接收微信授权的回调) /// </summary> /// <returns></returns> protected override async Task <HandleRequestResult> HandleRemoteAuthenticateAsync() { //第一步,处理工作 AuthenticationProperties properties = null; var query = Request.Query; //微信只会发送code和state两个参数,不会返回错误消息 //若用户禁止授权,则重定向后不会带上code参数,仅会带上state参数 var code = query["code"]; var state = query["state"]; properties = Options.StateDataFormat.Unprotect(state); if (properties == null) { return(HandleRequestResult.Fail("The oauth state was missing or invalid.")); } // OAuth2 10.12 CSRF if (!ValidateCorrelationId(properties)) { return(HandleRequestResult.Fail("Correlation failed.")); } if (StringValues.IsNullOrEmpty(code)) //code为null就是 { return(HandleRequestResult.Fail("Code was not found.")); } //第二步,通过Code获取Access Token var tokens = await ExchangeCodeAsync(code, BuildRedirectUri(Options.CallbackPath)); if (tokens.Error != null) { return(HandleRequestResult.Fail(tokens.Error)); } if (string.IsNullOrEmpty(tokens.AccessToken)) { return(HandleRequestResult.Fail("Failed to retrieve access token.")); } var identity = new ClaimsIdentity(ClaimsIssuer); if (Options.SaveTokens) { var authTokens = new List <AuthenticationToken>(); authTokens.Add(new AuthenticationToken { Name = "access_token", Value = tokens.AccessToken }); if (!string.IsNullOrEmpty(tokens.RefreshToken)) { authTokens.Add(new AuthenticationToken { Name = "refresh_token", Value = tokens.RefreshToken }); } if (!string.IsNullOrEmpty(tokens.TokenType)) //微信就没有这个 { authTokens.Add(new AuthenticationToken { Name = "token_type", Value = tokens.TokenType }); } if (!string.IsNullOrEmpty(tokens.ExpiresIn)) { int value; if (int.TryParse(tokens.ExpiresIn, NumberStyles.Integer, CultureInfo.InvariantCulture, out value)) { // https://www.w3.org/TR/xmlschema-2/#dateTime // https://msdn.microsoft.com/en-us/library/az4se3k1(v=vs.110).aspx var expiresAt = Clock.UtcNow + TimeSpan.FromSeconds(value); authTokens.Add(new AuthenticationToken { Name = "expires_at", Value = expiresAt.ToString("o", CultureInfo.InvariantCulture) }); } } properties.StoreTokens(authTokens); } var ticket = await CreateTicketAsync(identity, properties, tokens); if (ticket != null) { return(HandleRequestResult.Success(ticket)); } else { return(HandleRequestResult.Fail("Failed to retrieve user information from remote server.")); } }
protected virtual bool TryGetValueFast(string key, out StringValues value) { throw new NotImplementedException(); }
protected static StringValues AppendValue(StringValues existing, string append) { return(StringValues.Concat(existing, append)); }
/// <summary> /// Implementation. /// </summary> /// <param name="context">The http context.</param> /// <returns>The awaitable.</returns> public Task Invoke(HttpContext context) { if (context.Request.Query.ContainsKey("readCookies")) { context.Response.StatusCode = StatusCodes.Status200OK; var b = new StringBuilder(); foreach (var c in context.Request.Cookies) { b.Append(c.Key).Append(':').AppendLine(c.Value); } Console.WriteLine(">> readCookies"); Console.WriteLine(b.ToString()); return(context.Response.WriteAsync(b.ToString())); } if (context.Request.Path.StartsWithSegments("/sayHello")) { context.Response.StatusCode = StatusCodes.Status200OK; return(context.Response.WriteAsync("Hello! " + _s.GetText())); } if (context.Request.Path.StartsWithSegments("/readHeader")) { string name = context.Request.Query["name"]; StringValues header = context.Request.Headers[name]; return(context.Response.WriteAsync($"header '{name}': '{header}'")); } if (context.Request.Path.StartsWithSegments("/setCookie")) { string name = context.Request.Query["name"]; string path = context.Request.Query["path"]; string value = context.Request.Query["value"]; if (String.IsNullOrWhiteSpace(value)) { value = "CookieValue"; } context.Response.Cookies.Append(name, value, new CookieOptions() { Path = path }); return(context.Response.WriteAsync($"Cookie set: {name} Path: {path} Value: {value}")); } if (context.Request.Path.StartsWithSegments("/deleteCookie")) { string name = context.Request.Query["name"]; string path = context.Request.Query["path"]; context.Response.Cookies.Delete(name, new CookieOptions() { Path = path }); return(context.Response.WriteAsync($"Cookie delete: {name} Path: {path}")); } if (context.Request.Path.StartsWithSegments("/aspnetlogs")) { _logger.LogCritical($"This is a Critical log."); _logger.LogError($"This is a Error log."); _logger.LogWarning($"This is a Warning log."); _logger.LogInformation($"This is a Information log."); _logger.LogDebug($"This is a Debug log."); _logger.LogTrace($"This is a Trace log."); return(context.Response.WriteAsync($"Logs written.")); } if (context.Request.Path.StartsWithSegments("/quit")) { _lifetime.StopApplication(); return(context.Response.WriteAsync($"Application is terminating.")); } if (context.Request.Path.StartsWithSegments("/rewriteJSON")) { if (!HttpMethods.IsPost(context.Request.Method)) { context.Response.StatusCode = StatusCodes.Status405MethodNotAllowed; } return(ReadContentThen(context, content => context.Response.WriteAsync( $"JSON: '{JObject.Parse( content ).ToString( Newtonsoft.Json.Formatting.None )}'") )); } if (context.Request.Path.StartsWithSegments("/rewriteXElement")) { if (!HttpMethods.IsPost(context.Request.Method)) { context.Response.StatusCode = StatusCodes.Status405MethodNotAllowed; } return(ReadContentThen(context, content => context.Response.WriteAsync( $"XElement: '{XElement.Parse( content ).ToString( SaveOptions.DisableFormatting )}'" ))); } if (context.Request.Path.StartsWithSegments("/bug")) { throw new Exception("Bug!"); } if (context.Request.Path.StartsWithSegments("/asyncBug")) { return(AsyncBug()); } if (context.Request.Path.StartsWithSegments("/hiddenAsyncBug")) { context.Response.StatusCode = StatusCodes.Status202Accepted; Task.Delay(100).ContinueWith(t => { throw new Exception("I'm an horrible HiddenAsyncBug!"); }); return(context.Response.WriteAsync("Will break the started Task.")); } if (context.Request.Path.StartsWithSegments("/unhandledAppDomainException")) { context.Response.StatusCode = StatusCodes.Status202Accepted; var t = new Thread(() => throw new Exception("I'm an unhandled exception.")); t.IsBackground = true; t.Start(); return(context.Response.WriteAsync("Will break the started thread.")); } return(_next.Invoke(context)); }
public async Task <ActionResult> GetInstances( string org, string appId, [FromQuery(Name = "process.currentTask")] string currentTaskId, [FromQuery(Name = "process.isComplete")] bool?processIsComplete, [FromQuery(Name = "process.isInError")] bool?processIsInError, [FromQuery(Name = "process.endState")] string processEndState, [FromQuery] string labels, [FromQuery] string lastChangedDateTime, [FromQuery] string createdDateTime, [FromQuery] string visibleDateTime, [FromQuery] string dueDateTime, string continuationToken, int?size) { int pageSize = size ?? 100; string selfContinuationToken = null; if (!string.IsNullOrEmpty(continuationToken)) { selfContinuationToken = continuationToken; continuationToken = HttpUtility.UrlDecode(continuationToken); } Dictionary <string, StringValues> queryParams = QueryHelpers.ParseQuery(Request.QueryString.Value); string host = $"{Request.Scheme}://{Request.Host.ToUriComponent()}"; string url = Request.Path; string query = Request.QueryString.Value; logger.LogInformation($"uri = {url}{query}"); try { InstanceQueryResponse result = await _instanceRepository.GetInstancesOfApplication(queryParams, continuationToken, pageSize); if (result.TotalHits == 0) { return(NotFound($"Did not find any instances")); } if (!string.IsNullOrEmpty(result.Exception)) { return(BadRequest(result.Exception)); } string nextContinuationToken = HttpUtility.UrlEncode(result.ContinuationToken); result.ContinuationToken = null; HALResponse response = new HALResponse(result); if (continuationToken == null) { string selfUrl = $"{host}{url}{query}"; result.Self = selfUrl; Link selfLink = new Link("self", selfUrl); response.AddLinks(selfLink); } else { string selfQueryString = BuildQueryStringWithOneReplacedParameter( queryParams, "continuationToken", selfContinuationToken); string selfUrl = $"{host}{url}{selfQueryString}"; result.Self = selfUrl; Link selfLink = new Link("self", selfUrl); response.AddLinks(selfLink); } if (nextContinuationToken != null) { string nextQueryString = BuildQueryStringWithOneReplacedParameter( queryParams, "continuationToken", nextContinuationToken); string nextUrl = $"{host}{url}{nextQueryString}"; result.Next = nextUrl; Link nextLink = new Link("next", nextUrl); response.AddLinks(nextLink); } // add self links to platform result.Instances.ForEach(i => AddSelfLinks(Request, i)); StringValues acceptHeader = Request.Headers["Accept"]; if (acceptHeader.Any() && acceptHeader.Contains("application/hal+json")) { /* Response object should be expressed as HAL (Hypertext Application Language) with _embedded and _links. * Thus we reset the response object's inline instances, next and self elements.*/ response.AddEmbeddedCollection("instances", result.Instances); result.Instances = null; result.Next = null; result.Self = null; } return(Ok(response)); } catch (Exception e) { logger.LogError("exception", e); return(StatusCode(500, $"Unable to perform query due to: {e.Message}")); } }
public static void SetPageValue(dynamic viewBag, StringValues value) { viewBag.Page = GetFirstValue(value); }
public static void SetFilterValue(dynamic viewBag, StringValues value) { viewBag.Filter = GetFirstValue(value); }
public static void SetDescendingValue(dynamic viewBag, StringValues value) { viewBag.Descending = GetFirstValue(value); }
private static string GetFirstValue(StringValues value) { return(string.IsNullOrEmpty(value) ? null : value[0]); }
public static void SetSortValue(dynamic viewBag, StringValues value) { viewBag.Sort = GetFirstValue(value); }
public void Add(string key, StringValues value) { Collection.Add(key, value); }
public async Task Headers_IgnoreNullHeaders(string headerName, StringValues headerValue, StringValues expectedValue) { string address; using (Utilities.CreateHttpServer(out address, httpContext => { var responseHeaders = httpContext.Response.Headers; responseHeaders.Add(headerName, headerValue); return(Task.FromResult(0)); })) { HttpResponseMessage response = await SendRequestAsync(address); response.EnsureSuccessStatusCode(); var headers = response.Headers; if (expectedValue.Count == 0) { Assert.False(headers.Contains(headerName)); } else { Assert.True(headers.Contains(headerName)); Assert.Equal(headers.GetValues(headerName), expectedValue); } } }
public Hamburguer(StringValues Nome, double Preco) { this.Nome = Nome; this.Preco = Preco; }
public async Task ConnectionNotClosedWhenClientSatisfiesMinimumDataRateGivenLargeResponseHeaders() { var headerSize = 1024 * 1024; // 1 MB for each header value var headerCount = 64; // 64 MB of headers per response var requestCount = 4; // Minimum of 256 MB of total response headers var headerValue = new string('a', headerSize); var headerStringValues = new StringValues(Enumerable.Repeat(headerValue, headerCount).ToArray()); var requestAborted = false; var mockKestrelTrace = new Mock <IKestrelTrace>(); var testContext = new TestServiceContext(LoggerFactory, mockKestrelTrace.Object) { ServerOptions = { Limits = { MinResponseDataRate = new MinDataRate(bytesPerSecond: 240, gracePeriod: TimeSpan.FromSeconds(2)) } } }; testContext.InitializeHeartbeat(); var dateHeaderValueManager = new DateHeaderValueManager(); dateHeaderValueManager.OnHeartbeat(DateTimeOffset.MinValue); testContext.DateHeaderValueManager = dateHeaderValueManager; var listenOptions = new ListenOptions(new IPEndPoint(IPAddress.Loopback, 0)); async Task App(HttpContext context) { context.RequestAborted.Register(() => { requestAborted = true; }); context.Response.Headers[$"X-Custom-Header"] = headerStringValues; context.Response.ContentLength = 0; await context.Response.BodyWriter.FlushAsync(); } using (var server = new TestServer(App, testContext, listenOptions)) { using (var connection = server.CreateConnection()) { for (var i = 0; i < requestCount - 1; i++) { await connection.Send( "GET / HTTP/1.1", "Host:", "", ""); } await connection.Send( "GET / HTTP/1.1", "Host:", "", ""); await connection.Receive( "HTTP/1.1 200 OK", $"Date: {dateHeaderValueManager.GetDateHeaderValues().String}"); var minResponseSize = headerSize * headerCount; var minTotalOutputSize = requestCount * minResponseSize; // Make sure consuming a single set of response headers exceeds the 2 second timeout. var targetBytesPerSecond = minResponseSize / 4; // expectedBytes was determined by manual testing. A constant Date header is used, so this shouldn't change unless // the response header writing logic itself changes. await AssertBytesReceivedAtTargetRate(connection.Stream, expectedBytes : 268_439_596, targetBytesPerSecond); connection.ShutdownSend(); await connection.WaitForConnectionClose(); } await server.StopAsync(); } mockKestrelTrace.Verify(t => t.ResponseMinimumDataRateNotSatisfied(It.IsAny <string>(), It.IsAny <string>()), Times.Never()); mockKestrelTrace.Verify(t => t.ConnectionStop(It.IsAny <string>()), Times.Once()); Assert.False(requestAborted); }
internal static ControllerBase SetHeader(this ControllerBase controller, string name, StringValues values) { controller.Response.Headers[name] = values; return(controller); }
protected virtual string ParseVendorAttributes(IFormCollection form) { if (form == null) { throw new ArgumentNullException(nameof(form)); } var attributesXml = ""; var vendorAttributes = _vendorAttributeService.GetAllVendorAttributes(); foreach (var attribute in vendorAttributes) { var controlId = $"vendor_attribute_{attribute.Id}"; switch (attribute.AttributeControlType) { case AttributeControlType.DropdownList: case AttributeControlType.RadioList: { var ctrlAttributes = form[controlId]; if (!StringValues.IsNullOrEmpty(ctrlAttributes)) { var selectedAttributeId = int.Parse(ctrlAttributes); if (selectedAttributeId > 0) { attributesXml = _vendorAttributeParser.AddVendorAttribute(attributesXml, attribute, selectedAttributeId.ToString()); } } } break; case AttributeControlType.Checkboxes: { var cblAttributes = form[controlId]; if (!StringValues.IsNullOrEmpty(cblAttributes)) { foreach (var item in cblAttributes.ToString().Split(new[] { ',' }, StringSplitOptions.RemoveEmptyEntries)) { var selectedAttributeId = int.Parse(item); if (selectedAttributeId > 0) { attributesXml = _vendorAttributeParser.AddVendorAttribute(attributesXml, attribute, selectedAttributeId.ToString()); } } } } break; case AttributeControlType.ReadonlyCheckboxes: { //load read-only (already server-side selected) values var attributeValues = _vendorAttributeService.GetVendorAttributeValues(attribute.Id); foreach (var selectedAttributeId in attributeValues .Where(v => v.IsPreSelected) .Select(v => v.Id) .ToList()) { attributesXml = _vendorAttributeParser.AddVendorAttribute(attributesXml, attribute, selectedAttributeId.ToString()); } } break; case AttributeControlType.TextBox: case AttributeControlType.MultilineTextbox: { var ctrlAttributes = form[controlId]; if (!StringValues.IsNullOrEmpty(ctrlAttributes)) { var enteredText = ctrlAttributes.ToString().Trim(); attributesXml = _vendorAttributeParser.AddVendorAttribute(attributesXml, attribute, enteredText); } } break; case AttributeControlType.Datepicker: case AttributeControlType.ColorSquares: case AttributeControlType.ImageSquares: case AttributeControlType.FileUpload: //not supported vendor attributes default: break; } } return(attributesXml); }
/// <summary> /// Deletes the cookie with the given key by setting an expired state. If a matching chunked cookie exists on /// the request, delete each chunk. /// </summary> /// <param name="context"></param> /// <param name="key"></param> /// <param name="options"></param> public void DeleteCookie(HttpContext context, string key, CookieOptions options) { if (context == null) { throw new ArgumentNullException(nameof(context)); } if (key == null) { throw new ArgumentNullException(nameof(key)); } if (options == null) { throw new ArgumentNullException(nameof(options)); } var keys = new List <string>(); keys.Add(key + "="); var requestCookie = context.Request.Cookies[key]; var chunks = ParseChunksCount(requestCookie); if (chunks > 0) { for (int i = 1; i <= chunks + 1; i++) { var subkey = key + ChunkKeySuffix + i.ToString(CultureInfo.InvariantCulture); keys.Add(subkey + "="); } } var domainHasValue = !string.IsNullOrEmpty(options.Domain); var pathHasValue = !string.IsNullOrEmpty(options.Path); Func <string, bool> rejectPredicate; Func <string, bool> predicate = value => keys.Any(k => value.StartsWith(k, StringComparison.OrdinalIgnoreCase)); if (domainHasValue) { rejectPredicate = value => predicate(value) && value.IndexOf("domain=" + options.Domain, StringComparison.OrdinalIgnoreCase) != -1; } else if (pathHasValue) { rejectPredicate = value => predicate(value) && value.IndexOf("path=" + options.Path, StringComparison.OrdinalIgnoreCase) != -1; } else { rejectPredicate = value => predicate(value); } var responseHeaders = context.Response.Headers; var existingValues = responseHeaders[HeaderNames.SetCookie]; if (!StringValues.IsNullOrEmpty(existingValues)) { responseHeaders[HeaderNames.SetCookie] = existingValues.Where(value => !rejectPredicate(value)).ToArray(); } AppendResponseCookie( context, key, string.Empty, new CookieOptions() { Path = options.Path, Domain = options.Domain, SameSite = options.SameSite, Expires = new DateTime(1970, 1, 1, 0, 0, 0, DateTimeKind.Utc), }); for (int i = 1; i <= chunks; i++) { AppendResponseCookie( context, key + "C" + i.ToString(CultureInfo.InvariantCulture), string.Empty, new CookieOptions() { Path = options.Path, Domain = options.Domain, SameSite = options.SameSite, Expires = new DateTime(1970, 1, 1, 0, 0, 0, DateTimeKind.Utc), }); } }
public static StringValues Item(this HttpRequest httpRequest, string key, StringValues defaultValue = default) => httpRequest.Item(key, new HttpRequestItemOptions { DefaultValue = defaultValue });
public QueryableHandlerExpression(object queryableHandler, StringValues parameterValue) { _queryableHandler = queryableHandler ?? throw new ArgumentNullException(nameof(queryableHandler)); _parameterValue = parameterValue; }
protected bool TryGetUnknown(string key, ref StringValues value) => MaybeUnknown?.TryGetValue(key, out value) ?? false;
private void SetHeader(string key, StringValues value) { _headers[key] = new HeaderValue { Value = value }; }
/// <summary> /// Create a new cache id representing an object /// </summary> /// <param name="category">Category of the object</param> /// <param name="hashcode">Hash of object to lookup</param> /// <param name="etagHeader">Requested etag header</param> public CacheId(string category, int hashcode, StringValues etagHeader = default) { Category = category; Hashcode = hashcode; ETagHeader = etagHeader; }
public bool TryGetValue(string key, out StringValues value) { HeaderValue headerValue; if (_headers.TryGetValue(key, out headerValue)) { value = headerValue.GetValue(); return true; } return false; }
protected override void SetValueFast(string key, StringValues value) { switch(key.Length) { case 13: { if ("Cache-Control".Equals(key, StringComparison.OrdinalIgnoreCase)) { _bits |= 1L; _CacheControl = value; return; } if ("Content-Range".Equals(key, StringComparison.OrdinalIgnoreCase)) { _bits |= 131072L; _ContentRange = value; return; } if ("Last-Modified".Equals(key, StringComparison.OrdinalIgnoreCase)) { _bits |= 524288L; _LastModified = value; return; } if ("Authorization".Equals(key, StringComparison.OrdinalIgnoreCase)) { _bits |= 16777216L; _Authorization = value; return; } if ("If-None-Match".Equals(key, StringComparison.OrdinalIgnoreCase)) { _bits |= 2147483648L; _IfNoneMatch = value; return; } } break; case 10: { if ("Connection".Equals(key, StringComparison.OrdinalIgnoreCase)) { _bits |= 2L; _Connection = value; return; } if ("Keep-Alive".Equals(key, StringComparison.OrdinalIgnoreCase)) { _bits |= 8L; _KeepAlive = value; return; } if ("User-Agent".Equals(key, StringComparison.OrdinalIgnoreCase)) { _bits |= 1099511627776L; _UserAgent = value; return; } } break; case 4: { if ("Date".Equals(key, StringComparison.OrdinalIgnoreCase)) { _bits |= 4L; _Date = value; return; } if ("From".Equals(key, StringComparison.OrdinalIgnoreCase)) { _bits |= 134217728L; _From = value; return; } if ("Host".Equals(key, StringComparison.OrdinalIgnoreCase)) { _bits |= 268435456L; _Host = value; return; } } break; case 6: { if ("Pragma".Equals(key, StringComparison.OrdinalIgnoreCase)) { _bits |= 16L; _Pragma = value; return; } if ("Accept".Equals(key, StringComparison.OrdinalIgnoreCase)) { _bits |= 1048576L; _Accept = value; return; } if ("Cookie".Equals(key, StringComparison.OrdinalIgnoreCase)) { _bits |= 33554432L; _Cookie = value; return; } if ("Expect".Equals(key, StringComparison.OrdinalIgnoreCase)) { _bits |= 67108864L; _Expect = value; return; } } break; case 7: { if ("Trailer".Equals(key, StringComparison.OrdinalIgnoreCase)) { _bits |= 32L; _Trailer = value; return; } if ("Upgrade".Equals(key, StringComparison.OrdinalIgnoreCase)) { _bits |= 128L; _Upgrade = value; return; } if ("Warning".Equals(key, StringComparison.OrdinalIgnoreCase)) { _bits |= 512L; _Warning = value; return; } if ("Expires".Equals(key, StringComparison.OrdinalIgnoreCase)) { _bits |= 262144L; _Expires = value; return; } if ("Referer".Equals(key, StringComparison.OrdinalIgnoreCase)) { _bits |= 68719476736L; _Referer = value; return; } } break; case 17: { if ("Transfer-Encoding".Equals(key, StringComparison.OrdinalIgnoreCase)) { _bits |= 64L; _TransferEncoding = value; return; } if ("If-Modified-Since".Equals(key, StringComparison.OrdinalIgnoreCase)) { _bits |= 1073741824L; _IfModifiedSince = value; return; } } break; case 3: { if ("Via".Equals(key, StringComparison.OrdinalIgnoreCase)) { _bits |= 256L; _Via = value; return; } } break; case 5: { if ("Allow".Equals(key, StringComparison.OrdinalIgnoreCase)) { _bits |= 1024L; _Allow = value; return; } if ("Range".Equals(key, StringComparison.OrdinalIgnoreCase)) { _bits |= 137438953472L; _Range = value; return; } } break; case 14: { if ("Content-Length".Equals(key, StringComparison.OrdinalIgnoreCase)) { _bits |= 2048L; _ContentLength = value; return; } if ("Accept-Charset".Equals(key, StringComparison.OrdinalIgnoreCase)) { _bits |= 2097152L; _AcceptCharset = value; return; } } break; case 12: { if ("Content-Type".Equals(key, StringComparison.OrdinalIgnoreCase)) { _bits |= 4096L; _ContentType = value; return; } if ("Max-Forwards".Equals(key, StringComparison.OrdinalIgnoreCase)) { _bits |= 17179869184L; _MaxForwards = value; return; } } break; case 16: { if ("Content-Encoding".Equals(key, StringComparison.OrdinalIgnoreCase)) { _bits |= 8192L; _ContentEncoding = value; return; } if ("Content-Language".Equals(key, StringComparison.OrdinalIgnoreCase)) { _bits |= 16384L; _ContentLanguage = value; return; } if ("Content-Location".Equals(key, StringComparison.OrdinalIgnoreCase)) { _bits |= 32768L; _ContentLocation = value; return; } } break; case 11: { if ("Content-MD5".Equals(key, StringComparison.OrdinalIgnoreCase)) { _bits |= 65536L; _ContentMD5 = value; return; } } break; case 15: { if ("Accept-Encoding".Equals(key, StringComparison.OrdinalIgnoreCase)) { _bits |= 4194304L; _AcceptEncoding = value; return; } if ("Accept-Language".Equals(key, StringComparison.OrdinalIgnoreCase)) { _bits |= 8388608L; _AcceptLanguage = value; return; } } break; case 8: { if ("If-Match".Equals(key, StringComparison.OrdinalIgnoreCase)) { _bits |= 536870912L; _IfMatch = value; return; } if ("If-Range".Equals(key, StringComparison.OrdinalIgnoreCase)) { _bits |= 4294967296L; _IfRange = value; return; } } break; case 19: { if ("If-Unmodified-Since".Equals(key, StringComparison.OrdinalIgnoreCase)) { _bits |= 8589934592L; _IfUnmodifiedSince = value; return; } if ("Proxy-Authorization".Equals(key, StringComparison.OrdinalIgnoreCase)) { _bits |= 34359738368L; _ProxyAuthorization = value; return; } } break; case 2: { if ("TE".Equals(key, StringComparison.OrdinalIgnoreCase)) { _bits |= 274877906944L; _TE = value; return; } } break; case 9: { if ("Translate".Equals(key, StringComparison.OrdinalIgnoreCase)) { _bits |= 549755813888L; _Translate = value; return; } } break; } Unknown[key] = value; }
protected override void ClearFast() { _bits = 0; _CacheControl = StringValues.Empty; _Connection = StringValues.Empty; _Date = StringValues.Empty; _KeepAlive = StringValues.Empty; _Pragma = StringValues.Empty; _Trailer = StringValues.Empty; _TransferEncoding = StringValues.Empty; _Upgrade = StringValues.Empty; _Via = StringValues.Empty; _Warning = StringValues.Empty; _Allow = StringValues.Empty; _ContentLength = StringValues.Empty; _ContentType = StringValues.Empty; _ContentEncoding = StringValues.Empty; _ContentLanguage = StringValues.Empty; _ContentLocation = StringValues.Empty; _ContentMD5 = StringValues.Empty; _ContentRange = StringValues.Empty; _Expires = StringValues.Empty; _LastModified = StringValues.Empty; _AcceptRanges = StringValues.Empty; _Age = StringValues.Empty; _ETag = StringValues.Empty; _Location = StringValues.Empty; _ProxyAutheticate = StringValues.Empty; _RetryAfter = StringValues.Empty; _Server = StringValues.Empty; _SetCookie = StringValues.Empty; _Vary = StringValues.Empty; _WWWAuthenticate = StringValues.Empty; MaybeUnknown?.Clear(); }
private void GetDocumentsById(DocumentsOperationContext context, StringValues ids, Transformer transformer, bool metadataOnly) { var includePaths = HttpContext.Request.Query["include"]; var documents = new List <Document>(ids.Count); List <long> etags = null; var includes = new List <Document>(includePaths.Count * ids.Count); var includeDocs = new IncludeDocumentsCommand(Database.DocumentsStorage, context, includePaths); foreach (var id in ids) { var document = Database.DocumentsStorage.Get(context, id); documents.Add(document); includeDocs.Gather(document); } IEnumerable <Document> documentsToWrite; if (transformer != null) { var transformerParameters = GetTransformerParameters(context); using (var scope = transformer.OpenTransformationScope(transformerParameters, includeDocs, Database.DocumentsStorage, Database.TransformerStore, context)) { documentsToWrite = scope.Transform(documents).ToList(); etags = scope.LoadedDocumentEtags; } } else { documentsToWrite = documents; } includeDocs.Fill(includes); var actualEtag = ComputeEtagsFor(documents, includes, etags); if (transformer != null) { actualEtag ^= transformer.Hash; } var etag = GetLongFromHeaders("If-None-Match"); if (etag == actualEtag) { HttpContext.Response.StatusCode = 304; return; } HttpContext.Response.Headers[Constants.MetadataEtagField] = "\"" + actualEtag + "\""; if (HttpContext.Request.Query["blittable"] == "true") { WriteDocumentsBlittable(context, documentsToWrite, includes); } else { WriteDocumentsJson(context, metadataOnly, documentsToWrite, includeDocs, includes); } }
public bool TryGetValue(string key, out StringValues value) { value = default(StringValues); return(false); }
public void Add(string key, StringValues value) { SetHeader(key, value); }
public void Add(string key, StringValues value) { SetHeader(key, value); }
protected override void ClearFast() { _bits = 0; _CacheControl = StringValues.Empty; _Connection = StringValues.Empty; _Date = StringValues.Empty; _KeepAlive = StringValues.Empty; _Pragma = StringValues.Empty; _Trailer = StringValues.Empty; _TransferEncoding = StringValues.Empty; _Upgrade = StringValues.Empty; _Via = StringValues.Empty; _Warning = StringValues.Empty; _Allow = StringValues.Empty; _ContentLength = StringValues.Empty; _ContentType = StringValues.Empty; _ContentEncoding = StringValues.Empty; _ContentLanguage = StringValues.Empty; _ContentLocation = StringValues.Empty; _ContentMD5 = StringValues.Empty; _ContentRange = StringValues.Empty; _Expires = StringValues.Empty; _LastModified = StringValues.Empty; _Accept = StringValues.Empty; _AcceptCharset = StringValues.Empty; _AcceptEncoding = StringValues.Empty; _AcceptLanguage = StringValues.Empty; _Authorization = StringValues.Empty; _Cookie = StringValues.Empty; _Expect = StringValues.Empty; _From = StringValues.Empty; _Host = StringValues.Empty; _IfMatch = StringValues.Empty; _IfModifiedSince = StringValues.Empty; _IfNoneMatch = StringValues.Empty; _IfRange = StringValues.Empty; _IfUnmodifiedSince = StringValues.Empty; _MaxForwards = StringValues.Empty; _ProxyAuthorization = StringValues.Empty; _Referer = StringValues.Empty; _Range = StringValues.Empty; _TE = StringValues.Empty; _Translate = StringValues.Empty; _UserAgent = StringValues.Empty; MaybeUnknown?.Clear(); }
public static void LogCopyingFileRange(this ILogger logger, StringValues range, string path, string user) { _logCopyingFileRange(logger, range, path, user, null); }
protected override bool TryGetValueFast(string key, out StringValues value) { switch(key.Length) { case 13: { if ("Cache-Control".Equals(key, StringComparison.OrdinalIgnoreCase)) { if (((_bits & 1L) != 0)) { value = _CacheControl; return true; } else { value = StringValues.Empty; return false; } } if ("Content-Range".Equals(key, StringComparison.OrdinalIgnoreCase)) { if (((_bits & 131072L) != 0)) { value = _ContentRange; return true; } else { value = StringValues.Empty; return false; } } if ("Last-Modified".Equals(key, StringComparison.OrdinalIgnoreCase)) { if (((_bits & 524288L) != 0)) { value = _LastModified; return true; } else { value = StringValues.Empty; return false; } } if ("Authorization".Equals(key, StringComparison.OrdinalIgnoreCase)) { if (((_bits & 16777216L) != 0)) { value = _Authorization; return true; } else { value = StringValues.Empty; return false; } } if ("If-None-Match".Equals(key, StringComparison.OrdinalIgnoreCase)) { if (((_bits & 2147483648L) != 0)) { value = _IfNoneMatch; return true; } else { value = StringValues.Empty; return false; } } } break; case 10: { if ("Connection".Equals(key, StringComparison.OrdinalIgnoreCase)) { if (((_bits & 2L) != 0)) { value = _Connection; return true; } else { value = StringValues.Empty; return false; } } if ("Keep-Alive".Equals(key, StringComparison.OrdinalIgnoreCase)) { if (((_bits & 8L) != 0)) { value = _KeepAlive; return true; } else { value = StringValues.Empty; return false; } } if ("User-Agent".Equals(key, StringComparison.OrdinalIgnoreCase)) { if (((_bits & 1099511627776L) != 0)) { value = _UserAgent; return true; } else { value = StringValues.Empty; return false; } } } break; case 4: { if ("Date".Equals(key, StringComparison.OrdinalIgnoreCase)) { if (((_bits & 4L) != 0)) { value = _Date; return true; } else { value = StringValues.Empty; return false; } } if ("From".Equals(key, StringComparison.OrdinalIgnoreCase)) { if (((_bits & 134217728L) != 0)) { value = _From; return true; } else { value = StringValues.Empty; return false; } } if ("Host".Equals(key, StringComparison.OrdinalIgnoreCase)) { if (((_bits & 268435456L) != 0)) { value = _Host; return true; } else { value = StringValues.Empty; return false; } } } break; case 6: { if ("Pragma".Equals(key, StringComparison.OrdinalIgnoreCase)) { if (((_bits & 16L) != 0)) { value = _Pragma; return true; } else { value = StringValues.Empty; return false; } } if ("Accept".Equals(key, StringComparison.OrdinalIgnoreCase)) { if (((_bits & 1048576L) != 0)) { value = _Accept; return true; } else { value = StringValues.Empty; return false; } } if ("Cookie".Equals(key, StringComparison.OrdinalIgnoreCase)) { if (((_bits & 33554432L) != 0)) { value = _Cookie; return true; } else { value = StringValues.Empty; return false; } } if ("Expect".Equals(key, StringComparison.OrdinalIgnoreCase)) { if (((_bits & 67108864L) != 0)) { value = _Expect; return true; } else { value = StringValues.Empty; return false; } } } break; case 7: { if ("Trailer".Equals(key, StringComparison.OrdinalIgnoreCase)) { if (((_bits & 32L) != 0)) { value = _Trailer; return true; } else { value = StringValues.Empty; return false; } } if ("Upgrade".Equals(key, StringComparison.OrdinalIgnoreCase)) { if (((_bits & 128L) != 0)) { value = _Upgrade; return true; } else { value = StringValues.Empty; return false; } } if ("Warning".Equals(key, StringComparison.OrdinalIgnoreCase)) { if (((_bits & 512L) != 0)) { value = _Warning; return true; } else { value = StringValues.Empty; return false; } } if ("Expires".Equals(key, StringComparison.OrdinalIgnoreCase)) { if (((_bits & 262144L) != 0)) { value = _Expires; return true; } else { value = StringValues.Empty; return false; } } if ("Referer".Equals(key, StringComparison.OrdinalIgnoreCase)) { if (((_bits & 68719476736L) != 0)) { value = _Referer; return true; } else { value = StringValues.Empty; return false; } } } break; case 17: { if ("Transfer-Encoding".Equals(key, StringComparison.OrdinalIgnoreCase)) { if (((_bits & 64L) != 0)) { value = _TransferEncoding; return true; } else { value = StringValues.Empty; return false; } } if ("If-Modified-Since".Equals(key, StringComparison.OrdinalIgnoreCase)) { if (((_bits & 1073741824L) != 0)) { value = _IfModifiedSince; return true; } else { value = StringValues.Empty; return false; } } } break; case 3: { if ("Via".Equals(key, StringComparison.OrdinalIgnoreCase)) { if (((_bits & 256L) != 0)) { value = _Via; return true; } else { value = StringValues.Empty; return false; } } } break; case 5: { if ("Allow".Equals(key, StringComparison.OrdinalIgnoreCase)) { if (((_bits & 1024L) != 0)) { value = _Allow; return true; } else { value = StringValues.Empty; return false; } } if ("Range".Equals(key, StringComparison.OrdinalIgnoreCase)) { if (((_bits & 137438953472L) != 0)) { value = _Range; return true; } else { value = StringValues.Empty; return false; } } } break; case 14: { if ("Content-Length".Equals(key, StringComparison.OrdinalIgnoreCase)) { if (((_bits & 2048L) != 0)) { value = _ContentLength; return true; } else { value = StringValues.Empty; return false; } } if ("Accept-Charset".Equals(key, StringComparison.OrdinalIgnoreCase)) { if (((_bits & 2097152L) != 0)) { value = _AcceptCharset; return true; } else { value = StringValues.Empty; return false; } } } break; case 12: { if ("Content-Type".Equals(key, StringComparison.OrdinalIgnoreCase)) { if (((_bits & 4096L) != 0)) { value = _ContentType; return true; } else { value = StringValues.Empty; return false; } } if ("Max-Forwards".Equals(key, StringComparison.OrdinalIgnoreCase)) { if (((_bits & 17179869184L) != 0)) { value = _MaxForwards; return true; } else { value = StringValues.Empty; return false; } } } break; case 16: { if ("Content-Encoding".Equals(key, StringComparison.OrdinalIgnoreCase)) { if (((_bits & 8192L) != 0)) { value = _ContentEncoding; return true; } else { value = StringValues.Empty; return false; } } if ("Content-Language".Equals(key, StringComparison.OrdinalIgnoreCase)) { if (((_bits & 16384L) != 0)) { value = _ContentLanguage; return true; } else { value = StringValues.Empty; return false; } } if ("Content-Location".Equals(key, StringComparison.OrdinalIgnoreCase)) { if (((_bits & 32768L) != 0)) { value = _ContentLocation; return true; } else { value = StringValues.Empty; return false; } } } break; case 11: { if ("Content-MD5".Equals(key, StringComparison.OrdinalIgnoreCase)) { if (((_bits & 65536L) != 0)) { value = _ContentMD5; return true; } else { value = StringValues.Empty; return false; } } } break; case 15: { if ("Accept-Encoding".Equals(key, StringComparison.OrdinalIgnoreCase)) { if (((_bits & 4194304L) != 0)) { value = _AcceptEncoding; return true; } else { value = StringValues.Empty; return false; } } if ("Accept-Language".Equals(key, StringComparison.OrdinalIgnoreCase)) { if (((_bits & 8388608L) != 0)) { value = _AcceptLanguage; return true; } else { value = StringValues.Empty; return false; } } } break; case 8: { if ("If-Match".Equals(key, StringComparison.OrdinalIgnoreCase)) { if (((_bits & 536870912L) != 0)) { value = _IfMatch; return true; } else { value = StringValues.Empty; return false; } } if ("If-Range".Equals(key, StringComparison.OrdinalIgnoreCase)) { if (((_bits & 4294967296L) != 0)) { value = _IfRange; return true; } else { value = StringValues.Empty; return false; } } } break; case 19: { if ("If-Unmodified-Since".Equals(key, StringComparison.OrdinalIgnoreCase)) { if (((_bits & 8589934592L) != 0)) { value = _IfUnmodifiedSince; return true; } else { value = StringValues.Empty; return false; } } if ("Proxy-Authorization".Equals(key, StringComparison.OrdinalIgnoreCase)) { if (((_bits & 34359738368L) != 0)) { value = _ProxyAuthorization; return true; } else { value = StringValues.Empty; return false; } } } break; case 2: { if ("TE".Equals(key, StringComparison.OrdinalIgnoreCase)) { if (((_bits & 274877906944L) != 0)) { value = _TE; return true; } else { value = StringValues.Empty; return false; } } } break; case 9: { if ("Translate".Equals(key, StringComparison.OrdinalIgnoreCase)) { if (((_bits & 549755813888L) != 0)) { value = _Translate; return true; } else { value = StringValues.Empty; return false; } } } break; } value = StringValues.Empty; return MaybeUnknown?.TryGetValue(key, out value) ?? false; }
public static string GetBestMatch(List <string> mimeTypes, StringValues stringValues) { var requestMime = string.Join(", ", stringValues.ToArray() ?? new string[] {}).Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries).Select(a => a.Trim()); return(requestMime.FirstOrDefault(a => mimeTypes.Select(Normalize).Any(b => _equal(a, b)))?.ToString()); }
protected override void SetValueFast(string key, StringValues value) { switch(key.Length) { case 13: { if ("Cache-Control".Equals(key, StringComparison.OrdinalIgnoreCase)) { _bits |= 1L; _CacheControl = value; return; } if ("Content-Range".Equals(key, StringComparison.OrdinalIgnoreCase)) { _bits |= 131072L; _ContentRange = value; return; } if ("Last-Modified".Equals(key, StringComparison.OrdinalIgnoreCase)) { _bits |= 524288L; _LastModified = value; return; } if ("Accept-Ranges".Equals(key, StringComparison.OrdinalIgnoreCase)) { _bits |= 1048576L; _AcceptRanges = value; return; } } break; case 10: { if ("Connection".Equals(key, StringComparison.OrdinalIgnoreCase)) { _bits |= 2L; _Connection = value; return; } if ("Keep-Alive".Equals(key, StringComparison.OrdinalIgnoreCase)) { _bits |= 8L; _KeepAlive = value; return; } if ("Set-Cookie".Equals(key, StringComparison.OrdinalIgnoreCase)) { _bits |= 134217728L; _SetCookie = value; return; } } break; case 4: { if ("Date".Equals(key, StringComparison.OrdinalIgnoreCase)) { _bits |= 4L; _Date = value; return; } if ("ETag".Equals(key, StringComparison.OrdinalIgnoreCase)) { _bits |= 4194304L; _ETag = value; return; } if ("Vary".Equals(key, StringComparison.OrdinalIgnoreCase)) { _bits |= 268435456L; _Vary = value; return; } } break; case 6: { if ("Pragma".Equals(key, StringComparison.OrdinalIgnoreCase)) { _bits |= 16L; _Pragma = value; return; } if ("Server".Equals(key, StringComparison.OrdinalIgnoreCase)) { _bits |= 67108864L; _Server = value; return; } } break; case 7: { if ("Trailer".Equals(key, StringComparison.OrdinalIgnoreCase)) { _bits |= 32L; _Trailer = value; return; } if ("Upgrade".Equals(key, StringComparison.OrdinalIgnoreCase)) { _bits |= 128L; _Upgrade = value; return; } if ("Warning".Equals(key, StringComparison.OrdinalIgnoreCase)) { _bits |= 512L; _Warning = value; return; } if ("Expires".Equals(key, StringComparison.OrdinalIgnoreCase)) { _bits |= 262144L; _Expires = value; return; } } break; case 17: { if ("Transfer-Encoding".Equals(key, StringComparison.OrdinalIgnoreCase)) { _bits |= 64L; _TransferEncoding = value; return; } if ("Proxy-Autheticate".Equals(key, StringComparison.OrdinalIgnoreCase)) { _bits |= 16777216L; _ProxyAutheticate = value; return; } } break; case 3: { if ("Via".Equals(key, StringComparison.OrdinalIgnoreCase)) { _bits |= 256L; _Via = value; return; } if ("Age".Equals(key, StringComparison.OrdinalIgnoreCase)) { _bits |= 2097152L; _Age = value; return; } } break; case 5: { if ("Allow".Equals(key, StringComparison.OrdinalIgnoreCase)) { _bits |= 1024L; _Allow = value; return; } } break; case 14: { if ("Content-Length".Equals(key, StringComparison.OrdinalIgnoreCase)) { _bits |= 2048L; _ContentLength = value; return; } } break; case 12: { if ("Content-Type".Equals(key, StringComparison.OrdinalIgnoreCase)) { _bits |= 4096L; _ContentType = value; return; } } break; case 16: { if ("Content-Encoding".Equals(key, StringComparison.OrdinalIgnoreCase)) { _bits |= 8192L; _ContentEncoding = value; return; } if ("Content-Language".Equals(key, StringComparison.OrdinalIgnoreCase)) { _bits |= 16384L; _ContentLanguage = value; return; } if ("Content-Location".Equals(key, StringComparison.OrdinalIgnoreCase)) { _bits |= 32768L; _ContentLocation = value; return; } if ("WWW-Authenticate".Equals(key, StringComparison.OrdinalIgnoreCase)) { _bits |= 536870912L; _WWWAuthenticate = value; return; } } break; case 11: { if ("Content-MD5".Equals(key, StringComparison.OrdinalIgnoreCase)) { _bits |= 65536L; _ContentMD5 = value; return; } if ("Retry-After".Equals(key, StringComparison.OrdinalIgnoreCase)) { _bits |= 33554432L; _RetryAfter = value; return; } } break; case 8: { if ("Location".Equals(key, StringComparison.OrdinalIgnoreCase)) { _bits |= 8388608L; _Location = value; return; } } break; } Unknown[key] = value; }
/// <summary> /// Sets the forwarded for value to a <see cref="LogEntry"/>. /// </summary> /// <param name="logEntry">The log entry.</param> /// <param name="forwardedFor">The forwarded for value.</param> /// <returns>The same log entry.</returns> public static LogEntry SetForwardedFor(this LogEntry logEntry, StringValues forwardedFor) => logEntry.SetForwardedFor(forwardedFor.ToArray());
public unsafe void Append(byte[] keyBytes, int keyOffset, int keyLength, string value) { fixed (byte* ptr = &keyBytes[keyOffset]) { var pUB = ptr; var pUL = (ulong*)pUB; var pUI = (uint*)pUB; var pUS = (ushort*)pUB; switch (keyLength) { case 13: { if ((((pUL[0] & 16131893727263186911uL) == 5711458528024281411uL) && ((pUI[2] & 3755991007u) == 1330795598u) && ((pUB[12] & 223u) == 76u))) { if (((_bits & 1L) != 0)) { _CacheControl = AppendValue(_CacheControl, value); } else { _bits |= 1L; _CacheControl = new StringValues(value); } return; } if ((((pUL[0] & 18437701552104792031uL) == 3266321689424580419uL) && ((pUI[2] & 3755991007u) == 1196310866u) && ((pUB[12] & 223u) == 69u))) { if (((_bits & 131072L) != 0)) { _ContentRange = AppendValue(_ContentRange, value); } else { _bits |= 131072L; _ContentRange = new StringValues(value); } return; } if ((((pUL[0] & 16131858680330051551uL) == 4922237774822850892uL) && ((pUI[2] & 3755991007u) == 1162430025u) && ((pUB[12] & 223u) == 68u))) { if (((_bits & 524288L) != 0)) { _LastModified = AppendValue(_LastModified, value); } else { _bits |= 524288L; _LastModified = new StringValues(value); } return; } if ((((pUL[0] & 16140865742145839071uL) == 5921481788798223169uL) && ((pUI[2] & 3755991007u) == 1162300993u) && ((pUB[12] & 223u) == 83u))) { if (((_bits & 1048576L) != 0)) { _AcceptRanges = AppendValue(_AcceptRanges, value); } else { _bits |= 1048576L; _AcceptRanges = new StringValues(value); } return; } } break; case 10: { if ((((pUL[0] & 16131858542891098079uL) == 5283922227757993795uL) && ((pUS[4] & 57311u) == 20047u))) { if (((_bits & 2L) != 0)) { _Connection = AppendValue(_Connection, value); } else { _bits |= 2L; _Connection = new StringValues(value); _rawConnection = null; } return; } if ((((pUL[0] & 16131858680330051551uL) == 5281668125874799947uL) && ((pUS[4] & 57311u) == 17750u))) { if (((_bits & 8L) != 0)) { _KeepAlive = AppendValue(_KeepAlive, value); } else { _bits |= 8L; _KeepAlive = new StringValues(value); } return; } if ((((pUL[0] & 16131858543427968991uL) == 5426643225946637651uL) && ((pUS[4] & 57311u) == 17737u))) { if (((_bits & 134217728L) != 0)) { _SetCookie = AppendValue(_SetCookie, value); } else { _bits |= 134217728L; _SetCookie = new StringValues(value); } return; } } break; case 4: { if ((((pUI[0] & 3755991007u) == 1163149636u))) { if (((_bits & 4L) != 0)) { _Date = AppendValue(_Date, value); } else { _bits |= 4L; _Date = new StringValues(value); _rawDate = null; } return; } if ((((pUI[0] & 3755991007u) == 1195463749u))) { if (((_bits & 4194304L) != 0)) { _ETag = AppendValue(_ETag, value); } else { _bits |= 4194304L; _ETag = new StringValues(value); } return; } if ((((pUI[0] & 3755991007u) == 1498562902u))) { if (((_bits & 268435456L) != 0)) { _Vary = AppendValue(_Vary, value); } else { _bits |= 268435456L; _Vary = new StringValues(value); } return; } } break; case 6: { if ((((pUI[0] & 3755991007u) == 1195463248u) && ((pUS[2] & 57311u) == 16717u))) { if (((_bits & 16L) != 0)) { _Pragma = AppendValue(_Pragma, value); } else { _bits |= 16L; _Pragma = new StringValues(value); } return; } if ((((pUI[0] & 3755991007u) == 1448232275u) && ((pUS[2] & 57311u) == 21061u))) { if (((_bits & 67108864L) != 0)) { _Server = AppendValue(_Server, value); } else { _bits |= 67108864L; _Server = new StringValues(value); _rawServer = null; } return; } } break; case 7: { if ((((pUI[0] & 3755991007u) == 1229017684u) && ((pUS[2] & 57311u) == 17740u) && ((pUB[6] & 223u) == 82u))) { if (((_bits & 32L) != 0)) { _Trailer = AppendValue(_Trailer, value); } else { _bits |= 32L; _Trailer = new StringValues(value); } return; } if ((((pUI[0] & 3755991007u) == 1380405333u) && ((pUS[2] & 57311u) == 17473u) && ((pUB[6] & 223u) == 69u))) { if (((_bits & 128L) != 0)) { _Upgrade = AppendValue(_Upgrade, value); } else { _bits |= 128L; _Upgrade = new StringValues(value); } return; } if ((((pUI[0] & 3755991007u) == 1314013527u) && ((pUS[2] & 57311u) == 20041u) && ((pUB[6] & 223u) == 71u))) { if (((_bits & 512L) != 0)) { _Warning = AppendValue(_Warning, value); } else { _bits |= 512L; _Warning = new StringValues(value); } return; } if ((((pUI[0] & 3755991007u) == 1230002245u) && ((pUS[2] & 57311u) == 17746u) && ((pUB[6] & 223u) == 83u))) { if (((_bits & 262144L) != 0)) { _Expires = AppendValue(_Expires, value); } else { _bits |= 262144L; _Expires = new StringValues(value); } return; } } break; case 17: { if ((((pUL[0] & 16131858542891098079uL) == 5928221808112259668uL) && ((pUL[1] & 16131858542891098111uL) == 5641115115480565037uL) && ((pUB[16] & 223u) == 71u))) { if (((_bits & 64L) != 0)) { _TransferEncoding = AppendValue(_TransferEncoding, value); } else { _bits |= 64L; _TransferEncoding = new StringValues(value); _rawTransferEncoding = null; } return; } if ((((pUL[0] & 16131893727263186911uL) == 6143241228466999888uL) && ((pUL[1] & 16131858542891098079uL) == 6071207754897639508uL) && ((pUB[16] & 223u) == 69u))) { if (((_bits & 16777216L) != 0)) { _ProxyAutheticate = AppendValue(_ProxyAutheticate, value); } else { _bits |= 16777216L; _ProxyAutheticate = new StringValues(value); } return; } } break; case 3: { if ((((pUS[0] & 57311u) == 18774u) && ((pUB[2] & 223u) == 65u))) { if (((_bits & 256L) != 0)) { _Via = AppendValue(_Via, value); } else { _bits |= 256L; _Via = new StringValues(value); } return; } if ((((pUS[0] & 57311u) == 18241u) && ((pUB[2] & 223u) == 69u))) { if (((_bits & 2097152L) != 0)) { _Age = AppendValue(_Age, value); } else { _bits |= 2097152L; _Age = new StringValues(value); } return; } } break; case 5: { if ((((pUI[0] & 3755991007u) == 1330400321u) && ((pUB[4] & 223u) == 87u))) { if (((_bits & 1024L) != 0)) { _Allow = AppendValue(_Allow, value); } else { _bits |= 1024L; _Allow = new StringValues(value); } return; } } break; case 14: { if ((((pUL[0] & 18437701552104792031uL) == 3266321689424580419uL) && ((pUI[2] & 3755991007u) == 1196311884u) && ((pUS[6] & 57311u) == 18516u))) { if (((_bits & 2048L) != 0)) { _ContentLength = AppendValue(_ContentLength, value); } else { _bits |= 2048L; _ContentLength = new StringValues(value); _rawContentLength = null; } return; } } break; case 12: { if ((((pUL[0] & 18437701552104792031uL) == 3266321689424580419uL) && ((pUI[2] & 3755991007u) == 1162893652u))) { if (((_bits & 4096L) != 0)) { _ContentType = AppendValue(_ContentType, value); } else { _bits |= 4096L; _ContentType = new StringValues(value); } return; } } break; case 16: { if ((((pUL[0] & 18437701552104792031uL) == 3266321689424580419uL) && ((pUL[1] & 16131858542891098079uL) == 5138124782612729413uL))) { if (((_bits & 8192L) != 0)) { _ContentEncoding = AppendValue(_ContentEncoding, value); } else { _bits |= 8192L; _ContentEncoding = new StringValues(value); } return; } if ((((pUL[0] & 18437701552104792031uL) == 3266321689424580419uL) && ((pUL[1] & 16131858542891098079uL) == 4992030546487820620uL))) { if (((_bits & 16384L) != 0)) { _ContentLanguage = AppendValue(_ContentLanguage, value); } else { _bits |= 16384L; _ContentLanguage = new StringValues(value); } return; } if ((((pUL[0] & 18437701552104792031uL) == 3266321689424580419uL) && ((pUL[1] & 16131858542891098079uL) == 5642809484339531596uL))) { if (((_bits & 32768L) != 0)) { _ContentLocation = AppendValue(_ContentLocation, value); } else { _bits |= 32768L; _ContentLocation = new StringValues(value); } return; } if ((((pUL[0] & 16131858543427968991uL) == 5211884407196440407uL) && ((pUL[1] & 16131858542891098079uL) == 4995689643909598789uL))) { if (((_bits & 536870912L) != 0)) { _WWWAuthenticate = AppendValue(_WWWAuthenticate, value); } else { _bits |= 536870912L; _WWWAuthenticate = new StringValues(value); } return; } } break; case 11: { if ((((pUL[0] & 18437701552104792031uL) == 3266321689424580419uL) && ((pUS[4] & 57311u) == 17485u) && ((pUB[10] & 255u) == 53u))) { if (((_bits & 65536L) != 0)) { _ContentMD5 = AppendValue(_ContentMD5, value); } else { _bits |= 65536L; _ContentMD5 = new StringValues(value); } return; } if ((((pUL[0] & 16131893727263186911uL) == 5062377317797741906uL) && ((pUS[4] & 57311u) == 17748u) && ((pUB[10] & 223u) == 82u))) { if (((_bits & 33554432L) != 0)) { _RetryAfter = AppendValue(_RetryAfter, value); } else { _bits |= 33554432L; _RetryAfter = new StringValues(value); } return; } } break; case 8: { if ((((pUL[0] & 16131858542891098079uL) == 5642809484339531596uL))) { if (((_bits & 8388608L) != 0)) { _Location = AppendValue(_Location, value); } else { _bits |= 8388608L; _Location = new StringValues(value); } return; } } break; case 32: { if ((((pUL[0] & 16140865742145839071uL) == 4840616791602578241uL) && ((pUL[1] & 16140865742145839071uL) == 4696493889984679503uL) && ((pUL[2] & 16131858680330051551uL) == 4995128798724705356uL) && ((pUL[3] & 16131858542891098079uL) == 6002244186580862276uL))) { if (((_bits & 1073741824L) != 0)) { _AccessControlAllowCredentials = AppendValue(_AccessControlAllowCredentials, value); } else { _bits |= 1073741824L; _AccessControlAllowCredentials = new StringValues(value); } return; } } break; case 28: { if ((((pUL[0] & 16140865742145839071uL) == 4840616791602578241uL) && ((pUL[1] & 16140865742145839071uL) == 4696493889984679503uL) && ((pUL[2] & 16131858680330051551uL) == 4703244745433893964uL) && ((pUI[6] & 3755991007u) == 1397900612u))) { if (((_bits & 2147483648L) != 0)) { _AccessControlAllowHeaders = AppendValue(_AccessControlAllowHeaders, value); } else { _bits |= 2147483648L; _AccessControlAllowHeaders = new StringValues(value); } return; } if ((((pUL[0] & 16140865742145839071uL) == 4840616791602578241uL) && ((pUL[1] & 16140865742145839071uL) == 4696493889984679503uL) && ((pUL[2] & 16131858680330051551uL) == 6072344529712663628uL) && ((pUI[6] & 3755991007u) == 1396985672u))) { if (((_bits & 4294967296L) != 0)) { _AccessControlAllowMethods = AppendValue(_AccessControlAllowMethods, value); } else { _bits |= 4294967296L; _AccessControlAllowMethods = new StringValues(value); } return; } } break; case 27: { if ((((pUL[0] & 16140865742145839071uL) == 4840616791602578241uL) && ((pUL[1] & 16140865742145839071uL) == 4696493889984679503uL) && ((pUL[2] & 16131858680330051551uL) == 5283372369015950412uL) && ((pUS[12] & 57311u) == 18759u) && ((pUB[26] & 223u) == 78u))) { if (((_bits & 8589934592L) != 0)) { _AccessControlAllowOrigin = AppendValue(_AccessControlAllowOrigin, value); } else { _bits |= 8589934592L; _AccessControlAllowOrigin = new StringValues(value); } return; } } break; case 29: { if ((((pUL[0] & 16140865742145839071uL) == 4840616791602578241uL) && ((pUL[1] & 16140865742145839071uL) == 4984724266136391247uL) && ((pUL[2] & 16131893727263186911uL) == 4992289962713895000uL) && ((pUI[6] & 3755991007u) == 1380271169u) && ((pUB[28] & 223u) == 83u))) { if (((_bits & 17179869184L) != 0)) { _AccessControlExposeHeaders = AppendValue(_AccessControlExposeHeaders, value); } else { _bits |= 17179869184L; _AccessControlExposeHeaders = new StringValues(value); } return; } } break; case 22: { if ((((pUL[0] & 16140865742145839071uL) == 4840616791602578241uL) && ((pUL[1] & 16140865742145839071uL) == 5561185018439814735uL) && ((pUI[4] & 3758088159u) == 1093490753u) && ((pUS[10] & 57311u) == 17735u))) { if (((_bits & 34359738368L) != 0)) { _AccessControlMaxAge = AppendValue(_AccessControlMaxAge, value); } else { _bits |= 34359738368L; _AccessControlMaxAge = new StringValues(value); } return; } } break; } } var key = System.Text.Encoding.ASCII.GetString(keyBytes, keyOffset, keyLength); StringValues existing; Unknown.TryGetValue(key, out existing); Unknown[key] = AppendValue(existing, value); }
protected virtual void SetValueFast(string key, StringValues value) { throw new NotImplementedException(); }
protected override void AddValueFast(string key, StringValues value) { switch (key.Length) { case 13: { if ("Cache-Control".Equals(key, StringComparison.OrdinalIgnoreCase)) { if (((_bits & 1L) != 0)) { throw new ArgumentException("An item with the same key has already been added."); } _bits |= 1L; _CacheControl = value; return; } if ("Content-Range".Equals(key, StringComparison.OrdinalIgnoreCase)) { if (((_bits & 131072L) != 0)) { throw new ArgumentException("An item with the same key has already been added."); } _bits |= 131072L; _ContentRange = value; return; } if ("Last-Modified".Equals(key, StringComparison.OrdinalIgnoreCase)) { if (((_bits & 524288L) != 0)) { throw new ArgumentException("An item with the same key has already been added."); } _bits |= 524288L; _LastModified = value; return; } if ("Accept-Ranges".Equals(key, StringComparison.OrdinalIgnoreCase)) { if (((_bits & 1048576L) != 0)) { throw new ArgumentException("An item with the same key has already been added."); } _bits |= 1048576L; _AcceptRanges = value; return; } } break; case 10: { if ("Connection".Equals(key, StringComparison.OrdinalIgnoreCase)) { if (((_bits & 2L) != 0)) { throw new ArgumentException("An item with the same key has already been added."); } _bits |= 2L; _Connection = value; _rawConnection = null; return; } if ("Keep-Alive".Equals(key, StringComparison.OrdinalIgnoreCase)) { if (((_bits & 8L) != 0)) { throw new ArgumentException("An item with the same key has already been added."); } _bits |= 8L; _KeepAlive = value; return; } if ("Set-Cookie".Equals(key, StringComparison.OrdinalIgnoreCase)) { if (((_bits & 134217728L) != 0)) { throw new ArgumentException("An item with the same key has already been added."); } _bits |= 134217728L; _SetCookie = value; return; } } break; case 4: { if ("Date".Equals(key, StringComparison.OrdinalIgnoreCase)) { if (((_bits & 4L) != 0)) { throw new ArgumentException("An item with the same key has already been added."); } _bits |= 4L; _Date = value; _rawDate = null; return; } if ("ETag".Equals(key, StringComparison.OrdinalIgnoreCase)) { if (((_bits & 4194304L) != 0)) { throw new ArgumentException("An item with the same key has already been added."); } _bits |= 4194304L; _ETag = value; return; } if ("Vary".Equals(key, StringComparison.OrdinalIgnoreCase)) { if (((_bits & 268435456L) != 0)) { throw new ArgumentException("An item with the same key has already been added."); } _bits |= 268435456L; _Vary = value; return; } } break; case 6: { if ("Pragma".Equals(key, StringComparison.OrdinalIgnoreCase)) { if (((_bits & 16L) != 0)) { throw new ArgumentException("An item with the same key has already been added."); } _bits |= 16L; _Pragma = value; return; } if ("Server".Equals(key, StringComparison.OrdinalIgnoreCase)) { if (((_bits & 67108864L) != 0)) { throw new ArgumentException("An item with the same key has already been added."); } _bits |= 67108864L; _Server = value; _rawServer = null; return; } } break; case 7: { if ("Trailer".Equals(key, StringComparison.OrdinalIgnoreCase)) { if (((_bits & 32L) != 0)) { throw new ArgumentException("An item with the same key has already been added."); } _bits |= 32L; _Trailer = value; return; } if ("Upgrade".Equals(key, StringComparison.OrdinalIgnoreCase)) { if (((_bits & 128L) != 0)) { throw new ArgumentException("An item with the same key has already been added."); } _bits |= 128L; _Upgrade = value; return; } if ("Warning".Equals(key, StringComparison.OrdinalIgnoreCase)) { if (((_bits & 512L) != 0)) { throw new ArgumentException("An item with the same key has already been added."); } _bits |= 512L; _Warning = value; return; } if ("Expires".Equals(key, StringComparison.OrdinalIgnoreCase)) { if (((_bits & 262144L) != 0)) { throw new ArgumentException("An item with the same key has already been added."); } _bits |= 262144L; _Expires = value; return; } } break; case 17: { if ("Transfer-Encoding".Equals(key, StringComparison.OrdinalIgnoreCase)) { if (((_bits & 64L) != 0)) { throw new ArgumentException("An item with the same key has already been added."); } _bits |= 64L; _TransferEncoding = value; _rawTransferEncoding = null; return; } if ("Proxy-Autheticate".Equals(key, StringComparison.OrdinalIgnoreCase)) { if (((_bits & 16777216L) != 0)) { throw new ArgumentException("An item with the same key has already been added."); } _bits |= 16777216L; _ProxyAutheticate = value; return; } } break; case 3: { if ("Via".Equals(key, StringComparison.OrdinalIgnoreCase)) { if (((_bits & 256L) != 0)) { throw new ArgumentException("An item with the same key has already been added."); } _bits |= 256L; _Via = value; return; } if ("Age".Equals(key, StringComparison.OrdinalIgnoreCase)) { if (((_bits & 2097152L) != 0)) { throw new ArgumentException("An item with the same key has already been added."); } _bits |= 2097152L; _Age = value; return; } } break; case 5: { if ("Allow".Equals(key, StringComparison.OrdinalIgnoreCase)) { if (((_bits & 1024L) != 0)) { throw new ArgumentException("An item with the same key has already been added."); } _bits |= 1024L; _Allow = value; return; } } break; case 14: { if ("Content-Length".Equals(key, StringComparison.OrdinalIgnoreCase)) { if (((_bits & 2048L) != 0)) { throw new ArgumentException("An item with the same key has already been added."); } _bits |= 2048L; _ContentLength = value; _rawContentLength = null; return; } } break; case 12: { if ("Content-Type".Equals(key, StringComparison.OrdinalIgnoreCase)) { if (((_bits & 4096L) != 0)) { throw new ArgumentException("An item with the same key has already been added."); } _bits |= 4096L; _ContentType = value; return; } } break; case 16: { if ("Content-Encoding".Equals(key, StringComparison.OrdinalIgnoreCase)) { if (((_bits & 8192L) != 0)) { throw new ArgumentException("An item with the same key has already been added."); } _bits |= 8192L; _ContentEncoding = value; return; } if ("Content-Language".Equals(key, StringComparison.OrdinalIgnoreCase)) { if (((_bits & 16384L) != 0)) { throw new ArgumentException("An item with the same key has already been added."); } _bits |= 16384L; _ContentLanguage = value; return; } if ("Content-Location".Equals(key, StringComparison.OrdinalIgnoreCase)) { if (((_bits & 32768L) != 0)) { throw new ArgumentException("An item with the same key has already been added."); } _bits |= 32768L; _ContentLocation = value; return; } if ("WWW-Authenticate".Equals(key, StringComparison.OrdinalIgnoreCase)) { if (((_bits & 536870912L) != 0)) { throw new ArgumentException("An item with the same key has already been added."); } _bits |= 536870912L; _WWWAuthenticate = value; return; } } break; case 11: { if ("Content-MD5".Equals(key, StringComparison.OrdinalIgnoreCase)) { if (((_bits & 65536L) != 0)) { throw new ArgumentException("An item with the same key has already been added."); } _bits |= 65536L; _ContentMD5 = value; return; } if ("Retry-After".Equals(key, StringComparison.OrdinalIgnoreCase)) { if (((_bits & 33554432L) != 0)) { throw new ArgumentException("An item with the same key has already been added."); } _bits |= 33554432L; _RetryAfter = value; return; } } break; case 8: { if ("Location".Equals(key, StringComparison.OrdinalIgnoreCase)) { if (((_bits & 8388608L) != 0)) { throw new ArgumentException("An item with the same key has already been added."); } _bits |= 8388608L; _Location = value; return; } } break; case 32: { if ("Access-Control-Allow-Credentials".Equals(key, StringComparison.OrdinalIgnoreCase)) { if (((_bits & 1073741824L) != 0)) { throw new ArgumentException("An item with the same key has already been added."); } _bits |= 1073741824L; _AccessControlAllowCredentials = value; return; } } break; case 28: { if ("Access-Control-Allow-Headers".Equals(key, StringComparison.OrdinalIgnoreCase)) { if (((_bits & 2147483648L) != 0)) { throw new ArgumentException("An item with the same key has already been added."); } _bits |= 2147483648L; _AccessControlAllowHeaders = value; return; } if ("Access-Control-Allow-Methods".Equals(key, StringComparison.OrdinalIgnoreCase)) { if (((_bits & 4294967296L) != 0)) { throw new ArgumentException("An item with the same key has already been added."); } _bits |= 4294967296L; _AccessControlAllowMethods = value; return; } } break; case 27: { if ("Access-Control-Allow-Origin".Equals(key, StringComparison.OrdinalIgnoreCase)) { if (((_bits & 8589934592L) != 0)) { throw new ArgumentException("An item with the same key has already been added."); } _bits |= 8589934592L; _AccessControlAllowOrigin = value; return; } } break; case 29: { if ("Access-Control-Expose-Headers".Equals(key, StringComparison.OrdinalIgnoreCase)) { if (((_bits & 17179869184L) != 0)) { throw new ArgumentException("An item with the same key has already been added."); } _bits |= 17179869184L; _AccessControlExposeHeaders = value; return; } } break; case 22: { if ("Access-Control-Max-Age".Equals(key, StringComparison.OrdinalIgnoreCase)) { if (((_bits & 34359738368L) != 0)) { throw new ArgumentException("An item with the same key has already been added."); } _bits |= 34359738368L; _AccessControlMaxAge = value; return; } } break; } Unknown.Add(key, value); }
protected override bool RemoveFast(string key) { switch (key.Length) { case 13: { if ("Cache-Control".Equals(key, StringComparison.OrdinalIgnoreCase)) { if (((_bits & 1L) != 0)) { _bits &= ~1L; _CacheControl = StringValues.Empty; return true; } else { return false; } } if ("Content-Range".Equals(key, StringComparison.OrdinalIgnoreCase)) { if (((_bits & 131072L) != 0)) { _bits &= ~131072L; _ContentRange = StringValues.Empty; return true; } else { return false; } } if ("Last-Modified".Equals(key, StringComparison.OrdinalIgnoreCase)) { if (((_bits & 524288L) != 0)) { _bits &= ~524288L; _LastModified = StringValues.Empty; return true; } else { return false; } } if ("Accept-Ranges".Equals(key, StringComparison.OrdinalIgnoreCase)) { if (((_bits & 1048576L) != 0)) { _bits &= ~1048576L; _AcceptRanges = StringValues.Empty; return true; } else { return false; } } } break; case 10: { if ("Connection".Equals(key, StringComparison.OrdinalIgnoreCase)) { if (((_bits & 2L) != 0)) { _bits &= ~2L; _Connection = StringValues.Empty; _rawConnection = null; return true; } else { return false; } } if ("Keep-Alive".Equals(key, StringComparison.OrdinalIgnoreCase)) { if (((_bits & 8L) != 0)) { _bits &= ~8L; _KeepAlive = StringValues.Empty; return true; } else { return false; } } if ("Set-Cookie".Equals(key, StringComparison.OrdinalIgnoreCase)) { if (((_bits & 134217728L) != 0)) { _bits &= ~134217728L; _SetCookie = StringValues.Empty; return true; } else { return false; } } } break; case 4: { if ("Date".Equals(key, StringComparison.OrdinalIgnoreCase)) { if (((_bits & 4L) != 0)) { _bits &= ~4L; _Date = StringValues.Empty; _rawDate = null; return true; } else { return false; } } if ("ETag".Equals(key, StringComparison.OrdinalIgnoreCase)) { if (((_bits & 4194304L) != 0)) { _bits &= ~4194304L; _ETag = StringValues.Empty; return true; } else { return false; } } if ("Vary".Equals(key, StringComparison.OrdinalIgnoreCase)) { if (((_bits & 268435456L) != 0)) { _bits &= ~268435456L; _Vary = StringValues.Empty; return true; } else { return false; } } } break; case 6: { if ("Pragma".Equals(key, StringComparison.OrdinalIgnoreCase)) { if (((_bits & 16L) != 0)) { _bits &= ~16L; _Pragma = StringValues.Empty; return true; } else { return false; } } if ("Server".Equals(key, StringComparison.OrdinalIgnoreCase)) { if (((_bits & 67108864L) != 0)) { _bits &= ~67108864L; _Server = StringValues.Empty; _rawServer = null; return true; } else { return false; } } } break; case 7: { if ("Trailer".Equals(key, StringComparison.OrdinalIgnoreCase)) { if (((_bits & 32L) != 0)) { _bits &= ~32L; _Trailer = StringValues.Empty; return true; } else { return false; } } if ("Upgrade".Equals(key, StringComparison.OrdinalIgnoreCase)) { if (((_bits & 128L) != 0)) { _bits &= ~128L; _Upgrade = StringValues.Empty; return true; } else { return false; } } if ("Warning".Equals(key, StringComparison.OrdinalIgnoreCase)) { if (((_bits & 512L) != 0)) { _bits &= ~512L; _Warning = StringValues.Empty; return true; } else { return false; } } if ("Expires".Equals(key, StringComparison.OrdinalIgnoreCase)) { if (((_bits & 262144L) != 0)) { _bits &= ~262144L; _Expires = StringValues.Empty; return true; } else { return false; } } } break; case 17: { if ("Transfer-Encoding".Equals(key, StringComparison.OrdinalIgnoreCase)) { if (((_bits & 64L) != 0)) { _bits &= ~64L; _TransferEncoding = StringValues.Empty; _rawTransferEncoding = null; return true; } else { return false; } } if ("Proxy-Autheticate".Equals(key, StringComparison.OrdinalIgnoreCase)) { if (((_bits & 16777216L) != 0)) { _bits &= ~16777216L; _ProxyAutheticate = StringValues.Empty; return true; } else { return false; } } } break; case 3: { if ("Via".Equals(key, StringComparison.OrdinalIgnoreCase)) { if (((_bits & 256L) != 0)) { _bits &= ~256L; _Via = StringValues.Empty; return true; } else { return false; } } if ("Age".Equals(key, StringComparison.OrdinalIgnoreCase)) { if (((_bits & 2097152L) != 0)) { _bits &= ~2097152L; _Age = StringValues.Empty; return true; } else { return false; } } } break; case 5: { if ("Allow".Equals(key, StringComparison.OrdinalIgnoreCase)) { if (((_bits & 1024L) != 0)) { _bits &= ~1024L; _Allow = StringValues.Empty; return true; } else { return false; } } } break; case 14: { if ("Content-Length".Equals(key, StringComparison.OrdinalIgnoreCase)) { if (((_bits & 2048L) != 0)) { _bits &= ~2048L; _ContentLength = StringValues.Empty; _rawContentLength = null; return true; } else { return false; } } } break; case 12: { if ("Content-Type".Equals(key, StringComparison.OrdinalIgnoreCase)) { if (((_bits & 4096L) != 0)) { _bits &= ~4096L; _ContentType = StringValues.Empty; return true; } else { return false; } } } break; case 16: { if ("Content-Encoding".Equals(key, StringComparison.OrdinalIgnoreCase)) { if (((_bits & 8192L) != 0)) { _bits &= ~8192L; _ContentEncoding = StringValues.Empty; return true; } else { return false; } } if ("Content-Language".Equals(key, StringComparison.OrdinalIgnoreCase)) { if (((_bits & 16384L) != 0)) { _bits &= ~16384L; _ContentLanguage = StringValues.Empty; return true; } else { return false; } } if ("Content-Location".Equals(key, StringComparison.OrdinalIgnoreCase)) { if (((_bits & 32768L) != 0)) { _bits &= ~32768L; _ContentLocation = StringValues.Empty; return true; } else { return false; } } if ("WWW-Authenticate".Equals(key, StringComparison.OrdinalIgnoreCase)) { if (((_bits & 536870912L) != 0)) { _bits &= ~536870912L; _WWWAuthenticate = StringValues.Empty; return true; } else { return false; } } } break; case 11: { if ("Content-MD5".Equals(key, StringComparison.OrdinalIgnoreCase)) { if (((_bits & 65536L) != 0)) { _bits &= ~65536L; _ContentMD5 = StringValues.Empty; return true; } else { return false; } } if ("Retry-After".Equals(key, StringComparison.OrdinalIgnoreCase)) { if (((_bits & 33554432L) != 0)) { _bits &= ~33554432L; _RetryAfter = StringValues.Empty; return true; } else { return false; } } } break; case 8: { if ("Location".Equals(key, StringComparison.OrdinalIgnoreCase)) { if (((_bits & 8388608L) != 0)) { _bits &= ~8388608L; _Location = StringValues.Empty; return true; } else { return false; } } } break; case 32: { if ("Access-Control-Allow-Credentials".Equals(key, StringComparison.OrdinalIgnoreCase)) { if (((_bits & 1073741824L) != 0)) { _bits &= ~1073741824L; _AccessControlAllowCredentials = StringValues.Empty; return true; } else { return false; } } } break; case 28: { if ("Access-Control-Allow-Headers".Equals(key, StringComparison.OrdinalIgnoreCase)) { if (((_bits & 2147483648L) != 0)) { _bits &= ~2147483648L; _AccessControlAllowHeaders = StringValues.Empty; return true; } else { return false; } } if ("Access-Control-Allow-Methods".Equals(key, StringComparison.OrdinalIgnoreCase)) { if (((_bits & 4294967296L) != 0)) { _bits &= ~4294967296L; _AccessControlAllowMethods = StringValues.Empty; return true; } else { return false; } } } break; case 27: { if ("Access-Control-Allow-Origin".Equals(key, StringComparison.OrdinalIgnoreCase)) { if (((_bits & 8589934592L) != 0)) { _bits &= ~8589934592L; _AccessControlAllowOrigin = StringValues.Empty; return true; } else { return false; } } } break; case 29: { if ("Access-Control-Expose-Headers".Equals(key, StringComparison.OrdinalIgnoreCase)) { if (((_bits & 17179869184L) != 0)) { _bits &= ~17179869184L; _AccessControlExposeHeaders = StringValues.Empty; return true; } else { return false; } } } break; case 22: { if ("Access-Control-Max-Age".Equals(key, StringComparison.OrdinalIgnoreCase)) { if (((_bits & 34359738368L) != 0)) { _bits &= ~34359738368L; _AccessControlMaxAge = StringValues.Empty; return true; } else { return false; } } } break; } return MaybeUnknown?.Remove(key) ?? false; }
public void SetRawServer(StringValues value, byte[] raw) { _bits |= 67108864L; _Server = value; _rawServer = raw; }
protected override bool TryGetValueFast(string key, out StringValues value) { switch (key.Length) { case 13: { if ("Cache-Control".Equals(key, StringComparison.OrdinalIgnoreCase)) { if (((_bits & 1L) != 0)) { value = _CacheControl; return true; } else { value = StringValues.Empty; return false; } } if ("Content-Range".Equals(key, StringComparison.OrdinalIgnoreCase)) { if (((_bits & 131072L) != 0)) { value = _ContentRange; return true; } else { value = StringValues.Empty; return false; } } if ("Last-Modified".Equals(key, StringComparison.OrdinalIgnoreCase)) { if (((_bits & 524288L) != 0)) { value = _LastModified; return true; } else { value = StringValues.Empty; return false; } } if ("Accept-Ranges".Equals(key, StringComparison.OrdinalIgnoreCase)) { if (((_bits & 1048576L) != 0)) { value = _AcceptRanges; return true; } else { value = StringValues.Empty; return false; } } } break; case 10: { if ("Connection".Equals(key, StringComparison.OrdinalIgnoreCase)) { if (((_bits & 2L) != 0)) { value = _Connection; return true; } else { value = StringValues.Empty; return false; } } if ("Keep-Alive".Equals(key, StringComparison.OrdinalIgnoreCase)) { if (((_bits & 8L) != 0)) { value = _KeepAlive; return true; } else { value = StringValues.Empty; return false; } } if ("Set-Cookie".Equals(key, StringComparison.OrdinalIgnoreCase)) { if (((_bits & 134217728L) != 0)) { value = _SetCookie; return true; } else { value = StringValues.Empty; return false; } } } break; case 4: { if ("Date".Equals(key, StringComparison.OrdinalIgnoreCase)) { if (((_bits & 4L) != 0)) { value = _Date; return true; } else { value = StringValues.Empty; return false; } } if ("ETag".Equals(key, StringComparison.OrdinalIgnoreCase)) { if (((_bits & 4194304L) != 0)) { value = _ETag; return true; } else { value = StringValues.Empty; return false; } } if ("Vary".Equals(key, StringComparison.OrdinalIgnoreCase)) { if (((_bits & 268435456L) != 0)) { value = _Vary; return true; } else { value = StringValues.Empty; return false; } } } break; case 6: { if ("Pragma".Equals(key, StringComparison.OrdinalIgnoreCase)) { if (((_bits & 16L) != 0)) { value = _Pragma; return true; } else { value = StringValues.Empty; return false; } } if ("Server".Equals(key, StringComparison.OrdinalIgnoreCase)) { if (((_bits & 67108864L) != 0)) { value = _Server; return true; } else { value = StringValues.Empty; return false; } } } break; case 7: { if ("Trailer".Equals(key, StringComparison.OrdinalIgnoreCase)) { if (((_bits & 32L) != 0)) { value = _Trailer; return true; } else { value = StringValues.Empty; return false; } } if ("Upgrade".Equals(key, StringComparison.OrdinalIgnoreCase)) { if (((_bits & 128L) != 0)) { value = _Upgrade; return true; } else { value = StringValues.Empty; return false; } } if ("Warning".Equals(key, StringComparison.OrdinalIgnoreCase)) { if (((_bits & 512L) != 0)) { value = _Warning; return true; } else { value = StringValues.Empty; return false; } } if ("Expires".Equals(key, StringComparison.OrdinalIgnoreCase)) { if (((_bits & 262144L) != 0)) { value = _Expires; return true; } else { value = StringValues.Empty; return false; } } } break; case 17: { if ("Transfer-Encoding".Equals(key, StringComparison.OrdinalIgnoreCase)) { if (((_bits & 64L) != 0)) { value = _TransferEncoding; return true; } else { value = StringValues.Empty; return false; } } if ("Proxy-Autheticate".Equals(key, StringComparison.OrdinalIgnoreCase)) { if (((_bits & 16777216L) != 0)) { value = _ProxyAutheticate; return true; } else { value = StringValues.Empty; return false; } } } break; case 3: { if ("Via".Equals(key, StringComparison.OrdinalIgnoreCase)) { if (((_bits & 256L) != 0)) { value = _Via; return true; } else { value = StringValues.Empty; return false; } } if ("Age".Equals(key, StringComparison.OrdinalIgnoreCase)) { if (((_bits & 2097152L) != 0)) { value = _Age; return true; } else { value = StringValues.Empty; return false; } } } break; case 5: { if ("Allow".Equals(key, StringComparison.OrdinalIgnoreCase)) { if (((_bits & 1024L) != 0)) { value = _Allow; return true; } else { value = StringValues.Empty; return false; } } } break; case 14: { if ("Content-Length".Equals(key, StringComparison.OrdinalIgnoreCase)) { if (((_bits & 2048L) != 0)) { value = _ContentLength; return true; } else { value = StringValues.Empty; return false; } } } break; case 12: { if ("Content-Type".Equals(key, StringComparison.OrdinalIgnoreCase)) { if (((_bits & 4096L) != 0)) { value = _ContentType; return true; } else { value = StringValues.Empty; return false; } } } break; case 16: { if ("Content-Encoding".Equals(key, StringComparison.OrdinalIgnoreCase)) { if (((_bits & 8192L) != 0)) { value = _ContentEncoding; return true; } else { value = StringValues.Empty; return false; } } if ("Content-Language".Equals(key, StringComparison.OrdinalIgnoreCase)) { if (((_bits & 16384L) != 0)) { value = _ContentLanguage; return true; } else { value = StringValues.Empty; return false; } } if ("Content-Location".Equals(key, StringComparison.OrdinalIgnoreCase)) { if (((_bits & 32768L) != 0)) { value = _ContentLocation; return true; } else { value = StringValues.Empty; return false; } } if ("WWW-Authenticate".Equals(key, StringComparison.OrdinalIgnoreCase)) { if (((_bits & 536870912L) != 0)) { value = _WWWAuthenticate; return true; } else { value = StringValues.Empty; return false; } } } break; case 11: { if ("Content-MD5".Equals(key, StringComparison.OrdinalIgnoreCase)) { if (((_bits & 65536L) != 0)) { value = _ContentMD5; return true; } else { value = StringValues.Empty; return false; } } if ("Retry-After".Equals(key, StringComparison.OrdinalIgnoreCase)) { if (((_bits & 33554432L) != 0)) { value = _RetryAfter; return true; } else { value = StringValues.Empty; return false; } } } break; case 8: { if ("Location".Equals(key, StringComparison.OrdinalIgnoreCase)) { if (((_bits & 8388608L) != 0)) { value = _Location; return true; } else { value = StringValues.Empty; return false; } } } break; case 32: { if ("Access-Control-Allow-Credentials".Equals(key, StringComparison.OrdinalIgnoreCase)) { if (((_bits & 1073741824L) != 0)) { value = _AccessControlAllowCredentials; return true; } else { value = StringValues.Empty; return false; } } } break; case 28: { if ("Access-Control-Allow-Headers".Equals(key, StringComparison.OrdinalIgnoreCase)) { if (((_bits & 2147483648L) != 0)) { value = _AccessControlAllowHeaders; return true; } else { value = StringValues.Empty; return false; } } if ("Access-Control-Allow-Methods".Equals(key, StringComparison.OrdinalIgnoreCase)) { if (((_bits & 4294967296L) != 0)) { value = _AccessControlAllowMethods; return true; } else { value = StringValues.Empty; return false; } } } break; case 27: { if ("Access-Control-Allow-Origin".Equals(key, StringComparison.OrdinalIgnoreCase)) { if (((_bits & 8589934592L) != 0)) { value = _AccessControlAllowOrigin; return true; } else { value = StringValues.Empty; return false; } } } break; case 29: { if ("Access-Control-Expose-Headers".Equals(key, StringComparison.OrdinalIgnoreCase)) { if (((_bits & 17179869184L) != 0)) { value = _AccessControlExposeHeaders; return true; } else { value = StringValues.Empty; return false; } } } break; case 22: { if ("Access-Control-Max-Age".Equals(key, StringComparison.OrdinalIgnoreCase)) { if (((_bits & 34359738368L) != 0)) { value = _AccessControlMaxAge; return true; } else { value = StringValues.Empty; return false; } } } break; } value = StringValues.Empty; return MaybeUnknown?.TryGetValue(key, out value) ?? false; }
public void SetRawTransferEncoding(StringValues value, byte[] raw) { _bits |= 64L; _TransferEncoding = value; _rawTransferEncoding = raw; }
public void SetRawContentLength(StringValues value, byte[] raw) { _bits |= 2048L; _ContentLength = value; _rawContentLength = raw; }
public void SetRawConnection(StringValues value, byte[] raw) { _bits |= 2L; _Connection = value; _rawConnection = raw; }
public void SetRawDate(StringValues value, byte[] raw) { _bits |= 4L; _Date = value; _rawDate = raw; }
protected override bool RemoveFast(string key) { switch (key.Length) { case 13: { if ("Cache-Control".Equals(key, StringComparison.OrdinalIgnoreCase)) { if (((_bits & 1L) != 0)) { _bits &= ~1L; _CacheControl = StringValues.Empty; return true; } else { return false; } } if ("Content-Range".Equals(key, StringComparison.OrdinalIgnoreCase)) { if (((_bits & 131072L) != 0)) { _bits &= ~131072L; _ContentRange = StringValues.Empty; return true; } else { return false; } } if ("Last-Modified".Equals(key, StringComparison.OrdinalIgnoreCase)) { if (((_bits & 524288L) != 0)) { _bits &= ~524288L; _LastModified = StringValues.Empty; return true; } else { return false; } } if ("Authorization".Equals(key, StringComparison.OrdinalIgnoreCase)) { if (((_bits & 16777216L) != 0)) { _bits &= ~16777216L; _Authorization = StringValues.Empty; return true; } else { return false; } } if ("If-None-Match".Equals(key, StringComparison.OrdinalIgnoreCase)) { if (((_bits & 2147483648L) != 0)) { _bits &= ~2147483648L; _IfNoneMatch = StringValues.Empty; return true; } else { return false; } } } break; case 10: { if ("Connection".Equals(key, StringComparison.OrdinalIgnoreCase)) { if (((_bits & 2L) != 0)) { _bits &= ~2L; _Connection = StringValues.Empty; return true; } else { return false; } } if ("Keep-Alive".Equals(key, StringComparison.OrdinalIgnoreCase)) { if (((_bits & 8L) != 0)) { _bits &= ~8L; _KeepAlive = StringValues.Empty; return true; } else { return false; } } if ("User-Agent".Equals(key, StringComparison.OrdinalIgnoreCase)) { if (((_bits & 1099511627776L) != 0)) { _bits &= ~1099511627776L; _UserAgent = StringValues.Empty; return true; } else { return false; } } } break; case 4: { if ("Date".Equals(key, StringComparison.OrdinalIgnoreCase)) { if (((_bits & 4L) != 0)) { _bits &= ~4L; _Date = StringValues.Empty; return true; } else { return false; } } if ("From".Equals(key, StringComparison.OrdinalIgnoreCase)) { if (((_bits & 134217728L) != 0)) { _bits &= ~134217728L; _From = StringValues.Empty; return true; } else { return false; } } if ("Host".Equals(key, StringComparison.OrdinalIgnoreCase)) { if (((_bits & 268435456L) != 0)) { _bits &= ~268435456L; _Host = StringValues.Empty; return true; } else { return false; } } } break; case 6: { if ("Pragma".Equals(key, StringComparison.OrdinalIgnoreCase)) { if (((_bits & 16L) != 0)) { _bits &= ~16L; _Pragma = StringValues.Empty; return true; } else { return false; } } if ("Accept".Equals(key, StringComparison.OrdinalIgnoreCase)) { if (((_bits & 1048576L) != 0)) { _bits &= ~1048576L; _Accept = StringValues.Empty; return true; } else { return false; } } if ("Cookie".Equals(key, StringComparison.OrdinalIgnoreCase)) { if (((_bits & 33554432L) != 0)) { _bits &= ~33554432L; _Cookie = StringValues.Empty; return true; } else { return false; } } if ("Expect".Equals(key, StringComparison.OrdinalIgnoreCase)) { if (((_bits & 67108864L) != 0)) { _bits &= ~67108864L; _Expect = StringValues.Empty; return true; } else { return false; } } if ("Origin".Equals(key, StringComparison.OrdinalIgnoreCase)) { if (((_bits & 2199023255552L) != 0)) { _bits &= ~2199023255552L; _Origin = StringValues.Empty; return true; } else { return false; } } } break; case 7: { if ("Trailer".Equals(key, StringComparison.OrdinalIgnoreCase)) { if (((_bits & 32L) != 0)) { _bits &= ~32L; _Trailer = StringValues.Empty; return true; } else { return false; } } if ("Upgrade".Equals(key, StringComparison.OrdinalIgnoreCase)) { if (((_bits & 128L) != 0)) { _bits &= ~128L; _Upgrade = StringValues.Empty; return true; } else { return false; } } if ("Warning".Equals(key, StringComparison.OrdinalIgnoreCase)) { if (((_bits & 512L) != 0)) { _bits &= ~512L; _Warning = StringValues.Empty; return true; } else { return false; } } if ("Expires".Equals(key, StringComparison.OrdinalIgnoreCase)) { if (((_bits & 262144L) != 0)) { _bits &= ~262144L; _Expires = StringValues.Empty; return true; } else { return false; } } if ("Referer".Equals(key, StringComparison.OrdinalIgnoreCase)) { if (((_bits & 68719476736L) != 0)) { _bits &= ~68719476736L; _Referer = StringValues.Empty; return true; } else { return false; } } } break; case 17: { if ("Transfer-Encoding".Equals(key, StringComparison.OrdinalIgnoreCase)) { if (((_bits & 64L) != 0)) { _bits &= ~64L; _TransferEncoding = StringValues.Empty; return true; } else { return false; } } if ("If-Modified-Since".Equals(key, StringComparison.OrdinalIgnoreCase)) { if (((_bits & 1073741824L) != 0)) { _bits &= ~1073741824L; _IfModifiedSince = StringValues.Empty; return true; } else { return false; } } } break; case 3: { if ("Via".Equals(key, StringComparison.OrdinalIgnoreCase)) { if (((_bits & 256L) != 0)) { _bits &= ~256L; _Via = StringValues.Empty; return true; } else { return false; } } } break; case 5: { if ("Allow".Equals(key, StringComparison.OrdinalIgnoreCase)) { if (((_bits & 1024L) != 0)) { _bits &= ~1024L; _Allow = StringValues.Empty; return true; } else { return false; } } if ("Range".Equals(key, StringComparison.OrdinalIgnoreCase)) { if (((_bits & 137438953472L) != 0)) { _bits &= ~137438953472L; _Range = StringValues.Empty; return true; } else { return false; } } } break; case 14: { if ("Content-Length".Equals(key, StringComparison.OrdinalIgnoreCase)) { if (((_bits & 2048L) != 0)) { _bits &= ~2048L; _ContentLength = StringValues.Empty; return true; } else { return false; } } if ("Accept-Charset".Equals(key, StringComparison.OrdinalIgnoreCase)) { if (((_bits & 2097152L) != 0)) { _bits &= ~2097152L; _AcceptCharset = StringValues.Empty; return true; } else { return false; } } } break; case 12: { if ("Content-Type".Equals(key, StringComparison.OrdinalIgnoreCase)) { if (((_bits & 4096L) != 0)) { _bits &= ~4096L; _ContentType = StringValues.Empty; return true; } else { return false; } } if ("Max-Forwards".Equals(key, StringComparison.OrdinalIgnoreCase)) { if (((_bits & 17179869184L) != 0)) { _bits &= ~17179869184L; _MaxForwards = StringValues.Empty; return true; } else { return false; } } } break; case 16: { if ("Content-Encoding".Equals(key, StringComparison.OrdinalIgnoreCase)) { if (((_bits & 8192L) != 0)) { _bits &= ~8192L; _ContentEncoding = StringValues.Empty; return true; } else { return false; } } if ("Content-Language".Equals(key, StringComparison.OrdinalIgnoreCase)) { if (((_bits & 16384L) != 0)) { _bits &= ~16384L; _ContentLanguage = StringValues.Empty; return true; } else { return false; } } if ("Content-Location".Equals(key, StringComparison.OrdinalIgnoreCase)) { if (((_bits & 32768L) != 0)) { _bits &= ~32768L; _ContentLocation = StringValues.Empty; return true; } else { return false; } } } break; case 11: { if ("Content-MD5".Equals(key, StringComparison.OrdinalIgnoreCase)) { if (((_bits & 65536L) != 0)) { _bits &= ~65536L; _ContentMD5 = StringValues.Empty; return true; } else { return false; } } } break; case 15: { if ("Accept-Encoding".Equals(key, StringComparison.OrdinalIgnoreCase)) { if (((_bits & 4194304L) != 0)) { _bits &= ~4194304L; _AcceptEncoding = StringValues.Empty; return true; } else { return false; } } if ("Accept-Language".Equals(key, StringComparison.OrdinalIgnoreCase)) { if (((_bits & 8388608L) != 0)) { _bits &= ~8388608L; _AcceptLanguage = StringValues.Empty; return true; } else { return false; } } } break; case 8: { if ("If-Match".Equals(key, StringComparison.OrdinalIgnoreCase)) { if (((_bits & 536870912L) != 0)) { _bits &= ~536870912L; _IfMatch = StringValues.Empty; return true; } else { return false; } } if ("If-Range".Equals(key, StringComparison.OrdinalIgnoreCase)) { if (((_bits & 4294967296L) != 0)) { _bits &= ~4294967296L; _IfRange = StringValues.Empty; return true; } else { return false; } } } break; case 19: { if ("If-Unmodified-Since".Equals(key, StringComparison.OrdinalIgnoreCase)) { if (((_bits & 8589934592L) != 0)) { _bits &= ~8589934592L; _IfUnmodifiedSince = StringValues.Empty; return true; } else { return false; } } if ("Proxy-Authorization".Equals(key, StringComparison.OrdinalIgnoreCase)) { if (((_bits & 34359738368L) != 0)) { _bits &= ~34359738368L; _ProxyAuthorization = StringValues.Empty; return true; } else { return false; } } } break; case 2: { if ("TE".Equals(key, StringComparison.OrdinalIgnoreCase)) { if (((_bits & 274877906944L) != 0)) { _bits &= ~274877906944L; _TE = StringValues.Empty; return true; } else { return false; } } } break; case 9: { if ("Translate".Equals(key, StringComparison.OrdinalIgnoreCase)) { if (((_bits & 549755813888L) != 0)) { _bits &= ~549755813888L; _Translate = StringValues.Empty; return true; } else { return false; } } } break; case 29: { if ("Access-Control-Request-Method".Equals(key, StringComparison.OrdinalIgnoreCase)) { if (((_bits & 4398046511104L) != 0)) { _bits &= ~4398046511104L; _AccessControlRequestMethod = StringValues.Empty; return true; } else { return false; } } } break; case 30: { if ("Access-Control-Request-Headers".Equals(key, StringComparison.OrdinalIgnoreCase)) { if (((_bits & 8796093022208L) != 0)) { _bits &= ~8796093022208L; _AccessControlRequestHeaders = StringValues.Empty; return true; } else { return false; } } } break; } return MaybeUnknown?.Remove(key) ?? false; }
public unsafe void Append(byte[] keyBytes, int keyOffset, int keyLength, string value) { fixed (byte* ptr = &keyBytes[keyOffset]) { var pUB = ptr; var pUL = (ulong*)pUB; var pUI = (uint*)pUB; var pUS = (ushort*)pUB; switch (keyLength) { case 13: { if ((((pUL[0] & 16131893727263186911uL) == 5711458528024281411uL) && ((pUI[2] & 3755991007u) == 1330795598u) && ((pUB[12] & 223u) == 76u))) { if (((_bits & 1L) != 0)) { _CacheControl = AppendValue(_CacheControl, value); } else { _bits |= 1L; _CacheControl = new StringValues(value); } return; } if ((((pUL[0] & 18437701552104792031uL) == 3266321689424580419uL) && ((pUI[2] & 3755991007u) == 1196310866u) && ((pUB[12] & 223u) == 69u))) { if (((_bits & 131072L) != 0)) { _ContentRange = AppendValue(_ContentRange, value); } else { _bits |= 131072L; _ContentRange = new StringValues(value); } return; } if ((((pUL[0] & 16131858680330051551uL) == 4922237774822850892uL) && ((pUI[2] & 3755991007u) == 1162430025u) && ((pUB[12] & 223u) == 68u))) { if (((_bits & 524288L) != 0)) { _LastModified = AppendValue(_LastModified, value); } else { _bits |= 524288L; _LastModified = new StringValues(value); } return; } if ((((pUL[0] & 16131858542891098079uL) == 6505821637182772545uL) && ((pUI[2] & 3755991007u) == 1330205761u) && ((pUB[12] & 223u) == 78u))) { if (((_bits & 16777216L) != 0)) { _Authorization = AppendValue(_Authorization, value); } else { _bits |= 16777216L; _Authorization = new StringValues(value); } return; } if ((((pUL[0] & 18437701552106889183uL) == 3262099607620765257uL) && ((pUI[2] & 3755991007u) == 1129595213u) && ((pUB[12] & 223u) == 72u))) { if (((_bits & 2147483648L) != 0)) { _IfNoneMatch = AppendValue(_IfNoneMatch, value); } else { _bits |= 2147483648L; _IfNoneMatch = new StringValues(value); } return; } } break; case 10: { if ((((pUL[0] & 16131858542891098079uL) == 5283922227757993795uL) && ((pUS[4] & 57311u) == 20047u))) { if (((_bits & 2L) != 0)) { _Connection = AppendValue(_Connection, value); } else { _bits |= 2L; _Connection = new StringValues(value); } return; } if ((((pUL[0] & 16131858680330051551uL) == 5281668125874799947uL) && ((pUS[4] & 57311u) == 17750u))) { if (((_bits & 8L) != 0)) { _KeepAlive = AppendValue(_KeepAlive, value); } else { _bits |= 8L; _KeepAlive = new StringValues(value); } return; } if ((((pUL[0] & 16131858680330051551uL) == 4992030374873092949uL) && ((pUS[4] & 57311u) == 21582u))) { if (((_bits & 1099511627776L) != 0)) { _UserAgent = AppendValue(_UserAgent, value); } else { _bits |= 1099511627776L; _UserAgent = new StringValues(value); } return; } } break; case 4: { if ((((pUI[0] & 3755991007u) == 1163149636u))) { if (((_bits & 4L) != 0)) { _Date = AppendValue(_Date, value); } else { _bits |= 4L; _Date = new StringValues(value); } return; } if ((((pUI[0] & 3755991007u) == 1297044038u))) { if (((_bits & 134217728L) != 0)) { _From = AppendValue(_From, value); } else { _bits |= 134217728L; _From = new StringValues(value); } return; } if ((((pUI[0] & 3755991007u) == 1414745928u))) { if (((_bits & 268435456L) != 0)) { _Host = AppendValue(_Host, value); } else { _bits |= 268435456L; _Host = new StringValues(value); } return; } } break; case 6: { if ((((pUI[0] & 3755991007u) == 1195463248u) && ((pUS[2] & 57311u) == 16717u))) { if (((_bits & 16L) != 0)) { _Pragma = AppendValue(_Pragma, value); } else { _bits |= 16L; _Pragma = new StringValues(value); } return; } if ((((pUI[0] & 3755991007u) == 1162036033u) && ((pUS[2] & 57311u) == 21584u))) { if (((_bits & 1048576L) != 0)) { _Accept = AppendValue(_Accept, value); } else { _bits |= 1048576L; _Accept = new StringValues(value); } return; } if ((((pUI[0] & 3755991007u) == 1263488835u) && ((pUS[2] & 57311u) == 17737u))) { if (((_bits & 33554432L) != 0)) { _Cookie = AppendValue(_Cookie, value); } else { _bits |= 33554432L; _Cookie = new StringValues(value); } return; } if ((((pUI[0] & 3755991007u) == 1162893381u) && ((pUS[2] & 57311u) == 21571u))) { if (((_bits & 67108864L) != 0)) { _Expect = AppendValue(_Expect, value); } else { _bits |= 67108864L; _Expect = new StringValues(value); } return; } if ((((pUI[0] & 3755991007u) == 1195987535u) && ((pUS[2] & 57311u) == 20041u))) { if (((_bits & 2199023255552L) != 0)) { _Origin = AppendValue(_Origin, value); } else { _bits |= 2199023255552L; _Origin = new StringValues(value); } return; } } break; case 7: { if ((((pUI[0] & 3755991007u) == 1229017684u) && ((pUS[2] & 57311u) == 17740u) && ((pUB[6] & 223u) == 82u))) { if (((_bits & 32L) != 0)) { _Trailer = AppendValue(_Trailer, value); } else { _bits |= 32L; _Trailer = new StringValues(value); } return; } if ((((pUI[0] & 3755991007u) == 1380405333u) && ((pUS[2] & 57311u) == 17473u) && ((pUB[6] & 223u) == 69u))) { if (((_bits & 128L) != 0)) { _Upgrade = AppendValue(_Upgrade, value); } else { _bits |= 128L; _Upgrade = new StringValues(value); } return; } if ((((pUI[0] & 3755991007u) == 1314013527u) && ((pUS[2] & 57311u) == 20041u) && ((pUB[6] & 223u) == 71u))) { if (((_bits & 512L) != 0)) { _Warning = AppendValue(_Warning, value); } else { _bits |= 512L; _Warning = new StringValues(value); } return; } if ((((pUI[0] & 3755991007u) == 1230002245u) && ((pUS[2] & 57311u) == 17746u) && ((pUB[6] & 223u) == 83u))) { if (((_bits & 262144L) != 0)) { _Expires = AppendValue(_Expires, value); } else { _bits |= 262144L; _Expires = new StringValues(value); } return; } if ((((pUI[0] & 3755991007u) == 1162233170u) && ((pUS[2] & 57311u) == 17746u) && ((pUB[6] & 223u) == 82u))) { if (((_bits & 68719476736L) != 0)) { _Referer = AppendValue(_Referer, value); } else { _bits |= 68719476736L; _Referer = new StringValues(value); } return; } } break; case 17: { if ((((pUL[0] & 16131858542891098079uL) == 5928221808112259668uL) && ((pUL[1] & 16131858542891098111uL) == 5641115115480565037uL) && ((pUB[16] & 223u) == 71u))) { if (((_bits & 64L) != 0)) { _TransferEncoding = AppendValue(_TransferEncoding, value); } else { _bits |= 64L; _TransferEncoding = new StringValues(value); } return; } if ((((pUL[0] & 16131858542893195231uL) == 5064654363342751305uL) && ((pUL[1] & 16131858543427968991uL) == 4849894470315165001uL) && ((pUB[16] & 223u) == 69u))) { if (((_bits & 1073741824L) != 0)) { _IfModifiedSince = AppendValue(_IfModifiedSince, value); } else { _bits |= 1073741824L; _IfModifiedSince = new StringValues(value); } return; } } break; case 3: { if ((((pUS[0] & 57311u) == 18774u) && ((pUB[2] & 223u) == 65u))) { if (((_bits & 256L) != 0)) { _Via = AppendValue(_Via, value); } else { _bits |= 256L; _Via = new StringValues(value); } return; } } break; case 5: { if ((((pUI[0] & 3755991007u) == 1330400321u) && ((pUB[4] & 223u) == 87u))) { if (((_bits & 1024L) != 0)) { _Allow = AppendValue(_Allow, value); } else { _bits |= 1024L; _Allow = new StringValues(value); } return; } if ((((pUI[0] & 3755991007u) == 1196310866u) && ((pUB[4] & 223u) == 69u))) { if (((_bits & 137438953472L) != 0)) { _Range = AppendValue(_Range, value); } else { _bits |= 137438953472L; _Range = new StringValues(value); } return; } } break; case 14: { if ((((pUL[0] & 18437701552104792031uL) == 3266321689424580419uL) && ((pUI[2] & 3755991007u) == 1196311884u) && ((pUS[6] & 57311u) == 18516u))) { if (((_bits & 2048L) != 0)) { _ContentLength = AppendValue(_ContentLength, value); } else { _bits |= 2048L; _ContentLength = new StringValues(value); } return; } if ((((pUL[0] & 16140865742145839071uL) == 4840617878229304129uL) && ((pUI[2] & 3755991007u) == 1397899592u) && ((pUS[6] & 57311u) == 21573u))) { if (((_bits & 2097152L) != 0)) { _AcceptCharset = AppendValue(_AcceptCharset, value); } else { _bits |= 2097152L; _AcceptCharset = new StringValues(value); } return; } } break; case 12: { if ((((pUL[0] & 18437701552104792031uL) == 3266321689424580419uL) && ((pUI[2] & 3755991007u) == 1162893652u))) { if (((_bits & 4096L) != 0)) { _ContentType = AppendValue(_ContentType, value); } else { _bits |= 4096L; _ContentType = new StringValues(value); } return; } if ((((pUL[0] & 16131858543427968991uL) == 6292178792217067853uL) && ((pUI[2] & 3755991007u) == 1396986433u))) { if (((_bits & 17179869184L) != 0)) { _MaxForwards = AppendValue(_MaxForwards, value); } else { _bits |= 17179869184L; _MaxForwards = new StringValues(value); } return; } } break; case 16: { if ((((pUL[0] & 18437701552104792031uL) == 3266321689424580419uL) && ((pUL[1] & 16131858542891098079uL) == 5138124782612729413uL))) { if (((_bits & 8192L) != 0)) { _ContentEncoding = AppendValue(_ContentEncoding, value); } else { _bits |= 8192L; _ContentEncoding = new StringValues(value); } return; } if ((((pUL[0] & 18437701552104792031uL) == 3266321689424580419uL) && ((pUL[1] & 16131858542891098079uL) == 4992030546487820620uL))) { if (((_bits & 16384L) != 0)) { _ContentLanguage = AppendValue(_ContentLanguage, value); } else { _bits |= 16384L; _ContentLanguage = new StringValues(value); } return; } if ((((pUL[0] & 18437701552104792031uL) == 3266321689424580419uL) && ((pUL[1] & 16131858542891098079uL) == 5642809484339531596uL))) { if (((_bits & 32768L) != 0)) { _ContentLocation = AppendValue(_ContentLocation, value); } else { _bits |= 32768L; _ContentLocation = new StringValues(value); } return; } } break; case 11: { if ((((pUL[0] & 18437701552104792031uL) == 3266321689424580419uL) && ((pUS[4] & 57311u) == 17485u) && ((pUB[10] & 255u) == 53u))) { if (((_bits & 65536L) != 0)) { _ContentMD5 = AppendValue(_ContentMD5, value); } else { _bits |= 65536L; _ContentMD5 = new StringValues(value); } return; } } break; case 15: { if ((((pUL[0] & 16140865742145839071uL) == 4984733066305160001uL) && ((pUI[2] & 3755991007u) == 1146045262u) && ((pUS[6] & 57311u) == 20041u) && ((pUB[14] & 223u) == 71u))) { if (((_bits & 4194304L) != 0)) { _AcceptEncoding = AppendValue(_AcceptEncoding, value); } else { _bits |= 4194304L; _AcceptEncoding = new StringValues(value); } return; } if ((((pUL[0] & 16140865742145839071uL) == 5489136224570655553uL) && ((pUI[2] & 3755991007u) == 1430736449u) && ((pUS[6] & 57311u) == 18241u) && ((pUB[14] & 223u) == 69u))) { if (((_bits & 8388608L) != 0)) { _AcceptLanguage = AppendValue(_AcceptLanguage, value); } else { _bits |= 8388608L; _AcceptLanguage = new StringValues(value); } return; } } break; case 8: { if ((((pUL[0] & 16131858542893195231uL) == 5207098233614845513uL))) { if (((_bits & 536870912L) != 0)) { _IfMatch = AppendValue(_IfMatch, value); } else { _bits |= 536870912L; _IfMatch = new StringValues(value); } return; } if ((((pUL[0] & 16131858542893195231uL) == 4992044754422023753uL))) { if (((_bits & 4294967296L) != 0)) { _IfRange = AppendValue(_IfRange, value); } else { _bits |= 4294967296L; _IfRange = new StringValues(value); } return; } } break; case 19: { if ((((pUL[0] & 16131858542893195231uL) == 4922237916571059785uL) && ((pUL[1] & 16131893727263186911uL) == 5283616559079179849uL) && ((pUS[8] & 57311u) == 17230u) && ((pUB[18] & 223u) == 69u))) { if (((_bits & 8589934592L) != 0)) { _IfUnmodifiedSince = AppendValue(_IfUnmodifiedSince, value); } else { _bits |= 8589934592L; _IfUnmodifiedSince = new StringValues(value); } return; } if ((((pUL[0] & 16131893727263186911uL) == 6143241228466999888uL) && ((pUL[1] & 16131858542891098079uL) == 6071233043632179284uL) && ((pUS[8] & 57311u) == 20297u) && ((pUB[18] & 223u) == 78u))) { if (((_bits & 34359738368L) != 0)) { _ProxyAuthorization = AppendValue(_ProxyAuthorization, value); } else { _bits |= 34359738368L; _ProxyAuthorization = new StringValues(value); } return; } } break; case 2: { if ((((pUS[0] & 57311u) == 17748u))) { if (((_bits & 274877906944L) != 0)) { _TE = AppendValue(_TE, value); } else { _bits |= 274877906944L; _TE = new StringValues(value); } return; } } break; case 9: { if ((((pUL[0] & 16131858542891098079uL) == 6071217693351039572uL) && ((pUB[8] & 223u) == 69u))) { if (((_bits & 549755813888L) != 0)) { _Translate = AppendValue(_Translate, value); } else { _bits |= 549755813888L; _Translate = new StringValues(value); } return; } } break; case 29: { if ((((pUL[0] & 16140865742145839071uL) == 4840616791602578241uL) && ((pUL[1] & 16140865742145839071uL) == 5921472988629454415uL) && ((pUL[2] & 16140865742145839071uL) == 5561193831494668613uL) && ((pUI[6] & 3755991007u) == 1330140229u) && ((pUB[28] & 223u) == 68u))) { if (((_bits & 4398046511104L) != 0)) { _AccessControlRequestMethod = AppendValue(_AccessControlRequestMethod, value); } else { _bits |= 4398046511104L; _AccessControlRequestMethod = new StringValues(value); } return; } } break; case 30: { if ((((pUL[0] & 16140865742145839071uL) == 4840616791602578241uL) && ((pUL[1] & 16140865742145839071uL) == 5921472988629454415uL) && ((pUL[2] & 16140865742145839071uL) == 5200905861305028933uL) && ((pUI[6] & 3755991007u) == 1162101061u) && ((pUS[14] & 57311u) == 21330u))) { if (((_bits & 8796093022208L) != 0)) { _AccessControlRequestHeaders = AppendValue(_AccessControlRequestHeaders, value); } else { _bits |= 8796093022208L; _AccessControlRequestHeaders = new StringValues(value); } return; } } break; } } var key = System.Text.Encoding.ASCII.GetString(keyBytes, keyOffset, keyLength); StringValues existing; Unknown.TryGetValue(key, out existing); Unknown[key] = AppendValue(existing, value); }
protected override void AddValueFast(string key, StringValues value) { switch (key.Length) { case 13: { if ("Cache-Control".Equals(key, StringComparison.OrdinalIgnoreCase)) { if (((_bits & 1L) != 0)) { throw new ArgumentException("An item with the same key has already been added."); } _bits |= 1L; _CacheControl = value; return; } if ("Content-Range".Equals(key, StringComparison.OrdinalIgnoreCase)) { if (((_bits & 131072L) != 0)) { throw new ArgumentException("An item with the same key has already been added."); } _bits |= 131072L; _ContentRange = value; return; } if ("Last-Modified".Equals(key, StringComparison.OrdinalIgnoreCase)) { if (((_bits & 524288L) != 0)) { throw new ArgumentException("An item with the same key has already been added."); } _bits |= 524288L; _LastModified = value; return; } if ("Authorization".Equals(key, StringComparison.OrdinalIgnoreCase)) { if (((_bits & 16777216L) != 0)) { throw new ArgumentException("An item with the same key has already been added."); } _bits |= 16777216L; _Authorization = value; return; } if ("If-None-Match".Equals(key, StringComparison.OrdinalIgnoreCase)) { if (((_bits & 2147483648L) != 0)) { throw new ArgumentException("An item with the same key has already been added."); } _bits |= 2147483648L; _IfNoneMatch = value; return; } } break; case 10: { if ("Connection".Equals(key, StringComparison.OrdinalIgnoreCase)) { if (((_bits & 2L) != 0)) { throw new ArgumentException("An item with the same key has already been added."); } _bits |= 2L; _Connection = value; return; } if ("Keep-Alive".Equals(key, StringComparison.OrdinalIgnoreCase)) { if (((_bits & 8L) != 0)) { throw new ArgumentException("An item with the same key has already been added."); } _bits |= 8L; _KeepAlive = value; return; } if ("User-Agent".Equals(key, StringComparison.OrdinalIgnoreCase)) { if (((_bits & 1099511627776L) != 0)) { throw new ArgumentException("An item with the same key has already been added."); } _bits |= 1099511627776L; _UserAgent = value; return; } } break; case 4: { if ("Date".Equals(key, StringComparison.OrdinalIgnoreCase)) { if (((_bits & 4L) != 0)) { throw new ArgumentException("An item with the same key has already been added."); } _bits |= 4L; _Date = value; return; } if ("From".Equals(key, StringComparison.OrdinalIgnoreCase)) { if (((_bits & 134217728L) != 0)) { throw new ArgumentException("An item with the same key has already been added."); } _bits |= 134217728L; _From = value; return; } if ("Host".Equals(key, StringComparison.OrdinalIgnoreCase)) { if (((_bits & 268435456L) != 0)) { throw new ArgumentException("An item with the same key has already been added."); } _bits |= 268435456L; _Host = value; return; } } break; case 6: { if ("Pragma".Equals(key, StringComparison.OrdinalIgnoreCase)) { if (((_bits & 16L) != 0)) { throw new ArgumentException("An item with the same key has already been added."); } _bits |= 16L; _Pragma = value; return; } if ("Accept".Equals(key, StringComparison.OrdinalIgnoreCase)) { if (((_bits & 1048576L) != 0)) { throw new ArgumentException("An item with the same key has already been added."); } _bits |= 1048576L; _Accept = value; return; } if ("Cookie".Equals(key, StringComparison.OrdinalIgnoreCase)) { if (((_bits & 33554432L) != 0)) { throw new ArgumentException("An item with the same key has already been added."); } _bits |= 33554432L; _Cookie = value; return; } if ("Expect".Equals(key, StringComparison.OrdinalIgnoreCase)) { if (((_bits & 67108864L) != 0)) { throw new ArgumentException("An item with the same key has already been added."); } _bits |= 67108864L; _Expect = value; return; } if ("Origin".Equals(key, StringComparison.OrdinalIgnoreCase)) { if (((_bits & 2199023255552L) != 0)) { throw new ArgumentException("An item with the same key has already been added."); } _bits |= 2199023255552L; _Origin = value; return; } } break; case 7: { if ("Trailer".Equals(key, StringComparison.OrdinalIgnoreCase)) { if (((_bits & 32L) != 0)) { throw new ArgumentException("An item with the same key has already been added."); } _bits |= 32L; _Trailer = value; return; } if ("Upgrade".Equals(key, StringComparison.OrdinalIgnoreCase)) { if (((_bits & 128L) != 0)) { throw new ArgumentException("An item with the same key has already been added."); } _bits |= 128L; _Upgrade = value; return; } if ("Warning".Equals(key, StringComparison.OrdinalIgnoreCase)) { if (((_bits & 512L) != 0)) { throw new ArgumentException("An item with the same key has already been added."); } _bits |= 512L; _Warning = value; return; } if ("Expires".Equals(key, StringComparison.OrdinalIgnoreCase)) { if (((_bits & 262144L) != 0)) { throw new ArgumentException("An item with the same key has already been added."); } _bits |= 262144L; _Expires = value; return; } if ("Referer".Equals(key, StringComparison.OrdinalIgnoreCase)) { if (((_bits & 68719476736L) != 0)) { throw new ArgumentException("An item with the same key has already been added."); } _bits |= 68719476736L; _Referer = value; return; } } break; case 17: { if ("Transfer-Encoding".Equals(key, StringComparison.OrdinalIgnoreCase)) { if (((_bits & 64L) != 0)) { throw new ArgumentException("An item with the same key has already been added."); } _bits |= 64L; _TransferEncoding = value; return; } if ("If-Modified-Since".Equals(key, StringComparison.OrdinalIgnoreCase)) { if (((_bits & 1073741824L) != 0)) { throw new ArgumentException("An item with the same key has already been added."); } _bits |= 1073741824L; _IfModifiedSince = value; return; } } break; case 3: { if ("Via".Equals(key, StringComparison.OrdinalIgnoreCase)) { if (((_bits & 256L) != 0)) { throw new ArgumentException("An item with the same key has already been added."); } _bits |= 256L; _Via = value; return; } } break; case 5: { if ("Allow".Equals(key, StringComparison.OrdinalIgnoreCase)) { if (((_bits & 1024L) != 0)) { throw new ArgumentException("An item with the same key has already been added."); } _bits |= 1024L; _Allow = value; return; } if ("Range".Equals(key, StringComparison.OrdinalIgnoreCase)) { if (((_bits & 137438953472L) != 0)) { throw new ArgumentException("An item with the same key has already been added."); } _bits |= 137438953472L; _Range = value; return; } } break; case 14: { if ("Content-Length".Equals(key, StringComparison.OrdinalIgnoreCase)) { if (((_bits & 2048L) != 0)) { throw new ArgumentException("An item with the same key has already been added."); } _bits |= 2048L; _ContentLength = value; return; } if ("Accept-Charset".Equals(key, StringComparison.OrdinalIgnoreCase)) { if (((_bits & 2097152L) != 0)) { throw new ArgumentException("An item with the same key has already been added."); } _bits |= 2097152L; _AcceptCharset = value; return; } } break; case 12: { if ("Content-Type".Equals(key, StringComparison.OrdinalIgnoreCase)) { if (((_bits & 4096L) != 0)) { throw new ArgumentException("An item with the same key has already been added."); } _bits |= 4096L; _ContentType = value; return; } if ("Max-Forwards".Equals(key, StringComparison.OrdinalIgnoreCase)) { if (((_bits & 17179869184L) != 0)) { throw new ArgumentException("An item with the same key has already been added."); } _bits |= 17179869184L; _MaxForwards = value; return; } } break; case 16: { if ("Content-Encoding".Equals(key, StringComparison.OrdinalIgnoreCase)) { if (((_bits & 8192L) != 0)) { throw new ArgumentException("An item with the same key has already been added."); } _bits |= 8192L; _ContentEncoding = value; return; } if ("Content-Language".Equals(key, StringComparison.OrdinalIgnoreCase)) { if (((_bits & 16384L) != 0)) { throw new ArgumentException("An item with the same key has already been added."); } _bits |= 16384L; _ContentLanguage = value; return; } if ("Content-Location".Equals(key, StringComparison.OrdinalIgnoreCase)) { if (((_bits & 32768L) != 0)) { throw new ArgumentException("An item with the same key has already been added."); } _bits |= 32768L; _ContentLocation = value; return; } } break; case 11: { if ("Content-MD5".Equals(key, StringComparison.OrdinalIgnoreCase)) { if (((_bits & 65536L) != 0)) { throw new ArgumentException("An item with the same key has already been added."); } _bits |= 65536L; _ContentMD5 = value; return; } } break; case 15: { if ("Accept-Encoding".Equals(key, StringComparison.OrdinalIgnoreCase)) { if (((_bits & 4194304L) != 0)) { throw new ArgumentException("An item with the same key has already been added."); } _bits |= 4194304L; _AcceptEncoding = value; return; } if ("Accept-Language".Equals(key, StringComparison.OrdinalIgnoreCase)) { if (((_bits & 8388608L) != 0)) { throw new ArgumentException("An item with the same key has already been added."); } _bits |= 8388608L; _AcceptLanguage = value; return; } } break; case 8: { if ("If-Match".Equals(key, StringComparison.OrdinalIgnoreCase)) { if (((_bits & 536870912L) != 0)) { throw new ArgumentException("An item with the same key has already been added."); } _bits |= 536870912L; _IfMatch = value; return; } if ("If-Range".Equals(key, StringComparison.OrdinalIgnoreCase)) { if (((_bits & 4294967296L) != 0)) { throw new ArgumentException("An item with the same key has already been added."); } _bits |= 4294967296L; _IfRange = value; return; } } break; case 19: { if ("If-Unmodified-Since".Equals(key, StringComparison.OrdinalIgnoreCase)) { if (((_bits & 8589934592L) != 0)) { throw new ArgumentException("An item with the same key has already been added."); } _bits |= 8589934592L; _IfUnmodifiedSince = value; return; } if ("Proxy-Authorization".Equals(key, StringComparison.OrdinalIgnoreCase)) { if (((_bits & 34359738368L) != 0)) { throw new ArgumentException("An item with the same key has already been added."); } _bits |= 34359738368L; _ProxyAuthorization = value; return; } } break; case 2: { if ("TE".Equals(key, StringComparison.OrdinalIgnoreCase)) { if (((_bits & 274877906944L) != 0)) { throw new ArgumentException("An item with the same key has already been added."); } _bits |= 274877906944L; _TE = value; return; } } break; case 9: { if ("Translate".Equals(key, StringComparison.OrdinalIgnoreCase)) { if (((_bits & 549755813888L) != 0)) { throw new ArgumentException("An item with the same key has already been added."); } _bits |= 549755813888L; _Translate = value; return; } } break; case 29: { if ("Access-Control-Request-Method".Equals(key, StringComparison.OrdinalIgnoreCase)) { if (((_bits & 4398046511104L) != 0)) { throw new ArgumentException("An item with the same key has already been added."); } _bits |= 4398046511104L; _AccessControlRequestMethod = value; return; } } break; case 30: { if ("Access-Control-Request-Headers".Equals(key, StringComparison.OrdinalIgnoreCase)) { if (((_bits & 8796093022208L) != 0)) { throw new ArgumentException("An item with the same key has already been added."); } _bits |= 8796093022208L; _AccessControlRequestHeaders = value; return; } } break; } Unknown.Add(key, value); }
public static void LogSendingFileRange(this ILogger logger, StringValues range, string path) { _logSendingFileRange(logger, range, path, null); }
public bool TryGetValue(string key, out StringValues value) { value = StringValues.Empty; return false; }
public void Add(string key, StringValues value) { }
private static string Get(this IHeaderDictionary headers, string key) { var values = new StringValues(); if (!headers.TryGetValue(key, out values)) { return null; } return values.FirstOrDefault(); }