@@ -488,6 +488,42 @@ AvLsTlswO+wDLXM1DoKxzFBZL5o8927niqW+vZpzyGc1uPmC1MG7+MDKdZsR+e+9
488
488
XzJTD4slrGSJrcpLt/g/Jqqdjg==
489
489
-----END PRIVATE KEY-----
490
490
)" ;
491
+
492
+ auto body = utility::string_t {U (" body content" )};
493
+ http_headers all_headers;
494
+ all_headers.add (U (" Accept" ), U (" text/plain" ));
495
+ all_headers.add (U (" Accept-Charset" ), U (" utf-8" ));
496
+ all_headers.add (U (" Accept-Encoding" ), U (" gzip, deflate" ));
497
+ all_headers.add (U (" Accept-Language" ), U (" en-US" ));
498
+ all_headers.add (U (" Accept-Datetime" ), U (" Thu, 31 May 2007 20:35:00 GMT" ));
499
+ all_headers.add (U (" Authorization" ), U (" Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ==" ));
500
+ all_headers.add (U (" Cache-Control" ), U (" no-cache" ));
501
+ all_headers.add (U (" Cookie" ), U (" $Version=1; Skin=new;" ));
502
+ all_headers.add (U (" Content-Length" ), body.size ());
503
+ all_headers.add (U (" Content-MD5" ), U (" Q2hlY2sgSW50ZWdyaXR5IQ==" ));
504
+ all_headers.add (U (" Content-Type" ), U (" application/x-www-form-urlencoded" ));
505
+ all_headers.add (U (" Date" ), U (" Tue, 15 Nov 1994 08:12:31 GMT" ));
506
+ all_headers.add (U (" Expect" ), U (" 100-continue" ));
507
+ all_headers.add (U (" Forwarded" ), U (" for=192.0.2.60;proto=http;by=203.0.113.43Forwarded: for=192.0.2.43, for=198.51.100.17" ));
508
+ all_headers.
add (
U (
" From" ),
U (
" [email protected] " ));
509
+ all_headers.add (U (" Host" ), U (" en.wikipedia.org" ));
510
+ all_headers.add (U (" If-Match" ), U (" \" 737060cd8c284d8af7ad3082f209582d\" " ));
511
+ all_headers.add (U (" If-Modified-Since" ), U (" Sat, 29 Oct 1994 19:43:31 GMT" ));
512
+ all_headers.add (U (" If-None-Match" ), U (" \" 737060cd8c284d8af7ad3082f209582d\" " ));
513
+ all_headers.add (U (" If-Range" ), U (" \" 737060cd8c284d8af7ad3082f209582d\" " ));
514
+ all_headers.add (U (" If-Unmodified-Since" ), U (" Sat, 29 Oct 1994 19:43:31 GMT" ));
515
+ all_headers.add (U (" Max-Forwards" ), U (" 10" ));
516
+ all_headers.add (U (" Origin" ), U (" http://www.example-social-network.com" ));
517
+ all_headers.add (U (" Pragma" ), U (" no-cache" ));
518
+ all_headers.add (U (" Proxy-Authorization" ), U (" Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ==" ));
519
+ all_headers.add (U (" Range" ), U (" bytes=500-999" ));
520
+ all_headers.add (U (" Referer" ), U (" http://en.wikipedia.org/wiki/Main_Page" ));
521
+ all_headers.add (U (" TE" ), U (" trailers, deflate" ));
522
+ all_headers.add (U (" User-Agent" ), U (" Mozilla/5.0 (X11; Linux x86_64; rv:12.0) Gecko/20100101 Firefox/21.0" ));
523
+ all_headers.add (U (" Upgrade" ), U (" HTTP/2.0, SHTTP/1.3, IRC/6.9, RTA/x11" ));
524
+ all_headers.add (U (" Via" ), U (" 1.0 fred, 1.1 example.com (Apache/1.1)" ));
525
+ all_headers.add (U (" Warning" ), U (" 199 Miscellaneous warning" ));
526
+
491
527
boost::asio::const_buffer cert (self_signed_cert, std::strlen (self_signed_cert));
492
528
boost::asio::const_buffer key (private_key, std::strlen (private_key));
493
529
@@ -503,9 +539,19 @@ XzJTD4slrGSJrcpLt/g/Jqqdjg==
503
539
http_listener listener (m_secure_uri, server_config);
504
540
505
541
listener.support (methods::GET,
506
- [](http_request request)
542
+ [& ](http_request request)
507
543
{
508
544
http_asserts::assert_request_equals (request, methods::GET, U (" /" ));
545
+
546
+ for (auto && h : all_headers)
547
+ {
548
+ std::cout << " HEADER - " << h.first << " : " << h.second << std::endl;
549
+ VERIFY_IS_TRUE (request.headers ().has (h.first ));
550
+ VERIFY_ARE_EQUAL (h.second , request.headers ().find (h.first )->second );
551
+ }
552
+
553
+ VERIFY_ARE_EQUAL (body, request.extract_string (true ).get ());
554
+
509
555
request.reply (status_codes::OK);
510
556
});
511
557
@@ -522,6 +568,9 @@ XzJTD4slrGSJrcpLt/g/Jqqdjg==
522
568
http_request msg (methods::GET);
523
569
msg.set_request_uri (U (" /" ));
524
570
571
+ msg.headers () = all_headers;
572
+ msg.set_body (body);
573
+
525
574
http_asserts::assert_response_equals (client.request (msg).get (), status_codes::OK);
526
575
527
576
listener.close ().wait ();
0 commit comments