Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
V
varnishevent
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
1
Issues
1
List
Board
Labels
Milestones
Merge Requests
1
Merge Requests
1
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
varnishevent
Commits
58acaecb
Commit
58acaecb
authored
Apr 01, 2015
by
Geoff Simmons
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
implement and test formatters for %{X}i and %{X}o
parent
26ee57b5
Changes
3
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
77 additions
and
15 deletions
+77
-15
format.c
src/format.c
+16
-15
format.h
src/format.h
+5
-0
test_format.c
src/test/test_format.c
+56
-0
No files found.
src/format.c
View file @
58acaecb
...
...
@@ -506,23 +506,24 @@ format_u_##dir(tx_t *tx, char *name, enum VSL_tag_e tag, \
FORMAT_u
(
client
,
ReqHeader
)
FORMAT_u
(
backend
,
BereqHeader
)
#if 0
#define FORMAT_Xio(dir, io, hx) \
static void \
format_X##io##_##dir(logline_t *ll, char *name, enum VSL_tag_e tag, \
char **s, size_t *len) \
{ \
(void) tag; \
record_t *rec = GET_HDR(ll, hx, name); \
if (rec) \
RETURN_HDR(rec, name, s, len); \
#define FORMAT_Xio(dir, io, hx) \
void \
format_X##io##_##dir(tx_t *tx, char *name, enum VSL_tag_e tag, \
char **s, size_t *len) \
{ \
(void) tag; \
\
*s = get_hdr(tx, SLT_##hx, name); \
if (s) \
*len = strlen(*s); \
}
FORMAT_Xio(client, i, rx)
FORMAT_Xio(backend, i, tx)
FORMAT_Xio(client, o, tx)
FORMAT_Xio(backend, o, rx)
FORMAT_Xio
(
client
,
i
,
ReqHeader
)
FORMAT_Xio
(
backend
,
i
,
BereqHeader
)
FORMAT_Xio
(
client
,
o
,
RespHeader
)
FORMAT_Xio
(
backend
,
o
,
BerespHeader
)
#if 0
FORMAT_tim(Xt, name, )
...
...
src/format.h
View file @
58acaecb
...
...
@@ -84,3 +84,8 @@ formatter_f format_U_backend;
formatter_f
format_u_client
;
formatter_f
format_u_backend
;
formatter_f
format_Xi_client
;
formatter_f
format_Xi_backend
;
formatter_f
format_Xo_client
;
formatter_f
format_Xo_backend
;
src/test/test_format.c
View file @
58acaecb
...
...
@@ -936,6 +936,60 @@ static const char
return
NULL
;
}
static
const
char
*
test_format_Xi
(
void
)
{
tx_t
tx
;
logline_t
rec
;
chunk_t
chunk
;
char
*
str
,
hdr
[]
=
"Foo"
;
size_t
len
;
printf
(
"... testing format_Xi_*()
\n
"
);
init_tx_rec_chunk
(
&
tx
,
&
rec
,
&
chunk
);
MAN
(
chunk
.
data
);
set_record_data
(
&
rec
,
&
chunk
,
"Foo: bar"
,
SLT_ReqHeader
);
format_Xi_client
(
&
tx
,
hdr
,
SLT__Bogus
,
&
str
,
&
len
);
MASSERT
(
strcmp
(
str
,
"bar"
)
==
0
);
MASSERT
(
len
==
3
);
rec
.
tag
=
SLT_BereqHeader
;
format_Xi_backend
(
&
tx
,
hdr
,
SLT__Bogus
,
&
str
,
&
len
);
MASSERT
(
strcmp
(
str
,
"bar"
)
==
0
);
MASSERT
(
len
==
3
);
return
NULL
;
}
static
const
char
*
test_format_Xo
(
void
)
{
tx_t
tx
;
logline_t
rec
;
chunk_t
chunk
;
char
*
str
,
hdr
[]
=
"Baz"
;
size_t
len
;
printf
(
"... testing format_Xo_*()
\n
"
);
init_tx_rec_chunk
(
&
tx
,
&
rec
,
&
chunk
);
MAN
(
chunk
.
data
);
set_record_data
(
&
rec
,
&
chunk
,
"Baz: quux"
,
SLT_RespHeader
);
format_Xo_client
(
&
tx
,
hdr
,
SLT__Bogus
,
&
str
,
&
len
);
MASSERT
(
strcmp
(
str
,
"quux"
)
==
0
);
MASSERT
(
len
==
4
);
rec
.
tag
=
SLT_BerespHeader
;
format_Xo_backend
(
&
tx
,
hdr
,
SLT__Bogus
,
&
str
,
&
len
);
MASSERT
(
strcmp
(
str
,
"quux"
)
==
0
);
MASSERT
(
len
==
4
);
return
NULL
;
}
static
const
char
*
all_tests
(
void
)
{
...
...
@@ -960,6 +1014,8 @@ static const char
mu_run_test
(
test_format_T
);
mu_run_test
(
test_format_U
);
mu_run_test
(
test_format_u
);
mu_run_test
(
test_format_Xi
);
mu_run_test
(
test_format_Xo
);
return
NULL
;
}
...
...
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