From 34820129581f5c0e6604225945b4998da4a6a767 Mon Sep 17 00:00:00 2001 From: Dean Michael Berris Date: Tue, 2 Sep 2014 23:52:36 +1000 Subject: [PATCH 1/2] Fix documentation of BOOST_NETWORK_ENABLE_HTTPS Fixes #429 Addresses comments by @povilasb on improvements to previous PR that documents the circumstances where BOOST_NETWORK_ENABLE_HTTPS would be set and be useful. --- libs/network/doc/getting_started.rst | 9 +++++++-- libs/network/doc/reference/http_client.rst | 13 ++++++++++++- 2 files changed, 19 insertions(+), 3 deletions(-) diff --git a/libs/network/doc/getting_started.rst b/libs/network/doc/getting_started.rst index ddc660441..8755e2a19 100644 --- a/libs/network/doc/getting_started.rst +++ b/libs/network/doc/getting_started.rst @@ -133,8 +133,13 @@ additional parameters:: If you intend to use the SSL support when using the HTTP client libraries in :mod:`cpp-netlib`, you may need to build it with OpenSSL_ installed or at least -available to CMake. One example for building the library with OpenSSL_ support -is by doing the following:: +available to CMake. If you have the development headers for OpenSSL_ installed +on your system when you build :mod:`cpp-netlib`, CMake will be able to detect it +and set the ``BOOST_NETWORK_ENABLE_HTTPS`` macro when building the library to +support HTTPS URIs. + +One example for building the library with OpenSSL_ support with a custom +(non-installed) version of OpenSSL_ is by doing the following:: $ cmake -DCMAKE_BUILD_TYPE=Debug \ > -DCMAKE_C_COMPILER=clang \ diff --git a/libs/network/doc/reference/http_client.rst b/libs/network/doc/reference/http_client.rst index 1321d607d..1277c83e4 100644 --- a/libs/network/doc/reference/http_client.rst +++ b/libs/network/doc/reference/http_client.rst @@ -39,8 +39,19 @@ only in the following situations: code.** It is best to define this either at compile-time of all code using the library, or before including any of the client headers. -.. _OpenSSL: http://www.openssl.org/ +To use the client implementations that support HTTPS URIs, you may explicitly +do the following: + +.. code-block:: c++ + #define BOOST_NETWORK_ENABLE_HTTPS + #include + +This forces HTTPS support to be enabled and forces a dependency on OpenSSL_. +This dependency is imposed by `Boost.Asio`_ + +.. _OpenSSL: http://www.openssl.org/ +.. _`Boost.Asio`: http://www.boost.org/libs/asio Implementations --------------- From 07468591e94558a441a87805fcc620ab40502816 Mon Sep 17 00:00:00 2001 From: Dean Michael Berris Date: Tue, 2 Sep 2014 23:56:40 +1000 Subject: [PATCH 2/2] Regenerate updated documentation --- .../doc/html/_sources/getting_started.txt | 9 +++- .../html/_sources/reference/http_client.txt | 13 ++++- .../html/_sources/reference/http_server.txt | 48 ++++++++---------- libs/network/doc/html/contents.html | 2 +- libs/network/doc/html/getting_started.html | 10 ++-- libs/network/doc/html/index.html | 2 +- libs/network/doc/html/objects.inv | Bin 509 -> 505 bytes libs/network/doc/html/reference.html | 2 +- .../doc/html/reference/http_client.html | 10 +++- .../doc/html/reference/http_server.html | 42 +++++++-------- libs/network/doc/html/search.html | 2 +- libs/network/doc/html/searchindex.js | 2 +- 12 files changed, 78 insertions(+), 64 deletions(-) diff --git a/libs/network/doc/html/_sources/getting_started.txt b/libs/network/doc/html/_sources/getting_started.txt index ddc660441..8755e2a19 100644 --- a/libs/network/doc/html/_sources/getting_started.txt +++ b/libs/network/doc/html/_sources/getting_started.txt @@ -133,8 +133,13 @@ additional parameters:: If you intend to use the SSL support when using the HTTP client libraries in :mod:`cpp-netlib`, you may need to build it with OpenSSL_ installed or at least -available to CMake. One example for building the library with OpenSSL_ support -is by doing the following:: +available to CMake. If you have the development headers for OpenSSL_ installed +on your system when you build :mod:`cpp-netlib`, CMake will be able to detect it +and set the ``BOOST_NETWORK_ENABLE_HTTPS`` macro when building the library to +support HTTPS URIs. + +One example for building the library with OpenSSL_ support with a custom +(non-installed) version of OpenSSL_ is by doing the following:: $ cmake -DCMAKE_BUILD_TYPE=Debug \ > -DCMAKE_C_COMPILER=clang \ diff --git a/libs/network/doc/html/_sources/reference/http_client.txt b/libs/network/doc/html/_sources/reference/http_client.txt index 1321d607d..1277c83e4 100644 --- a/libs/network/doc/html/_sources/reference/http_client.txt +++ b/libs/network/doc/html/_sources/reference/http_client.txt @@ -39,8 +39,19 @@ only in the following situations: code.** It is best to define this either at compile-time of all code using the library, or before including any of the client headers. -.. _OpenSSL: http://www.openssl.org/ +To use the client implementations that support HTTPS URIs, you may explicitly +do the following: + +.. code-block:: c++ + #define BOOST_NETWORK_ENABLE_HTTPS + #include + +This forces HTTPS support to be enabled and forces a dependency on OpenSSL_. +This dependency is imposed by `Boost.Asio`_ + +.. _OpenSSL: http://www.openssl.org/ +.. _`Boost.Asio`: http://www.boost.org/libs/asio Implementations --------------- diff --git a/libs/network/doc/html/_sources/reference/http_server.txt b/libs/network/doc/html/_sources/reference/http_server.txt index 91afd2483..26ceb9b65 100644 --- a/libs/network/doc/html/_sources/reference/http_server.txt +++ b/libs/network/doc/html/_sources/reference/http_server.txt @@ -156,10 +156,8 @@ And that the following typedef's have been put in place: typedef boost::network::http::server http_server; struct handler_type { - void operator()( - http_server::request const & request, - http_server::response & response - ) { + void operator()(http_server::request const & request, + http_server::response & response) { // do something here } }; @@ -227,13 +225,12 @@ To use the above supported named parameters, you'll have code that looks like th using namespace boost::network::http; // parameters are in this namespace handler handler_instance; - async_server::options options(handler_instance); + sync_server::options options(handler_instance); options.address("0.0.0.0") .port("80") .io_service(boost::make_shared()) - .thread_pool(boost::make_shared(2)) .reuse_address(true); - async_server instance(options); + sync_server instance(options); instance.run(); Public Members @@ -391,10 +388,8 @@ And that the following typedef's have been put in place: typedef boost::network::http::server http_server; struct handler_type { - void operator()( - http_server::request const & request, - http_server::connection_ptr connection - ) { + void operator()(http_server::request const & request, + http_server::connection_ptr connection) { // do something here } }; @@ -537,31 +532,28 @@ used are defined in the link. .. code-block:: c++ - // Initialize SSL context - boost::shared_ptr ctx = boost::make_shared(boost::asio::ssl::context::sslv23); - ctx->set_options( + // Initialize SSL context + boost::shared_ptr ctx = boost::make_shared(boost::asio::ssl::context::sslv23); + ctx->set_options( boost::asio::ssl::context::default_workarounds | boost::asio::ssl::context::no_sslv2 | boost::asio::ssl::context::single_dh_use); - - // Set keys - ctx->set_password_callback(password_callback); - ctx->use_certificate_chain_file("server.pem"); - ctx->use_private_key_file("server.pem", boost::asio::ssl::context::pem); - ctx->use_tmp_dh_file("dh512.pem"); - + + // Set keys + ctx->set_password_callback(password_callback); + ctx->use_certificate_chain_file("server.pem"); + ctx->use_private_key_file("server.pem", boost::asio::ssl::context::pem); + ctx->use_tmp_dh_file("dh512.pem"); + handler_type handler; http_server::options options(handler); options.thread_pool(boost::make_shared(2)); http_server server(options.address("127.0.0.1").port("8442").context(ctx)); - -.. code-block:: c++ - - std::string password_callback(std::size_t max_length, boost::asio::ssl::context_base::password_purpose purpose) { - return std::string("test"); - } - + std::string password_callback(std::size_t max_length, boost::asio::ssl::context_base::password_purpose purpose) { + return std::string("test"); + } + .. _Boost.Range: http://www.boost.org/libs/range .. _Boost.Function: http://www.boost.org/libs/function .. _Boost.Asio.SSL.Context: http://www.boost.org/doc/libs/1_55_0/doc/html/boost_asio/reference/ssl__context.html diff --git a/libs/network/doc/html/contents.html b/libs/network/doc/html/contents.html index 9653f365b..11e01a995 100644 --- a/libs/network/doc/html/contents.html +++ b/libs/network/doc/html/contents.html @@ -282,7 +282,7 @@

Navigation

diff --git a/libs/network/doc/html/getting_started.html b/libs/network/doc/html/getting_started.html index 206ad27d6..88357cd36 100644 --- a/libs/network/doc/html/getting_started.html +++ b/libs/network/doc/html/getting_started.html @@ -159,8 +159,12 @@

Building with CMakecpp-netlib, you may need to build it with OpenSSL installed or at least -available to CMake. One example for building the library with OpenSSL support -is by doing the following:

+available to CMake. If you have the development headers for OpenSSL installed +on your system when you build cpp-netlib, CMake will be able to detect it +and set the BOOST_NETWORK_ENABLE_HTTPS macro when building the library to +support HTTPS URIs.

+

One example for building the library with OpenSSL support with a custom +(non-installed) version of OpenSSL is by doing the following:

$ cmake -DCMAKE_BUILD_TYPE=Debug \
 >       -DCMAKE_C_COMPILER=clang \
 >       -DCMAKE_CXX_COMPILER=clang++ \
@@ -346,7 +350,7 @@ 

Navigation

