public AgsTokenMiddleware(RequestDelegate next, IOptions <AgsOptions> options, IMemoryCache memoryCache) { if (options == null) { throw new ArgumentNullException(nameof(options)); } _next = next ?? throw new ArgumentNullException(nameof(next)); _memoryCache = memoryCache; _options = options.Value; }
/// <summary> /// Add AGS token to request as specified in options /// </summary> /// <param name="app"></param> /// <param name="options">Options for setting port, host, instance, username and password</param> /// <returns></returns> public static IApplicationBuilder UseAgsToken(this IApplicationBuilder app, AgsOptions options) { if (app == null) { throw new ArgumentNullException(nameof(app)); } if (options == null) { throw new ArgumentNullException(nameof(options)); } return(app.UseMiddleware <AgsTokenMiddleware>(Options.Create(options))); }