@@ -432,3 +432,93 @@ connection must be closed
432
432
-- - no_error_log
433
433
[error]
434
434
[warn ]
435
+
436
+ === TEST 8 Generic interface, Connection: Keep-alive. pool_only_after_response is on. Test the connection is reused.
437
+ -- - http_config eval: $::HttpConfig
438
+ -- - config
439
+ location = /a {
440
+ content_by_lua '
441
+ local http = require "resty.http"
442
+ local httpc = http.new()
443
+ httpc:connect({
444
+ scheme = "http",
445
+ host = "127.0.0.1",
446
+ port = ngx.var.server_port,
447
+ pool_only_after_response = true
448
+ })
449
+
450
+ local res, err = httpc:request{
451
+ path = "/b"
452
+ }
453
+
454
+ local body = res:read_body()
455
+
456
+ ngx.say(res.headers["Connection"])
457
+ ngx.say(httpc:set_keepalive())
458
+
459
+ httpc:connect({
460
+ scheme = "http",
461
+ host = "127.0.0.1",
462
+ port = ngx.var.server_port
463
+ })
464
+ ngx.say(httpc:get_reused_times())
465
+ ' ;
466
+ }
467
+ location = /b {
468
+ content_by_lua '
469
+ ngx.say("OK")
470
+ ' ;
471
+ }
472
+ -- - request
473
+ GET / a
474
+ -- - response_body
475
+ keep-alive
476
+ 1
477
+ 1
478
+ -- - no_error_log
479
+ [error]
480
+ [warn ]
481
+
482
+ === TEST 9 Generic interface, Connection: Keep-alive. pool_only_after_response is on. Don't read body and check connection isn't reused
483
+ -- - http_config eval: $::HttpConfig
484
+ -- - config
485
+ location = /a {
486
+ content_by_lua '
487
+ local http = require "resty.http"
488
+ local httpc = http.new()
489
+ httpc:connect({
490
+ scheme = "http",
491
+ host = "127.0.0.1",
492
+ port = ngx.var.server_port,
493
+ pool_only_after_response = true
494
+ })
495
+
496
+ local res, err = httpc:request{
497
+ path = "/b"
498
+ }
499
+
500
+ ngx.say(res.headers["Connection"])
501
+ ngx.say(httpc:set_keepalive())
502
+
503
+ httpc:connect({
504
+ scheme = "http",
505
+ host = "127.0.0.1",
506
+ port = ngx.var.server_port
507
+ })
508
+ ngx.say(httpc:get_reused_times())
509
+ ' ;
510
+ }
511
+ location = /b {
512
+ content_by_lua '
513
+ ngx.say("OK")
514
+ ' ;
515
+ }
516
+ -- - request
517
+ GET / a
518
+ -- - response_body
519
+ keep-alive
520
+ 0
521
+ 0
522
+ -- - no_error_log
523
+ [error]
524
+ [warn ]
0 commit comments