/// <summary>
 /// Adds a JSON deserializer to the <see cref="SolidHttpBuilder" />.
 /// </summary>
 /// <param name="builder">The <see cref="SolidHttpBuilder" /> being extended.</param>
 /// <typeparam name="TDeserializer">The type of JSON deserializer.</typeparam>
 /// <returns>The <see cref="SolidHttpBuilder" /> so that additional calls can be chained.</returns>
 public static SolidHttpBuilder AddJsonDeserializer <TDeserializer>(this SolidHttpBuilder builder)
     where TDeserializer : class, IJsonDeserializer
 {
     builder.Services.RemoveAll <IJsonDeserializer>();
     builder.Services.AddSingleton <IJsonDeserializer, TDeserializer>();
     builder.AddDeserializer(p => p.GetService <IJsonDeserializer>());
     return(builder);
 }
 /// <summary>
 /// Adds XML deserialization to <see cref="SolidHttpBuilder" />.
 /// <para>This XML deserialization uses <see cref="DataContractSerializer" />.</para>
 /// </summary>
 /// <param name="builder">The <see cref="SolidHttpBuilder" /> that is being extended.</param>
 /// <returns>The <see cref="SolidHttpBuilder" /> so that additional calls can be chained.</returns>
 public static SolidHttpBuilder AddXml(this SolidHttpBuilder builder)
 {
     builder.Services.TryAddSingleton <DataContractXmlDeserializer>();
     builder.AddDeserializer(p => p.GetService <DataContractXmlDeserializer>());
     return(builder);
 }
 /// <summary>
 /// Adds <see cref="ZipArchive" /> deserialization to <see cref="SolidHttpBuilder" />.
 /// <para>This ZIP deserialization uses System.IO.Compression.</para>
 /// </summary>
 /// <param name="builder">The <see cref="SolidHttpBuilder" /> that is being extended.</param>
 /// <returns>The <see cref="SolidHttpBuilder" /> so that additional calls can be chained.</returns>
 public static SolidHttpBuilder AddZip(this SolidHttpBuilder builder)
 {
     builder.Services.TryAddSingleton <ZipArchiveDeserializer>();
     builder.AddDeserializer(p => p.GetService <ZipArchiveDeserializer>());
     return(builder);
 }