/// <summary>
 /// Configures what type of <see cref="ISocketConnectionInterceptor"/> this socket client
 /// should use.
 ///
 /// Resolves the <typeparamref name="TInterceptor"/> from the dependency injection
 /// </summary>
 /// <param name="builder">
 /// The <see cref="IServiceCollection"/>.
 /// </param>
 /// <typeparam name="TInterceptor">
 /// The type of the <see cref="ISocketConnectionInterceptor"/> that should be resolved from
 /// the dependency injection
 /// </typeparam>
 /// <returns>
 /// An <see cref="IWebSocketClientBuilder"/> that can be used to configure the client.
 /// </returns>
 public static IWebSocketClientBuilder ConfigureConnectionInterceptor <TInterceptor>(
     this IWebSocketClientBuilder builder)
     where TInterceptor : ISocketConnectionInterceptor
 {
     return(builder
            .ConfigureConnectionInterceptor(sp => sp.GetRequiredService <TInterceptor>()));
 }
 /// <summary>
 /// Configures a <see cref="ISocketConnectionInterceptor"/> on this socket client
 /// </summary>
 /// <param name="builder">
 /// The <see cref="IServiceCollection"/>.
 /// </param>
 /// <param name="interceptor">
 /// The interceptor that should be used
 /// </param>
 /// <returns>
 /// An <see cref="IWebSocketClientBuilder"/> that can be used to configure the client.
 /// </returns>
 public static IWebSocketClientBuilder ConfigureConnectionInterceptor(
     this IWebSocketClientBuilder builder,
     ISocketConnectionInterceptor interceptor)
 {
     return(builder.ConfigureConnectionInterceptor(_ => interceptor));
 }