blob: 76803ee3a7c839c752c36aa80d9a0c03c6dd9ef3 [file] [log] [blame]
.. Licensed to the Apache Software Foundation (ASF) under one or more
contributor license agreements. See the NOTICE file distributed
with this work for additional information regarding copyright
ownership. The ASF licenses this file to you under the Apache
License, Version 2.0 (the "License"); you may not use this file
except in compliance with the License. You may obtain a copy of
the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
implied. See the License for the specific language governing
permissions and limitations under the License.
.. include:: ../../../common.defs
.. default-domain:: c
TSMimeHdrFieldCreate
********************
Synopsis
========
.. code-block:: cpp
#include <ts/ts.h>
.. function:: TSReturnCode TSMimeHdrFieldCreate(TSMBuffer bufp, TSMLoc hdr, TSMLoc * out)
.. function:: TSReturnCode TSMimeHdrFieldCreateNamed(TSMBuffer bufp, TSMLoc hdr, const char * name, int name_len, TSMLoc * out)
Description
===========
These functions create MIME fields in a MIME header. The header is specified by the combination of
the buffer :arg:`bufp` and a location :arg:`hdr`. The header must be either created such as by
:func:`TSMimeHdrCreate` or be an existing header found via a function such as :func:`TSHttpTxnClientReqGet`.
:func:`TSMimeHdrFieldCreate` creates a completely empty field which must be named before being used
in a header, usually via :func:`TSMimeHdrFieldNameSet`. It is almost always more convenient to use
:func:`TSMimeHdrFieldCreateNamed` which combines these two steps, creating the field and then
setting the name to :arg:`name`.
For both functions a reference to the new field is returned via :arg:`out`.
The field created is not in a header even though it is in the same buffer. It can be added to a
header with :func:`TSMimeHdrFieldAppend`. The field also has no value, only a name. If a value is
needed it must be added explicitly with a function such as :func:`TSMimeHdrFieldValueIntSet`.