1
0
Fork 0
mirror of https://github.com/ossrs/srs.git synced 2025-03-09 15:49:59 +00:00

HTTP: Support HTTP header in creating order. v5.0.68

This commit is contained in:
winlin 2022-09-30 18:22:25 +08:00
parent d65c699829
commit 4b7d9587f4
5 changed files with 83 additions and 12 deletions

View file

@ -608,6 +608,58 @@ VOID TEST(ProtocolHTTPTest, HTTPHeader)
srs_freep(o);
}
VOID TEST(ProtocolHTTPTest, HTTPHeaderOrder)
{
SrsHttpHeader h;
h.set("User-Agent", RTMP_SIG_SRS_SERVER);
h.set("Server", "SRS");
h.set("Connection", "Close");
if (true) {
SrsJsonObject* o = SrsJsonObject::object();
SrsAutoFree(SrsJsonObject, o);
h.dumps(o);
ASSERT_EQ(3, o->count());
EXPECT_STREQ("User-Agent", o->key_at(0).c_str());
EXPECT_STREQ("Server", o->key_at(1).c_str());
EXPECT_STREQ("Connection", o->key_at(2).c_str());
}
if (true) {
h.del("User-Agent");
SrsJsonObject* o = SrsJsonObject::object();
SrsAutoFree(SrsJsonObject, o);
h.dumps(o);
ASSERT_EQ(2, o->count());
EXPECT_STREQ("Server", o->key_at(0).c_str());
EXPECT_STREQ("Connection", o->key_at(1).c_str());
}
if (true) {
h.del("Server");
SrsJsonObject* o = SrsJsonObject::object();
SrsAutoFree(SrsJsonObject, o);
h.dumps(o);
ASSERT_EQ(1, o->count());
EXPECT_STREQ("Connection", o->key_at(0).c_str());
}
if (true) {
h.del("Connection");
SrsJsonObject* o = SrsJsonObject::object();
SrsAutoFree(SrsJsonObject, o);
h.dumps(o);
ASSERT_EQ(0, o->count());
}
}
VOID TEST(ProtocolHTTPTest, HTTPServerMuxerVhost)
{
srs_error_t err;