UGA Boxxx

つぶやきの延長のつもりで、知ったこと思ったこと書いてます

【Fastly】queryの値を取得して変数にセットする

FastlyのVCLで、リクエストのqueryの値を変数にセットしたい

VCLでクエリを取得する方法はquerystring.getを使う

STRING querystring.get(STRING url, STRING name)

developer.fastly.com

ユーザー定義の変数を使う場合は以下のように定義する

declare local var.{NAME} {TYPE};

developer.fastly.com

これらを使って、リクエストパラメータ?foo=xxxのxxxを変数にセットするには次のようにする

declare local var.query STRING;

if (std.strlen(querystring.get(req.url, "foo")) > 0) {
    set var.query = querystring.get(req.url, "foo");
}