Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
U
unique-xids
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
uplex-varnish
unique-xids
Commits
a5f32fd8
Commit
a5f32fd8
authored
Apr 29, 2013
by
Poul-Henning Kamp
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Start sorting VCL variables into "client", "backend" or "both".
Fix some test-cases to match, generally s/req.*/bereq.*/
parent
da10ea30
Changes
7
Hide whitespace changes
Inline
Side-by-side
Showing
7 changed files
with
72 additions
and
61 deletions
+72
-61
c00001.vtc
bin/varnishtest/tests/c00001.vtc
+1
-1
c00032.vtc
bin/varnishtest/tests/c00032.vtc
+2
-2
g00003.vtc
bin/varnishtest/tests/g00003.vtc
+1
-1
g00004.vtc
bin/varnishtest/tests/g00004.vtc
+1
-1
p00008.vtc
bin/varnishtest/tests/p00008.vtc
+1
-1
v00016.vtc
bin/varnishtest/tests/v00016.vtc
+2
-2
generate.py
lib/libvcl/generate.py
+64
-53
No files found.
bin/varnishtest/tests/c00001.vtc
View file @
a5f32fd8
...
...
@@ -22,7 +22,7 @@ varnish v1 -vcl+backend {
set beresp.http.Snafu6 =
regsub(beresp.http.Foobar, "(b)(a)(r)(f)", "\4\&\3\2p\");
set beresp.http.Snafu7 =
regsub(beresp.http.Foobar, "ar", req.http.nosuchheader);
regsub(beresp.http.Foobar, "ar",
be
req.http.nosuchheader);
}
} -start
...
...
bin/varnishtest/tests/c00032.vtc
View file @
a5f32fd8
...
...
@@ -20,8 +20,8 @@ varnish v1 -vcl+backend {
}
}
sub vcl_
backend_response
{
if (
be
resp.status == 400) {
sub vcl_
deliver
{
if (resp.status == 400) {
rollback;
set req.url = "/bar";
return (restart);
...
...
bin/varnishtest/tests/g00003.vtc
View file @
a5f32fd8
...
...
@@ -21,7 +21,7 @@ varnish v1 -cliok "param.set http_gzip_support true" -vcl+backend {
sub vcl_backend_response {
set beresp.do_gunzip = true;
if (req.url == "/foobar") {
if (
be
req.url == "/foobar") {
set beresp.do_gzip = true;
}
}
...
...
bin/varnishtest/tests/g00004.vtc
View file @
a5f32fd8
...
...
@@ -22,7 +22,7 @@ varnish v1 \
sub vcl_backend_response {
set beresp.do_stream = false;
if (req.url == "/gunzip") {
if (
be
req.url == "/gunzip") {
set beresp.do_gunzip = true;
}
}
...
...
bin/varnishtest/tests/p00008.vtc
View file @
a5f32fd8
...
...
@@ -20,7 +20,7 @@ varnish v1 \
-vcl+backend {
sub vcl_backend_response {
set beresp.storage = "per1";
if (req.url ~ "silo2") {
if (
be
req.url ~ "silo2") {
set beresp.storage = "per2";
}
}
...
...
bin/varnishtest/tests/v00016.vtc
View file @
a5f32fd8
...
...
@@ -64,9 +64,9 @@ varnish v1 -vcl {
if (beresp.ttl > 1d) {
set beresp.ttl = 1d;
}
if (req.backend == b) {
if (
be
req.backend == b) {
set beresp.ttl = 1d;
} else if (req.backend != b) {
} else if (
be
req.backend != b) {
set beresp.ttl = 1h;
}
}
...
...
lib/libvcl/generate.py
View file @
a5f32fd8
...
...
@@ -78,126 +78,128 @@ tokens = {
# Our methods and actions
returns
=
(
(
'recv'
,
(
'error'
,
'pass'
,
'pipe'
,
'lookup'
,)),
(
'pipe'
,
(
'error'
,
'pipe'
,)),
(
'pass'
,
(
'error'
,
'restart'
,
'pass'
,)),
(
'hash'
,
(
'hash'
,)),
(
'miss'
,
(
'error'
,
'restart'
,
'pass'
,
'fetch'
,)),
(
'lookup'
,
(
'error'
,
'restart'
,
'pass'
,
'deliver'
,)),
(
'backend_fetch'
,
(
'error'
,
'fetch'
,
'pass'
,)),
(
'backend_response'
,
(
'error'
,
'restart'
,
'deliver'
,)),
(
'deliver'
,
(
'restart'
,
'deliver'
,)),
(
'error'
,
(
'restart'
,
'deliver'
,)),
(
'init'
,
(
'ok'
,)),
(
'fini'
,
(
'ok'
,)),
(
'recv'
,
"C"
,
(
'error'
,
'pass'
,
'pipe'
,
'lookup'
,)),
(
'pipe'
,
"C"
,
(
'error'
,
'pipe'
,)),
(
'pass'
,
"C"
,
(
'error'
,
'restart'
,
'pass'
,)),
(
'hash'
,
"C"
,
(
'hash'
,)),
(
'miss'
,
"C"
,
(
'error'
,
'restart'
,
'pass'
,
'fetch'
,)),
(
'lookup'
,
"C"
,
(
'error'
,
'restart'
,
'pass'
,
'deliver'
,)),
(
'backend_fetch'
,
"B"
,
(
'error'
,
'fetch'
,
'pass'
,)),
(
'backend_response'
,
"B"
,
(
'error'
,
'restart'
,
'deliver'
,)),
(
'deliver'
,
"C"
,
(
'restart'
,
'deliver'
,)),
(
'error'
,
"C"
,
(
'restart'
,
'deliver'
,)),
(
'init'
,
""
,
(
'ok'
,)),
(
'fini'
,
""
,
(
'ok'
,)),
)
#######################################################################
# Variables available in sessions
#
# 'all' means all methods
# 'proc' means all methods but 'init' and 'fini'
# 'client' means all methods tagged "C"
# 'backend' means all methods tagged "B"
# 'both' means all methods tagged "B" or "C"
sp_variables
=
(
(
'client.ip'
,
'IP'
,
(
'
proc
'
,),
(
'
both
'
,),
(
),
'R'
),
(
'client.identity'
,
'STRING'
,
(
'
proc
'
,),
(
'
proc
'
,),
(
'
both
'
,),
(
'
both
'
,),
'R'
),
(
'server.ip'
,
'IP'
,
(
'
proc
'
,),
(
'
client
'
,),
(
),
'R'
),
(
'server.hostname'
,
'STRING'
,
(
'
proc
'
,),
(
'
client
'
,),
(
),
'R'
),
(
'server.identity'
,
'STRING'
,
(
'
proc
'
,),
(
'
client
'
,),
(
),
'R'
),
(
'server.port'
,
'INT'
,
(
'
proc
'
,),
(
'
client
'
,),
(
),
'R'
),
(
'req.method'
,
'STRING'
,
(
'
proc
'
,),
(
'
proc
'
,),
(
'
client
'
,),
(
'
client
'
,),
'cR'
),
(
'req.request'
,
'STRING'
,
(
'
proc
'
,),
(
'
proc
'
,),
(
'
client
'
,),
(
'
client
'
,),
'cR'
),
(
'req.url'
,
'STRING'
,
(
'
proc
'
,),
(
'
proc
'
,),
(
'
client
'
,),
(
'
client
'
,),
'cR'
),
(
'req.proto'
,
'STRING'
,
(
'
proc
'
,),
(
'
proc
'
,),
(
'
client
'
,),
(
'
client
'
,),
'cR'
),
(
'req.http.'
,
'HEADER'
,
(
'
proc
'
,),
(
'
proc
'
,),
(
'
client
'
,),
(
'
client
'
,),
'cR'
),
(
'req.restarts'
,
'INT'
,
(
'
proc
'
,),
(
'
client
'
,),
(
),
'cR'
),
(
'req.esi_level'
,
'INT'
,
(
'
proc
'
,),
(
'
client
'
,),
(
),
'cR'
),
(
'req.ttl'
,
'DURATION'
,
(
'
proc
'
,),
(
'
proc
'
,),
(
'
client
'
,),
(
'
client
'
,),
'R'
),
(
'req.grace'
,
'DURATION'
,
(
'
proc
'
,),
(
'
proc
'
,),
(
'
client
'
,),
(
'
client
'
,),
'R'
),
(
'req.keep'
,
'DURATION'
,
(
'
proc
'
,),
(
'
proc
'
,),
(
'
client
'
,),
(
'
client
'
,),
'R'
),
(
'req.xid'
,
'STRING'
,
(
'
proc
'
,),
(
'
client
'
,),
(
),
'R'
),
...
...
@@ -209,19 +211,19 @@ sp_variables = (
),
(
'req.can_gzip'
,
'BOOL'
,
(
'
proc
'
,),
(
'
client
'
,),
(
),
'R'
),
(
'req.backend'
,
'BACKEND'
,
(
'
proc
'
,),
(
'
proc
'
,),
(
'
client
'
,),
(
'
client
'
,),
'R'
),
(
'req.backend.healthy'
,
'BOOL'
,
(
'
proc
'
,),
(
'
client
'
,),
(
),
'R'
),
...
...
@@ -239,13 +241,13 @@ sp_variables = (
),
(
'bereq.backend'
,
'BACKEND'
,
(
'backend
_fetch'
,
'backend_response'
),
(
'backend
_fetch'
,
'backend_response'
),
(
'backend
'
,
),
(
'backend
'
,
),
'B'
),
(
'bereq.backend.healthy'
,
'BOOL'
,
(
'backend
_fetch'
,
'backend_response'
),
(
'backend
'
,
),
(
),
'B'
),
...
...
@@ -710,9 +712,16 @@ fo.close()
rets
=
dict
()
vcls
=
list
()
vcls_client
=
list
()
vcls_backend
=
list
()
for
i
in
returns
:
vcls
.
append
(
i
[
0
])
for
j
in
i
[
1
]:
if
j
==
"B"
:
vcls_backend
.
append
(
i
[
0
])
elif
j
==
"C"
:
vcls_client
.
append
(
i
[
0
])
for
j
in
i
[
2
]:
rets
[
j
]
=
True
#######################################################################
...
...
@@ -730,7 +739,7 @@ for i in l:
fo
.
write
(
"VCL_RET_MAC(
%
s,
%
s"
%
(
i
.
lower
(),
i
.
upper
()))
s
=
", "
for
j
in
returns
:
if
i
in
j
[
1
]:
if
i
in
j
[
2
]:
fo
.
write
(
"
%
sVCL_MET_
%
s"
%
(
s
,
j
[
0
]
.
upper
()))
s
=
" | "
fo
.
write
(
")
\n
"
)
...
...
@@ -740,7 +749,7 @@ fo.write("\n#ifdef VCL_MET_MAC\n")
for
i
in
returns
:
fo
.
write
(
"VCL_MET_MAC(
%
s,
%
s,
\n
"
%
(
i
[
0
]
.
lower
(),
i
[
0
]
.
upper
()))
p
=
" ("
for
j
in
i
[
1
]:
for
j
in
i
[
2
]:
fo
.
write
(
"
%
s(1U << VCL_RET_
%
s)
\n
"
%
(
p
,
j
.
upper
()))
p
=
"| "
fo
.
write
(
"))
\n
"
)
...
...
@@ -827,11 +836,13 @@ def restrict(fo, spec):
return
if
spec
[
0
]
==
'all'
:
spec
=
vcls
if
spec
[
0
]
==
'proc'
:
spec
=
list
()
for
i
in
vcls
:
if
i
!=
"init"
and
i
!=
"fini"
:
spec
.
append
(
i
)
if
spec
[
0
]
==
'client'
:
spec
=
vcls_client
if
spec
[
0
]
==
'backend'
:
spec
=
vcls_backend
if
spec
[
0
]
==
'both'
:
spec
=
vcls_client
spec
+=
vcls_backend
p
=
""
n
=
0
for
j
in
spec
:
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment