comparison js_subrequests.t @ 1543:0b97d431571f

Tests: get rid of outdated API in js_subrequest.t.
author Dmitry Volyntsev <xeioex@nginx.com>
date Thu, 16 Jan 2020 19:15:24 +0300
parents 41dcbcf3381a
children 53ed2231403b
comparison
equal deleted inserted replaced
1542:451e787aad76 1543:0b97d431571f
243 function sr(r) { 243 function sr(r) {
244 subrequest_fn(r, ['/p/sub2'], ['uri', 'status']) 244 subrequest_fn(r, ['/p/sub2'], ['uri', 'status'])
245 } 245 }
246 246
247 function sr_args(r) { 247 function sr_args(r) {
248 r.subrequest('/p/sub1', 'h=xxx', function(reply) { 248 r.subrequest('/p/sub1', 'h=xxx', reply => {
249 r.status = 200; 249 r.return(200, JSON.stringify({h:reply.headersOut.h}));
250 r.sendHeader();
251 r.send(JSON.stringify({h:reply.headersOut.h}))
252 r.finish();
253 }); 250 });
254 } 251 }
255 252
256 function sr_options_args(r) { 253 function sr_options_args(r) {
257 r.subrequest('/p/sub1', {args:'h=xxx'}, function(reply) { 254 r.subrequest('/p/sub1', {args:'h=xxx'}, reply => {
258 r.status = 200; 255 r.return(200, JSON.stringify({h:reply.headersOut.h}));
259 r.sendHeader();
260 r.send(JSON.stringify({h:reply.headersOut.h}))
261 r.finish();
262 }); 256 });
263 } 257 }
264 258
265 function sr_options_method(r) { 259 function sr_options_method(r) {
266 r.subrequest('/p/method', {method:r.args.m}, body_fwd_cb); 260 r.subrequest('/p/method', {method:r.args.m}, body_fwd_cb);
267 } 261 }
268 262
269 function sr_options_body(r) { 263 function sr_options_body(r) {
270 r.subrequest('/p/body', {method:'POST', body:'["REQ-BODY"]'}, 264 r.subrequest('/p/body', {method:'POST', body:'["REQ-BODY"]'},
271 body_fwd_cb); 265 body_fwd_cb);
272 } 266 }
273 267
274 function sr_options_method_head(r) { 268 function sr_options_method_head(r) {
275 r.subrequest('/p/method', {method:'HEAD'}, function(reply) { 269 r.subrequest('/p/method', {method:'HEAD'}, reply => {
276 r.status = 200; 270 r.return(200, JSON.stringify({c:reply.status,
277 r.sendHeader(); 271 s:reply.responseBody.length}));
278 r.send(JSON.stringify({c:reply.status,
279 s:reply.responseBody.length}))
280 r.finish();
281 }); 272 });
282 } 273 }
283 274
284 function sr_body(r) { 275 function sr_body(r) {
285 r.subrequest('/p/sub1', body_fwd_cb); 276 r.subrequest('/p/sub1', body_fwd_cb);
292 function sr_background(r) { 283 function sr_background(r) {
293 r.subrequest('/p/background'); 284 r.subrequest('/p/background');
294 r.subrequest('/p/background', 'a=xxx'); 285 r.subrequest('/p/background', 'a=xxx');
295 r.subrequest('/p/background', {args: 'a=yyy', method:'POST'}); 286 r.subrequest('/p/background', {args: 'a=yyy', method:'POST'});
296 287
297 r.status = 200; 288 r.return(200);
298 r.sendHeader();
299 r.finish();
300 } 289 }
301 290
302 function body(r) { 291 function body(r) {
303 r.status = 200; 292 r.return(200, r.variables.request_body);
304 r.sendHeader();
305 r.send(r.variables.request_body);
306 r.finish();
307 } 293 }
308 294
309 function delayed(r) { 295 function delayed(r) {
310 setTimeout(function(r) { 296 setTimeout(r => r.return(200), 100, r);
311 r.status = 200;
312 r.sendHeader();
313 r.finish();
314 }, 100, r);
315 } 297 }
316 298
317 function background(r) { 299 function background(r) {
318 r.log("BACKGROUND: " + r.variables.request_method 300 r.log("BACKGROUND: " + r.variables.request_method
319 + " args: " + r.variables.args); 301 + " args: " + r.variables.args);
320 302
321 r.status = 200; 303 r.return(200);
322 r.sendHeader();
323 r.finish();
324 } 304 }
325 305
326 function sr_in_variable_handler(r) { 306 function sr_in_variable_handler(r) {
327 } 307 }
328 308
329 function async_var(r) { 309 function async_var(r) {
330 r.subrequest('/p/delayed', function(reply) { 310 r.subrequest('/p/delayed', reply => {
331 r.status = 200; 311 r.return(200, JSON.stringify(["CB-VAR"]));
332 r.sendHeader(); 312 });
333 r.send(JSON.stringify(["CB-VAR"]))
334 r.finish();
335 })
336 313
337 return ""; 314 return "";
338 } 315 }
339 316
340 function sr_file(r) { 317 function sr_file(r) {
348 function sr_unavail(req) { 325 function sr_unavail(req) {
349 subrequest_fn(req, ['/unavail'], ['uri', 'status']); 326 subrequest_fn(req, ['/unavail'], ['uri', 'status']);
350 } 327 }
351 328
352 function sr_broken(r) { 329 function sr_broken(r) {
353 r.subrequest('/daemon/unfinished', 330 r.subrequest('/daemon/unfinished', reply => {
354 function(reply) { 331 r.return(200, JSON.stringify({code:reply.status}));
355 r.status = 200; 332 });
356 r.sendHeader();
357 r.send(JSON.stringify({code:reply.status}))
358 r.finish();
359 });
360 } 333 }
361 334
362 function sr_too_large(r) { 335 function sr_too_large(r) {
363 r.subrequest('/too_large/t', body_fwd_cb); 336 r.subrequest('/too_large/t', body_fwd_cb);
364 } 337 }
403 } 376 }
404 377
405 function subrequest_fn(r, subs, props) { 378 function subrequest_fn(r, subs, props) {
406 var rep, replies = []; 379 var rep, replies = [];
407 380
408 subs.forEach(function(sr) { 381 subs.forEach(sr => {
409 r.subrequest(sr, function(reply) { 382 r.subrequest(sr, reply => {
410 r.log("subrequest handler: " + reply.uri 383 r.log("subrequest handler: " + reply.uri
411 + " status: " + reply.status) 384 + " status: " + reply.status)
412 385
413 rep = {}; 386 rep = {};
414 props.forEach(function (p) {rep[p] = reply[p]}); 387 props.forEach(p => {rep[p] = reply[p]});
415 388
416 replies.push(rep); 389 replies.push(rep);
417 390
418 if (replies.length == subs.length) { 391 if (replies.length == subs.length) {
419 r.status = 200; 392 r.return(200, JSON.stringify(replies));
420 r.sendHeader();
421 r.send(JSON.stringify(replies));
422 r.finish();
423 } 393 }
424 }); 394 });
425 }); 395 });
426 } 396 }
427 397
428 function sr_except_not_a_func(r) { 398 function sr_except_not_a_func(r) {
429 r.subrequest('/sub1', 'a=1', 'b'); 399 r.subrequest('/sub1', 'a=1', 'b');
430 } 400 }
431 401
432 function sr_except_failed_to_convert_arg(r) { 402 function sr_except_failed_to_convert_arg(r) {
433 r.subrequest('/sub1', r.args, function(){}); 403 r.subrequest('/sub1', r.args, ()=>{});
434 } 404 }
435 405
436 function sr_except_failed_to_convert_options_arg(r) { 406 function sr_except_failed_to_convert_options_arg(r) {
437 r.subrequest('/sub1', {args:r.args}, function(){}); 407 r.subrequest('/sub1', {args:r.args}, ()=>{});
438 } 408 }
439 409
440 function sr_uri_except(r) { 410 function sr_uri_except(r) {
441 r.subrequest(r, 'a=1', 'b'); 411 r.subrequest(r, 'a=1', 'b');
442 } 412 }
443 413
444 function body_fwd_cb(reply) { 414 function body_fwd_cb(r) {
445 var p = reply.parent; 415 r.parent.return(200, JSON.stringify(JSON.parse(r.responseBody)));
446 p.status = 200;
447 p.sendHeader();
448 p.send(JSON.stringify(JSON.parse(reply.responseBody)));
449 p.finish();
450 } 416 }
451 417
452 function js_sub(r) { 418 function js_sub(r) {
453 r.status = 200; 419 r.return(200, '["JS-SUB"]');
454 r.sendHeader();
455 r.send('["JS-SUB"]');
456 r.finish();
457 } 420 }
458 421
459 EOF 422 EOF
460 423
461 $t->write_file('t', '["SEE-THIS"]'); 424 $t->write_file('t', '["SEE-THIS"]');