2.2.5 Multipart Content Type

To enable efficient transfer of multiple sets of information in an HTTP request or response, this extension defines a new media type, multipart/MSDAVEXTPrefixEncoded, as specified in [RFC2616] section 3.7. When using this media type, the Content-Length header (as specified in [RFC2616] section 14.13) MUST include the length of the body that includes the size fields that are described below.

The entity body MUST be encoded as specified below.

 <Properties-Size> <Properties> <File-Size> <File-contents>

 Properties-Size: The size of the properties by using hexadecimal string representation. This representation of a 64-bit number MUST be a 16-byte string of hexadecimal digits that are prefixed with padding zeros where necessary.

Properties: The properties of the Resource. For a response, this MUST be the same as the body of the response, as specified in [RFC4918] section 9.1, for a PROPFIND command requesting all properties of the resource. For a request, this MUST be the same as the body of a PROPPATCH command, as specified in [RFC4918] section 9.2.

File-Size: The size of the file by using hexadecimal string representation. This representation of a 64-bit number MUST be a 16-byte string of hexadecimal digits that are prefixed with padding zeros where necessary.

File-Contents: The contents of the file. For a response, this MUST be the same as the body of a GET response, as specified in [RFC2616] section 9.3. For a request, this MUST be the same as the body of a PUT request, as specified in [RFC2616] section 9.6.<10>