Commit 1a5b7fd0 authored by Poul-Henning Kamp's avatar Poul-Henning Kamp
parents aa07de47 5e2c77b5
......@@ -20,6 +20,7 @@ The Varnish Reference Manual
varnishtop.rst
shmem.rst
vmod.rst
vmod_std.rst
vsl.rst
.. todo::
......
......@@ -106,8 +106,6 @@ ban *field operator argument* [&& field operator argument [...]]
examples.
ban.list
Display the ban list.
All requests for objects from the cache are matched against
items on the ban list. If an object in the cache is older than
a matching ban list item, it is considered "banned", and will be
......@@ -116,6 +114,28 @@ ban.list
When a ban expression is older than all the objects in the
cache, it is removed from the list.
ban.list displays the ban list. The output looks something like
this (broken into two lines):
0x7fea4fcb0580 1303835108.618863 131G req.http.host ~
www.myhost.com && req.url ~ /some/url
The first field is the address of the ban.
The second is the time of entry into the list, given
as a high precision timestamp.
The third field describes many objects point to this ban. When
an object is compared to a ban the object is marked with a
reference to the newest ban it was tested against. This isn't
really useful unless you're debugging.
A "G" marks that the ban is "Gone". Meaning it has been marked
as a duplicate or it is no longer valid. It stays in the list
for effiency reasons.
Then follows the actual ban it self.
ban.url regexp
Immediately invalidate all documents whose URL matches the
specified regular expression. Please note that the Host part of
......
......@@ -323,8 +323,10 @@ regsub(str, regex, sub)
regsuball(str, regex, sub)
As regsuball() but this replaces all occurrences.
ban(ban expression)
ban_url(regex)
Ban all objects in cache whose URLs match regex.
Bans all objects in cache whose URLs match regex.
Subroutines
~~~~~~~~~~~
......
========
vmod_std
========
-----------------------
Varnish Standard Module
-----------------------
:Author: Per Buer
:Date: 2011-05-19
:Version: 1.0
:Manual section: 3
SYNOPSIS
========
import std
DESCRIPTION
===========
The Varnish standard module contains useful, generic function that
don't quite fit in the VCL core, but are still considered very useful
to a broad audience.
FUNCTIONS
=========
toupper
-------
Prototype
toupper(STRING S)
Return value
String
Description
Converts the STRING S to upper case.
Example
set beresp.x-scream = std.toupper("yes!");
tolower
-------
Prototype
tolower(STRING S)
Return value
String
Description
Converts the STRING to lower case.
Example
set beresp.x-nice = std.tolower("VerY");
set_up_tos
----------
Prototype
set_ip_tos(INT I)
Return value
Void
Description
Sets the Type-of-Service flag for the current session. Please
note that the TOS flag is not removed by the end of the
request so probably want to set it on every request should you
utilize it.
Example
| if (req.url ~ ^/slow/) {
| std.set_up_tos(0x0);
| }
random
------
Prototype
random(REAL a, REAL b)
Return value
Real
Description
Returns a random REAL number between *a* and *b*.
Example
set beresp.x-random-number = std.random(1, 100);
log
---
Prototype
log(STRING string)
Return value
Void
Description
Logs string to the shared memory log.
Example
std.log("Something fishy is going on with the vhost " + req.host);
syslog
------
Prototype
syslog(INT priority, STRING string)
Return value
Void
Description
Logs *string* to syslog marked with *priority*.
Example
std.syslog( LOG_USER|LOG_ALERT, "There is serious troble");
fileread
--------
Prototype
fileread(STRING filename)
Return value
String
Description
Reads a file and returns a string with the content. Please
note that it is not recommended to send variables to this
function the caching in the function doesn't take this into
account. Also, files are not re-read.
Example
set beresp.http.x-served-by = std.fileread("/etc/hostname");
duration
--------
Prototype
duration(STRING s, DURATION fallback)
Return value
Duration
Description
Converts the string s to seconds. s can be quantified with the
usual s (seconds), m (minutes), h (hours), d (days) and w
(weeks) units. If it fails to parse the string *fallback*
will be used
Example
set beresp.ttl = std.duration("1w", 3600);
collect
-------
Prototype
collect(HEADER header)
Return value
Void
Description
Collapses the header, joining the headers into one.
Example
std.collect(req.http.cookie);
This will collapse several Cookie: headers into one, long
cookie header.
SEE ALSO
========
* vcl(7)
* varnishd(1)
HISTORY
=======
The Varnish standard module was released along with Varnish Cache 3.0.
This manual page was written by Per Buer with help from Martin Blix
Grydeland.
COPYRIGHT
=========
This document is licensed under the same licence as Varnish
itself. See LICENCE for details.
* Copyright (c) 2011 Varnish Software
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment