public static IPipingBuilder UseDefaultExector(this IPipingBuilder self)
 {
     self.Services.TryAddTransient <IActionResultExecutor <PipelineStreamResult>, CompletableStreamResultExecutor>();
     return(self);
 }
 public static IPipingBuilder AddExector <T>(this IPipingBuilder self)
     where T : class, IActionResultExecutor <PipelineStreamResult>
 {
     self.Services.AddTransient <IActionResultExecutor <PipelineStreamResult>, T>();
     return(self);
 }
 public static IPipingBuilder UseMultipartStreamConverter(this IPipingBuilder self)
 {
     self.Services.AddTransient <IStreamConverter, MultipartStreamConverter>();
     return(self);
 }
 public static IPipingBuilder UseDefaultStore(this IPipingBuilder self)
 {
     self.Services.TryAddSingleton <IPipingStore, PipingStore>();
     return(self);
 }
 public static IPipingBuilder AddConverter <T>(this IPipingBuilder self)
     where T : class, IStreamConverter
 {
     self.Services.AddTransient <IStreamConverter, T>();
     return(self);
 }