vmod\_accept(3) Library Functions Manual vmod\_accept(3)

# [Name](#Name)

vmod\_accept - Accept VMOD

# [SYNOPSIS](#SYNOPSIS)

```
import accept [as name] [from "path"]
new xrule = accept.rule(STRING string)


    VOID xrule.add(STRING string)


    VOID xrule.remove(STRING string)


    STRING xrule.filter(STRING string)
```

# [DESCRIPTION](#DESCRIPTION)

accept allows you to sanitize the Accept* headers (mainly Accept, Accept-Charset and Accept-Encoding) by specify one fallback string, and then adding valid values:

```
sub vcl_init {


    new rule = accept.rule("text/plain");


    rule.add("text/html");


    rule.add("application/json");
}
```

You can then use the **rule** object to filter the headers. The following line will set the accept header to "text/html" or "application/json" if any of them is found in the original header, and will set it to "text/plain" if neither is found:

```
sub vcl_recv {


    set req.http.Accept = rule.filter(req.http.Accept);
}
```

accept will ignore any parameter found and will just return the first choice found. More info here: &lt;https://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html&gt;

# [API](#API)

## [new xrule = accept.rule(STRING string)](#new_xrule_=_accept.rule%28STRING_string%29)

Create a rule object, setting the fallback string.

## [VOID xrule.add(STRING string)](#VOID_xrule.add%28STRING_string%29)

Add **string** to the list of valid choices.

## [VOID xrule.remove(STRING string)](#VOID_xrule.remove%28STRING_string%29)

Remove **string** to the list of valid choices.

## [STRING xrule.filter(STRING string)](#STRING_xrule.filter%28STRING_string%29)

Parse string and try to find a valid choice. The first one found is returned (they are tested in the same order they were added), otherwise, the fallback string is returned.

# [COPYRIGHT](#COPYRIGHT)

```
Copyright (c) 2016 Guillaume Quintard
Author: Guillaume Quintard <guillaume.quintard@gmail.com>
(vmodtool requires this format.)
```

---

Document: vmod_accept(3) from varnish-modules 0.28.0-r1 (Chainguard OS)
Source: https://github.com/varnish/varnish-modules
