| 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() |
nothing calls this directly
no test coverage detected