Provided by: trafficserver-dev_5.3.0-2ubuntu2_amd64 bug

NAME

       TSRemapInit - traffic Server remap plugin entry points

SYNOPSIS

       #include <ts/ts.h>
       #include <ts/remap.h>

       TSReturnCode TSRemapInit(TSRemapInterface * api_info, char* errbuf, int errbuf_size)

       void TSRemapDone(void)

       TSRemapStatus TSRemapDoRemap(void * ih, TSHttpTxn rh, TSRemapRequestInfo * rri)

       TSReturnCode TSRemapNewInstance(int argc, char * argv[], void ** ih, char * errbuf, int errbuf_size)

       void TSRemapDeleteInstance(void *)

       void TSRemapOSResponse(void * ih, TSHttpTxn rh, int os_response_type)

DESCRIPTION

       The  Traffic  Server  remap  interface  provides  a  simplified  mechanism for plugins to manipulate HTTP
       transactions. A remap plugin is not global; it is configured on a per-remap rule basis, which enables you
       to customize how URLs are redirected based on individual rules in the remap.config file. Writing a  remap
       plugin  consists  of  implementing one or more of the remap entry points and configuring the remap.config
       configuration file to route the transaction through your plugin. Multiple remap plugins can be  specified
       for  a  single remap rule, resulting in a remap plugin chain where each plugin is given an opportunity to
       examine the HTTP transaction.

       TSRemapInit() is a required entry point. This function will be called once when Traffic Server loads  the
       plugin.  If  the  optional  TSRemapDone()  entry  point  is available, Traffic Server will call then when
       unloading the remap plugin.

       A remap plugin may be invoked for different remap rules. Traffic Server will call the  entry  point  each
       time  a  plugin is specified in a remap rule. When a remap plugin instance is no longer required, Traffic
       Server will call TSRemapDeleteInstance().

       TSRemapDoRemap() is called for each HTTP transaction. This is a mandatory entry point. In this  function,
       the remap plugin may examine and modify the HTTP transaction.

RETURN VALUES

       TSRemapInit()  and  TSRemapNewInstance()  should  return TS_SUCCESS on success, and TS_ERROR otherwise. A
       return value of TS_ERROR is unrecoverable.

       TSRemapDoRemap() returns a status code that indicates whether the HTTP transaction has been modified  and
       whether  Traffic  Server  should  continue to evaluate the chain of remap plugins. If the transaction was
       modified, the plugin should return  TSREMAP_DID_REMAP  or  TSREMAP_DID_REMAP_STOP;  otherwise  it  should
       return  TSREMAP_NO_REMAP  or TSREMAP_NO_REMAP_STOP.  If Traffic Server should not send the transaction to
       subsequent plugins in the remap chain, return TSREMAP_NO_REMAP_STOP or TSREMAP_DID_REMAP_STOP.  Returning
       TSREMAP_ERROR causes Traffic Server to stop evaluating the remap chain and respond with an error.

SEE ALSO

       TSAPI(3ts)

COPYRIGHT

       2014, dev@trafficserver.apache.org

5.3                                              April 18, 2016                                 TSREMAPINIT(3ts)