public TemplateBinder( UrlEncoder urlEncoder, ObjectPool<UriBuildingContext> pool, RouteTemplate template, RouteValueDictionary defaults) { if (urlEncoder == null) { throw new ArgumentNullException(nameof(urlEncoder)); } if (pool == null) { throw new ArgumentNullException(nameof(pool)); } if (template == null) { throw new ArgumentNullException(nameof(template)); } _urlEncoder = urlEncoder; _pool = pool; _template = template; _defaults = defaults; // Any default that doesn't have a corresponding parameter is a 'filter' and if a value // is provided for that 'filter' it must match the value in defaults. _filters = new RouteValueDictionary(_defaults); foreach (var parameter in _template.Parameters) { _filters.Remove(parameter.Name); } }
public ChunkingCookieManager(UrlEncoder urlEncoder) { // Lowest common denominator. Safari has the lowest known limit (4093), and we leave little extra just in case. // See http://browsercookielimits.x64.me/. ChunkSize = 4090; ThrowForPartialCookies = true; Encoder = urlEncoder ?? UrlEncoder.Default; }
public JwtAuthenticationHandler( IOptionsMonitor <AuthenticationSchemeOptions> authOptions, ILoggerFactory logger, UrlEncoder encoder, ISystemClock clock) : base(authOptions, logger, encoder, clock) { }
public UriBuildingContext(UrlEncoder urlEncoder) { _urlEncoder = urlEncoder; _uri = new StringBuilder(); _buffer = new List<BufferValue>(); Writer = new StringWriter(_uri); _lastValueOffset = -1; BufferState = SegmentState.Beginning; UriState = SegmentState.Beginning; }
/// <summary> /// Enables the NTLM route for challenge/response handshaking /// </summary> /// <param name="app"></param> /// <param name="options">An ActiveDirectoryOptions configuration</param> /// <returns></returns> public static IApplicationBuilder UseNtlm(this IApplicationBuilder app, ActiveDirectoryOptions options = null, UrlEncoder encoder = null) { if (app == null) { throw new ArgumentNullException(nameof(app)); } //set default encoder if none is provided if (encoder == null) encoder = UrlEncoder.Default; if (options != null) { return app.UseMiddleware<ActiveDirectoryMiddleware>(options, encoder); } return app.UseMiddleware<ActiveDirectoryMiddleware>(encoder); }
public AttributeRoute( IRouter target, IActionDescriptorCollectionProvider actionDescriptorCollectionProvider, IInlineConstraintResolver constraintResolver, ObjectPool<UriBuildingContext> contextPool, UrlEncoder urlEncoder, ILoggerFactory loggerFactory) { if (target == null) { throw new ArgumentNullException(nameof(target)); } if (actionDescriptorCollectionProvider == null) { throw new ArgumentNullException(nameof(actionDescriptorCollectionProvider)); } if (constraintResolver == null) { throw new ArgumentNullException(nameof(constraintResolver)); } if (contextPool == null) { throw new ArgumentNullException(nameof(contextPool)); } if (urlEncoder == null) { throw new ArgumentNullException(nameof(urlEncoder)); } if (loggerFactory == null) { throw new ArgumentNullException(nameof(loggerFactory)); } _target = target; _actionDescriptorCollectionProvider = actionDescriptorCollectionProvider; _constraintResolver = constraintResolver; _contextPool = contextPool; _urlEncoder = urlEncoder; _loggerFactory = loggerFactory; }
public UrlEncoder(TextEncoderSettings filter) { _encoder = System.Text.Encodings.Web.UrlEncoder.Create(filter); }
public UrlEncoder() { _encoder = System.Text.Encodings.Web.UrlEncoder.Default; }
private static void RunTest( string template, RouteValueDictionary defaults, RouteValueDictionary ambientValues, RouteValueDictionary values, string expected, UrlEncoder encoder = null) { // Arrange encoder = encoder ?? new UrlTestEncoder(); var binder = new TemplateBinder( encoder, new DefaultObjectPoolProvider().Create(new UriBuilderContextPooledObjectPolicy(encoder)), TemplateParser.Parse(template), defaults); // Act & Assert var result = binder.GetValues(ambientValues, values); if (result == null) { if (expected == null) { return; } else { Assert.NotNull(result); } } var boundTemplate = binder.BindValues(result.AcceptedValues); if (expected == null) { Assert.Null(boundTemplate); } else { Assert.NotNull(boundTemplate); // We want to chop off the query string and compare that using an unordered comparison var expectedParts = new PathAndQuery(expected); var actualParts = new PathAndQuery(boundTemplate); Assert.Equal(expectedParts.Path, actualParts.Path); if (expectedParts.Parameters == null) { Assert.Null(actualParts.Parameters); } else { Assert.Equal(expectedParts.Parameters.Count, actualParts.Parameters.Count); foreach (var kvp in expectedParts.Parameters) { string value; Assert.True(actualParts.Parameters.TryGetValue(kvp.Key, out value)); Assert.Equal(kvp.Value, value); } } } }