TSHttpHdrUrlGet

Synopsis

#include <ts/ts.h>
TSReturnCode TSHttpHdrUrlGet(TSMBuffer bufp, TSMLoc offset, TSMLoc *locp)

Description

Get a URL object from an HTTP header. bufp and offset must have been retrieved from a header object previously (such as via TSHttpTxnClientReqGet()). locp is updated on success to refer to the URL object. Note this is a URL object, from which URL related information can be extracted.

The value placed in locp is stable only for a single callback, as other callbacks can change the URL object itself (see TSHttpHdrUrlSet()), not just the data in it. That value is also valid only if this function return TS_SUCCESS.

Note

Not all URL components may be available at every hook stage. In early hooks such as TS_HTTP_READ_REQUEST_HDR_HOOK, the URL object may not yet be fully parsed. In particular, the host component retrieved via TSUrlHostGet() may be NULL even when a Host header is present. For reliable host retrieval across all hook stages, use TSHttpHdrHostGet() instead, which checks both the URL and the Host header field.

See Also

TSAPI(3ts), TSHttpTxnClientReqGet(3ts), TSHttpTxnServerReqGet(3ts), TSHttpTxnServerRespGet(3ts), TSHttpTxnClientRespGet(3ts), TSHttpHdrHostGet(3ts), TSUrlHostGet(3ts)