MCPcopy Create free account
hub / github.com/apache/trafficserver / TSMimeHdrFieldNameSet

Function TSMimeHdrFieldNameSet

src/api/InkAPI.cc:2039–2074  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

2037}
2038
2039TSReturnCode
2040TSMimeHdrFieldNameSet(TSMBuffer bufp, TSMLoc hdr, TSMLoc field, const char *name, int length)
2041{
2042 // Allow to modify the buffer only
2043 // if bufp is modifiable. If bufp is not modifiable return
2044 // TS_ERROR. If allowed, return TS_SUCCESS. Changed the
2045 // return value of function from void to TSReturnCode.
2046 sdk_assert(sdk_sanity_check_mbuffer(bufp) == TS_SUCCESS);
2047 sdk_assert((sdk_sanity_check_mime_hdr_handle(hdr) == TS_SUCCESS) || (sdk_sanity_check_http_hdr_handle(hdr) == TS_SUCCESS));
2048 sdk_assert(sdk_sanity_check_field_handle(field, hdr) == TS_SUCCESS);
2049 sdk_assert(sdk_sanity_check_null_ptr((void *)name) == TS_SUCCESS);
2050
2051 if (!isWriteable(bufp)) {
2052 return TS_ERROR;
2053 }
2054
2055 if (length == -1) {
2056 length = strlen(name);
2057 }
2058
2059 MIMEFieldSDKHandle *handle = reinterpret_cast<MIMEFieldSDKHandle *>(field);
2060 HdrHeap *heap = (reinterpret_cast<HdrHeapSDKHandle *>(bufp))->m_heap;
2061
2062 int attached = (handle->mh && handle->field_ptr->is_live());
2063
2064 if (attached) {
2065 mime_hdr_field_detach(handle->mh, handle->field_ptr, false);
2066 }
2067
2068 handle->field_ptr->name_set(heap, handle->mh, name, length);
2069
2070 if (attached) {
2071 mime_hdr_field_attach(handle->mh, handle->field_ptr, 1, nullptr);
2072 }
2073 return TS_SUCCESS;
2074}
2075
2076TSReturnCode
2077TSMimeHdrFieldValuesClear(TSMBuffer bufp, TSMLoc hdr, TSMLoc field)

Callers 15

handle_responseFunction · 0.85
handle_responseFunction · 0.85
replace_headerFunction · 0.85
TSRemapDoRemapFunction · 0.85
modify_headerFunction · 0.85
TSPluginInitFunction · 0.85
TSPluginInitFunction · 0.85
setNameMethod · 0.85
appendMethod · 0.85
txn_handlerFunction · 0.85
addMimeHeaderFieldFunction · 0.85

Calls 10

sdk_sanity_check_mbufferFunction · 0.85
isWriteableFunction · 0.85
mime_hdr_field_detachFunction · 0.85
mime_hdr_field_attachFunction · 0.85
is_liveMethod · 0.80
name_setMethod · 0.45

Tested by 1