Multipart Reader

Overview

You can use this Snap to split a MIME "multipart" binary stream into separate binary documents. A multipart stream is typically generated by HTTP clients, such as web browsers, that need to transfer multiple blobs of data as a single message.



Snap views

View Description Examples of upstream and downstream Snaps
Input This Snap has exactly one binary input view.

Binary documents from a Snap with a binary output view or the input view can be left unlinked and used with a Triggered Task to accept POST/PUT requests.

Output This Snap has exactly one binary output view.

The binary documents that made up the multipart stream. The headers for the binary output documents are taken from the headers in the parts themselves along with the header properties defined in this Snap. If the binary input document is not a multipart stream, it is passed to the output view without processing.

Error

Error handling is a generic way to handle errors without losing data or failing the Snap execution. You can handle the errors that the Snap might encounter when running the pipeline by choosing one of the following options from the When errors occur list under the Views tab. The available options are:

  • Stop Pipeline Execution Stops the current pipeline execution when an error occurs.
  • Discard Error Data and Continue Ignores the error, discards that record, and continues with the remaining records.
  • Route Error Data to Error View Routes the error data to an error view without stopping the Snap execution.

Learn more about Error handling in Pipelines.

Snap settings

Legend:
  • Expression icon (): Allows using pipeline parameters to set field values dynamically (if enabled). SnapLogic Expressions are not supported. If disabled, you can provide a static value.
  • SnapGPT (): Generates SnapLogic Expressions based on natural language using SnapGPT. Learn more.
  • Suggestion icon (): Populates a list of values dynamically based on your Snap configuration. You can select only one attribute at a time using the icon. Type into the field if it supports a comma-separated list of values.
  • Upload : Uploads files. Learn more.
Learn more about the icons in the Snap settings dialog.
Field / Field set Type Description
Label String

Required. Specify a unique name for the Snap. Modify this to be more appropriate, especially if more than one of the same Snaps is in the pipeline.

Default value: Multipart Reader

Example: Multipart Reader
Content-Type String/Expression Specify the value of the Content-Type header for the binary document. The value of this header is needed to determine whether or not the binary document is, in fact, a multipart stream and what "boundary" is used to separate the parts of the stream.
Note: The default value for this property is an expression that fetches the content type from the pipeline parameters (as passed when invoked via a Triggered Task) or the binary input document header.

Default value: pipe.args.get('CONTENT_TYPE') || $.get('content-type')

Binary Header Properties The binary output document header can be modified by specifying properties in this table property. The headers are initially populated with the headers from the parts in the stream. These properties allow you to pass the original multipart input document to the binary output documents.
Expression Expression Specify the expression value to insert into the header. When evaluated, this expression, computes the value to insert.

Default value: N/A

Target path String/Suggestion Specify the JSON path where the value should be set in the header.

Default value: N/A

Snap execution Dropdown list
Choose one of the three modes in which the Snap executes. Available options are:
  • Validate & Execute: Performs limited execution of the Snap and generates a data preview during pipeline validation. Subsequently, performs full execution of the Snap (unlimited records) during pipeline runtime.
  • Execute only: Performs full execution of the Snap during pipeline execution without generating preview data.
  • Disabled: Disables the Snap and all Snaps that are downstream from it.

Default value: Execute only

Example: Validate & Execute

Examples