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

Function TSHttpTxnConfigStringGet

src/api/InkAPI.cc:7659–7700  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

7657}
7658
7659TSReturnCode
7660TSHttpTxnConfigStringGet(TSHttpTxn txnp, TSOverridableConfigKey conf, const char **value, int *length)
7661{
7662 sdk_assert(sdk_sanity_check_txn(txnp) == TS_SUCCESS);
7663 sdk_assert(sdk_sanity_check_null_ptr((void **)value) == TS_SUCCESS);
7664 sdk_assert(sdk_sanity_check_null_ptr((void *)length) == TS_SUCCESS);
7665
7666 HttpSM *sm = reinterpret_cast<HttpSM *>(txnp);
7667
7668 switch (conf) {
7669 case TS_CONFIG_HTTP_RESPONSE_SERVER_STR:
7670 *value = sm->t_state.txn_conf->proxy_response_server_string;
7671 *length = sm->t_state.txn_conf->proxy_response_server_string_len;
7672 break;
7673 case TS_CONFIG_HTTP_GLOBAL_USER_AGENT_HEADER:
7674 *value = sm->t_state.txn_conf->global_user_agent_header;
7675 *length = sm->t_state.txn_conf->global_user_agent_header_size;
7676 break;
7677 case TS_CONFIG_BODY_FACTORY_TEMPLATE_BASE:
7678 *value = sm->t_state.txn_conf->body_factory_template_base;
7679 *length = sm->t_state.txn_conf->body_factory_template_base_len;
7680 break;
7681 case TS_CONFIG_HTTP_SERVER_SESSION_SHARING_MATCH:
7682 *value = sm->t_state.txn_conf->server_session_sharing_match_str;
7683 *length = *value ? strlen(*value) : 0;
7684 break;
7685 default: {
7686 MgmtConverter const *conv;
7687 const void *src = _conf_to_memberp(conf, sm->t_state.txn_conf, conv);
7688 if (src != nullptr && conv != nullptr && conv->load_string) {
7689 auto sv = conv->load_string(src);
7690 *value = sv.data();
7691 *length = sv.size();
7692 } else {
7693 return TS_ERROR;
7694 }
7695 break;
7696 }
7697 }
7698
7699 return TS_SUCCESS;
7700}
7701
7702TSReturnCode
7703TSHttpTxnConfigFind(const char *name, int length, TSOverridableConfigKey *conf, TSRecordDataType *type)

Callers 5

GetSVMethod · 0.85
configStringGetMethod · 0.85
override_fetchMethod · 0.85

Calls 5

sdk_sanity_check_txnFunction · 0.85
_conf_to_memberpFunction · 0.85
dataMethod · 0.45
sizeMethod · 0.45