/// <summary> /// Timeouts the connection if there hasn't been an read activity on the request body stream or any /// write activity on the response body stream. /// </summary> /// <param name="app">The IAppBuilder instance.</param> /// <param name="timeout">The timeout.</param> /// <param name="loggerName">(Optional) The name of the logger log messages are written to.</param> /// <returns>The IAppBuilder instance.</returns> public static IAppBuilder ConnectionTimeout(this IAppBuilder app, TimeSpan timeout, string loggerName = null) { app.MustNotNull("app"); app.Use(Limits.ConnectionTimeout(timeout, loggerName)); return app; }
/// <summary> /// Timeouts the connection if there hasn't been an read activity on the request body stream or any /// write activity on the response body stream. /// </summary> /// <param name="app">The IAppBuilder instance.</param> /// <param name="timeout">The timeout.</param> /// <returns>The IAppBuilder instance.</returns> public static IAppBuilder ConnectionTimeout(this IAppBuilder app, TimeSpan timeout) { app.MustNotNull("app"); app.Use(Limits.ConnectionTimeout(timeout)); return(app); }
/// <summary> /// Timeouts the connection if there hasn't been an read activity on the request body stream or any /// write activity on the response body stream. /// </summary> /// <param name="app">The IAppBuilder instance.</param> /// <param name="getTimeout">A delegate to retrieve the timeout timespan. Allows you /// to supply different values at runtime.</param> /// <returns>An OWIN middleware delegate.</returns> /// <exception cref="System.ArgumentNullException">getTimeout</exception> public static IAppBuilder ConnectionTimeout(this IAppBuilder app, Func <RequestContext, TimeSpan> getTimeout) { app.MustNotNull("app"); getTimeout.MustNotNull("getTimeout"); app.Use(Limits.ConnectionTimeout(getTimeout)); return(app); }
/// <summary> /// Timeouts the connection if there hasn't been an read activity on the request body stream or any /// write activity on the response body stream. /// </summary> /// <param name="app">The IApplicationBuilder instance.</param> /// <param name="timeout">The timeout.</param> /// <param name="loggerName">(Optional) The name of the logger log messages are written to.</param> /// <returns>The IApplicationBuilder instance.</returns> public static IApplicationBuilder ConnectionTimeout(this IApplicationBuilder app, TimeSpan timeout, string loggerName = null) { if (app == null) { throw new ArgumentNullException(nameof(app)); } app.Use(Limits.ConnectionTimeout(timeout, loggerName)); return(app); }
/// <summary> /// Timeouts the connection if there hasn't been an read activity on the request body stream or any /// write activity on the response body stream. /// </summary> /// <param name="app">The IAppBuilder instance.</param> /// <param name="getTimeout"> /// A delegate to retrieve the timeout timespan. Allows you /// to supply different values at runtime. /// </param> /// <param name="loggerName">(Optional) The name of the logger log messages are written to.</param> /// <returns>An OWIN middleware delegate.</returns> /// <exception cref="System.ArgumentNullException">getTimeout</exception> public static IAppBuilder ConnectionTimeout( this IAppBuilder app, Func<RequestContext, TimeSpan> getTimeout, string loggerName = null) { app.MustNotNull("app"); getTimeout.MustNotNull("getTimeout"); app.Use(Limits.ConnectionTimeout(getTimeout, loggerName)); return app; }
/// <summary> /// Timeouts the connection if there hasn't been an read activity on the request body stream or any /// write activity on the response body stream. /// </summary> /// <param name="app">The IApplicationBuilder instance.</param> /// <param name="getTimeout"> /// A delegate to retrieve the timeout timespan. Allows you /// to supply different values at runtime. /// </param> /// <param name="loggerName">(Optional) The name of the logger log messages are written to.</param> /// <returns>A middleware delegate.</returns> /// <exception cref="System.ArgumentNullException">getTimeout</exception> public static IApplicationBuilder ConnectionTimeout(this IApplicationBuilder app, Func <RequestContext, TimeSpan> getTimeout, string loggerName = null) { if (app == null) { throw new ArgumentNullException(nameof(app)); } if (getTimeout == null) { throw new ArgumentNullException(nameof(getTimeout)); } app.Use(async(context, next) => { Limits.ConnectionTimeout(getTimeout, loggerName); await next.Invoke(); }); Func <RequestDelegate, RequestDelegate> connectionTimeout = Limits.ConnectionTimeout(getTimeout, loggerName); app.Use(connectionTimeout); return(app); }
public void When_time_out_delegate_is_null_then_should_throw() { Action act = () => Limits.ConnectionTimeout((Func <TimeSpan>)null); act.ShouldThrow <ArgumentNullException>(); }