logo
Free, Micro AI Code Reviews That Run on Git Commit
git-lrc git-lrc GitHub Install Now We'd appreciate a star git-lrc - Free, Micro AI Code Reviews That Run on Git Commit | Product Hunt git-lrc - Free, Micro AI Code Reviews That Run on Git Commit | Product Hunt

vmod_accept - Accept VMOD

Api

newxrule=accept.rule(STRINGstring)
       Create a rule object, setting the fallback string.

   VOIDxrule.add(STRINGstring)
       Add string to the list of valid choices.

   VOIDxrule.remove(STRINGstring)
       Remove string to the list of valid choices.

   STRINGxrule.filter(STRINGstring)
       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.

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:
       <https://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html>

Name

       vmod_accept - Accept VMOD

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)

See Also