trafficserver-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Alan M. Carroll" <>
Subject Re: the questions on the usage of cacheurl plugin
Date Mon, 27 Oct 2014 18:03:27 GMT
Monday, October 20, 2014, 12:31:55 AM, you wrote:

> 1. Is the cacheurl built by default ? The website said "This plugin is only built if
the configure option --enable-experimental-plugins”.  But I had the available
under my libexec/trafficserver (/home/ats/test/local/trafficserver-5.0.1/libexec/trafficserver).
  So I think it was built by default in 5.0.1, right?

Yes, that seems to be the case. The plugins in the "plugins" directory should be built by
default. The plugins builds enabled by --enable-experimental-plugins are in "plugins/experimental".
cacheurl was there first (as usual) and was at some point promoted to a standard default plugin
but the documentation wasn't updated.

> 2. Where is the cacheurl.config file located?  The website said “ Create a cacheurl.config
file in the plugin directory with the url regex patterns to match”.  But there is no plugin
folder under my installed directory.  Should I put the cacheurl.config under the folder  same
as lacerated ? (i.e. /home/ats/test/local/trafficserver-5.0.1/libexec/trafficserver)

Yes, you can put it there. I find it a bit of an odd place to look, but that does appear to
be what the code does.

You can also pass the config file path as the first argument in the plugins.config file for
the plugin, e.g. jay-cacheurl.config

with the argument being interpreted as relative to the config file directory (where records.config
is). Or you can use an absolute path.

> 3. What is the correct reg url for my links ( itag and id are keywords)? 
> My url for example 
> 1.

> 2.

> Is the following regurl correct? 
> http://[[:digit:]]{1,3}\.[[:digit:]]{1,3}\.[[:digit:]]{1,3}\.[[:digit:]]{1,3}/videoplayback?Body-Bytes=\?.*\&(itag=[0-9]*).*\&(id=[0-9a-zA-Z]*).*


I haven't actually used this plugin, so I'm not sure but it seems reasonable. You might try
"http://(?:[[:digit:]]{1,3}){4}" as the leading part.

A couple of side notes -

1) The result must be syntactically a URL but it is, in the end, just a string as far as the
cache is concerned. So you could use a result like "video://jay/$1&$2". This is what I
have done in other efforts like this to be sure to avoid any collisions with a real URL.

2) These requests appear to be range based requests. If you don't store the range part as
well, you may get some rather unexpected results when you read the URL back from cache. That
is, something with a query parameter of "range=0-1500000" would match a URL the same tag and
id and a range parameter of "1500001-2000000".

View raw message