These VCL functions are supported by Fastly.

Content negotiation

Functions for selecting a response from common content negotiation request headers.


Fastly provides several functions in VCL for cryptographic- and hashing-related purposes. It is based very heavily on Kristian Lyngstøl's digest vmod for Varnish 3 (which means you can also refer to that documentation for more detail).

Date and time

By default VCL includes the now variable, which provides the current time (for example, Mon, 02 Jan 2006 22:04:05 GMT). Fastly adds several new Varnish variables and functions that allow more flexibility when dealing with dates and times.

Floating point classifications

Floating point classification functions.

Math rounding

Rounding of numbers.

Math trigonometric

Trigonometric functions.


Fastly has added several miscellaneous features to Varnish that don't easily fit into specific categories.

Query string manipulation

Fastly provides a number of extensions to VCL, including several functions for query string manipulation based on Dridi Boukelmoune's vmod-querystring for Varnish.


Fastly exposes a number of functions that support the insertion of random strings, content cookies, and decisions into requests.

String manipulation

These functions provide various manipulation for strings containing arbitrary text content.


Tables provide a means to declare a constant dictionary and to efficiently look up values in the dictionary.


Fastly has added several variables that expose information about the TLS and HTTP attributes of a request.


The universally unique identifier (UUID) module provides interfaces for generating and validating unique identifiers as defined by RFC4122. Version 1 identifiers, based on current time and host identity, are currently not supported.