MCPcopy Create free account
hub / github.com/boostorg/beast / testKeepAlive

Method testKeepAlive

test/beast/http/fields.cpp:677–839  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

675 }
676
677 void
678 testKeepAlive()
679 {
680 response<empty_body> res;
681 auto const keep_alive =
682 [&](bool v)
683 {
684 res.keep_alive(v);
685 BEAST_EXPECT(
686 (res.keep_alive() && v) ||
687 (! res.keep_alive() && ! v));
688 };
689
690 std::string const big(max_static_buffer + 1, 'a');
691
692 // HTTP/1.0
693 res.version(10);
694 res.erase(field::connection);
695
696 keep_alive(false);
697 BEAST_EXPECT(res.count(field::connection) == 0);
698
699 res.set(field::connection, "close");
700 keep_alive(false);
701 BEAST_EXPECT(res.count(field::connection) == 0);
702
703 res.set(field::connection, "keep-alive");
704 keep_alive(false);
705 BEAST_EXPECT(res.count(field::connection) == 0);
706
707 res.set(field::connection, "keep-alive, close");
708 keep_alive(false);
709 BEAST_EXPECT(res.count(field::connection) == 0);
710
711 res.erase(field::connection);
712 keep_alive(true);
713 BEAST_EXPECT(res[field::connection] == "keep-alive");
714
715 res.set(field::connection, "close");
716 keep_alive(true);
717 BEAST_EXPECT(res[field::connection] == "keep-alive");
718
719 res.set(field::connection, "keep-alive");
720 keep_alive(true);
721 BEAST_EXPECT(res[field::connection] == "keep-alive");
722
723 res.set(field::connection, "keep-alive, close");
724 keep_alive(true);
725 BEAST_EXPECT(res[field::connection] == "keep-alive");
726
727 auto const test10 =
728 [&](std::string s)
729 {
730 res.set(field::connection, s);
731 keep_alive(false);
732 BEAST_EXPECT(res[field::connection] == s);
733
734 res.set(field::connection, s + ", close");

Callers

nothing calls this directly

Calls 3

keep_aliveFunction · 0.85
keep_aliveMethod · 0.45
versionMethod · 0.45

Tested by

no test coverage detected