annotate js_body_filter.t @ 1781:386748f328b1

Tests: updated js properties deprecated since 0.5.0.
author Dmitry Volyntsev <xeioex@nginx.com>
date Tue, 02 Aug 2022 20:35:05 -0700
parents 759efa4abc76
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
1656
759efa4abc76 Tests: added tests for js_body_filter directive.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
1 #!/usr/bin/perl
759efa4abc76 Tests: added tests for js_body_filter directive.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
2
759efa4abc76 Tests: added tests for js_body_filter directive.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
3 # (C) Dmitry Volyntsev
759efa4abc76 Tests: added tests for js_body_filter directive.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
4 # (C) Nginx, Inc.
759efa4abc76 Tests: added tests for js_body_filter directive.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
5
759efa4abc76 Tests: added tests for js_body_filter directive.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
6 # Tests for http njs module, body filter.
759efa4abc76 Tests: added tests for js_body_filter directive.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
7
759efa4abc76 Tests: added tests for js_body_filter directive.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
8 ###############################################################################
759efa4abc76 Tests: added tests for js_body_filter directive.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
9
759efa4abc76 Tests: added tests for js_body_filter directive.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
10 use warnings;
759efa4abc76 Tests: added tests for js_body_filter directive.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
11 use strict;
759efa4abc76 Tests: added tests for js_body_filter directive.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
12
759efa4abc76 Tests: added tests for js_body_filter directive.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
13 use Test::More;
759efa4abc76 Tests: added tests for js_body_filter directive.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
14
759efa4abc76 Tests: added tests for js_body_filter directive.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
15 BEGIN { use FindBin; chdir($FindBin::Bin); }
759efa4abc76 Tests: added tests for js_body_filter directive.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
16
759efa4abc76 Tests: added tests for js_body_filter directive.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
17 use lib 'lib';
759efa4abc76 Tests: added tests for js_body_filter directive.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
18 use Test::Nginx;
759efa4abc76 Tests: added tests for js_body_filter directive.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
19
759efa4abc76 Tests: added tests for js_body_filter directive.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
20 ###############################################################################
759efa4abc76 Tests: added tests for js_body_filter directive.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
21
759efa4abc76 Tests: added tests for js_body_filter directive.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
22 select STDERR; $| = 1;
759efa4abc76 Tests: added tests for js_body_filter directive.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
23 select STDOUT; $| = 1;
759efa4abc76 Tests: added tests for js_body_filter directive.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
24
759efa4abc76 Tests: added tests for js_body_filter directive.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
25 my $t = Test::Nginx->new()->has(qw/http proxy/)
759efa4abc76 Tests: added tests for js_body_filter directive.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
26 ->write_file_expand('nginx.conf', <<'EOF');
759efa4abc76 Tests: added tests for js_body_filter directive.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
27
759efa4abc76 Tests: added tests for js_body_filter directive.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
28 %%TEST_GLOBALS%%
759efa4abc76 Tests: added tests for js_body_filter directive.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
29
759efa4abc76 Tests: added tests for js_body_filter directive.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
30 daemon off;
759efa4abc76 Tests: added tests for js_body_filter directive.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
31
759efa4abc76 Tests: added tests for js_body_filter directive.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
32 events {
759efa4abc76 Tests: added tests for js_body_filter directive.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
33 }
759efa4abc76 Tests: added tests for js_body_filter directive.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
34
759efa4abc76 Tests: added tests for js_body_filter directive.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
35 http {
759efa4abc76 Tests: added tests for js_body_filter directive.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
36 %%TEST_GLOBALS_HTTP%%
759efa4abc76 Tests: added tests for js_body_filter directive.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
37
759efa4abc76 Tests: added tests for js_body_filter directive.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
38 js_import test.js;
759efa4abc76 Tests: added tests for js_body_filter directive.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
39
759efa4abc76 Tests: added tests for js_body_filter directive.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
40 server {
759efa4abc76 Tests: added tests for js_body_filter directive.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
41 listen 127.0.0.1:8080;
759efa4abc76 Tests: added tests for js_body_filter directive.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
42 server_name localhost;
759efa4abc76 Tests: added tests for js_body_filter directive.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
43
759efa4abc76 Tests: added tests for js_body_filter directive.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
44 location /njs {
759efa4abc76 Tests: added tests for js_body_filter directive.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
45 js_content test.njs;
759efa4abc76 Tests: added tests for js_body_filter directive.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
46 }
759efa4abc76 Tests: added tests for js_body_filter directive.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
47
759efa4abc76 Tests: added tests for js_body_filter directive.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
48 location /append {
759efa4abc76 Tests: added tests for js_body_filter directive.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
49 js_body_filter test.append;
759efa4abc76 Tests: added tests for js_body_filter directive.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
50 proxy_pass http://127.0.0.1:8081/source;
759efa4abc76 Tests: added tests for js_body_filter directive.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
51 }
759efa4abc76 Tests: added tests for js_body_filter directive.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
52
759efa4abc76 Tests: added tests for js_body_filter directive.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
53 location /buffer_type {
759efa4abc76 Tests: added tests for js_body_filter directive.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
54 js_body_filter test.buffer_type buffer_type=buffer;
759efa4abc76 Tests: added tests for js_body_filter directive.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
55 proxy_pass http://127.0.0.1:8081/source;
759efa4abc76 Tests: added tests for js_body_filter directive.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
56 }
759efa4abc76 Tests: added tests for js_body_filter directive.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
57
759efa4abc76 Tests: added tests for js_body_filter directive.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
58 location /forward {
759efa4abc76 Tests: added tests for js_body_filter directive.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
59 js_body_filter test.forward buffer_type=string;
759efa4abc76 Tests: added tests for js_body_filter directive.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
60 proxy_pass http://127.0.0.1:8081/source;
759efa4abc76 Tests: added tests for js_body_filter directive.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
61 }
759efa4abc76 Tests: added tests for js_body_filter directive.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
62
759efa4abc76 Tests: added tests for js_body_filter directive.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
63 location /filter {
759efa4abc76 Tests: added tests for js_body_filter directive.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
64 proxy_buffering off;
759efa4abc76 Tests: added tests for js_body_filter directive.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
65 js_body_filter test.filter;
759efa4abc76 Tests: added tests for js_body_filter directive.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
66 proxy_pass http://127.0.0.1:8081/source;
759efa4abc76 Tests: added tests for js_body_filter directive.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
67 }
759efa4abc76 Tests: added tests for js_body_filter directive.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
68
759efa4abc76 Tests: added tests for js_body_filter directive.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
69 location /prepend {
759efa4abc76 Tests: added tests for js_body_filter directive.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
70 js_body_filter test.prepend;
759efa4abc76 Tests: added tests for js_body_filter directive.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
71 proxy_pass http://127.0.0.1:8081/source;
759efa4abc76 Tests: added tests for js_body_filter directive.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
72 }
759efa4abc76 Tests: added tests for js_body_filter directive.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
73 }
759efa4abc76 Tests: added tests for js_body_filter directive.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
74
759efa4abc76 Tests: added tests for js_body_filter directive.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
75 server {
759efa4abc76 Tests: added tests for js_body_filter directive.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
76 listen 127.0.0.1:8081;
759efa4abc76 Tests: added tests for js_body_filter directive.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
77 server_name localhost;
759efa4abc76 Tests: added tests for js_body_filter directive.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
78
759efa4abc76 Tests: added tests for js_body_filter directive.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
79 location /source {
759efa4abc76 Tests: added tests for js_body_filter directive.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
80 postpone_output 1;
759efa4abc76 Tests: added tests for js_body_filter directive.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
81 js_content test.source;
759efa4abc76 Tests: added tests for js_body_filter directive.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
82 }
759efa4abc76 Tests: added tests for js_body_filter directive.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
83 }
759efa4abc76 Tests: added tests for js_body_filter directive.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
84 }
759efa4abc76 Tests: added tests for js_body_filter directive.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
85
759efa4abc76 Tests: added tests for js_body_filter directive.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
86 EOF
759efa4abc76 Tests: added tests for js_body_filter directive.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
87
759efa4abc76 Tests: added tests for js_body_filter directive.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
88 $t->write_file('test.js', <<EOF);
759efa4abc76 Tests: added tests for js_body_filter directive.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
89 function test_njs(r) {
759efa4abc76 Tests: added tests for js_body_filter directive.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
90 r.return(200, njs.version);
759efa4abc76 Tests: added tests for js_body_filter directive.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
91 }
759efa4abc76 Tests: added tests for js_body_filter directive.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
92
759efa4abc76 Tests: added tests for js_body_filter directive.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
93 function append(r, data, flags) {
759efa4abc76 Tests: added tests for js_body_filter directive.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
94 r.sendBuffer(data, {last:false});
759efa4abc76 Tests: added tests for js_body_filter directive.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
95
759efa4abc76 Tests: added tests for js_body_filter directive.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
96 if (flags.last) {
759efa4abc76 Tests: added tests for js_body_filter directive.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
97 r.sendBuffer("XXX", flags);
759efa4abc76 Tests: added tests for js_body_filter directive.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
98 }
759efa4abc76 Tests: added tests for js_body_filter directive.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
99 }
759efa4abc76 Tests: added tests for js_body_filter directive.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
100
759efa4abc76 Tests: added tests for js_body_filter directive.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
101 var collect = Buffer.from([]);
759efa4abc76 Tests: added tests for js_body_filter directive.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
102 function buffer_type(r, data, flags) {
759efa4abc76 Tests: added tests for js_body_filter directive.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
103 collect = Buffer.concat([collect, data]);
759efa4abc76 Tests: added tests for js_body_filter directive.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
104
759efa4abc76 Tests: added tests for js_body_filter directive.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
105 if (flags.last) {
759efa4abc76 Tests: added tests for js_body_filter directive.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
106 r.sendBuffer(collect, flags);
759efa4abc76 Tests: added tests for js_body_filter directive.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
107 }
759efa4abc76 Tests: added tests for js_body_filter directive.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
108 }
759efa4abc76 Tests: added tests for js_body_filter directive.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
109
759efa4abc76 Tests: added tests for js_body_filter directive.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
110 function chain(chunks, i) {
759efa4abc76 Tests: added tests for js_body_filter directive.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
111 if (i < chunks.length) {
759efa4abc76 Tests: added tests for js_body_filter directive.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
112 chunks.r.send(chunks[i++]);
759efa4abc76 Tests: added tests for js_body_filter directive.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
113 setTimeout(chunks.chain, chunks.delay, chunks, i);
759efa4abc76 Tests: added tests for js_body_filter directive.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
114
759efa4abc76 Tests: added tests for js_body_filter directive.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
115 } else {
759efa4abc76 Tests: added tests for js_body_filter directive.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
116 chunks.r.finish();
759efa4abc76 Tests: added tests for js_body_filter directive.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
117 }
759efa4abc76 Tests: added tests for js_body_filter directive.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
118 }
759efa4abc76 Tests: added tests for js_body_filter directive.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
119
759efa4abc76 Tests: added tests for js_body_filter directive.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
120 function source(r) {
759efa4abc76 Tests: added tests for js_body_filter directive.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
121 var chunks = ['AAA', 'BB', 'C', 'DDDD'];
759efa4abc76 Tests: added tests for js_body_filter directive.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
122 chunks.delay = 5;
759efa4abc76 Tests: added tests for js_body_filter directive.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
123 chunks.r = r;
759efa4abc76 Tests: added tests for js_body_filter directive.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
124 chunks.chain = chain;
759efa4abc76 Tests: added tests for js_body_filter directive.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
125
759efa4abc76 Tests: added tests for js_body_filter directive.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
126 r.status = 200;
759efa4abc76 Tests: added tests for js_body_filter directive.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
127 r.sendHeader();
759efa4abc76 Tests: added tests for js_body_filter directive.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
128 chain(chunks, 0);
759efa4abc76 Tests: added tests for js_body_filter directive.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
129 }
759efa4abc76 Tests: added tests for js_body_filter directive.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
130
759efa4abc76 Tests: added tests for js_body_filter directive.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
131 function filter(r, data, flags) {
759efa4abc76 Tests: added tests for js_body_filter directive.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
132 if (flags.last || data.length >= Number(r.args.len)) {
759efa4abc76 Tests: added tests for js_body_filter directive.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
133 r.sendBuffer(`\${data}|`, flags);
759efa4abc76 Tests: added tests for js_body_filter directive.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
134
759efa4abc76 Tests: added tests for js_body_filter directive.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
135 if (r.args.dup && !flags.last) {
759efa4abc76 Tests: added tests for js_body_filter directive.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
136 r.sendBuffer(data, flags);
759efa4abc76 Tests: added tests for js_body_filter directive.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
137 }
759efa4abc76 Tests: added tests for js_body_filter directive.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
138 }
759efa4abc76 Tests: added tests for js_body_filter directive.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
139 }
759efa4abc76 Tests: added tests for js_body_filter directive.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
140
759efa4abc76 Tests: added tests for js_body_filter directive.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
141 function forward(r, data, flags) {
759efa4abc76 Tests: added tests for js_body_filter directive.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
142 r.sendBuffer(data, flags);
759efa4abc76 Tests: added tests for js_body_filter directive.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
143 }
759efa4abc76 Tests: added tests for js_body_filter directive.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
144
759efa4abc76 Tests: added tests for js_body_filter directive.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
145 function prepend(r, data, flags) {
759efa4abc76 Tests: added tests for js_body_filter directive.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
146 r.sendBuffer("XXX");
759efa4abc76 Tests: added tests for js_body_filter directive.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
147 r.sendBuffer(data, flags);
759efa4abc76 Tests: added tests for js_body_filter directive.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
148 r.done();
759efa4abc76 Tests: added tests for js_body_filter directive.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
149 }
759efa4abc76 Tests: added tests for js_body_filter directive.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
150
759efa4abc76 Tests: added tests for js_body_filter directive.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
151 export default {njs: test_njs, append, buffer_type, filter, forward,
759efa4abc76 Tests: added tests for js_body_filter directive.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
152 prepend, source};
759efa4abc76 Tests: added tests for js_body_filter directive.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
153
759efa4abc76 Tests: added tests for js_body_filter directive.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
154 EOF
759efa4abc76 Tests: added tests for js_body_filter directive.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
155
759efa4abc76 Tests: added tests for js_body_filter directive.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
156 $t->try_run('no njs body filter')->plan(6);
759efa4abc76 Tests: added tests for js_body_filter directive.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
157
759efa4abc76 Tests: added tests for js_body_filter directive.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
158 ###############################################################################
759efa4abc76 Tests: added tests for js_body_filter directive.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
159
759efa4abc76 Tests: added tests for js_body_filter directive.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
160 like(http_get('/append'), qr/AAABBCDDDDXXX/, 'append');
759efa4abc76 Tests: added tests for js_body_filter directive.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
161 like(http_get('/buffer_type'), qr/AAABBCDDDD/, 'buffer type');
759efa4abc76 Tests: added tests for js_body_filter directive.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
162 like(http_get('/forward'), qr/AAABBCDDDD/, 'forward');
759efa4abc76 Tests: added tests for js_body_filter directive.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
163 like(http_get('/filter?len=3'), qr/AAA|DDDD|/, 'filter 3');
759efa4abc76 Tests: added tests for js_body_filter directive.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
164 like(http_get('/filter?len=2&dup=1'), qr/AAA|AAABB|BBDDDD|DDDD/,
759efa4abc76 Tests: added tests for js_body_filter directive.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
165 'filter 2 dup');
759efa4abc76 Tests: added tests for js_body_filter directive.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
166 like(http_get('/prepend'), qr/XXXAAABBCDDDD/, 'prepend');
759efa4abc76 Tests: added tests for js_body_filter directive.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
167
759efa4abc76 Tests: added tests for js_body_filter directive.
Dmitry Volyntsev <xeioex@nginx.com>
parents:
diff changeset
168 ###############################################################################