⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 classpion_1_1_h_t_t_p_server.html

📁 用c++编写http server的源码库,对socket等网络处理的代码可迅速转为己用.
💻 HTML
📖 第 1 页 / 共 3 页
字号:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"><title>libpion: pion::HTTPServer Class Reference</title><link href="doxygen.css" rel="stylesheet" type="text/css"><link href="tabs.css" rel="stylesheet" type="text/css"></head><body><!-- Generated by Doxygen 1.5.2 --><div class="tabs">  <ul>    <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>    <li><a href="namespaces.html"><span>Namespaces</span></a></li>    <li class="current"><a href="annotated.html"><span>Classes</span></a></li>    <li><a href="files.html"><span>Files</span></a></li>  </ul></div><div class="tabs">  <ul>    <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>    <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>    <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>  </ul></div><div class="nav"><a class="el" href="namespacepion.html">pion</a>::<a class="el" href="classpion_1_1_h_t_t_p_server.html">HTTPServer</a></div><h1>pion::HTTPServer Class Reference</h1><!-- doxytag: class="pion::HTTPServer" --><!-- doxytag: inherits="pion::TCPServer" --><code>#include &lt;<a class="el" href="_h_t_t_p_server_8hpp-source.html">HTTPServer.hpp</a>&gt;</code><p>Inherits <a class="el" href="classpion_1_1_t_c_p_server.html">pion::TCPServer</a>.<p><a href="classpion_1_1_h_t_t_p_server-members.html">List of all members.</a><hr><a name="_details"></a><h2>Detailed Description</h2><a class="el" href="classpion_1_1_h_t_t_p_server.html">HTTPServer</a>: a server that handles HTTP connections <p><p>Definition at line <a class="el" href="_h_t_t_p_server_8hpp-source.html#l00030">30</a> of file <a class="el" href="_h_t_t_p_server_8hpp-source.html">HTTPServer.hpp</a>.<table border="0" cellpadding="0" cellspacing="0"><tr><td></td></tr><tr><td colspan="2"><br><h2>Public Types</h2></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="2be32ffd74ea6e1a01ad7faaf9ccebc3"></a><!-- doxytag: member="pion::HTTPServer::BadRequestHandler" ref="2be32ffd74ea6e1a01ad7faaf9ccebc3" args="" -->typedef boost::function2&lt;<br> void, <a class="el" href="namespacepion.html#3c0f3fad0f449ebd309eaf4872f2b222">HTTPRequestPtr</a> &amp;, <a class="el" href="namespacepion.html#1858b89656b28c6498ad9efd6b7e9d41">TCPConnectionPtr</a> &amp; &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpion_1_1_h_t_t_p_server.html#2be32ffd74ea6e1a01ad7faaf9ccebc3">BadRequestHandler</a></td></tr><tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">handler for requests that result in "400 Bad Request" <br></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="67bd834e0b81b718ee551820478c7864"></a><!-- doxytag: member="pion::HTTPServer::NotFoundHandler" ref="67bd834e0b81b718ee551820478c7864" args="" -->typedef boost::function2&lt;<br> void, <a class="el" href="namespacepion.html#3c0f3fad0f449ebd309eaf4872f2b222">HTTPRequestPtr</a> &amp;, <a class="el" href="namespacepion.html#1858b89656b28c6498ad9efd6b7e9d41">TCPConnectionPtr</a> &amp; &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpion_1_1_h_t_t_p_server.html#67bd834e0b81b718ee551820478c7864">NotFoundHandler</a></td></tr><tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">handler for requests that result in "404 Not Found" <br></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="e66c8d13458b5d597e4ab5f8a80d18db"></a><!-- doxytag: member="pion::HTTPServer::ServerErrorHandler" ref="e66c8d13458b5d597e4ab5f8a80d18db" args="" -->typedef boost::function3&lt;<br> void, <a class="el" href="namespacepion.html#3c0f3fad0f449ebd309eaf4872f2b222">HTTPRequestPtr</a> &amp;, <a class="el" href="namespacepion.html#1858b89656b28c6498ad9efd6b7e9d41">TCPConnectionPtr</a> &amp;,<br> const std::string &amp; &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpion_1_1_h_t_t_p_server.html#e66c8d13458b5d597e4ab5f8a80d18db">ServerErrorHandler</a></td></tr><tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">handler for requests that result in "500 Server Error" <br></td></tr><tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="b323c97fe17a123dd91dbecf2ec7763f"></a><!-- doxytag: member="pion::HTTPServer::~HTTPServer" ref="b323c97fe17a123dd91dbecf2ec7763f" args="()" -->virtual&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpion_1_1_h_t_t_p_server.html#b323c97fe17a123dd91dbecf2ec7763f">~HTTPServer</a> ()</td></tr><tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">default destructor <br></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpion_1_1_h_t_t_p_server.html#bb4bab0c980efa48976f3982c85db100">addModule</a> (const std::string &amp;resource, <a class="el" href="classpion_1_1_h_t_t_p_module.html">HTTPModule</a> *module_ptr)</td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpion_1_1_h_t_t_p_server.html#95bd8a7c5882d19cd203f902aa8924cf">loadModule</a> (const std::string &amp;resource, const std::string &amp;module_name)</td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpion_1_1_h_t_t_p_server.html#ae48d9e0433e0b956b13513597c57655">setModuleOption</a> (const std::string &amp;resource, const std::string &amp;name, const std::string &amp;value)</td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpion_1_1_h_t_t_p_server.html#2cc8edf6440a62b1582ff7162a9dc067">loadModuleConfig</a> (const std::string &amp;config_name)</td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="6f73057b1407cb4dcbd3ffc4612539e9"></a><!-- doxytag: member="pion::HTTPServer::clearModules" ref="6f73057b1407cb4dcbd3ffc4612539e9" args="(void)" -->void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpion_1_1_h_t_t_p_server.html#6f73057b1407cb4dcbd3ffc4612539e9">clearModules</a> (void)</td></tr><tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">clears all the modules that are currently configured <br></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="f8458bd7d7ed74466a25506e709e0ea3"></a><!-- doxytag: member="pion::HTTPServer::setBadRequestHandler" ref="f8458bd7d7ed74466a25506e709e0ea3" args="(BadRequestHandler h)" -->void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpion_1_1_h_t_t_p_server.html#f8458bd7d7ed74466a25506e709e0ea3">setBadRequestHandler</a> (<a class="el" href="classpion_1_1_h_t_t_p_server.html#2be32ffd74ea6e1a01ad7faaf9ccebc3">BadRequestHandler</a> h)</td></tr><tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">sets the function that handles bad HTTP requests <br></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="a16a6ee4c2acb5e5481987ea9efcc9da"></a><!-- doxytag: member="pion::HTTPServer::setNotFoundHandler" ref="a16a6ee4c2acb5e5481987ea9efcc9da" args="(NotFoundHandler h)" -->void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpion_1_1_h_t_t_p_server.html#a16a6ee4c2acb5e5481987ea9efcc9da">setNotFoundHandler</a> (<a class="el" href="classpion_1_1_h_t_t_p_server.html#67bd834e0b81b718ee551820478c7864">NotFoundHandler</a> h)</td></tr><tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">sets the function that handles requests which match no other module <br></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="a0500b78174f9465fdf5687e946a3d64"></a><!-- doxytag: member="pion::HTTPServer::setServerErrorHandler" ref="a0500b78174f9465fdf5687e946a3d64" args="(ServerErrorHandler h)" -->void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpion_1_1_h_t_t_p_server.html#a0500b78174f9465fdf5687e946a3d64">setServerErrorHandler</a> (<a class="el" href="classpion_1_1_h_t_t_p_server.html#e66c8d13458b5d597e4ab5f8a80d18db">ServerErrorHandler</a> h)</td></tr><tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">sets the function that handles requests which match no other module <br></td></tr><tr><td colspan="2"><br><h2>Static Public Member Functions</h2></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">static boost::shared_ptr&lt;<br> <a class="el" href="classpion_1_1_h_t_t_p_server.html">HTTPServer</a> &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpion_1_1_h_t_t_p_server.html#ad3704c715ed243c9133eceff99fc851">create</a> (const unsigned int tcp_port)</td></tr><tr><td colspan="2"><br><h2>Protected Member Functions</h2></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpion_1_1_h_t_t_p_server.html#cc15aa773af3c82620cd3895ca9a9058">HTTPServer</a> (const unsigned int tcp_port)</td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpion_1_1_h_t_t_p_server.html#8d56ea8d41de7e5cfb3ce17addbd0a8b">handleConnection</a> (<a class="el" href="namespacepion.html#1858b89656b28c6498ad9efd6b7e9d41">TCPConnectionPtr</a> &amp;tcp_conn)</td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpion_1_1_h_t_t_p_server.html#ce510154e117873d528e04bbf6f30d5b">handleRequest</a> (<a class="el" href="namespacepion.html#3c0f3fad0f449ebd309eaf4872f2b222">HTTPRequestPtr</a> &amp;http_request, <a class="el" href="namespacepion.html#1858b89656b28c6498ad9efd6b7e9d41">TCPConnectionPtr</a> &amp;tcp_conn)</td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="85ab5540af5eadd957e102b4d848f095"></a><!-- doxytag: member="pion::HTTPServer::beforeStarting" ref="85ab5540af5eadd957e102b4d848f095" args="(void)" -->virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpion_1_1_h_t_t_p_server.html#85ab5540af5eadd957e102b4d848f095">beforeStarting</a> (void)</td></tr><tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">called before the TCP server starts listening for new connections <br></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="d093dfe54d6808f2b86116c81490ff3a"></a><!-- doxytag: member="pion::HTTPServer::afterStopping" ref="d093dfe54d6808f2b86116c81490ff3a" args="(void)" -->virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpion_1_1_h_t_t_p_server.html#d093dfe54d6808f2b86116c81490ff3a">afterStopping</a> (void)</td></tr><tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">called after the TCP server has stopped listing for new connections <br></td></tr><tr><td colspan="2"><br><h2>Static Protected Member Functions</h2></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">static void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpion_1_1_h_t_t_p_server.html#aec0c406558aa20ccc076db57fdae0ee">handleBadRequest</a> (<a class="el" href="namespacepion.html#3c0f3fad0f449ebd309eaf4872f2b222">HTTPRequestPtr</a> &amp;http_request, <a class="el" href="namespacepion.html#1858b89656b28c6498ad9efd6b7e9d41">TCPConnectionPtr</a> &amp;tcp_conn)</td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">static void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpion_1_1_h_t_t_p_server.html#bafcdd0c6b9533433e57821c5a312972">handleNotFoundRequest</a> (<a class="el" href="namespacepion.html#3c0f3fad0f449ebd309eaf4872f2b222">HTTPRequestPtr</a> &amp;http_request, <a class="el" href="namespacepion.html#1858b89656b28c6498ad9efd6b7e9d41">TCPConnectionPtr</a> &amp;tcp_conn)</td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">static void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpion_1_1_h_t_t_p_server.html#dfa99550f6ce2e3be147904b32e077e5">handleServerError</a> (<a class="el" href="namespacepion.html#3c0f3fad0f449ebd309eaf4872f2b222">HTTPRequestPtr</a> &amp;http_request, <a class="el" href="namespacepion.html#1858b89656b28c6498ad9efd6b7e9d41">TCPConnectionPtr</a> &amp;tcp_conn, const std::string &amp;error_msg)</td></tr><tr><td colspan="2"><br><h2>Classes</h2></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpion_1_1_h_t_t_p_server_1_1_config_not_found_exception.html">ConfigNotFoundException</a></td></tr><tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">exception thrown if the plug-in configuration file cannot be found  <a href="classpion_1_1_h_t_t_p_server_1_1_config_not_found_exception.html#_details">More...</a><br></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpion_1_1_h_t_t_p_server_1_1_config_parsing_exception.html">ConfigParsingException</a></td></tr><tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">exception thrown if the plug-in file cannot be opened  <a href="classpion_1_1_h_t_t_p_server_1_1_config_parsing_exception.html#_details">More...</a><br></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><b>ModuleMap</b></td></tr><tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">data type for a collection of HTTP modules <br></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpion_1_1_h_t_t_p_server_1_1_module_not_found_exception.html">ModuleNotFoundException</a></td></tr><tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">exception thrown if a module cannot be found  <a href="classpion_1_1_h_t_t_p_server_1_1_module_not_found_exception.html#_details">More...</a><br></td></tr></table><hr><h2>Constructor &amp; Destructor Documentation</h2><a class="anchor" name="cc15aa773af3c82620cd3895ca9a9058"></a><!-- doxytag: member="pion::HTTPServer::HTTPServer" ref="cc15aa773af3c82620cd3895ca9a9058" args="(const unsigned int tcp_port)" --><div class="memitem"><div class="memproto">      <table class="memname">        <tr>          <td class="memname">pion::HTTPServer::HTTPServer           </td>          <td>(</td>          <td class="paramtype">const unsigned int&nbsp;</td>          <td class="paramname"> <em>tcp_port</em>          </td>          <td>&nbsp;)&nbsp;</td>          <td width="100%"><code> [inline, explicit, protected]</code></td>        </tr>      </table></div><div class="memdoc"><p>protected constructor restricts creation of objects (use <a class="el" href="classpion_1_1_h_t_t_p_server.html#ad3704c715ed243c9133eceff99fc851">create()</a>)<p><dl compact><dt><b>Parameters:</b></dt><dd>  <table border="0" cellspacing="2" cellpadding="0">    <tr><td valign="top"></td><td valign="top"><em>tcp_port</em>&nbsp;</td><td>port number used to listen for new connections </td></tr>  </table></dl><p>Definition at line <a class="el" href="_h_t_t_p_server_8hpp-source.html#l00144">144</a> of file <a class="el" href="_h_t_t_p_server_8hpp-source.html">HTTPServer.hpp</a>.<p>References <a class="el" href="_t_c_p_server_8hpp-source.html#l00059">pion::TCPServer::setLogger()</a>.<p>Referenced by <a class="el" href="_h_t_t_p_server_8hpp-source.html#l00075">create()</a>.</div></div><p><hr><h2>Member Function Documentation</h2><a class="anchor" name="ad3704c715ed243c9133eceff99fc851"></a><!-- doxytag: member="pion::HTTPServer::create" ref="ad3704c715ed243c9133eceff99fc851" args="(const unsigned int tcp_port)" --><div class="memitem"><div class="memproto">      <table class="memname">        <tr>          <td class="memname">static boost::shared_ptr&lt;<a class="el" href="classpion_1_1_h_t_t_p_server.html">HTTPServer</a>&gt; pion::HTTPServer::create           </td>          <td>(</td>          <td class="paramtype">const unsigned int&nbsp;</td>          <td class="paramname"> <em>tcp_port</em>          </td>          <td>&nbsp;)&nbsp;</td>          <td width="100%"><code> [inline, static]</code></td>        </tr>      </table></div><div class="memdoc"><p>creates new <a class="el" href="classpion_1_1_h_t_t_p_server.html">HTTPServer</a> objects<p><dl compact><dt><b>Parameters:</b></dt><dd>  <table border="0" cellspacing="2" cellpadding="0">    <tr><td valign="top"></td><td valign="top"><em>tcp_port</em>&nbsp;</td><td>port number used to listen for new connections </td></tr>  </table></dl><p>Definition at line <a class="el" href="_h_t_t_p_server_8hpp-source.html#l00075">75</a> of file <a class="el" href="_h_t_t_p_server_8hpp-source.html">HTTPServer.hpp</a>.<p>References <a class="el" href="_h_t_t_p_server_8hpp-source.html#l00144">HTTPServer()</a>.<p>Referenced by <a class="el" href="_pion_engine_8cpp-source.html#l00138">pion::PionEngine::addHTTPServer()</a>.</div></div><p>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -