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)