diff --git a/libs/network/doc/html/index.html b/libs/network/doc/html/index.html index 2f100321c..78007dfac 100644 --- a/libs/network/doc/html/index.html +++ b/libs/network/doc/html/index.html @@ -203,7 +203,7 @@

Navigation

diff --git a/libs/network/doc/html/objects.inv b/libs/network/doc/html/objects.inv index 12ed3fec63864d99463e08453e89f504488d6d0e..c39759130e33cf3a2df1a65dad7e1bfac94fa4ce 100644 GIT binary patch delta 362 zcmV-w0hRv!1Nj4xn180NNRuk{==gh@IvwpO(@yn!etx#%x^!t_Q#?XV>4VXGG$8Mx z`j%x(+~ri78(6#aU=UscC2};zsm6Jes+_1&HTo~~V-Gy)vNBjNf?_c&VKp0fyzF=x zgfd#qRv`ghVg{?-ZUdYVz3+54cAdjh#DbcF2z}dB`y{_K;(u7lMv;@TddCnLio&WC zD>`%SS#~I_WX;mTDK^f1f+nCGA*m{9kxa1{O|Gd{7Mro*iDt(R%Ak60quUx@vH81_ z#1v@h+Lf^SpOr+biIs3hB+gR%JzGi7_A7aeSa|$Ek2b-v{zUf$ZztVa+k-YjlPi@+ zonHRe1~Rq^gky|#%Ql7xni84?vXQ#EN%Ej=Px# delta 366 zcmV-!0g?Xs1N{S#n19|{k)~DR(ed{*bz0h~o4DD}@4YxqOm$9#PI=TW$-qezLYIrDNHXqyKvc+W}%4juPg#xsN8LW1@4RA&L_rO0|JZa!Q^1Hl@NB4bu`a=n` zuUsZtOi?NNEsj+&Rg_>`j}n?z7{idW8I z%ehEOOU*nkcBn(UMxJ9Xrq+14u&`yqMjui5JWNm3O%J!`I-s!$1G3d^+ZaMDCKhq9 Mg>#VN7mk{onVkKwRsaA1 diff --git a/libs/network/doc/html/reference.html b/libs/network/doc/html/reference.html index 5529dd8a3..b8a37d4f1 100644 --- a/libs/network/doc/html/reference.html +++ b/libs/network/doc/html/reference.html @@ -135,7 +135,7 @@

Navigation

diff --git a/libs/network/doc/html/reference/http_client.html b/libs/network/doc/html/reference/http_client.html index bddbe8172..89d16543e 100644 --- a/libs/network/doc/html/reference/http_client.html +++ b/libs/network/doc/html/reference/http_client.html @@ -94,6 +94,14 @@

Features
#define BOOST_NETWORK_ENABLE_HTTPS
+#include <boost/network/include/http/client.hpp>
+
+ +

This forces HTTPS support to be enabled and forces a dependency on OpenSSL. +This dependency is imposed by Boost.Asio

ImplementationsΒΆ

@@ -652,7 +660,7 @@

Navigation

diff --git a/libs/network/doc/html/reference/http_server.html b/libs/network/doc/html/reference/http_server.html index 2994a5c9e..7ccd76c33 100644 --- a/libs/network/doc/html/reference/http_server.html +++ b/libs/network/doc/html/reference/http_server.html @@ -220,10 +220,8 @@

API Documentationtypedef boost::network::http::server<handler_type> http_server; struct handler_type { - void operator()( - http_server::request const & request, - http_server::response & response - ) { + void operator()(http_server::request const & request, + http_server::response & response) { // do something here } }; @@ -328,13 +326,12 @@

Constructor
using namespace boost::network::http; // parameters are in this namespace
 handler handler_instance;
-async_server<handler>::options options(handler_instance);
+sync_server<handler>::options options(handler_instance);
 options.address("0.0.0.0")
        .port("80")
        .io_service(boost::make_shared<boost::asio::io_service>())
-       .thread_pool(boost::make_shared<boost::network::utils::thread_pool>(2))
        .reuse_address(true);
-async_server<handler> instance(options);
+sync_server<handler> instance(options);
 instance.run();
 
@@ -511,10 +508,8 @@

API Documentationtypedef boost::network::http::server<handler_type> http_server; struct handler_type { - void operator()( - http_server::request const & request, - http_server::connection_ptr connection - ) { + void operator()(http_server::request const & request, + http_server::connection_ptr connection) { // do something here } }; @@ -659,27 +654,26 @@

Adding SSL support to Asynchronous ServerBoost.Asio.Ssl.Context to the options. The settings that can be used are defined in the link.

-
    // Initialize SSL context
-    boost::shared_ptr<boost::asio::ssl::context> ctx = boost::make_shared<boost::asio::ssl::context>(boost::asio::ssl::context::sslv23);
-    ctx->set_options(
+
// Initialize SSL context
+boost::shared_ptr<boost::asio::ssl::context> ctx = boost::make_shared<boost::asio::ssl::context>(boost::asio::ssl::context::sslv23);
+ctx->set_options(
             boost::asio::ssl::context::default_workarounds
             | boost::asio::ssl::context::no_sslv2
             | boost::asio::ssl::context::single_dh_use);
 
-    // Set keys
-    ctx->set_password_callback(password_callback);
-    ctx->use_certificate_chain_file("server.pem");
-    ctx->use_private_key_file("server.pem", boost::asio::ssl::context::pem);
-    ctx->use_tmp_dh_file("dh512.pem");
+// Set keys
+ctx->set_password_callback(password_callback);
+ctx->use_certificate_chain_file("server.pem");
+ctx->use_private_key_file("server.pem", boost::asio::ssl::context::pem);
+ctx->use_tmp_dh_file("dh512.pem");
 
 handler_type handler;
 http_server::options options(handler);
 options.thread_pool(boost::make_shared<boost::network::utils::thread_pool>(2));
 http_server server(options.address("127.0.0.1").port("8442").context(ctx));
-
-
-
std::string password_callback(std::size_t max_length, boost::asio::ssl::context_base::password_purpose purpose) {
-        return std::string("test");
+
+std::string password_callback(std::size_t max_length, boost::asio::ssl::context_base::password_purpose purpose) {
+    return std::string("test");
 }
 
@@ -758,7 +752,7 @@

Navigation

diff --git a/libs/network/doc/html/search.html b/libs/network/doc/html/search.html index 13a0d2b40..b47a86b18 100644 --- a/libs/network/doc/html/search.html +++ b/libs/network/doc/html/search.html @@ -94,7 +94,7 @@

Navigation

diff --git a/libs/network/doc/html/searchindex.js b/libs/network/doc/html/searchindex.js index b6b21f676..24bdd945d 100644 --- a/libs/network/doc/html/searchindex.js +++ b/libs/network/doc/html/searchindex.js @@ -1 +1 @@ -Search.setIndex({objects:{},terms:{schedul:10,modif:1,awar:[25,15],subdivid:7,implement:[],http_async_8bit_tcp_resolv:[22,19,13],thread_pool:10,default_str:23,host:[7,18,12,20,0],"char":[15,0,18,3,10,4,17,5,13],build:[],standalon:[6,13],notion:[1,2],openssl_private_key_fil:13,nor:1,thrash:12,tabl:[15,10,1,22,8,13],unspecifi:[8,20],etc:25,clang:[26,12],set:[16,18,2,3,20,21,4,1,10,6,8,12,13],boost_1_55_0:12,uniqu:6,disabl:10,locat:[12,13],scheme:[7,20,0],page:[4,12,15],client:[],same:[18,2,4,6,22,23,25,12,13],embed:[18,16,10],previou:[13,12,0],xcode:26,"case":[26,18,20,10,1,6,22,23,8,12],question:[12,15],bound:10,basic_messag:[],gnu:12,possibl:[17,5,6,15],main:[15,0,18,3,7,4,17,5,12],concept:[],compulsori:12,deprec:[1,26,13],gener:[],complet:[17,12],maintain:[2,10],close:[17,5,15,22,10],hello_world_serv:[18,3],max_length:10,better:[26,12,10],distanc:13,reduc:12,transform:[1,2],declar:[8,22,20,13],"abstract":[17,18,6],alia:8,seen:[8,18],greater:[17,18],matter:10,headers_container_typ:[8,20],boost_network_http_client_default_tag:26,underli:[1,22,2,23],minimum:15,ofstream:0,vector:[23,20,10],source_wrapp:1,charact:13,plenti:25,include_directori:12,iter:22,request_:[15,13],overrid:26,note:[10,1,8,7,0],tweet:4,more:[],mitig:26,connection_ptr:10,power:[4,12,7],api:[],level:[25,12],abid:[2,20],style:[7,0],directive_typ:2,normal:[],begin:[22,13],from_user_nam:4,minor:[20,13],entri:[5,25],localhost:3,finish:[10,13],bind:10,independ:[10,2,13],wide:[8,20],came:22,individu:12,understand:10,http_client:[17,22],last:13,endl:[0,18,3,7,4,17,5,22,13],chainabl:2,perform:[26,3,20,10,1,25,13],stop:[26,10],set_opt:10,abov:[0,18,7,10,4,22,23,12,19,13],outliv:13,issu:[],fuss:15,always_verify_p:13,handl:[10,18,6,13],"byte":[10,13],fetch:13,boostcon:14,valid:[1,26,12],write:[15,26,3,10,25,13],achiev:24,http_version_minor:13,base_uri:4,paper:14,input:[6,2],whose:23,step:12,made:[10,26,18,3,13],octet:13,annoi:25,date_tim:12,usr:12,simplifi:2,session:13,repres:10,sometim:[1,23],singl:[26,18,10,17,22,13],mode:26,unauthor:10,either:[20,10,1,8,25,13],time:[10,26,12,2,13],becom:25,flag:26,payload:[1,3],correspond:15,cert:13,some_xml_str:3,heavi:[26,12],certif:[26,13],unique_ptr:6,stuck:12,linux:[],polymorph:[],publicli:[8,20,10],compat:13,context_bas:10,emb:[10,13],context:[2,23,10],method:[],each:[10,1,17,5,12,13],regard:26,gzip:12,intermediari:1,taken:10,html:0,swap:[1,7,23],yourself:12,local:12,extern:[26,6,13],deep:2,legend:[10,1,8,20,7],includ:[15,0,26,18,2,3,20,7,4,17,5,10,8,13],snmp:1,instead:[10,26,23,13],oper:[15,26,18,2,20,10,4,1,22,8,13],append:13,websit:[17,12,15,0],pars:[0,26,7,10,4,5,22],liter:14,unsupport:26,than:[23,10],heart:22,"long":10,full:[8,12,15],not_support:10,stock_repli:[18,15,22,10],typic:[1,12,22],illustr:23,almost:10,attitud:4,built:[16,26,17,6,12,13],subvers:12,server_:[18,15],convers:1,element:7,recent:[4,12,13],usual:[8,2,20],studi:15,left:[2,23],rang:[10,13],sequenc:13,"const":[15,0,18,2,20,10,4,1,5,22,8,13],dure:13,http_async_serv:10,hello_world_cli:3,commit:[5,25],destin:[1,8,20],skeleton:23,use_tmp_dh_fil:10,realist:16,broken:7,support:[],receiv:[10,13],cycl:13,reachabl:23,"7zip":12,log:15,str:3,directive1:2,environ:[18,12],msysgit:12,visual:12,travi:26,conncetionptr:10,width:13,via:[15,3],underneath:[26,13],hierarch:7,dean:25,is_valid:7,compliant:0,now:[26,18,20,5,8,12,13],txt:12,about:[],gcc:[26,12],treat:20,truli:2,craft:3,erro:[],download:[],wall:26,right:[23,10],although:[1,12,6,23,10],factori:[1,6,2],www:[13,17,22,7,0],versa:1,config:26,ctx:10,make_shar:[10,13],"new":[],except:[0,18,3,4,5,6,22,19,13],explain:17,"catch":[0,18,3,4,5,13],tell:13,lookup:1,mailto:7,headers_:[8,22],tracker:15,cross:25,com:[15,3,7,4,5,12,13],earlier:[6,3],through:[12,15,22,20,10],member:[],addit:[12,6,2,7],some:[15,26,3,20,7,4,5,10,6,23,24,8,12],serial:[26,10],reset:6,higher:12,asynchron:[],process:[26,22,7],mai:[18,10,1,22,12,13],patch:12,port:[15,0,26,18,3,20,7,10,8],aliv:[10,22,19,13],how:[16,18,3,7,23,12,13],befor:[10,26,3,13],sake:17,head:[17,22,13],string_typ:[15,20,10,23,8,13],handler_typ:10,aptli:22,non_blocking_io:10,semant:[1,6,2,10],decid:[25,6,23],buffer:[26,23,10],rudimentari:2,pool:[26,10],invoc:[10,13],platform:[25,26,12,10],summar:1,offer:13,"int":[15,0,18,3,7,10,4,17,5,6,8,13],anchor:20,descript:[7,10,20,1,22,8,19,13],remove_head:[1,8,20],must:[26,12],edit:10,along:12,cerr:[15,0,18,3,4,5,22],term:[10,1,13],wait:[10,13],significantli:10,foreach:5,orient:[6,2],post:[17,26,22,3,13],shift:2,wrapper:[],icmp:1,request:[],light:[25,15],unix:[12,7],differenti:[18,10],all:[15,16,26,18,2,3,20,10,1,17,6,5,22,8,12,13],noth:6,nich:25,url:[0,3,7,17,5,14,12],fragment:[7,0],dh512:10,guid:[14,12,15],xjf:12,broad:2,encapsul:[1,22,2,19,13],pre:18,dboost_root:12,anymor:23,lend:2,someth:[1,22,2,23,10],simple_wget:0,most:[13,1,5,10,0],foo_direct:1,"public":[],udp:[22,19,13],trivial:[22,2],"8bit":13,whether:[26,7,20,10,1,6,13],upon:10,non:[1,26,7,10],directive2:2,origin:[22,23],alreadi:[26,20,10,8,25,13],tool:12,conn:10,rapidxml:5,sourc:[],foo:[1,6,23],argc:[0,18,3,4,17,5],unsupported_tag:23,http_default_8bit_tcp_resolv:[22,19,13],impli:1,forbidden:10,slightli:23,group:[25,15,12],caus:[22,19,23,13],requir:[26,20,7,10,1,6,8,25,12,13],inform:[26,15,12,10],response_:[15,13],identifi:[1,7],stabl:[12,15],also:[15,18,2,20,10,4,1,6,22,23,8,25,12,19,13],"function":[],simpli:[22,2,20,0],artifact:12,password_callback:10,http_default_8bit_udp_resolv:[8,22,19,20,13],uri:[],initi:[10,25,26,13],not_accept:10,boost_network_no_lib:[26,13],under:[4,15],thei:[7,1,22,23,12,19,13],find_packag:12,bz2:12,server_opt:10,multiple_choic:10,incompat:12,privat:[26,13],command:[18,3,7,4,5,12],smtp:[1,25],invari:23,against:10,breakag:26,variabl:12,futur:[15,10,1,22,8,19,13],document:[],unzip:12,leak:26,smart:[10,13],assumpt:22,shell:[18,12,3],defin:[26,18,2,7,10,1,6,22,23,12,13],given:[20,7,4,1,10,6,22,23,8],client_fwd:26,swappabl:[1,7,23],compil:[10,26,12,2,13],linear:10,source_typ:1,complex:[4,17,12,7],scalabl:10,just:[18,3,20,1,22,23,8,12],version:[],report:[],choic:12,older:26,differ:[0,26,2,20,21,7,1,10,6,23,8,9,12,13],let:[18,12,3,23],numer:26,resid:[17,22],work:[8,12,20],risk:12,print_bodi:13,suggest:20,file:[15,0,7,10,12,13],netlib:[],empti:[1,0],sinc:[17,3,23],come:[8,12,6,2,20],number:[18,20,10,1,22,23,12,19,13],suit:12,port_typ:20,necessari:18,intent:25,wstring:[8,20,23],manual:[],kept:[25,10],take:[15,0,26,18,2,7,10,1,22,13],major:[25,20,13],extens:[22,2,23],our:[25,15,12,23],basic_respons:[8,22],mani:[25,26,12,13],iterator_rang:[10,13],acceptor:10,openssl_verify_path:13,recommend:12,set_password_callback:10,sampl:[12,10],pertain:1,concret:2,failur:26,what:[],fact:17,idea:[15,23],metafunct:[],handler_inst:10,pull:12,connectionptr:10,self:2,place:10,"short":[26,13],might:[22,23],slide:14,upgrad:[26,10],repeatedli:25,rss:[5,26],don:[26,17,22,23,12,19,13],dispatch:[1,26,6,22,23],cache_resolv:13,among:23,fulfil:25,is_base_of:23,straightforward:[18,15],critial:26,ado:17,rest:0,realli:3,chapter:24,low:10,programmat:26,otherwis:[12,6,20,7],vice:1,need:[16,18,10,17,6,23,25,12,13],radic:26,hello_world:18,"while":[2,1,6,22,25,12],els:13,builder:[],jamfil:26,call:[26,18,2,10,1,22,23,12,13],handler_:15,everyth:7,send:[17,10],undergo:15,should:[18,10,1,6,22,23,12,13],actual:[26,10],password_purpos:10,find_last_of:0,dcmake_cxx_compil:12,featur:[4,25,15,12,23],librari:[],http_statu:10,text:4,"enum":10,dynam:[],setup:10,itself:[2,23],explos:6,range_iter:22,servic:25,code:[],ladi:4,hash:4,plai:26,upload:10,inlin:[8,2,20,23],virtual:6,line:[15,26,18,3,7,4,17,5,12],zip:12,repositori:[12,15],bother:13,easili:[25,13],cannot:[10,13],absolut:7,didn:13,unavoid:6,pod:[],substr:0,service_unavail:10,comp:7,been:[10,25,12,13],them:[10,8,12,20,13],indirect:[6,2],endpoint:13,encount:[10,13],not_impl:10,reli:[26,13],target_link_librari:12,never:25,verif:13,everi:[1,25],adapt:1,person:12,print:[17,5,22],own:[10,25,13],cite:13,onli:[26,2,7,10,4,5,6,22,23,8,12,19,13],size_t:[10,0],mikhailberi:12,cellar:12,hold:[22,19,13],instanc:[7,10,20,1,22,23,8,13],status_message_:8,"true":[10,13],multimap:22,clear:[1,13],design:[15,16],done:[20,10,1,6,22,23,12],moved_temporarili:10,dive:[],dcmake_c_compil:12,soap:25,safe:[18,13],phrase:4,further:[17,7],common:[1,17,25,16,13],throught:17,asio:[10,25,26,13],instanti:10,server:[],status_t:10,free:[1,10],arg:15,even:[1,8,2,20],berri:25,high:25,netib:13,filesystem:0,sln:12,myapplic:12,overload:[18,22,10],struct:[15,18,2,10,1,6,22,23,13],learn:[],fit:10,proof:10,field:8,"import":[26,10],iostream:[0,18,2,3,7,4,17,5],languag:25,cover:[1,26],problem:6,rel:7,cat:0,body_:[8,15,20],openssl:[12,13],deal:[10,18,6,13],show:[16,3,7,10,5,13],cost:26,compress:17,offici:[],bit:[8,20],convert:[1,8,20,7],destination_:[8,20],order:[17,26,2,10],program:[15,16,18,7,6,25],lower:[25,26],boost_root:12,util:10,out:[10,12,15,13],excel:25,add_head:[1,8,20],tcp:[6,22,19,13],openssl_:[],combin:[6,23],openssl_certificate_fil:13,give:10,start:[],add:[26,20,1,17,8,12],inc:26,readcallback:10,version_minor:[22,19,20,13],lib:[17,5,26,12],similar:[0,2,3,10,1,5,22,23,19,13],clear_resolved_cach:13,base64:26,user:[26,2,7,10,4,22,12,19,13],togeth:[25,12],continu:[25,15,10],unit:26,async_serv:[26,10],afford:2,mkdir:12,chose:1,timeout:[10,26,13],mean:[10,1,26,12,13],std:[15,0,18,3,20,7,4,17,5,10,22,23,8,13],integ:20,later:10,predefin:22,somewher:13,unsign:[8,22,20,13],directiven:2,project:[],soon:[10,13],directli:[10,13],though:[17,12,6],experiment:26,org:[15,0,7,17,22,12],fulli:[13,25,0],encod:[4,8,26,20],"try":[0,18,3,10,4,5,13],below:[15,7,10,4,22,8,12,13],vari:[1,6,23],section:[10,1,8,20,13],distinct:10,system:[10,12,2,13],hostnam:10,lack:25,fstream:0,translat:23,properli:[10,13],tmp:13,veri:[10,26,0],aid:16,accord:[1,17,7],relev:3,delete_:13,ssl:[],network:[],repetit:26,tcp_resolv:13,dcmake_build_typ:12,multipl:10,outsid:[17,12,13],shared_ptr:[10,13],user_info:[7,0],end:[25,26,22,13],down:[6,2,7],compon:[16,0,7,1,23,13],real:23,put:[10,26,22,13],separ:[26,12],potenti:10,bin:7,redirect:13,"static":[],adl:[1,23],cpp:[],twitter_search:[],which:[26,18,2,3,7,10,1,17,6,5,22,23,8,12,13],construct:[7,20,4,1,10,8,13],src:12,within:[9,12,10],dberri:12,detail:[18,20,10,1,17,22,8,19,13],read:[5,26,12,10],pair:[8,20],want:[],libcppnetlib:[26,12],expect:13,point:[1,23],cppnetlib_librari:12,webservic:3,attent:2,throughout:26,creativ:6,"break":[26,6,13],easi:[25,15,3],kind:[6,16],handler:[],bzip:12,get_filenam:0,manag:[10,26,13],reflect:26,stock:18,clone:[12,0],multi:18,tarbal:12,default_workaround:10,prolong:2,uri_io:7,http_async_8bit_udp_resolv:[26,22,19,13],inhibit:13,like:[18,2,3,10,4,1,6,22,23,12,13],inherit_linearli:23,"boolean":[10,13],scale:10,infosystem:7,basic_request:[22,20],fast:15,signatur:[10,13],had:25,refactor:[26,15],consid:13,boost_network_default_tag:26,window:[],embedd:[26,22],resolv:[22,19,13],cppnetlib_include_dir:12,save:0,loop:10,doesn:[8,26],boost:[],submit:[25,12],certain:[1,22,2,23,10],easier:[1,13],subsequ:[8,6,20,13],sizetyp:4,peer:[26,13],intern:[26,20,10,22,23,13],qualiti:25,pass:[18,2,3,10,1,17,5,23,13],copi:[0,26,7,10,1,13],functor:[18,22],cmake_prefix_path:12,lifetim:13,without:[17,2],chang:[26,2,22,23,12,13],type:[2,20,7,10,1,6,22,23,8,25,13],subdirectori:17,wai:[10,23,7,13],divis:1,intend:[10,12,15,13],cooki:13,index:0,smarter:23,best:[10,14,13],next:[0,3,10,17,5,13],rational:2,properti:[1,22,2,23],area:1,action:10,back:26,you:[15,0,18,3,10,17,6,22,23,12,13],review:15,block:[10,22,19,13],serv:23,base:[26,2,7,4,1,6,23,12,13],present:17,basic_serv:22,correct:[1,6,22],no_sslv2:10,use_certificate_chain_fil:10,none:10,lead:2,argument:[0,18,4,1,17,22,13],fluid:6,packet:1,branch:[5,12],cppnetlib:[26,12],natur:2,preprocessor:[26,13],thread:[26,18,10,22,19,13],typenam:[1,8,20,23],path:[7,12,20,0],watermark:10,modifi:[],derived0:6,anoth:[7,10],async:26,newer:10,strategi:[6,13],simplest:17,situat:[10,6,2,13],primari:[23,10],goal:25,bridg:6,caveat:12,filenam:[13,0],set_statu:10,connect:[],clear_head:[1,8,20],http_version_major:13,aris:13,http_keepalive_8bit_tcp_resolv:[22,19,13],argv:[15,0,18,3,4,17,5],alon:6,depth:[],bool:[10,13],creation:2,familiar:[5,0],callback:[10,26,13],move:[2,13],runtim:6,from:[15,0,26,18,2,3,20,7,4,1,17,5,10,22,23,8,12,13],shared_futur:8,specifi:[0,7,10,1,17,22,12,19,13],softwar:25,queri:[4,7,20,0],constructor:[],adher:10,pem:10,pointer:[10,13],json:4,direct:[],thing:[0,20,17,6,23,8,12],option:[15,26,10,25,12,13],atom:[],sslv23:10,appropri:[10,8,12,20,13],histori:[],mechan:[22,23],previous:18,default_:[6,22,23],motiv:[],lock:10,author:[7,13],cmakelist:12,wrap:[1,8,6],string:[15,0,18,3,20,7,10,1,17,22,23,8,13],"default":[26,10,1,17,6,22,23,12,19,13],resolut:26,howev:[12,22,23],between:[12,7],concurr:10,valu:[18,20,10,4,1,6,22,8,19,13],ostringstream:3,startup:26,content_typ:13,derived1:6,wget:[],access:[0,2,3,20,10,5,22,8,25],repli:18,found:[18,10,4,17,25,12],awai:10,store:[10,1,13],describ:[7,10,24,16,13],receive_buffer_s:10,rpc:3,headers_rang:[8,22,20],therefor:[25,22,13],respons:[],"return":[0,26,18,2,3,20,7,4,1,17,6,5,10,22,8,19,13],signal:[17,13],flexibl:[17,26,2,23],git:12,no_cont:10,result:[0,2,20,7,4,1,5,23,8],discov:15,remain:[6,2],across:[18,13],decis:6,uint16_t:8,homebrew:12,inherit:23,assum:[3,20,10,1,17,8,12,13],pend:[10,13],chunk:[10,26,13],parser:[5,26,12,7,0],doe:[18,7,20,10,1,8,13],feed:[],relat:10,fals:[10,13],getstr:4,choos:[1,12,20,13],forward:22,when:[26,10,1,6,25,12,13],regex:12,io_servic:[10,26,13],bodi:[],event:10,percent:4,directori:[17,12,13],http:[],establish:13,sudo:12,microsoft:12,if_:23,info:[15,7],approach:[6,23],run:[],hoc:26,attempt:[26,10],miss:25,"switch":[6,20],applic:[15,16,0,3,20,10,17,5,8,25,12,13],source_:[8,20],bash:7,readi:[26,13],manner:[10,8,23,20,13],deriv:[6,20],output:7,name:[0,26,20,10,1,22,8,12,13],opaqu:[7,23],enabl:[25,12,23,10],explicit:[10,1,13],correctli:[8,20],third:18,control:[12,23,10],forum:12,error:[10,17,26,15,13],techniqu:[],insid:[10,22,13],overal:23,composit:23,two:[26,18,20,10,22,13],status_typ:10,advanc:24,michael:25,publish:5,dsel:2,stream:[],format:[14,26,2],gaga:4,search:[],studio:12,ftp:[25,7],seri:[16,10],linger:10,internal_server_error:10,administr:18,notic:[22,23],basic_cli:[22,13],aim:24,share:[10,18,22,19,13],appli:[1,2],part:[26,20,7,4,1,8,13],here:[0,18,7,10,4,17,6,22,13],enumer:18,opt:12,world:[],layer:[25,6,2,15],especi:10,refer:[],size:[4,10],error_cod:[10,13],immedi:[2,10],kei:[10,26,13],makefil:12,olymp:4,utf:[8,20],clrf:26,http_server:[8,15,20,10],sstream:3,new_statu:10,solut:12,said:7,other:[],framework:[1,18],static_cast:0,ten:15,narrow:[8,20],echo:22,svn:12,mail:[12,15],zipfil:12,interest:12,tree:17,develop:[],compos:21,logic:[1,17,22,2,10],shown:[10,13],unpack:12,fork:12,xml:[5,3],indic:[22,19,13],version_:8,abort:10,typedef:[15,18,10,1,22,23,13],mostli:12,suppli:[26,22,7,10],accessor:[1,8,20],alwai:[10,26,12,13],decod:26,consol:[17,5],verifi:13,mit:4,web:[25,12],ipp:[8,18],behavior:[6,22,23,13],mistak:13,target_typ:2,sure:18,special:[],eventu:25,ptr:6,enough:[12,2],see:[26,18,10,22,23,19,13],have:[26,18,2,3,10,4,1,6,22,23,25,12,19,13],"class":[],commun:[25,15,16],barrier:25,memori:[10,25,12,13],ani:[26,18,10,4,1,17,6,8,12,13],atom_read:[],pipelin:10,around:[10,13],parallel:12,longer:[26,13],xzf:12,twitter:[],accept:[26,15,2,10],body_handl:13,licens:4,distribut:[25,12,10],minim:26,bad_request:10,follow_redirect:13,contribut:[26,15],extend:[25,2,23],exact:[4,22],avail:[26,10,1,6,8,25,12,13],neg:4,cout:[0,3,7,4,17,5,22,13],specif:[],cach:13,depend:[26,20,10,1,22,8,12,13],ipv6:[14,26],invok:[10,26,18,12,13],ultim:26,suffici:12,talk:[8,20],reus:2,after:[17,7,10],receive_low_watermark:10,three:[10,21,1,22,12,13],boost_network_http_body_callback:13,consist:[17,25,26,12],c_str:[4,0],debug:12,paramet:[26,2,20,10,1,22,23,8,12,13],synchronoushandl:10,tel:7,four:8,header:[15,0,26,18,2,20,10,4,1,17,6,5,22,23,8,12,13],target:[25,2],secur:13,synchron:[],grow:15,input_rang:10,root:[12,20,23],resourc:[18,12,0],famili:23,effect:[8,20,13],thi:[0,3,4,17,5,8,15,22,23,19,2,1,6,9,13,26,18,20,7,10,24,25,12],placehold:23,some_str:13,were:10,meant:[23,1,8,20,10],sent:[10,13],report_abort:10,introduc:[4,17,13,26,0],default_tag:23,destroi:13,instruct:[17,12],top:[25,12],client_:[15,13],master:5,version_major:[22,19,20,13],fix:26,hpp:[0,26,18,3,7,10,4,17,5,23,13],http_keepalive_8bit_udp_resolv:[22,19,13],both:[16,20,10,22,8,19,13],mere:1,greatli:6,allow:[15,26,2,10,4,1,17,6,23,13],overview:[],where:[26,2,3,20,10,1,6,22,23,25,13],packag:12,least:12,few:[8,12],object:[],incorrect:26,asynchronoushandl:10,latest:[12,15],behaviour:4,simpl:[],regular:10,nonetheless:1,fail:26,ask:[12,15],imagin:3,link:[10,12,13],bad_gatewai:10,date:12,rapidjson:4,"void":[15,18,20,7,10,1,6,22,23,8,13],denot:[23,10],listen:[26,18,10],modern:15,john:7,first:[18,20,7,1,17,6,5,22,12],portabl:[25,15],activ:[25,22,19,13],send_buffer_s:10,utils_base64_test:26,retriev:[0,7,20,1,8,13],reader:[],onc:[10,17,12,23,13],exist:[5,25,12],collect:[25,15],titl:5,enforc:20,tradit:12,mpl:[26,23],look:[],string_tag:23,destructor:[26,6],"throw":[10,26,13],produc:12,account:12,reuse_address:10,concern:26,equival:23,single_dh_us:10,googl:[26,15,12],response_head:[22,10],status_:8,join:[12,15,10],rule:26,facad:26,fashion:2,boost_network_enable_http:[26,13],convent:17,delet:[17,22,13],cmake:[],affect:13,still:[26,20,10,23,8,12,13],classifi:7,not_found:10,librt:26,set_head:10,strictli:26,contain:[16,18,2,10,4,1,23,8],your:[10,12,22,13],macro:[26,13],dedic:13,much:[12,6],instabl:26,address:[15,18,3,10,22,14,19,13],abl:[12,10],boost_network_http_server_connection_header_buffer_max_s:10,undefin:13,boil:2,practic:[5,3,16],larger:16,form:[2,7,1,22,23,13],site:12,migrat:25,check:[17,26,15,12],written:[8,15,20],fan:12,structur:[17,23],echo_serv:22,pattern:[10,1,6,2,13],namespac:[15,0,18,3,20,7,4,17,5,10,22,23,8,13],syntax:[],"final":[17,26],safeti:23,hidden:[2,13],progress:15,msvc:26,conveni:13,littl:[6,23],configur:[26,15,18,12],lot:[26,6,12],load:13,slash:7,model:[2,20,10,1,8,12,13],assign:[1,7,10],weight:[25,15],larg:[23,10],tag:[],central:1,libc:26,exampl:[],make:[0,26,18,3,4,17,5,6,22,23,12,19,13],interact:12,list:[15,18,20,10,4,5,23,8,12],creat:[18,3,20,7,10,17,6,8,12,13],overhaul:26,updat:26,improv:26,rfc:[17,14,26,7,0],streaming_callback:13,face:[10,13],burden:12,visibl:22,messag:[],dopenssl_root_dir:12,determin:[10,22,23,0],demand:25,impl:[8,18],sensit:26,current:[10,7,13],standard:[25,26,2],facilit:6,core:1,profil:10,increasingli:25,linger_timeout:10,transfer:[26,10],bug:[26,12],keep:[2,5,6,22,23,19,13],lvalu:[1,10],custom:13,boost_foreach:5,subtitl:5,headers_contain:[1,8],ignor:23,associ:[20,10,1,23,8,13],definit:[23,1,20,10],hex:26,doubl:7,pure:[1,6],would:[18,10,1,22,23,12],whole:[8,26,23],wire:2,default_wstr:23,syntact:[1,2],trait:[8,23],hello:[],inadvert:26,ensur:[1,18,23],tar:12,can:[15,16,0,18,2,3,7,10,4,1,17,6,22,23,8,12,13],behav:13,until:13,help:10,logic_error:10,socket:10,open:25,use_private_key_fil:10,side:[26,6,18,13],second:[22,20,13],constraint:25,github:[15,7,5,25,12,13],state:[2,10],abus:2,remov:[1,8,26,20,13],sever:[24,10],comput:[12,10],expos:10,plain:6,discuss:[12,15],moved_perman:10,releas:[],basic:[1,2],status_messag:8,flight:4,find:[12,15],provid:[15,0,26,18,20,7,4,22,23,8,25,19,13],happen:13,those:[8,20,24],purpos:[12,10],manipul:[1,10],deleg:22,becaus:[1,6,2,10],variou:13,interfac:[0,26,2,20,10,22,9,19,13],yet:[23,10],sourceforg:25,data:[26,3,7,10,1,22,13],requesthandl:22,clariti:17,known:[26,12,7],not_modifi:10,client_opt:13,req:10,job:12,metaprogram:[],well:[1,26,2,10],usag:[0,26,18,3,10,4,17,5,13],home:[25,12],protocol:[15,16,0,18,2,3,20,21,4,1,17,5,7,8,25,13],fill:13,test:[26,12,10],prescrib:12,nest:[2,20,10,1,22,23,8],chain:2,templat:[],follow:[16,0,18,2,3,20,7,10,1,17,6,22,23,8,12,13],get:[],openssl_certif:13,statu:[8,26,18,22,10],happi:15,hasparseerror:4,instal:[26,12],thrown:13,assert:7,sens:[22,2,19,13],occur:[8,20,13],xmpp:[1,25]},filenames:["examples/http/simple_wget","in_depth/message","techniques/directives","examples/http/hello_world_client","examples/http/twitter_search","examples/http/atom_reader","techniques/polymorphism","in_depth/uri","reference/http_response","reference","reference/http_server","contents","getting_started","reference/http_client","references","index","examples","examples/http/http_client","examples/http/hello_world_server","in_depth/http_client_tags","reference/http_request","in_depth","in_depth/http","techniques/tag_metafunctions","techniques","history","whats_new"],envversion:43,titleterms:{"function":13,techniqu:24,implement:[10,22,13],librari:15,normal:20,dynam:6,ssl:10,network:15,direct:[1,8,2,20],refer:[9,14],sourc:14,code:[0,18,3,4,17,5],manual:9,"new":26,"class":7,polymorph:6,motiv:25,method:13,client:[17,22,3,20,13],"static":6,cpp:[14,26,15,12,21],twitter_search:4,pod:20,basic_messag:1,stream:13,want:15,concept:[1,8,20,7],twitter:4,support:[12,10],gener:[10,7,13],download:12,bodi:13,respons:[8,10],tag:23,handler:13,metafunct:23,atom_read:5,build:[4,5,18,12,3],dive:[0,18,3,4,17,5],feed:5,messag:1,boost:12,get:[12,15],world:[18,15,3],about:14,window:12,server:[18,22,20,10],wget:0,synchron:[10,13],version:12,content:11,search:4,report:12,constructor:[10,13],run:[0,18,3,4,17,5],simpl:0,uri:7,netlib:[14,26,15,12,21],"public":10,develop:12,http:[16,18,3,20,10,17,22,8,13],hello:[18,15,3],member:[10,13],project:[25,12],asynchron:[10,13],exampl:[17,16,0],issu:12,other:14,offici:12,histori:25,object:[25,10],featur:13,document:10,todo:2,syntax:7,what:26,specif:13,releas:12,start:12,more:15,atom:5,depth:21,cmake:12,reader:5,modifi:[1,8,20],wrapper:[1,8,20],linux:12,request:20,look:21,api:[10,13],learn:15,templat:[1,23],connect:10,metaprogram:23,overview:7,builder:7,special:23},objnames:{},objtypes:{},titles:["Simple wget","The message template","Directives","“Hello world” HTTP client","Twitter search","Atom feed reader","Static and dynamic polymorphism","The URI class","HTTP Response","Reference Manual","HTTP Server API","Contents","Getting Started","HTTP Client API","References","Getting cpp-netlib","Examples","HTTP client","“Hello world” HTTP server","<no title>","HTTP Request","An in-depth look at the cpp-netlib","HTTP implementation","Tag metafunctions","Techniques","Project history","What’s New"]}) \ No newline at end of file +Search.setIndex({titles:["“Hello world” HTTP server","References","<no title>","Techniques","HTTP client","Project history","Examples","HTTP implementation","“Hello world” HTTP client","An in-depth look at the cpp-netlib","HTTP Client API","Directives","Static and dynamic polymorphism","Twitter search","Getting cpp-netlib","HTTP Request","Tag metafunctions","HTTP Response","The URI class","Simple wget","What’s New","Contents","Reference Manual","Atom feed reader","Getting Started","The message template","HTTP Server API"],terms:{against:26,mkdir:24,from_user_nam:13,intend:[10,14,26,24],studi:14,lib:[23,4,24,20],absolut:18,remov:[10,17,25,15,20],ofstream:19,is_base_of:16,everi:[25,5],resolut:20,translat:16,ladi:13,data:[18,8,7,20,10,25,26],shared_ptr:[10,26],tree:4,design:[14,6],howev:[7,16,24],embedd:[7,20],proof:26,inhibit:10,boost_foreach:23,situat:[10,11,12,26],number:[0,2,7,10,25,15,16,26,24],around:[10,26],address:[0,1,8,2,7,10,14,26],dive:[],remain:[11,12],bz2:24,concurr:26,set_opt:26,improv:20,each:[4,10,23,25,26,24],cppnetlib_librari:24,paramet:[17,7,20,10,11,25,15,16,26,24],origin:[7,16],post:[10,4,8,7,20],minor:[10,15],process:[18,7,20],broad:11,modifi:[],solut:24,loop:26,receive_low_watermark:26,full:[17,14,24],std:[0,17,18,8,4,7,19,10,23,13,14,15,16,26],cppnetlib_include_dir:24,web:[5,24],yet:[16,26],potenti:26,lead:11,serv:16,no_sslv2:26,metafunct:[],http_async_serv:26,server_:[0,14],alreadi:[17,5,20,10,15,26],swappabl:[25,18,16],respons:[],wai:[10,18,16,26],enumer:0,given:[17,18,7,12,13,25,15,16,26],end:[10,5,7,20],moved_perman:26,rel:18,error:[10,4,14,26,20],cout:[18,8,4,7,19,10,23,13],matter:26,though:[4,12,24],repetit:20,modern:14,protocol:[0,17,18,8,4,5,6,19,9,10,23,11,13,25,14,15],reus:11,thing:[17,4,19,12,15,16,24],setup:26,must:[24,20],mit:13,descript:[17,18,2,7,10,25,15,26],googl:[14,24,20],reli:[10,20],fuss:14,dboost_root:24,redirect:10,denot:[16,26],http_keepalive_8bit_udp_resolv:[10,7,2],kept:[5,26],idea:[14,16],convers:25,synchronoushandl:26,longer:[10,20],date_tim:24,awai:26,constraint:5,"switch":[15,12],clang:[24,20],than:[16,26],list:[0,17,23,13,14,15,16,26,24],declar:[10,17,15,7],version_minor:[10,15,7,2],smtp:[25,5],world:[],therefor:[10,5,7],subsequ:[10,17,15,12],basic_messag:[],boost_network_enable_http:[10,24,20],test:[24,26,20],sens:[10,7,2,11],"try":[0,8,19,10,23,13,26],cert:10,trait:[17,16],seri:[6,26],between:[18,24],consol:[23,4],were:26,john:18,cache_resolv:10,mailto:18,intermediari:25,standalon:[10,12],pattern:[10,25,11,12,26],depth:[],safe:[0,10],cover:[25,20],narrow:[17,15],taken:26,clear_head:[17,25,15],tcp_resolv:10,indic:[10,7,2],out:[10,14,26,24],jamfil:20,listen:[0,26,20],compress:4,what:[],portabl:[5,14],describ:[10,3,18,6,26],"boolean":[10,26],transform:[25,11],range_iter:7,pars:[18,7,19,20,23,13,26],hello_world_cli:8,runtim:12,composit:16,tel:18,relev:8,current:[10,18,26],explicit:[10,25,26],dh512:26,expect:10,differ:[17,18,19,9,20,10,22,11,12,25,15,16,26,24],git:24,dure:10,creativ:12,report:[],socket:26,basic_request:[15,7],remove_head:[17,25,15],actual:[26,20],derived1:12,left:[11,16],easili:[10,5],stabl:[14,24],wire:11,uri_io:18,stock:0,source_:[17,15],"long":26,instanti:26,right:[16,26],last:10,low:26,namespac:[0,17,18,8,4,7,19,10,23,13,14,15,16,26],mode:20,boost_network_http_client_default_tag:20,present:4,fulli:[10,5,19],relat:26,syntax:[],empti:[25,19],direct:[],aptli:7,body_:[17,14,15],valu:[0,17,2,7,10,12,13,25,15,26],multimap:7,reduc:24,not_impl:26,minim:20,ensur:[0,25,16],known:[18,24,20],not_support:26,reachabl:16,befor:[10,8,26,20],regular:26,xcode:20,metaprogram:[],msvc:20,demand:5,increasingli:5,facilit:12,variou:10,new_statu:26,http_version_minor:10,"while":[5,7,11,12,25,24],commun:[5,6,14],directive1:11,deep:11,page:[14,24,13],http_default_8bit_tcp_resolv:[10,7,2],yourself:24,argument:[0,4,7,19,10,13,25],version:[],emb:[10,26],echo:7,cach:10,lend:11,functor:[0,7],easi:[5,14,8],destin:[17,25,15],simpl:[],paper:1,server:[],openssl_certif:10,broken:18,updat:20,always_verify_p:10,when:[5,20,10,12,25,26,24],michael:5,through:[14,15,7,26,24],result:[17,18,19,23,11,13,25,15,16],pre:0,have:[0,8,2,5,7,20,10,11,12,13,25,16,26,24],least:24,incorrect:20,"enum":26,artifact:24,thread:[0,2,7,20,10,26],"8bit":10,best:[10,1,26],ten:14,releas:[],whole:[17,16,20],pool:[26,20],ask:[14,24],non:[24,25,18,26,20],see:[0,2,7,20,10,16,26],streaming_callback:10,base64:20,hoc:20,layer:[5,14,11,12],latest:[14,24],session:10,argc:[0,8,4,19,23,13],you:[0,8,4,7,19,10,12,14,16,26,24],simplest:4,code:[],expos:26,asio:[10,5,26,20],http_default_8bit_udp_resolv:[10,17,15,7,2],perform:[8,5,20,10,25,15,26],skeleton:16,profil:26,achiev:3,risk:24,combin:[12,16],name:[17,7,19,20,10,25,15,26,24],clear:[10,25],load:10,mikhailberi:24,dispatch:[25,7,12,16,20],well:[25,11,26,20],about:[],format:[1,11,20],next:[8,4,19,10,23,26],behaviour:13,let:[0,8,16,24],inform:[24,14,26,20],come:[17,15,11,12,24],motiv:[],handler:[],handler_inst:26,version_:17,reset:12,previou:[10,19,24],bad_request:26,packet:25,other:[],receiv:[10,26],chain:11,undergo:14,never:5,org:[18,4,7,19,14,24],"import":[26,20],put:[10,7,26,20],techniqu:[],lower:[5,20],"catch":[0,8,19,10,23,13],own:[10,5,26],hold:[10,7,2],been:[10,5,26,24],stream:[],send_buffer_s:26,use_private_key_fil:26,inc:20,gcc:[24,20],explos:12,conn:26,interact:24,nor:25,lvalu:[25,26],header:[0,17,4,7,19,20,10,23,11,12,13,25,14,15,16,26,24],fail:20,futur:[17,2,7,10,25,14,26],activ:[10,5,7,2],fragment:[18,19],inherit_linearli:16,"int":[0,17,18,8,4,19,10,23,12,13,14,26],filenam:[10,19],gaga:13,tmp:10,visibl:7,commit:[23,5],review:14,move:[10,11],cannot:[10,26],action:26,retriev:[17,18,19,10,25,15],summar:25,transfer:[26,20],chapter:3,job:24,"case":[0,17,7,20,12,25,15,16,26,24],significantli:26,log:14,system:[10,11,26,24],resid:[4,7],some_str:10,instanc:[17,18,7,10,25,15,16,26],user_info:[18,19],might:[7,16],vector:[15,16,26],msysgit:24,pertain:25,manual:[],liter:1,usr:24,basic_respons:[17,7],cycl:10,uniqu:12,sourceforg:5,text:13,insid:[10,7,26],feed:[],sensit:20,slide:1,directli:[10,26],although:[24,25,12,16,26],same:[0,5,7,10,11,12,13,16,24],appli:[25,11],site:24,addit:[18,11,12,24],accept:[14,11,26,20],udp:[10,7,2],sent:[10,26],deal:[0,10,12,26],need:[0,4,5,6,10,12,16,26,24],pull:24,client_opt:10,collect:[5,14],"class":[],bad_gatewai:26,note:[17,18,25,19,26],larger:6,chang:[7,20,10,11,16,24],keep:[2,7,10,23,11,12,16],administr:0,bug:[24,20],c_str:[19,13],instruct:[4,24],home:[5,24],detail:[0,17,2,4,7,10,25,15,26],itself:[11,16],gnu:24,further:[4,18],microsoft:24,distanc:10,fulfil:5,tar:24,"const":[0,17,7,19,10,23,11,13,25,14,15,26],sometim:[25,16],clrf:20,would:[0,7,25,16,26,24],is_valid:18,decod:20,thread_pool:26,req:26,charact:10,greatli:12,inlin:[17,15,11,16],print:[23,4,7],safeti:16,disabl:26,els:10,websit:[4,14,19,24],iter:7,error_cod:[10,26],valid:[25,24,20],control:[16,26,24],vari:[25,12,16],conveni:10,dberri:24,establish:10,compon:[18,6,19,10,25,16],arg:14,"new":[],openssl_:[],without:[4,11],command:[0,18,8,23,13,24],miss:5,immedi:[11,26],util:26,sampl:[26,24],correct:[25,7,12],guid:[1,14,24],specifi:[18,2,4,7,19,10,25,26,24],scheme:[18,15,19],compat:10,inherit:16,mistak:10,underneath:[10,20],kei:[10,26,20],opaqu:[18,16],throught:4,abov:[0,18,2,7,19,10,13,16,26,24],below:[17,18,7,10,13,14,26,24],sequenc:10,style:[18,19],ipv6:[1,20],vice:25,concept:[],close:[23,4,14,7,26],verif:10,member:[],wrapper:[],hidden:[10,11],done:[7,12,25,15,16,26,24],indirect:[11,12],send:[4,26],appropri:[10,17,15,26,24],orient:[11,12],mechan:[7,16],structur:[4,16],suggest:15,numer:20,internal_server_error:26,stock_repli:[0,14,7,26],breakag:20,common:[10,4,5,6,25],hostnam:26,divis:25,nich:5,check:[4,14,24,20],outliv:10,forum:24,said:18,xjf:24,more:[],com:[18,8,10,23,13,14,24],introduc:[10,4,20,19,13],atom:[],syntact:[25,11],destination_:[17,15],index:19,extens:[7,11,16],make:[0,8,2,4,7,19,20,10,23,12,13,16,24],tabl:[17,7,10,25,14,26],substr:19,target_typ:11,notion:[25,11],similar:[8,2,7,19,10,23,11,25,16,26],tell:10,whether:[18,20,10,12,25,15,26],synchron:[],cmake:[],failur:20,kind:[6,12],properti:[25,7,11,16],subvers:24,bound:26,enabl:[10,5,16,26,24],shell:[0,8,24],secur:10,refactor:[14,20],usag:[0,8,4,19,20,10,23,13,26],upon:26,boost_1_55_0:24,side:[0,10,12,20],dcmake_cxx_compil:24,plain:12,togeth:[5,24],boost_network_http_body_callback:10,studio:24,convent:4,watermark:26,utf:[17,15],manipul:[25,26],phrase:13,critial:20,tool:24,central:25,order:[4,11,26,20],event:26,get_filenam:19,assign:[25,18,26],depend:[17,7,20,10,25,15,26,24],wrap:[17,25,12],encount:[10,26],path:[18,15,19,24],context:[11,16,26],follow:[0,17,18,8,4,6,7,19,10,11,12,25,15,16,26,24],submit:[5,24],polymorph:[],makefil:24,caus:[10,7,2,16],bash:18,start:[],max_length:26,packag:24,goal:5,continu:[5,14,26],via:[14,8],edit:26,sln:24,connect:[],ssl:[],undefin:10,becom:5,ignor:16,lot:[12,24,20],mere:25,rest:19,definit:[25,15,16,26],foo_direct:25,open:5,awar:[5,14],want:[],default_:[7,12,16],requir:[17,18,5,20,10,12,25,15,26,24],sinc:[4,8,16],all:[0,17,8,4,6,7,20,10,23,11,12,25,14,15,26,24],doubl:18,fix:20,svn:24,branch:[23,24],fact:4,base_uri:13,behavior:[10,7,12,16],find_packag:24,soap:5,non_blocking_io:26,construct:[17,18,10,13,25,15,26],alon:12,startup:20,assumpt:7,deriv:[15,12],signal:[10,4],shared_futur:17,newer:26,config:20,async_serv:[26,20],aliv:[10,7,2,26],better:[24,26,20],tag:[],possibl:[23,4,14,12],invari:16,programmat:20,almost:26,give:26,gzip:24,even:[17,25,15,11],snmp:25,complex:[4,18,24,13],get:[],shift:11,cross:5,xzf:24,begin:[10,7],ipp:[0,17],opt:24,print_bodi:10,password_purpos:26,macro:[10,24,20],lack:5,illustr:16,extend:[5,11,16],few:[17,24],consist:[4,5,24,20],dcmake_c_compil:24,sudo:24,statu:[0,17,7,26,20],slash:18,explicitli:10,impli:25,exampl:[],connectionptr:26,offici:[],parser:[23,18,19,24,20],issu:[],percent:13,refer:[],finish:[10,26],echo_serv:7,point:[25,16],seen:[0,17],repli:0,rapidjson:13,subdirectori:4,fluid:12,correctli:[17,15],adl:[25,16],alwai:[10,24,26,20],peer:[10,20],librari:[],unpack:24,resolv:[10,7,2],thi:[4,5,10,11,13,16,17,20,22,26,24,0,2,7,23,12,14,15,3,18,8,19,25],smart:[10,26],can:[0,17,18,8,4,6,7,19,10,11,12,13,25,14,16,26,24],entri:[23,5],explain:4,encod:[20,17,15,13],octet:10,doesn:[17,20],ctx:26,higher:24,effect:[10,17,15],url:[1,18,8,4,19,23,24],twitter:[],"return":[0,17,18,8,2,4,7,19,20,10,23,11,12,13,25,15,26],document:[],singl:[0,4,7,20,10,26],prolong:11,asynchron:[],reflect:20,sslv23:26,payload:[25,8],virtual:12,decis:12,pass:[0,8,4,10,23,11,25,16,26],creat:[0,17,18,8,4,10,12,15,26,24],behav:10,allow:[4,20,10,11,12,13,25,14,16,26],headers_:[17,7],occur:[10,17,15],field:17,save:19,stuck:24,step:24,interfac:[2,7,19,20,10,22,11,15,26],publicli:[17,15,26],reuse_address:26,where:[8,5,7,20,10,11,12,25,15,16,26],weight:[5,14],pend:[10,26],how:[0,18,8,6,10,16,24],across:[0,10],cmakelist:24,clone:[19,24],natur:11,netlib:[],wide:[17,15],status_t:26,advanc:3,approach:[12,16],headers_container_typ:[17,15],exist:[23,5,24],like:[0,8,7,10,11,12,13,25,16,26,24],compil:[10,24,11,26,20],timeout:[10,26,20],person:24,use_tmp_dh_fil:26,iterator_rang:[10,26],sake:4,someth:[25,7,11,16,26],under:[14,13],access:[17,8,5,7,19,23,11,15,26],mostli:24,suffici:24,attempt:[26,20],recent:[10,24,13],twitter_search:[],readi:[10,20],impl:[0,17],"true":[10,26],not_accept:26,request:[],discov:14,foreach:23,iostream:[0,18,8,4,19,23,11,13],http_client:[4,7],templat:[],sstream:8,built:[4,6,20,10,12,24],target:[5,11],cmake_prefix_path:24,response_:[10,14],plai:20,strategi:[10,12],exact:[7,13],method:[],boostcon:1,json:13,patch:24,avail:[17,5,20,10,12,25,26,24],famili:16,realist:6,instabl:20,onc:[10,4,16,26,24],utils_base64_test:20,comp:18,if_:16,option:[5,20,10,14,24,26],free:[25,26],cpp:[],requesthandl:7,independ:[10,11,26],enforc:15,source_typ:25,overview:[],"break":[10,12,20],prescrib:24,share:[0,10,7,2,26],happen:10,later:26,client_:[10,14],primari:[16,26],unit:20,set_head:26,etc:5,excel:5,copi:[18,19,20,10,25,26],place:26,cooki:10,instal:[24,20],schedul:26,callback:[10,26,20],learn:[],webservic:8,part:[17,18,20,10,13,25,15],previous:0,client:[],wait:[10,26],normal:[],invok:[0,10,24,26,20],choos:[10,25,15,24],set_statu:26,abort:26,subtitl:23,certain:[25,7,11,16,26],fork:24,assert:18,base:[18,20,10,11,12,13,25,16,24],embed:[0,6,26],abid:[15,11],add:[17,4,20,25,15,24],berri:5,four:17,softwar:5,response_head:[7,26],cite:10,manag:[10,26,20],just:[0,17,8,7,25,15,16,24],bridg:12,include_directori:24,constructor:[],resourc:[0,19,24],forbidden:26,status_typ:26,regard:20,publish:23,append:10,rational:11,unix:[18,24],tracker:14,type:[17,18,5,7,10,11,12,25,15,16,26],suit:24,"7zip":24,question:[14,24],contribut:[14,20],user:[18,2,7,20,10,11,13,26,24],older:20,look:[],write:[8,5,20,10,14,26],neg:13,enough:[11,24],experiment:20,search:[],still:[17,20,10,15,16,26,24],pointer:[10,26],had:5,gener:[],now:[0,17,20,10,23,15,24],openssl_certificate_fil:10,dsel:11,follow_redirect:10,destroi:10,littl:[12,16],intern:[7,20,10,15,16,26],author:[10,18],derived0:12,simplifi:11,rpc:8,pem:26,cppnetlib:[24,20],"short":[10,20],http_async_8bit_tcp_resolv:[10,7,2],languag:5,cost:20,aid:6,hello_world:0,mpl:[16,20],written:[17,14,15],visual:24,static_cast:19,travi:20,account:24,somewher:10,forc:10,distribut:[5,26,24],maintain:[11,26],add_head:[17,25,15],network:[],instead:[10,16,26,20],tcp:[10,7,2,12],support:[],craft:8,window:[],"default":[2,4,7,20,10,12,25,16,26,24],www:[10,4,18,7,19],join:[14,26,24],lock:26,use_certificate_chain_fil:26,size:[26,13],bin:18,concret:11,port_typ:15,wstring:[17,15,16],strictli:20,talk:[17,15],plenti:5,overload:[0,7,26],dcmake_build_typ:24,fill:10,delet:[10,4,7],familiar:[23,19],featur:[5,16,13],request_:[10,14],bit:[17,15],width:10,parallel:24,model:[17,10,11,25,15,26,24],repres:26,program:[0,18,5,6,12,14],along:24,attent:11,from:[0,17,18,8,4,7,19,20,10,23,11,13,25,14,15,16,26,24],licens:13,not_modifi:26,hpp:[0,18,8,4,19,20,10,23,13,16,26],cellar:24,context_bas:26,histori:[],versa:25,convert:[17,18,15,25],rapidxml:23,simple_wget:19,store:[10,25,26],forward:7,target_link_librari:24,directive_typ:11,ostringstream:8,everyth:18,state:[11,26],framework:[0,25],titl:23,qualiti:5,soon:[10,26],find:[14,24],unsupported_tag:16,after:[4,18,26],default_tag:16,default_workaround:26,much:[12,24],deprec:[10,25,20],status_messag:17,larg:[16,26],dedic:10,service_unavail:26,standard:[5,11,20],notic:[7,16],dean:5,set_password_callback:26,found:[0,4,5,13,24,26],afford:11,most:[10,23,25,19,26],onli:[17,18,2,7,20,10,23,11,12,13,16,26,24],hex:20,content_typ:10,struct:[0,7,10,11,12,25,14,16,26],tarbal:24,both:[17,2,6,7,10,15,26],equival:16,flag:20,contain:[0,17,6,11,13,25,16,26],fashion:11,compos:9,librt:20,libc:20,upload:26,foo:[25,12,16],truli:11,group:[5,14,24],also:[0,17,2,5,7,10,11,12,13,25,14,15,16,26,24],block:[10,7,2,26],whose:16,produc:24,legend:[17,18,15,25,26],third:0,download:[],accessor:[17,25,15],project:[],ftp:[5,18],anymor:16,boil:11,integ:15,migrat:5,swap:[25,18,16],dopenssl_root_dir:24,environ:[0,24],string_tag:16,stop:[26,20],doe:[0,17,18,10,25,15,26],detect:24,sync_serv:26,headers_contain:[17,25],main:[0,18,8,4,19,23,13,14,24],hello_world_serv:[0,8],determin:[7,19,16,26],either:[17,5,10,25,15,26],bother:10,boost:[],special:[],input:[11,12],default_str:16,factori:[25,11,12],variabl:24,sever:[3,26],first:[0,18,4,7,23,12,25,15,24],comput:[26,24],provid:[0,17,18,2,5,7,19,20,10,13,14,15,16],sure:0,bzip:24,invoc:[10,26],wall:20,lifetim:10,suppli:[18,7,26,20],underli:[25,7,11,16],noth:12,your:[10,7,26,24],pod:[],lookup:25,progress:14,buffer:[16,26,20],fals:[10,26],delete_:10,status_:17,fast:14,aris:10,which:[0,17,18,8,4,7,20,10,23,11,12,25,16,26,24],boost_network_default_tag:20,http_server:[17,14,15,26],specif:[],complet:[4,24],includ:[0,17,18,8,4,19,20,10,23,11,13,14,15,26],realli:8,form:[18,7,10,11,25,16],reader:[],here:[0,18,4,7,19,10,12,13,26],simpli:[15,7,19,11],unauthor:26,scale:26,flexibl:[4,11,16,20],mai:[0,7,10,25,26,24],mitig:20,deleg:7,aim:3,atom_read:[],configur:[0,14,24,20],"byte":[10,26],abus:11,directiven:11,argv:[0,8,4,19,23,13,14],http_async_8bit_udp_resolv:[10,7,2,20],incompat:24,erro:[],power:[18,24,13],unspecifi:[17,15],string:[0,17,18,8,4,7,19,10,25,14,15,16,26],multipl:26,local:24,master:23,"abstract":[0,4,12],thei:[18,2,7,10,25,16,24],typedef:[0,7,10,25,14,16,26],high:5,filesystem:19,mean:[10,25,24,26,20],output:18,src:24,oper:[0,17,7,20,10,11,13,25,14,15,26],http_statu:26,shown:[10,26],usual:[17,15,11],endl:[0,18,8,4,7,19,10,23,13],should:[0,7,10,12,25,16,26,24],"public":[],intent:5,face:[10,26],rule:20,report_abort:26,clear_resolved_cach:10,chunk:[10,26,20],http:[],grow:14,rfc:[1,4,18,19,20],directive2:11,connection_ptr:26,info:[18,14],accord:[4,18,25],no_cont:26,greater:[0,4],run:[],hasparseerror:13,multi:0,verifi:10,body_handl:10,handler_:14,among:16,unsupport:20,platform:[24,5,26,20],set:[0,17,8,6,9,10,11,12,13,25,15,26,24],certif:[10,20],develop:[],discuss:[14,24],uint16_t:17,homebrew:24,unique_ptr:12,properli:[10,26],manner:[10,17,15,16,26],real:16,repeatedli:5,eventu:5,subdivid:18,flight:13,them:[10,17,15,26,24],sourc:[],straightforward:[0,14],burden:24,host:[0,18,15,19,24],preprocessor:[10,20],sizetyp:13,veri:[19,26,20],object:[],bool:[10,26],call:[0,7,20,10,11,25,16,26,24],major:[10,5,15],privat:[10,20],didn:10,netib:10,uri:[],hash:13,abl:[26,24],assum:[17,8,4,10,25,15,26,24],headers_rang:[17,15,7],area:25,fan:24,adher:26,modif:25,thrash:24,repositori:[14,24],distinct:26,mani:[10,5,24,20],upgrad:[26,20],make_shar:[10,26],signatur:[10,26],builder:[],"static":[],date:24,pair:[17,15],anchor:15,nest:[17,7,11,25,15,16,26],boost_network_http_server_connection_header_buffer_max_s:26,work:[17,15,24],separ:[24,20],root:[15,16,24],down:[18,11,12],str:8,ptr:12,servic:5,self:11,cerr:[0,8,7,19,23,13,14],chose:25,compulsori:24,help:26,time:[10,24,11,26,20],radic:20,debug:24,identifi:[25,18],asynchronoushandl:26,size_t:[19,26],server_opt:26,linger:26,top:[5,24],consid:10,async:20,source_wrapp:25,acceptor:26,ani:[0,17,4,20,10,12,13,25,26,24],status_message_:17,two:[0,7,20,10,15,26],offer:10,defin:[0,18,7,20,10,11,12,25,16,26,24],file:[18,19,10,14,26,24],readcallback:26,logic_error:26,impos:10,becaus:[25,11,12,26],tweet:13,our:[5,14,16,24],concern:20,anoth:[18,26],problem:12,associ:[17,10,25,15,16,26],myapplic:24,individu:24,handler_typ:26,overhaul:20,alia:17,txt:24,chainabl:11,treat:15,slightli:16,openssl_verify_path:10,easier:[10,25],rudimentari:11,meant:[17,25,15,16,26],three:[7,9,10,25,26,24],port:[0,17,18,8,19,20,14,15,26],endpoint:10,line:[0,18,8,4,20,23,13,14,24],find_last_of:19,differenti:[0,26],logic:[4,25,7,11,26],don:[2,4,7,20,10,16,24],throughout:20,single_dh_us:26,conncetionptr:26,memori:[10,5,26,24],caveat:24,core:25,decid:[5,12,16],not_found:26,rang:[10,26],placehold:16,minimum:14,affect:10,level:[5,24],rss:[23,20],semant:[25,11,12,26],implement:[],version_major:[10,15,7,2],show:[18,8,6,10,23,26],purpos:[26,24],html:19,infosystem:18,xmpp:[25,5],compliant:19,facad:20,hierarch:18,olymp:13,until:10,some_xml_str:8,"final":[4,20],predefin:7,xml:[23,8],api:[],made:[0,10,8,26,20],unzip:24,handl:[0,10,12,26],initi:[10,5,26,20],tradit:24,read:[23,24,26,20],trivial:[7,11],element:18,bind:26,creation:11,linux:[],interest:24,custom:[10,24],io_servic:[10,26,20],zip:24,libcppnetlib:[24,20],pipelin:26,leak:20,basic_serv:7,moved_temporarili:26,clariti:4,within:[22,26,24],outsid:[10,4,24],input_rang:26,unsign:[10,17,15,7],queri:[18,15,19,13],attitud:13,linear:26,basic:[25,11],directori:[10,4,24],default_wstr:16,unavoid:12,overal:16,zipfil:24,serial:[26,20],none:26,build:[],came:7,basic_cli:[10,7],applic:[17,8,4,5,6,19,10,23,14,15,26,24],typic:[25,7,24],understand:26,classifi:18,term:[10,25,26],icmp:25,some:[17,18,3,8,20,23,12,13,14,15,16,26,24],messag:[],nonetheless:25,dynam:[],happi:14,"void":[0,17,18,7,10,12,25,14,15,16,26],multiple_choic:26,those:[17,3,15],back:20,ultim:20,ado:4,adapt:25,password_callback:26,pure:[25,12],fit:26,necessari:0,github:[18,5,10,23,14,24],especi:26,client_fwd:20,earlier:[8,12],except:[0,8,2,7,19,10,23,12,13],fetch:10,mail:[14,24],http_keepalive_8bit_tcp_resolv:[10,7,2],encapsul:[10,25,7,2,11],scalabl:26,typenam:[17,25,15,16],openssl:[10,24],annoi:5,heavi:[24,20],bodi:[],take:[0,18,7,19,20,10,11,25,14,26],"char":[0,8,4,19,10,23,13,14,26],http_version_major:10,receive_buffer_s:26,recommend:24,smarter:16,otherwis:[18,15,12,24],boost_root:24,destructor:[12,20],link:[10,26,24],choic:24,"throw":[10,26,20],light:[5,14],"function":[],practic:[23,8,6],localhost:8,cat:19,regex:24,inadvert:20,section:[10,17,25,15,26],wget:[],boost_network_no_lib:[10,20],heart:7,head:[10,4,7],getstr:13,fstream:19,overrid:20,extern:[10,12,20],barrier:5,string_typ:[17,10,14,15,16,26],hello:[],linger_timeout:26,openssl_private_key_fil:10,imagin:8,locat:[10,24],second:[10,15,7],thrown:10,correspond:14},objnames:{},titleterms:{twitter:13,report:24,document:26,api:[10,26],dive:[0,8,4,19,23,13],content:21,syntax:18,gener:[10,18,26],direct:[17,25,15,11],other:1,specif:10,special:16,normal:15,manual:22,wrapper:[17,25,15],synchron:[10,26],metaprogram:16,atom_read:23,develop:24,modifi:[17,25,15],version:24,network:14,feed:23,support:[26,24],constructor:[10,26],metafunct:16,look:9,simpl:19,respons:[17,26],polymorph:12,server:[0,15,7,26],build:[0,23,8,24,13],world:[0,14,8],start:24,reader:23,"class":18,http:[0,17,8,4,6,7,10,15,26],search:13,featur:10,run:[0,8,4,19,23,13],pod:15,connect:26,twitter_search:13,object:[5,26],method:10,releas:24,implement:[10,7,26],member:[10,26],templat:[25,16],histori:5,linux:24,want:14,cmake:24,cpp:[1,14,9,24,20],code:[0,8,4,19,23,13],window:24,netlib:[1,14,9,24,20],sourc:1,boost:24,concept:[17,18,15,25],ssl:26,basic_messag:25,messag:25,dynam:12,overview:18,offici:24,about:1,uri:18,tag:16,builder:18,depth:9,request:15,motiv:5,handler:10,get:[14,24],learn:14,"static":12,client:[10,4,8,15,7],what:20,more:14,bodi:10,asynchron:[10,26],download:24,"public":26,issu:24,techniqu:3,"function":10,refer:[1,22],"new":20,stream:10,wget:19,project:[5,24],librari:14,atom:23,hello:[0,14,8],exampl:[4,6,19],todo:11},envversion:43,objects:{},filenames:["examples/http/hello_world_server","references","in_depth/http_client_tags","techniques","examples/http/http_client","history","examples","in_depth/http","examples/http/hello_world_client","in_depth","reference/http_client","techniques/directives","techniques/polymorphism","examples/http/twitter_search","index","reference/http_request","techniques/tag_metafunctions","reference/http_response","in_depth/uri","examples/http/simple_wget","whats_new","contents","reference","examples/http/atom_reader","getting_started","in_depth/message","reference/http_server"],objtypes:{}}) \ No newline at end of file