When using Traffic Server, you cannot create a new MIME field without an associated MIME header or HTTP header; MIME fields are always seen as part of a MIME header or HTTP header.
To use a MIME field, you must specify the MIME header or HTTP header to which
it belongs - this is called the field's parent header. The TSMimeField*
functions in older versions of the SDK have been deprecated, as they do not
require the parent header as inputs. The current version of Traffic Server
uses new functions, the TSMimeHdrField series, which require you to
specify the location of the parent header along with the location of the MIME
field. For every deprecated TSMimeField function, there is a new, preferred
TSMimeHdrField* function. Therefore, you should use the TSMimeHdrField
functions instead of the deprecated TSMimeField series. Examples are provided
below.
Instead of:
TSMLoc TSMimeFieldCreate (TSMBuffer bufp)
You should use:
TSMLoc TSMimeHdrFieldCreate (TSMBuffer bufp, TSMLoc hdr)
Instead of:
void TSMimeFieldCopyValues (TSMBuffer dest_bufp, TSMLoc dest_offset, TSMBuffer src_bufp, TSMLoc src_offset)
You should use:
void TSMimeHdrFieldCopyValues (TSMBuffer dest_bufp, TSMLoc dest_hdr, TSMLoc dest_field, TSMBuffer src_bufp, TSMLoc src_hdr, TSMLoc src_field)
In the TSMimeHdrField* function prototypes, the TSMLoc field corresponds
to the TSMLoc offset used the deprecated TSMimeField* functions (see
the discussion of parent TSMLoc in the following section).

