LiveUploadDef
object LiveUploadDefFactories and validation for LiveUploadDef.
Exported from scalive.upload.LiveUploadDef. View source (scalive/api/src/scalive/upload/LiveUpload.scala:801-958)
Methods4
external
def external[Result](name: String, accept: LiveUploadAccept, uploader: LiveUploadExternalUploader[Result], maxEntries: Int = ..., maxFileSize: Long = ..., chunkSize: Int = ..., chunkTimeout: zio.package.Duration = ..., autoUpload: Boolean = ..., progress: Option[LiveUploadProgress[Result]] = ..., maxEntriesMode: LiveUploadMaxEntriesMode = ..., validator: Option[UploadClientMetadata => Option[String]] = ...): LiveUploadDef[Result]Defines an upload transferred directly from the browser through uploader.
Defaults are one entry, an 8,000,000-byte browser-reported per-entry limit, 64,000-byte chunks, a 10-second chunk timeout, manual upload, and no progress callback. The external service and consume callback remain responsible for server-side validation of the resulting object.
Throws
IllegalArgumentExceptionif
nameis empty, a numeric limit is not positive, orchunkTimeoutis invalid
Exported from scalive.upload.LiveUploadDef.external. View source (scalive/api/src/scalive/upload/LiveUpload.scala:882-907)
hosted
def hosted[State, Result](name: String, accept: LiveUploadAccept, writer: LiveUploadWriter[State, Result], maxEntries: Int = ..., maxFileSize: Long = ..., chunkSize: Int = ..., chunkTimeout: zio.package.Duration = ..., autoUpload: Boolean = ..., progress: Option[LiveUploadProgress[Result]] = ..., maxEntriesMode: LiveUploadMaxEntriesMode = ..., validator: Option[UploadClientMetadata => Option[String]] = ...): LiveUploadDef[Result]Defines an upload whose bytes pass through the Scalive server to writer.
Defaults are one entry, an 8,000,000-byte per-entry limit, 64,000-byte chunks, a 10-second chunk timeout, manual upload, and no progress callback.
Throws
IllegalArgumentExceptionif
nameis empty, a numeric limit is not positive, orchunkTimeoutis invalid
Exported from scalive.upload.LiveUploadDef.hosted. View source (scalive/api/src/scalive/upload/LiveUpload.scala:845-870)
inMemory
def inMemory(name: String, accept: LiveUploadAccept, maxEntries: Int = ..., maxFileSize: Long = ..., chunkSize: Int = ..., chunkTimeout: zio.package.Duration = ..., autoUpload: Boolean = ..., progress: Option[LiveUploadProgress[zio.Chunk[Byte]]] = ..., maxEntriesMode: LiveUploadMaxEntriesMode = ..., validator: Option[UploadClientMetadata => Option[String]] = ...): LiveUploadDef[zio.Chunk[Byte]]Defines an upload buffered entirely in server memory.
Defaults are one entry, an 8,000,000-byte per-entry limit, 64,000-byte chunks, a 10-second chunk timeout, manual upload, and no progress callback. This factory has the resource caveats of inMemory.
Throws
IllegalArgumentExceptionif
nameis empty, a numeric limit is not positive, orchunkTimeoutis invalid
Exported from scalive.upload.LiveUploadDef.inMemory. View source (scalive/api/src/scalive/upload/LiveUpload.scala:811-835)
validated
def validated[Result](name: String, accept: LiveUploadAccept, destination: LiveUploadDestination[Result], maxEntries: Int = ..., maxFileSize: Long = ..., chunkSize: Int = ..., chunkTimeout: zio.package.Duration = ..., autoUpload: Boolean = ..., progress: Option[LiveUploadProgress[Result]] = ..., maxEntriesMode: LiveUploadMaxEntriesMode = ..., validator: Option[UploadClientMetadata => Option[String]] = ...): Either[IllegalArgumentException, LiveUploadDef[Result]]Validates and creates a definition for an already selected destination.
Validation rejects an empty name; non-positive maxEntries, maxFileSize, or chunkSize;
and a chunkTimeout that is non-positive or exceeds Int.MaxValue milliseconds. Positive
sub-millisecond durations pass validation and are truncated to zero on the protocol. Names and
other values are not normalized. Defaults match the eager factory methods.
Exported from scalive.upload.LiveUploadDef.validated. View source (scalive/api/src/scalive/upload/LiveUpload.scala:916-957)