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

Method testHeaderFieldLimits

test/beast/http/parser.cpp:409–441  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

407 }
408
409 void
410 testHeaderFieldLimits()
411 {
412 auto big_field_name = std::string(fields::max_name_size + 1, 'a');
413 auto big_field_value = std::string(fields::max_value_size + 1, 'a');
414
415 {
416 parser_type<false> p;
417 p.header_limit((std::numeric_limits<std::uint32_t>::max)());
418 error_code ec;
419 flat_buffer b;
420 ostream(b) <<
421 "HTTP/1.1 200 OK\r\n"
422 << big_field_name
423 <<": value\r\n"
424 "\r\n";
425 put(b.data(), p, ec);
426 BEAST_EXPECT(ec == error::header_field_name_too_large);
427 }
428 {
429 parser_type<false> p;
430 p.header_limit((std::numeric_limits<std::uint32_t>::max)());
431 error_code ec;
432 flat_buffer b;
433 ostream(b) <<
434 "HTTP/1.1 200 OK\r\n"
435 << "name: "
436 << big_field_value << "\r\n"
437 << "\r\n";
438 put(b.data(), p, ec);
439 BEAST_EXPECT(ec == error::header_field_value_too_large);
440 }
441 }
442
443 void
444 testIssue818()

Callers

nothing calls this directly

Calls 2

header_limitMethod · 0.80
dataMethod · 0.45

Tested by

no test coverage detected