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