mirror of
https://github.com/ossrs/srs.git
synced 2025-03-09 15:49:59 +00:00
Refine http parser code.
This commit is contained in:
parent
cfc92d5e93
commit
0ee386b656
2 changed files with 17 additions and 16 deletions
|
@ -40,6 +40,10 @@ CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||||
// we add an empty macro for upp to show the smart tips.
|
// we add an empty macro for upp to show the smart tips.
|
||||||
#define VOID
|
#define VOID
|
||||||
|
|
||||||
|
// For errors.
|
||||||
|
#define HELPER_EXPECT_SUCCESS(x) EXPECT_TRUE(srs_success == (err = x)); srs_freep(err)
|
||||||
|
#define HELPER_EXPECT_FAILED(x) EXPECT_TRUE(srs_success != (err = x)); srs_freep(err)
|
||||||
|
|
||||||
// the asserts of gtest:
|
// the asserts of gtest:
|
||||||
// * {ASSERT|EXPECT}_EQ(expected, actual): Tests that expected == actual
|
// * {ASSERT|EXPECT}_EQ(expected, actual): Tests that expected == actual
|
||||||
// * {ASSERT|EXPECT}_NE(v1, v2): Tests that v1 != v2
|
// * {ASSERT|EXPECT}_NE(v1, v2): Tests that v1 != v2
|
||||||
|
|
|
@ -5693,20 +5693,6 @@ MockParser::~MockParser()
|
||||||
srs_freep(chunk_complete);
|
srs_freep(chunk_complete);
|
||||||
}
|
}
|
||||||
|
|
||||||
srs_error_t MockParser::parse(string data)
|
|
||||||
{
|
|
||||||
srs_error_t err = srs_success;
|
|
||||||
|
|
||||||
const char* buf = (const char*)data.data();
|
|
||||||
size_t size = (size_t)data.length();
|
|
||||||
size_t nparsed = http_parser_execute(parser, &settings, buf, size);
|
|
||||||
if (nparsed != size) {
|
|
||||||
return srs_error_new(-1, "nparsed=%d, size=%d", nparsed, size);
|
|
||||||
}
|
|
||||||
|
|
||||||
return err;
|
|
||||||
}
|
|
||||||
|
|
||||||
int MockParser::on_message_begin(http_parser* parser)
|
int MockParser::on_message_begin(http_parser* parser)
|
||||||
{
|
{
|
||||||
MockParser* obj = (MockParser*)parser->data;
|
MockParser* obj = (MockParser*)parser->data;
|
||||||
|
@ -5827,8 +5813,19 @@ int MockParser::on_chunk_complete(http_parser* parser)
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
#define HELPER_EXPECT_SUCCESS(x) EXPECT_TRUE(srs_success == (err = x)); srs_freep(err)
|
srs_error_t MockParser::parse(string data)
|
||||||
#define HELPER_EXPECT_FAILED(x) EXPECT_TRUE(srs_success != (err = x)); srs_freep(err)
|
{
|
||||||
|
srs_error_t err = srs_success;
|
||||||
|
|
||||||
|
const char* buf = (const char*)data.data();
|
||||||
|
size_t size = (size_t)data.length();
|
||||||
|
size_t nparsed = http_parser_execute(parser, &settings, buf, size);
|
||||||
|
if (nparsed != size) {
|
||||||
|
return srs_error_new(-1, "nparsed=%d, size=%d", nparsed, size);
|
||||||
|
}
|
||||||
|
|
||||||
|
return err;
|
||||||
|
}
|
||||||
|
|
||||||
VOID TEST(ProtocolHTTPTest, HTTPParser)
|
VOID TEST(ProtocolHTTPTest, HTTPParser)
|
||||||
{
|
{
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue