NAME¶
TSUrlCreate - traffic Server URL object construction API
SYNOPSIS¶
#include <ts/ts.h>
- TSReturnCode TSUrlCreate(TSMBuffer bufp, TSMLoc
* locp)
- TSReturnCode TSUrlClone(TSMBuffer dest_bufp,
TSMBuffer src_bufp, TSMLoc src_url, TSMLoc
* locp)
- TSReturnCode TSUrlCopy(TSMBuffer dest_bufp,
TSMLoc dest_url, TSMBuffer src_bufp,
TSMLoc src_url)
- TSParseResult TSUrlParse(TSMBuffer bufp,
TSMLoc offset, const char ** start, const char
* end)
DESCRIPTION¶
The URL data structure is a parsed version of a standard internet URL. The
Traffic Server URL API provides access to URL data stored in marshal buffers.
The URL functions can create, copy, retrieve or delete entire URLs, and
retrieve or modify parts of URLs, such as their host, port or scheme
information.
TSUrlCreate() creates a new URL within the marshal buffer
bufp.
Release the resulting handle with a call to
TSHandleMLocRelease().
TSUrlClone() copies the contents of the URL at location
src_url
within the marshal buffer
src_bufp to a location within the marshal
buffer
dest_bufp. Release the returned handle with a call to
TSHandleMLocRelease().
TSUrlCopy() copies the contents of the URL at location
src_url
within the marshal buffer
src_bufp to the location
dest_url
within the marshal buffer dest_bufp.
TSUrlCopy() works correctly even
if
src_bufp and
dest_bufp point to different marshal buffers. It
is important for the destination URL (its marshal buffer and
TSMLoc) to
have been created before copying into it.
TSUrlParse() parses a URL. The
start pointer is both an input and
an output parameter and marks the start of the URL to be parsed. After a
successful parse, the
start pointer equals the
end pointer. The
end pointer must be one byte after the last character you want to
parse. The URL parsing routine assumes that everything between
start
and
end is part of the URL. It is up to higher level parsing routines,
such as
TSHttpHdrParseReq(), to determine the actual end of the URL.
RETURN VALUES¶
The
TSUrlParse() function returns a
TSParseResult, where
TS_PARSE_ERROR indicates an error. Success is indicated by one of
TS_PARSE_DONE or
TS_PARSE_CONT. The other APIs all return a
TSReturnCode, indicating success (
TS_SUCCESS) or failure (
TS_ERROR) of the operation.
SEE ALSO¶
TSAPI(3ts),
TSMBufferCreate(3ts),
TSUrlHostGet(3ts),
TSUrlHostSet(3ts),
TSUrlStringGet(3ts),
TSUrlPercentEncode(3ts)
COPYRIGHT¶
2015, dev@trafficserver.apache.org