per-vhost headers and lwsws conf support
This l;ets you add per-vhost arbitrary headers on served files, eg "headers": [{ "X-Content-Type-Options": "nosniff", "X-XSS-Protection": "1; mode=block", "x-frame-options": "SAMEORIGIN" }],
This commit is contained in:
parent
46646f9ebf
commit
e35d91a860
34 changed files with 444 additions and 272 deletions
|
@ -224,6 +224,22 @@ by the client, you can use "default": "1"
|
|||
- "`ssl-option-clear'": "<decimal>" Clears the SSL option flag value for the vhost.
|
||||
It may be used multiple times and OR's the flags together.
|
||||
|
||||
- "`headers':: [{ "header1": "h1value", "header2": "h2value" }]
|
||||
|
||||
allows you to set arbitrary headers on every file served by the vhost
|
||||
|
||||
recommended vhost headers for good client security are
|
||||
|
||||
```
|
||||
"headers": [{
|
||||
"Content-Security-Policy": "script-src 'self'",
|
||||
"X-Content-Type-Options": "nosniff",
|
||||
"X-XSS-Protection": "1; mode=block",
|
||||
"X-Frame-Options": "SAMEORIGIN"
|
||||
}]
|
||||
|
||||
```
|
||||
|
||||
@section lwswsm Lwsws Mounts
|
||||
|
||||
Where mounts are given in the vhost definition, then directory contents may
|
||||
|
|
|
@ -288,6 +288,9 @@ $(document).ready(function(){initNavTree('functions.html','');});
|
|||
<li>hdr_state
|
||||
: <a class="el" href="structlws__cgi__args.html#a741c11b9aa05997ec45a3400d7fb7739">lws_cgi_args</a>
|
||||
</li>
|
||||
<li>headers
|
||||
: <a class="el" href="structlws__context__creation__info.html#a8ca0ec6b8675c13849bbdcdc0d50c9a3">lws_context_creation_info</a>
|
||||
</li>
|
||||
<li>host
|
||||
: <a class="el" href="structlws__client__connect__info.html#a9b36d47c3422329df32c21040a35ebc7">lws_client_connect_info</a>
|
||||
</li>
|
||||
|
|
|
@ -288,6 +288,9 @@ $(document).ready(function(){initNavTree('functions_vars.html','');});
|
|||
<li>hdr_state
|
||||
: <a class="el" href="structlws__cgi__args.html#a741c11b9aa05997ec45a3400d7fb7739">lws_cgi_args</a>
|
||||
</li>
|
||||
<li>headers
|
||||
: <a class="el" href="structlws__context__creation__info.html#a8ca0ec6b8675c13849bbdcdc0d50c9a3">lws_context_creation_info</a>
|
||||
</li>
|
||||
<li>host
|
||||
: <a class="el" href="structlws__client__connect__info.html#a9b36d47c3422329df32c21040a35ebc7">lws_client_connect_info</a>
|
||||
</li>
|
||||
|
|
|
@ -115,7 +115,7 @@ LWS_VISIBLE LWS_EXTERN void </td><td class="memItemRight" valign="bottom"><
|
|||
|
||||
<p><code>#include <<a class="el" href="libwebsockets_8h.html">lib/libwebsockets.h</a>></code></p>
|
||||
<p>enum lws_client_connect_ssl_connection_flags - flags that may be used with struct <a class="el" href="structlws__client__connect__info.html">lws_client_connect_info</a> ssl_connection member to control if and how SSL checks apply to the client connection being created </p>
|
||||
<div class="fragment"><div class="line"><a name="l01969"></a><span class="lineno"> 1969</span>  {</div><div class="line"><a name="l01970"></a><span class="lineno"> 1970</span>  LCCSCF_USE_SSL = (1 << 0),</div><div class="line"><a name="l01971"></a><span class="lineno"> 1971</span>  LCCSCF_ALLOW_SELFSIGNED = (1 << 1),</div><div class="line"><a name="l01972"></a><span class="lineno"> 1972</span>  LCCSCF_SKIP_SERVER_CERT_HOSTNAME_CHECK = (1 << 2)</div><div class="line"><a name="l01973"></a><span class="lineno"> 1973</span> };</div></div><!-- fragment -->
|
||||
<div class="fragment"><div class="line"><a name="l01972"></a><span class="lineno"> 1972</span>  {</div><div class="line"><a name="l01973"></a><span class="lineno"> 1973</span>  LCCSCF_USE_SSL = (1 << 0),</div><div class="line"><a name="l01974"></a><span class="lineno"> 1974</span>  LCCSCF_ALLOW_SELFSIGNED = (1 << 1),</div><div class="line"><a name="l01975"></a><span class="lineno"> 1975</span>  LCCSCF_SKIP_SERVER_CERT_HOSTNAME_CHECK = (1 << 2)</div><div class="line"><a name="l01976"></a><span class="lineno"> 1976</span> };</div></div><!-- fragment -->
|
||||
</div>
|
||||
</div>
|
||||
<h2 class="groupheader">Function Documentation</h2>
|
||||
|
|
|
@ -8,6 +8,7 @@ var group__context_and_vhost =
|
|||
[ "extensions", "structlws__context__creation__info.html#a4a3d1155fc52f5048b481884f6fb947c", null ],
|
||||
[ "fd_limit_per_thread", "structlws__context__creation__info.html#a45e63e24c88289e0c8352377ef4d3646", null ],
|
||||
[ "gid", "structlws__context__creation__info.html#a9c9d22437de92c197f3cee52912b2c03", null ],
|
||||
[ "headers", "structlws__context__creation__info.html#a8ca0ec6b8675c13849bbdcdc0d50c9a3", null ],
|
||||
[ "http_proxy_address", "structlws__context__creation__info.html#aef917c0b23976a264d2474901b4f5aa3", null ],
|
||||
[ "http_proxy_port", "structlws__context__creation__info.html#a7b59f2bdc869871e7bde232db94f5ca6", null ],
|
||||
[ "iface", "structlws__context__creation__info.html#a75434932bb5df54665ea678eb8ac104a", null ],
|
||||
|
|
|
@ -156,9 +156,9 @@ Functions</h2></td></tr>
|
|||
<p>a new file is starting to arrive </p>
|
||||
</td></tr>
|
||||
</table>
|
||||
<div class="fragment"><div class="line"><a name="l02773"></a><span class="lineno"> 2773</span>  {</div><div class="line"><a name="l02774"></a><span class="lineno"> 2774</span>  <a class="code" href="group__form-parsing.html#gga41a74a822771d3dce89751aa3bce28aead3a958e7719ac273c3ba4f684f00c87f">LWS_UFS_CONTENT</a>,</div><div class="line"><a name="l02776"></a><span class="lineno"> 2776</span>  <a class="code" href="group__form-parsing.html#gga41a74a822771d3dce89751aa3bce28aea6ce2a55a4c3695cdb640c893d95bd3a7">LWS_UFS_FINAL_CONTENT</a>,</div><div class="line"><a name="l02778"></a><span class="lineno"> 2778</span>  <a class="code" href="group__form-parsing.html#gga41a74a822771d3dce89751aa3bce28aea2d25de44865bd44e5a3903a2bab9ca83">LWS_UFS_OPEN</a></div><div class="line"><a name="l02780"></a><span class="lineno"> 2780</span> };</div><div class="ttc" id="group__form-parsing_html_gga41a74a822771d3dce89751aa3bce28aea6ce2a55a4c3695cdb640c893d95bd3a7"><div class="ttname"><a href="group__form-parsing.html#gga41a74a822771d3dce89751aa3bce28aea6ce2a55a4c3695cdb640c893d95bd3a7">LWS_UFS_FINAL_CONTENT</a></div><div class="ttdef"><b>Definition:</b> libwebsockets.h:2776</div></div>
|
||||
<div class="ttc" id="group__form-parsing_html_gga41a74a822771d3dce89751aa3bce28aea2d25de44865bd44e5a3903a2bab9ca83"><div class="ttname"><a href="group__form-parsing.html#gga41a74a822771d3dce89751aa3bce28aea2d25de44865bd44e5a3903a2bab9ca83">LWS_UFS_OPEN</a></div><div class="ttdef"><b>Definition:</b> libwebsockets.h:2778</div></div>
|
||||
<div class="ttc" id="group__form-parsing_html_gga41a74a822771d3dce89751aa3bce28aead3a958e7719ac273c3ba4f684f00c87f"><div class="ttname"><a href="group__form-parsing.html#gga41a74a822771d3dce89751aa3bce28aead3a958e7719ac273c3ba4f684f00c87f">LWS_UFS_CONTENT</a></div><div class="ttdef"><b>Definition:</b> libwebsockets.h:2774</div></div>
|
||||
<div class="fragment"><div class="line"><a name="l02776"></a><span class="lineno"> 2776</span>  {</div><div class="line"><a name="l02777"></a><span class="lineno"> 2777</span>  <a class="code" href="group__form-parsing.html#gga41a74a822771d3dce89751aa3bce28aead3a958e7719ac273c3ba4f684f00c87f">LWS_UFS_CONTENT</a>,</div><div class="line"><a name="l02779"></a><span class="lineno"> 2779</span>  <a class="code" href="group__form-parsing.html#gga41a74a822771d3dce89751aa3bce28aea6ce2a55a4c3695cdb640c893d95bd3a7">LWS_UFS_FINAL_CONTENT</a>,</div><div class="line"><a name="l02781"></a><span class="lineno"> 2781</span>  <a class="code" href="group__form-parsing.html#gga41a74a822771d3dce89751aa3bce28aea2d25de44865bd44e5a3903a2bab9ca83">LWS_UFS_OPEN</a></div><div class="line"><a name="l02783"></a><span class="lineno"> 2783</span> };</div><div class="ttc" id="group__form-parsing_html_gga41a74a822771d3dce89751aa3bce28aea6ce2a55a4c3695cdb640c893d95bd3a7"><div class="ttname"><a href="group__form-parsing.html#gga41a74a822771d3dce89751aa3bce28aea6ce2a55a4c3695cdb640c893d95bd3a7">LWS_UFS_FINAL_CONTENT</a></div><div class="ttdef"><b>Definition:</b> libwebsockets.h:2779</div></div>
|
||||
<div class="ttc" id="group__form-parsing_html_gga41a74a822771d3dce89751aa3bce28aea2d25de44865bd44e5a3903a2bab9ca83"><div class="ttname"><a href="group__form-parsing.html#gga41a74a822771d3dce89751aa3bce28aea2d25de44865bd44e5a3903a2bab9ca83">LWS_UFS_OPEN</a></div><div class="ttdef"><b>Definition:</b> libwebsockets.h:2781</div></div>
|
||||
<div class="ttc" id="group__form-parsing_html_gga41a74a822771d3dce89751aa3bce28aead3a958e7719ac273c3ba4f684f00c87f"><div class="ttname"><a href="group__form-parsing.html#gga41a74a822771d3dce89751aa3bce28aead3a958e7719ac273c3ba4f684f00c87f">LWS_UFS_CONTENT</a></div><div class="ttdef"><b>Definition:</b> libwebsockets.h:2777</div></div>
|
||||
</div><!-- fragment -->
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
@ -130,13 +130,13 @@ Functions</h2></td></tr>
|
|||
<p>client packet payload goes out on wire unmunged only useful for security tests since normal servers cannot decode the content if used </p>
|
||||
</td></tr>
|
||||
</table>
|
||||
<div class="fragment"><div class="line"><a name="l03117"></a><span class="lineno"> 3117</span>  {</div><div class="line"><a name="l03118"></a><span class="lineno"> 3118</span>  <a class="code" href="group__sending-data.html#gga98b099cf8c1c7e38ad78501f270e193da80e8f169fda236c56bfb795ed62903db">LWS_WRITE_TEXT</a> = 0,</div><div class="line"><a name="l03122"></a><span class="lineno"> 3122</span>  <a class="code" href="group__sending-data.html#gga98b099cf8c1c7e38ad78501f270e193daf6486c0dba50c44198100717721d9ab2">LWS_WRITE_BINARY</a> = 1,</div><div class="line"><a name="l03125"></a><span class="lineno"> 3125</span>  <a class="code" href="group__sending-data.html#gga98b099cf8c1c7e38ad78501f270e193da10047eb05b5e1c298151dc47a5b44826">LWS_WRITE_CONTINUATION</a> = 2,</div><div class="line"><a name="l03128"></a><span class="lineno"> 3128</span>  <a class="code" href="group__sending-data.html#gga98b099cf8c1c7e38ad78501f270e193dabb6705e1d1327cdda5025be28f07712e">LWS_WRITE_HTTP</a> = 3,</div><div class="line"><a name="l03131"></a><span class="lineno"> 3131</span>  <span class="comment">/* LWS_WRITE_CLOSE is handled by lws_close_reason() */</span></div><div class="line"><a name="l03132"></a><span class="lineno"> 3132</span>  LWS_WRITE_PING = 5,</div><div class="line"><a name="l03133"></a><span class="lineno"> 3133</span>  LWS_WRITE_PONG = 6,</div><div class="line"><a name="l03134"></a><span class="lineno"> 3134</span> </div><div class="line"><a name="l03135"></a><span class="lineno"> 3135</span>  <span class="comment">/* Same as write_http but we know this write ends the transaction */</span></div><div class="line"><a name="l03136"></a><span class="lineno"> 3136</span>  LWS_WRITE_HTTP_FINAL = 7,</div><div class="line"><a name="l03137"></a><span class="lineno"> 3137</span> </div><div class="line"><a name="l03138"></a><span class="lineno"> 3138</span>  <span class="comment">/* HTTP2 */</span></div><div class="line"><a name="l03139"></a><span class="lineno"> 3139</span> </div><div class="line"><a name="l03140"></a><span class="lineno"> 3140</span>  <a class="code" href="group__sending-data.html#gga98b099cf8c1c7e38ad78501f270e193dafe5a38e940ce56708ac814627e9c0917">LWS_WRITE_HTTP_HEADERS</a> = 8,</div><div class="line"><a name="l03147"></a><span class="lineno"> 3147</span>  <span class="comment">/****** add new things just above ---^ ******/</span></div><div class="line"><a name="l03148"></a><span class="lineno"> 3148</span> </div><div class="line"><a name="l03149"></a><span class="lineno"> 3149</span>  <span class="comment">/* flags */</span></div><div class="line"><a name="l03150"></a><span class="lineno"> 3150</span> </div><div class="line"><a name="l03151"></a><span class="lineno"> 3151</span>  <a class="code" href="group__sending-data.html#gga98b099cf8c1c7e38ad78501f270e193da115440f272a5d55518adfc8099acfee3">LWS_WRITE_NO_FIN</a> = 0x40,</div><div class="line"><a name="l03154"></a><span class="lineno"> 3154</span>  <a class="code" href="group__sending-data.html#gga98b099cf8c1c7e38ad78501f270e193da220d8e8652d9b97fb66e476e2a60ffce">LWS_WRITE_CLIENT_IGNORE_XOR_MASK</a> = 0x80</div><div class="line"><a name="l03158"></a><span class="lineno"> 3158</span> };</div><div class="ttc" id="group__sending-data_html_gga98b099cf8c1c7e38ad78501f270e193dabb6705e1d1327cdda5025be28f07712e"><div class="ttname"><a href="group__sending-data.html#gga98b099cf8c1c7e38ad78501f270e193dabb6705e1d1327cdda5025be28f07712e">LWS_WRITE_HTTP</a></div><div class="ttdef"><b>Definition:</b> libwebsockets.h:3128</div></div>
|
||||
<div class="ttc" id="group__sending-data_html_gga98b099cf8c1c7e38ad78501f270e193da115440f272a5d55518adfc8099acfee3"><div class="ttname"><a href="group__sending-data.html#gga98b099cf8c1c7e38ad78501f270e193da115440f272a5d55518adfc8099acfee3">LWS_WRITE_NO_FIN</a></div><div class="ttdef"><b>Definition:</b> libwebsockets.h:3151</div></div>
|
||||
<div class="ttc" id="group__sending-data_html_gga98b099cf8c1c7e38ad78501f270e193da80e8f169fda236c56bfb795ed62903db"><div class="ttname"><a href="group__sending-data.html#gga98b099cf8c1c7e38ad78501f270e193da80e8f169fda236c56bfb795ed62903db">LWS_WRITE_TEXT</a></div><div class="ttdef"><b>Definition:</b> libwebsockets.h:3118</div></div>
|
||||
<div class="ttc" id="group__sending-data_html_gga98b099cf8c1c7e38ad78501f270e193daf6486c0dba50c44198100717721d9ab2"><div class="ttname"><a href="group__sending-data.html#gga98b099cf8c1c7e38ad78501f270e193daf6486c0dba50c44198100717721d9ab2">LWS_WRITE_BINARY</a></div><div class="ttdef"><b>Definition:</b> libwebsockets.h:3122</div></div>
|
||||
<div class="ttc" id="group__sending-data_html_gga98b099cf8c1c7e38ad78501f270e193da220d8e8652d9b97fb66e476e2a60ffce"><div class="ttname"><a href="group__sending-data.html#gga98b099cf8c1c7e38ad78501f270e193da220d8e8652d9b97fb66e476e2a60ffce">LWS_WRITE_CLIENT_IGNORE_XOR_MASK</a></div><div class="ttdef"><b>Definition:</b> libwebsockets.h:3154</div></div>
|
||||
<div class="ttc" id="group__sending-data_html_gga98b099cf8c1c7e38ad78501f270e193da10047eb05b5e1c298151dc47a5b44826"><div class="ttname"><a href="group__sending-data.html#gga98b099cf8c1c7e38ad78501f270e193da10047eb05b5e1c298151dc47a5b44826">LWS_WRITE_CONTINUATION</a></div><div class="ttdef"><b>Definition:</b> libwebsockets.h:3125</div></div>
|
||||
<div class="ttc" id="group__sending-data_html_gga98b099cf8c1c7e38ad78501f270e193dafe5a38e940ce56708ac814627e9c0917"><div class="ttname"><a href="group__sending-data.html#gga98b099cf8c1c7e38ad78501f270e193dafe5a38e940ce56708ac814627e9c0917">LWS_WRITE_HTTP_HEADERS</a></div><div class="ttdef"><b>Definition:</b> libwebsockets.h:3140</div></div>
|
||||
<div class="fragment"><div class="line"><a name="l03120"></a><span class="lineno"> 3120</span>  {</div><div class="line"><a name="l03121"></a><span class="lineno"> 3121</span>  <a class="code" href="group__sending-data.html#gga98b099cf8c1c7e38ad78501f270e193da80e8f169fda236c56bfb795ed62903db">LWS_WRITE_TEXT</a> = 0,</div><div class="line"><a name="l03125"></a><span class="lineno"> 3125</span>  <a class="code" href="group__sending-data.html#gga98b099cf8c1c7e38ad78501f270e193daf6486c0dba50c44198100717721d9ab2">LWS_WRITE_BINARY</a> = 1,</div><div class="line"><a name="l03128"></a><span class="lineno"> 3128</span>  <a class="code" href="group__sending-data.html#gga98b099cf8c1c7e38ad78501f270e193da10047eb05b5e1c298151dc47a5b44826">LWS_WRITE_CONTINUATION</a> = 2,</div><div class="line"><a name="l03131"></a><span class="lineno"> 3131</span>  <a class="code" href="group__sending-data.html#gga98b099cf8c1c7e38ad78501f270e193dabb6705e1d1327cdda5025be28f07712e">LWS_WRITE_HTTP</a> = 3,</div><div class="line"><a name="l03134"></a><span class="lineno"> 3134</span>  <span class="comment">/* LWS_WRITE_CLOSE is handled by lws_close_reason() */</span></div><div class="line"><a name="l03135"></a><span class="lineno"> 3135</span>  LWS_WRITE_PING = 5,</div><div class="line"><a name="l03136"></a><span class="lineno"> 3136</span>  LWS_WRITE_PONG = 6,</div><div class="line"><a name="l03137"></a><span class="lineno"> 3137</span> </div><div class="line"><a name="l03138"></a><span class="lineno"> 3138</span>  <span class="comment">/* Same as write_http but we know this write ends the transaction */</span></div><div class="line"><a name="l03139"></a><span class="lineno"> 3139</span>  LWS_WRITE_HTTP_FINAL = 7,</div><div class="line"><a name="l03140"></a><span class="lineno"> 3140</span> </div><div class="line"><a name="l03141"></a><span class="lineno"> 3141</span>  <span class="comment">/* HTTP2 */</span></div><div class="line"><a name="l03142"></a><span class="lineno"> 3142</span> </div><div class="line"><a name="l03143"></a><span class="lineno"> 3143</span>  <a class="code" href="group__sending-data.html#gga98b099cf8c1c7e38ad78501f270e193dafe5a38e940ce56708ac814627e9c0917">LWS_WRITE_HTTP_HEADERS</a> = 8,</div><div class="line"><a name="l03150"></a><span class="lineno"> 3150</span>  <span class="comment">/****** add new things just above ---^ ******/</span></div><div class="line"><a name="l03151"></a><span class="lineno"> 3151</span> </div><div class="line"><a name="l03152"></a><span class="lineno"> 3152</span>  <span class="comment">/* flags */</span></div><div class="line"><a name="l03153"></a><span class="lineno"> 3153</span> </div><div class="line"><a name="l03154"></a><span class="lineno"> 3154</span>  <a class="code" href="group__sending-data.html#gga98b099cf8c1c7e38ad78501f270e193da115440f272a5d55518adfc8099acfee3">LWS_WRITE_NO_FIN</a> = 0x40,</div><div class="line"><a name="l03157"></a><span class="lineno"> 3157</span>  <a class="code" href="group__sending-data.html#gga98b099cf8c1c7e38ad78501f270e193da220d8e8652d9b97fb66e476e2a60ffce">LWS_WRITE_CLIENT_IGNORE_XOR_MASK</a> = 0x80</div><div class="line"><a name="l03161"></a><span class="lineno"> 3161</span> };</div><div class="ttc" id="group__sending-data_html_gga98b099cf8c1c7e38ad78501f270e193dabb6705e1d1327cdda5025be28f07712e"><div class="ttname"><a href="group__sending-data.html#gga98b099cf8c1c7e38ad78501f270e193dabb6705e1d1327cdda5025be28f07712e">LWS_WRITE_HTTP</a></div><div class="ttdef"><b>Definition:</b> libwebsockets.h:3131</div></div>
|
||||
<div class="ttc" id="group__sending-data_html_gga98b099cf8c1c7e38ad78501f270e193da115440f272a5d55518adfc8099acfee3"><div class="ttname"><a href="group__sending-data.html#gga98b099cf8c1c7e38ad78501f270e193da115440f272a5d55518adfc8099acfee3">LWS_WRITE_NO_FIN</a></div><div class="ttdef"><b>Definition:</b> libwebsockets.h:3154</div></div>
|
||||
<div class="ttc" id="group__sending-data_html_gga98b099cf8c1c7e38ad78501f270e193da80e8f169fda236c56bfb795ed62903db"><div class="ttname"><a href="group__sending-data.html#gga98b099cf8c1c7e38ad78501f270e193da80e8f169fda236c56bfb795ed62903db">LWS_WRITE_TEXT</a></div><div class="ttdef"><b>Definition:</b> libwebsockets.h:3121</div></div>
|
||||
<div class="ttc" id="group__sending-data_html_gga98b099cf8c1c7e38ad78501f270e193daf6486c0dba50c44198100717721d9ab2"><div class="ttname"><a href="group__sending-data.html#gga98b099cf8c1c7e38ad78501f270e193daf6486c0dba50c44198100717721d9ab2">LWS_WRITE_BINARY</a></div><div class="ttdef"><b>Definition:</b> libwebsockets.h:3125</div></div>
|
||||
<div class="ttc" id="group__sending-data_html_gga98b099cf8c1c7e38ad78501f270e193da220d8e8652d9b97fb66e476e2a60ffce"><div class="ttname"><a href="group__sending-data.html#gga98b099cf8c1c7e38ad78501f270e193da220d8e8652d9b97fb66e476e2a60ffce">LWS_WRITE_CLIENT_IGNORE_XOR_MASK</a></div><div class="ttdef"><b>Definition:</b> libwebsockets.h:3157</div></div>
|
||||
<div class="ttc" id="group__sending-data_html_gga98b099cf8c1c7e38ad78501f270e193da10047eb05b5e1c298151dc47a5b44826"><div class="ttname"><a href="group__sending-data.html#gga98b099cf8c1c7e38ad78501f270e193da10047eb05b5e1c298151dc47a5b44826">LWS_WRITE_CONTINUATION</a></div><div class="ttdef"><b>Definition:</b> libwebsockets.h:3128</div></div>
|
||||
<div class="ttc" id="group__sending-data_html_gga98b099cf8c1c7e38ad78501f270e193dafe5a38e940ce56708ac814627e9c0917"><div class="ttname"><a href="group__sending-data.html#gga98b099cf8c1c7e38ad78501f270e193dafe5a38e940ce56708ac814627e9c0917">LWS_WRITE_HTTP_HEADERS</a></div><div class="ttdef"><b>Definition:</b> libwebsockets.h:3143</div></div>
|
||||
</div><!-- fragment -->
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
@ -157,15 +157,15 @@ Functions</h2></td></tr>
|
|||
<p>sent the session quit </p>
|
||||
</td></tr>
|
||||
</table>
|
||||
<div class="fragment"><div class="line"><a name="l04044"></a><span class="lineno"> 4044</span>  {</div><div class="line"><a name="l04045"></a><span class="lineno"> 4045</span>  <a class="code" href="group__smtp.html#gga116be79bf44f9dc2a97f46e051fe4dc0a29e5b0ecf75375b5a643faa3d6222b7c">LGSSMTP_IDLE</a>, </div><div class="line"><a name="l04046"></a><span class="lineno"> 4046</span>  <a class="code" href="group__smtp.html#gga116be79bf44f9dc2a97f46e051fe4dc0ab89442b7a3ca2b94c3cdcf33756eb933">LGSSMTP_CONNECTING</a>, </div><div class="line"><a name="l04047"></a><span class="lineno"> 4047</span>  <a class="code" href="group__smtp.html#gga116be79bf44f9dc2a97f46e051fe4dc0ab61778f70ecac007b334bb14942eb41d">LGSSMTP_CONNECTED</a>, </div><div class="line"><a name="l04048"></a><span class="lineno"> 4048</span>  <a class="code" href="group__smtp.html#gga116be79bf44f9dc2a97f46e051fe4dc0a1dfec948a864205cec875f63cbe0d4ad">LGSSMTP_SENT_HELO</a>, </div><div class="line"><a name="l04049"></a><span class="lineno"> 4049</span>  <a class="code" href="group__smtp.html#gga116be79bf44f9dc2a97f46e051fe4dc0a929bb4623ff3f585108aba2a1b047fab">LGSSMTP_SENT_FROM</a>, </div><div class="line"><a name="l04050"></a><span class="lineno"> 4050</span>  <a class="code" href="group__smtp.html#gga116be79bf44f9dc2a97f46e051fe4dc0aae20a0cb95b97a70f6b45d0ed2d5be83">LGSSMTP_SENT_TO</a>, </div><div class="line"><a name="l04051"></a><span class="lineno"> 4051</span>  <a class="code" href="group__smtp.html#gga116be79bf44f9dc2a97f46e051fe4dc0a85e3c452950c09a79086bff4b9be5c14">LGSSMTP_SENT_DATA</a>, </div><div class="line"><a name="l04052"></a><span class="lineno"> 4052</span>  <a class="code" href="group__smtp.html#gga116be79bf44f9dc2a97f46e051fe4dc0a38fba41f28d754e38079b31418a86a69">LGSSMTP_SENT_BODY</a>, </div><div class="line"><a name="l04053"></a><span class="lineno"> 4053</span>  <a class="code" href="group__smtp.html#gga116be79bf44f9dc2a97f46e051fe4dc0a2c2ed16ffc572326e3040684084b21d5">LGSSMTP_SENT_QUIT</a>, </div><div class="line"><a name="l04054"></a><span class="lineno"> 4054</span> };</div><div class="ttc" id="group__smtp_html_gga116be79bf44f9dc2a97f46e051fe4dc0ab61778f70ecac007b334bb14942eb41d"><div class="ttname"><a href="group__smtp.html#gga116be79bf44f9dc2a97f46e051fe4dc0ab61778f70ecac007b334bb14942eb41d">LGSSMTP_CONNECTED</a></div><div class="ttdef"><b>Definition:</b> libwebsockets.h:4047</div></div>
|
||||
<div class="ttc" id="group__smtp_html_gga116be79bf44f9dc2a97f46e051fe4dc0a38fba41f28d754e38079b31418a86a69"><div class="ttname"><a href="group__smtp.html#gga116be79bf44f9dc2a97f46e051fe4dc0a38fba41f28d754e38079b31418a86a69">LGSSMTP_SENT_BODY</a></div><div class="ttdef"><b>Definition:</b> libwebsockets.h:4052</div></div>
|
||||
<div class="ttc" id="group__smtp_html_gga116be79bf44f9dc2a97f46e051fe4dc0a29e5b0ecf75375b5a643faa3d6222b7c"><div class="ttname"><a href="group__smtp.html#gga116be79bf44f9dc2a97f46e051fe4dc0a29e5b0ecf75375b5a643faa3d6222b7c">LGSSMTP_IDLE</a></div><div class="ttdef"><b>Definition:</b> libwebsockets.h:4045</div></div>
|
||||
<div class="ttc" id="group__smtp_html_gga116be79bf44f9dc2a97f46e051fe4dc0ab89442b7a3ca2b94c3cdcf33756eb933"><div class="ttname"><a href="group__smtp.html#gga116be79bf44f9dc2a97f46e051fe4dc0ab89442b7a3ca2b94c3cdcf33756eb933">LGSSMTP_CONNECTING</a></div><div class="ttdef"><b>Definition:</b> libwebsockets.h:4046</div></div>
|
||||
<div class="ttc" id="group__smtp_html_gga116be79bf44f9dc2a97f46e051fe4dc0aae20a0cb95b97a70f6b45d0ed2d5be83"><div class="ttname"><a href="group__smtp.html#gga116be79bf44f9dc2a97f46e051fe4dc0aae20a0cb95b97a70f6b45d0ed2d5be83">LGSSMTP_SENT_TO</a></div><div class="ttdef"><b>Definition:</b> libwebsockets.h:4050</div></div>
|
||||
<div class="ttc" id="group__smtp_html_gga116be79bf44f9dc2a97f46e051fe4dc0a929bb4623ff3f585108aba2a1b047fab"><div class="ttname"><a href="group__smtp.html#gga116be79bf44f9dc2a97f46e051fe4dc0a929bb4623ff3f585108aba2a1b047fab">LGSSMTP_SENT_FROM</a></div><div class="ttdef"><b>Definition:</b> libwebsockets.h:4049</div></div>
|
||||
<div class="ttc" id="group__smtp_html_gga116be79bf44f9dc2a97f46e051fe4dc0a2c2ed16ffc572326e3040684084b21d5"><div class="ttname"><a href="group__smtp.html#gga116be79bf44f9dc2a97f46e051fe4dc0a2c2ed16ffc572326e3040684084b21d5">LGSSMTP_SENT_QUIT</a></div><div class="ttdef"><b>Definition:</b> libwebsockets.h:4053</div></div>
|
||||
<div class="ttc" id="group__smtp_html_gga116be79bf44f9dc2a97f46e051fe4dc0a1dfec948a864205cec875f63cbe0d4ad"><div class="ttname"><a href="group__smtp.html#gga116be79bf44f9dc2a97f46e051fe4dc0a1dfec948a864205cec875f63cbe0d4ad">LGSSMTP_SENT_HELO</a></div><div class="ttdef"><b>Definition:</b> libwebsockets.h:4048</div></div>
|
||||
<div class="ttc" id="group__smtp_html_gga116be79bf44f9dc2a97f46e051fe4dc0a85e3c452950c09a79086bff4b9be5c14"><div class="ttname"><a href="group__smtp.html#gga116be79bf44f9dc2a97f46e051fe4dc0a85e3c452950c09a79086bff4b9be5c14">LGSSMTP_SENT_DATA</a></div><div class="ttdef"><b>Definition:</b> libwebsockets.h:4051</div></div>
|
||||
<div class="fragment"><div class="line"><a name="l04047"></a><span class="lineno"> 4047</span>  {</div><div class="line"><a name="l04048"></a><span class="lineno"> 4048</span>  <a class="code" href="group__smtp.html#gga116be79bf44f9dc2a97f46e051fe4dc0a29e5b0ecf75375b5a643faa3d6222b7c">LGSSMTP_IDLE</a>, </div><div class="line"><a name="l04049"></a><span class="lineno"> 4049</span>  <a class="code" href="group__smtp.html#gga116be79bf44f9dc2a97f46e051fe4dc0ab89442b7a3ca2b94c3cdcf33756eb933">LGSSMTP_CONNECTING</a>, </div><div class="line"><a name="l04050"></a><span class="lineno"> 4050</span>  <a class="code" href="group__smtp.html#gga116be79bf44f9dc2a97f46e051fe4dc0ab61778f70ecac007b334bb14942eb41d">LGSSMTP_CONNECTED</a>, </div><div class="line"><a name="l04051"></a><span class="lineno"> 4051</span>  <a class="code" href="group__smtp.html#gga116be79bf44f9dc2a97f46e051fe4dc0a1dfec948a864205cec875f63cbe0d4ad">LGSSMTP_SENT_HELO</a>, </div><div class="line"><a name="l04052"></a><span class="lineno"> 4052</span>  <a class="code" href="group__smtp.html#gga116be79bf44f9dc2a97f46e051fe4dc0a929bb4623ff3f585108aba2a1b047fab">LGSSMTP_SENT_FROM</a>, </div><div class="line"><a name="l04053"></a><span class="lineno"> 4053</span>  <a class="code" href="group__smtp.html#gga116be79bf44f9dc2a97f46e051fe4dc0aae20a0cb95b97a70f6b45d0ed2d5be83">LGSSMTP_SENT_TO</a>, </div><div class="line"><a name="l04054"></a><span class="lineno"> 4054</span>  <a class="code" href="group__smtp.html#gga116be79bf44f9dc2a97f46e051fe4dc0a85e3c452950c09a79086bff4b9be5c14">LGSSMTP_SENT_DATA</a>, </div><div class="line"><a name="l04055"></a><span class="lineno"> 4055</span>  <a class="code" href="group__smtp.html#gga116be79bf44f9dc2a97f46e051fe4dc0a38fba41f28d754e38079b31418a86a69">LGSSMTP_SENT_BODY</a>, </div><div class="line"><a name="l04056"></a><span class="lineno"> 4056</span>  <a class="code" href="group__smtp.html#gga116be79bf44f9dc2a97f46e051fe4dc0a2c2ed16ffc572326e3040684084b21d5">LGSSMTP_SENT_QUIT</a>, </div><div class="line"><a name="l04057"></a><span class="lineno"> 4057</span> };</div><div class="ttc" id="group__smtp_html_gga116be79bf44f9dc2a97f46e051fe4dc0ab61778f70ecac007b334bb14942eb41d"><div class="ttname"><a href="group__smtp.html#gga116be79bf44f9dc2a97f46e051fe4dc0ab61778f70ecac007b334bb14942eb41d">LGSSMTP_CONNECTED</a></div><div class="ttdef"><b>Definition:</b> libwebsockets.h:4050</div></div>
|
||||
<div class="ttc" id="group__smtp_html_gga116be79bf44f9dc2a97f46e051fe4dc0a38fba41f28d754e38079b31418a86a69"><div class="ttname"><a href="group__smtp.html#gga116be79bf44f9dc2a97f46e051fe4dc0a38fba41f28d754e38079b31418a86a69">LGSSMTP_SENT_BODY</a></div><div class="ttdef"><b>Definition:</b> libwebsockets.h:4055</div></div>
|
||||
<div class="ttc" id="group__smtp_html_gga116be79bf44f9dc2a97f46e051fe4dc0a29e5b0ecf75375b5a643faa3d6222b7c"><div class="ttname"><a href="group__smtp.html#gga116be79bf44f9dc2a97f46e051fe4dc0a29e5b0ecf75375b5a643faa3d6222b7c">LGSSMTP_IDLE</a></div><div class="ttdef"><b>Definition:</b> libwebsockets.h:4048</div></div>
|
||||
<div class="ttc" id="group__smtp_html_gga116be79bf44f9dc2a97f46e051fe4dc0ab89442b7a3ca2b94c3cdcf33756eb933"><div class="ttname"><a href="group__smtp.html#gga116be79bf44f9dc2a97f46e051fe4dc0ab89442b7a3ca2b94c3cdcf33756eb933">LGSSMTP_CONNECTING</a></div><div class="ttdef"><b>Definition:</b> libwebsockets.h:4049</div></div>
|
||||
<div class="ttc" id="group__smtp_html_gga116be79bf44f9dc2a97f46e051fe4dc0aae20a0cb95b97a70f6b45d0ed2d5be83"><div class="ttname"><a href="group__smtp.html#gga116be79bf44f9dc2a97f46e051fe4dc0aae20a0cb95b97a70f6b45d0ed2d5be83">LGSSMTP_SENT_TO</a></div><div class="ttdef"><b>Definition:</b> libwebsockets.h:4053</div></div>
|
||||
<div class="ttc" id="group__smtp_html_gga116be79bf44f9dc2a97f46e051fe4dc0a929bb4623ff3f585108aba2a1b047fab"><div class="ttname"><a href="group__smtp.html#gga116be79bf44f9dc2a97f46e051fe4dc0a929bb4623ff3f585108aba2a1b047fab">LGSSMTP_SENT_FROM</a></div><div class="ttdef"><b>Definition:</b> libwebsockets.h:4052</div></div>
|
||||
<div class="ttc" id="group__smtp_html_gga116be79bf44f9dc2a97f46e051fe4dc0a2c2ed16ffc572326e3040684084b21d5"><div class="ttname"><a href="group__smtp.html#gga116be79bf44f9dc2a97f46e051fe4dc0a2c2ed16ffc572326e3040684084b21d5">LGSSMTP_SENT_QUIT</a></div><div class="ttdef"><b>Definition:</b> libwebsockets.h:4056</div></div>
|
||||
<div class="ttc" id="group__smtp_html_gga116be79bf44f9dc2a97f46e051fe4dc0a1dfec948a864205cec875f63cbe0d4ad"><div class="ttname"><a href="group__smtp.html#gga116be79bf44f9dc2a97f46e051fe4dc0a1dfec948a864205cec875f63cbe0d4ad">LGSSMTP_SENT_HELO</a></div><div class="ttdef"><b>Definition:</b> libwebsockets.h:4051</div></div>
|
||||
<div class="ttc" id="group__smtp_html_gga116be79bf44f9dc2a97f46e051fe4dc0a85e3c452950c09a79086bff4b9be5c14"><div class="ttname"><a href="group__smtp.html#gga116be79bf44f9dc2a97f46e051fe4dc0a85e3c452950c09a79086bff4b9be5c14">LGSSMTP_SENT_DATA</a></div><div class="ttdef"><b>Definition:</b> libwebsockets.h:4054</div></div>
|
||||
</div><!-- fragment -->
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
@ -129,13 +129,13 @@ Enumerations</h2></td></tr>
|
|||
<p>hand by named protocol's callback </p>
|
||||
</td></tr>
|
||||
</table>
|
||||
<div class="fragment"><div class="line"><a name="l01905"></a><span class="lineno"> 1905</span>  {</div><div class="line"><a name="l01906"></a><span class="lineno"> 1906</span>  <a class="code" href="group__vhost-mounts.html#gga31eca18e50cb4357480f2fcad36ff437a1e9f0842b0e85db50fe648ed4ba9a4b0">LWSMPRO_HTTP</a> = 0, </div><div class="line"><a name="l01907"></a><span class="lineno"> 1907</span>  <a class="code" href="group__vhost-mounts.html#gga31eca18e50cb4357480f2fcad36ff437afbd10eb4777517ed1f6bfdcf3b9ea1d1">LWSMPRO_HTTPS</a> = 1, </div><div class="line"><a name="l01908"></a><span class="lineno"> 1908</span>  <a class="code" href="group__vhost-mounts.html#gga31eca18e50cb4357480f2fcad36ff437a42f2361cfe76cd287fa8fcfc502357e2">LWSMPRO_FILE</a> = 2, </div><div class="line"><a name="l01909"></a><span class="lineno"> 1909</span>  <a class="code" href="group__vhost-mounts.html#gga31eca18e50cb4357480f2fcad36ff437a13ab58b01ac6e05f595977f1e0f0db69">LWSMPRO_CGI</a> = 3, </div><div class="line"><a name="l01910"></a><span class="lineno"> 1910</span>  <a class="code" href="group__vhost-mounts.html#gga31eca18e50cb4357480f2fcad36ff437aec137a2434851bd856ceebfb697b9970">LWSMPRO_REDIR_HTTP</a> = 4, </div><div class="line"><a name="l01911"></a><span class="lineno"> 1911</span>  <a class="code" href="group__vhost-mounts.html#gga31eca18e50cb4357480f2fcad36ff437a8894d16316863077dfe530963ca59f67">LWSMPRO_REDIR_HTTPS</a> = 5, </div><div class="line"><a name="l01912"></a><span class="lineno"> 1912</span>  <a class="code" href="group__vhost-mounts.html#gga31eca18e50cb4357480f2fcad36ff437a946a88cf9c852eed2c0317f4115d19da">LWSMPRO_CALLBACK</a> = 6, </div><div class="line"><a name="l01913"></a><span class="lineno"> 1913</span> };</div><div class="ttc" id="group__vhost-mounts_html_gga31eca18e50cb4357480f2fcad36ff437a13ab58b01ac6e05f595977f1e0f0db69"><div class="ttname"><a href="group__vhost-mounts.html#gga31eca18e50cb4357480f2fcad36ff437a13ab58b01ac6e05f595977f1e0f0db69">LWSMPRO_CGI</a></div><div class="ttdef"><b>Definition:</b> libwebsockets.h:1909</div></div>
|
||||
<div class="ttc" id="group__vhost-mounts_html_gga31eca18e50cb4357480f2fcad36ff437afbd10eb4777517ed1f6bfdcf3b9ea1d1"><div class="ttname"><a href="group__vhost-mounts.html#gga31eca18e50cb4357480f2fcad36ff437afbd10eb4777517ed1f6bfdcf3b9ea1d1">LWSMPRO_HTTPS</a></div><div class="ttdef"><b>Definition:</b> libwebsockets.h:1907</div></div>
|
||||
<div class="ttc" id="group__vhost-mounts_html_gga31eca18e50cb4357480f2fcad36ff437a42f2361cfe76cd287fa8fcfc502357e2"><div class="ttname"><a href="group__vhost-mounts.html#gga31eca18e50cb4357480f2fcad36ff437a42f2361cfe76cd287fa8fcfc502357e2">LWSMPRO_FILE</a></div><div class="ttdef"><b>Definition:</b> libwebsockets.h:1908</div></div>
|
||||
<div class="ttc" id="group__vhost-mounts_html_gga31eca18e50cb4357480f2fcad36ff437aec137a2434851bd856ceebfb697b9970"><div class="ttname"><a href="group__vhost-mounts.html#gga31eca18e50cb4357480f2fcad36ff437aec137a2434851bd856ceebfb697b9970">LWSMPRO_REDIR_HTTP</a></div><div class="ttdef"><b>Definition:</b> libwebsockets.h:1910</div></div>
|
||||
<div class="ttc" id="group__vhost-mounts_html_gga31eca18e50cb4357480f2fcad36ff437a8894d16316863077dfe530963ca59f67"><div class="ttname"><a href="group__vhost-mounts.html#gga31eca18e50cb4357480f2fcad36ff437a8894d16316863077dfe530963ca59f67">LWSMPRO_REDIR_HTTPS</a></div><div class="ttdef"><b>Definition:</b> libwebsockets.h:1911</div></div>
|
||||
<div class="ttc" id="group__vhost-mounts_html_gga31eca18e50cb4357480f2fcad36ff437a1e9f0842b0e85db50fe648ed4ba9a4b0"><div class="ttname"><a href="group__vhost-mounts.html#gga31eca18e50cb4357480f2fcad36ff437a1e9f0842b0e85db50fe648ed4ba9a4b0">LWSMPRO_HTTP</a></div><div class="ttdef"><b>Definition:</b> libwebsockets.h:1906</div></div>
|
||||
<div class="ttc" id="group__vhost-mounts_html_gga31eca18e50cb4357480f2fcad36ff437a946a88cf9c852eed2c0317f4115d19da"><div class="ttname"><a href="group__vhost-mounts.html#gga31eca18e50cb4357480f2fcad36ff437a946a88cf9c852eed2c0317f4115d19da">LWSMPRO_CALLBACK</a></div><div class="ttdef"><b>Definition:</b> libwebsockets.h:1912</div></div>
|
||||
<div class="fragment"><div class="line"><a name="l01908"></a><span class="lineno"> 1908</span>  {</div><div class="line"><a name="l01909"></a><span class="lineno"> 1909</span>  <a class="code" href="group__vhost-mounts.html#gga31eca18e50cb4357480f2fcad36ff437a1e9f0842b0e85db50fe648ed4ba9a4b0">LWSMPRO_HTTP</a> = 0, </div><div class="line"><a name="l01910"></a><span class="lineno"> 1910</span>  <a class="code" href="group__vhost-mounts.html#gga31eca18e50cb4357480f2fcad36ff437afbd10eb4777517ed1f6bfdcf3b9ea1d1">LWSMPRO_HTTPS</a> = 1, </div><div class="line"><a name="l01911"></a><span class="lineno"> 1911</span>  <a class="code" href="group__vhost-mounts.html#gga31eca18e50cb4357480f2fcad36ff437a42f2361cfe76cd287fa8fcfc502357e2">LWSMPRO_FILE</a> = 2, </div><div class="line"><a name="l01912"></a><span class="lineno"> 1912</span>  <a class="code" href="group__vhost-mounts.html#gga31eca18e50cb4357480f2fcad36ff437a13ab58b01ac6e05f595977f1e0f0db69">LWSMPRO_CGI</a> = 3, </div><div class="line"><a name="l01913"></a><span class="lineno"> 1913</span>  <a class="code" href="group__vhost-mounts.html#gga31eca18e50cb4357480f2fcad36ff437aec137a2434851bd856ceebfb697b9970">LWSMPRO_REDIR_HTTP</a> = 4, </div><div class="line"><a name="l01914"></a><span class="lineno"> 1914</span>  <a class="code" href="group__vhost-mounts.html#gga31eca18e50cb4357480f2fcad36ff437a8894d16316863077dfe530963ca59f67">LWSMPRO_REDIR_HTTPS</a> = 5, </div><div class="line"><a name="l01915"></a><span class="lineno"> 1915</span>  <a class="code" href="group__vhost-mounts.html#gga31eca18e50cb4357480f2fcad36ff437a946a88cf9c852eed2c0317f4115d19da">LWSMPRO_CALLBACK</a> = 6, </div><div class="line"><a name="l01916"></a><span class="lineno"> 1916</span> };</div><div class="ttc" id="group__vhost-mounts_html_gga31eca18e50cb4357480f2fcad36ff437a13ab58b01ac6e05f595977f1e0f0db69"><div class="ttname"><a href="group__vhost-mounts.html#gga31eca18e50cb4357480f2fcad36ff437a13ab58b01ac6e05f595977f1e0f0db69">LWSMPRO_CGI</a></div><div class="ttdef"><b>Definition:</b> libwebsockets.h:1912</div></div>
|
||||
<div class="ttc" id="group__vhost-mounts_html_gga31eca18e50cb4357480f2fcad36ff437afbd10eb4777517ed1f6bfdcf3b9ea1d1"><div class="ttname"><a href="group__vhost-mounts.html#gga31eca18e50cb4357480f2fcad36ff437afbd10eb4777517ed1f6bfdcf3b9ea1d1">LWSMPRO_HTTPS</a></div><div class="ttdef"><b>Definition:</b> libwebsockets.h:1910</div></div>
|
||||
<div class="ttc" id="group__vhost-mounts_html_gga31eca18e50cb4357480f2fcad36ff437a42f2361cfe76cd287fa8fcfc502357e2"><div class="ttname"><a href="group__vhost-mounts.html#gga31eca18e50cb4357480f2fcad36ff437a42f2361cfe76cd287fa8fcfc502357e2">LWSMPRO_FILE</a></div><div class="ttdef"><b>Definition:</b> libwebsockets.h:1911</div></div>
|
||||
<div class="ttc" id="group__vhost-mounts_html_gga31eca18e50cb4357480f2fcad36ff437aec137a2434851bd856ceebfb697b9970"><div class="ttname"><a href="group__vhost-mounts.html#gga31eca18e50cb4357480f2fcad36ff437aec137a2434851bd856ceebfb697b9970">LWSMPRO_REDIR_HTTP</a></div><div class="ttdef"><b>Definition:</b> libwebsockets.h:1913</div></div>
|
||||
<div class="ttc" id="group__vhost-mounts_html_gga31eca18e50cb4357480f2fcad36ff437a8894d16316863077dfe530963ca59f67"><div class="ttname"><a href="group__vhost-mounts.html#gga31eca18e50cb4357480f2fcad36ff437a8894d16316863077dfe530963ca59f67">LWSMPRO_REDIR_HTTPS</a></div><div class="ttdef"><b>Definition:</b> libwebsockets.h:1914</div></div>
|
||||
<div class="ttc" id="group__vhost-mounts_html_gga31eca18e50cb4357480f2fcad36ff437a1e9f0842b0e85db50fe648ed4ba9a4b0"><div class="ttname"><a href="group__vhost-mounts.html#gga31eca18e50cb4357480f2fcad36ff437a1e9f0842b0e85db50fe648ed4ba9a4b0">LWSMPRO_HTTP</a></div><div class="ttdef"><b>Definition:</b> libwebsockets.h:1909</div></div>
|
||||
<div class="ttc" id="group__vhost-mounts_html_gga31eca18e50cb4357480f2fcad36ff437a946a88cf9c852eed2c0317f4115d19da"><div class="ttname"><a href="group__vhost-mounts.html#gga31eca18e50cb4357480f2fcad36ff437a946a88cf9c852eed2c0317f4115d19da">LWSMPRO_CALLBACK</a></div><div class="ttdef"><b>Definition:</b> libwebsockets.h:1915</div></div>
|
||||
</div><!-- fragment -->
|
||||
</div>
|
||||
</div>
|
||||
|
|
File diff suppressed because one or more lines are too long
|
@ -122,8 +122,11 @@ Lwsws Other vhost options</h1>
|
|||
<p>The values are derived from /usr/include/openssl/ssl.h </p><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> # define SSL_OP_NO_TLSv1_1 0x10000000L</div></div><!-- fragment --><p>would equate to</p>
|
||||
<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> "`ssl-option-set`": "268435456"</div></div><!-- fragment --><ul>
|
||||
<li>"`ssl-option-clear'": "<decimal>" Clears the SSL option flag value for the vhost. It may be used multiple times and OR's the flags together.</li>
|
||||
<li>"`headers':: [{ "header1": "h1value", "header2": "h2value" }]</li>
|
||||
</ul>
|
||||
<h1><a class="anchor" id="lwswsm"></a>
|
||||
<p>allows you to set arbitrary headers on every file served by the vhost</p>
|
||||
<p>recommended vhost headers for good client security are</p>
|
||||
<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span>  "headers": [{</div><div class="line"><a name="l00002"></a><span class="lineno"> 2</span>  "Content-Security-Policy": "script-src 'self'",</div><div class="line"><a name="l00003"></a><span class="lineno"> 3</span>  "X-Content-Type-Options": "nosniff",</div><div class="line"><a name="l00004"></a><span class="lineno"> 4</span>  "X-XSS-Protection": "1; mode=block",</div><div class="line"><a name="l00005"></a><span class="lineno"> 5</span>  "X-Frame-Options": "SAMEORIGIN"</div><div class="line"><a name="l00006"></a><span class="lineno"> 6</span> }]</div></div><!-- fragment --><h1><a class="anchor" id="lwswsm"></a>
|
||||
Lwsws Mounts</h1>
|
||||
<p>Where mounts are given in the vhost definition, then directory contents may be auto-served if it matches the mountpoint.</p>
|
||||
<p>Mount protocols are used to control what kind of translation happens</p>
|
||||
|
|
|
@ -135,7 +135,7 @@ var NAVTREEINDEX =
|
|||
"group__context-and-vhost.html#gga41c2d763f78cc248df3b9f8645dbd2a5aa0158b4e85420811e6b0f1378c6ded0f",
|
||||
"group__sha.html",
|
||||
"libwebsockets_8h.html#a17f5fc891b31d2920bd18b0d66d6cb25",
|
||||
"structlws__plat__file__ops.html#a034ec96f2fbaf52b4aa3e82d20795f7b"
|
||||
"structlws__plat__file__ops.html#a01f483807a9862736b17ba9ed5110c40"
|
||||
];
|
||||
|
||||
var SYNCONMSG = 'click to disable panel synchronisation';
|
||||
|
|
|
@ -230,8 +230,8 @@ var NAVTREEINDEX1 =
|
|||
"group__sending-data.html#gga98b099cf8c1c7e38ad78501f270e193da80e8f169fda236c56bfb795ed62903db":[9,13,0,0],
|
||||
"group__sending-data.html#gga98b099cf8c1c7e38ad78501f270e193da80e8f169fda236c56bfb795ed62903db":[11,0,0,0,35,0],
|
||||
"group__sending-data.html#gga98b099cf8c1c7e38ad78501f270e193dab7e7a62cf6f456c09c21dff24dad9039":[11,0,0,0,35,5],
|
||||
"group__sending-data.html#gga98b099cf8c1c7e38ad78501f270e193dabb6705e1d1327cdda5025be28f07712e":[9,13,0,3],
|
||||
"group__sending-data.html#gga98b099cf8c1c7e38ad78501f270e193dabb6705e1d1327cdda5025be28f07712e":[11,0,0,0,35,3],
|
||||
"group__sending-data.html#gga98b099cf8c1c7e38ad78501f270e193dabb6705e1d1327cdda5025be28f07712e":[9,13,0,3],
|
||||
"group__sending-data.html#gga98b099cf8c1c7e38ad78501f270e193dae7d8a025a65524652fe9e24c2654c935":[11,0,0,0,35,6],
|
||||
"group__sending-data.html#gga98b099cf8c1c7e38ad78501f270e193daf6486c0dba50c44198100717721d9ab2":[9,13,0,1],
|
||||
"group__sending-data.html#gga98b099cf8c1c7e38ad78501f270e193daf6486c0dba50c44198100717721d9ab2":[11,0,0,0,35,1],
|
||||
|
@ -244,8 +244,8 @@ var NAVTREEINDEX1 =
|
|||
"group__service.html#ga53e3d0801dfda7960a7249dd559e68a2":[11,0,0,0,60],
|
||||
"group__service.html#ga9b3cc4473fd8848e5bbee7f310712939":[11,0,0,0,138],
|
||||
"group__service.html#ga9b3cc4473fd8848e5bbee7f310712939":[9,0,5],
|
||||
"group__service.html#gad82efa5466d14a9f05aa06416375b28d":[9,0,3],
|
||||
"group__service.html#gad82efa5466d14a9f05aa06416375b28d":[11,0,0,0,136],
|
||||
"group__service.html#gad82efa5466d14a9f05aa06416375b28d":[9,0,3],
|
||||
"group__service.html#gaebf426eda371ba23642fc11d8e0ace6b":[11,0,0,0,137],
|
||||
"group__service.html#gaebf426eda371ba23642fc11d8e0ace6b":[9,0,4],
|
||||
"group__service.html#gaf95bd0c663d6516a0c80047d9b1167a8":[11,0,0,0,135],
|
||||
|
|
|
@ -1,8 +1,8 @@
|
|||
var NAVTREEINDEX2 =
|
||||
{
|
||||
"group__sha.html":[9,11],
|
||||
"group__sha.html#ga66316e6a5a0644a09d5a10e919dfdd8d":[9,11,0],
|
||||
"group__sha.html#ga66316e6a5a0644a09d5a10e919dfdd8d":[11,0,0,0,51],
|
||||
"group__sha.html#ga66316e6a5a0644a09d5a10e919dfdd8d":[9,11,0],
|
||||
"group__sha.html#ga7b09ab74646266f0b555103b3bb8dfe5":[11,0,0,0,144],
|
||||
"group__sha.html#ga7b09ab74646266f0b555103b3bb8dfe5":[9,11,2],
|
||||
"group__sha.html#gaf39765e4a3b413efb65e4698b2ec3575":[9,11,1],
|
||||
|
@ -12,37 +12,37 @@ var NAVTREEINDEX2 =
|
|||
"group__smtp.html#ga116be79bf44f9dc2a97f46e051fe4dc0":[11,0,0,0,37],
|
||||
"group__smtp.html#ga25298a5afc1074e13b2d5711a86432b2":[9,14,3],
|
||||
"group__smtp.html#ga25298a5afc1074e13b2d5711a86432b2":[11,0,0,0,78],
|
||||
"group__smtp.html#ga5e535e346d92a9daf00be33abf79d4eb":[9,14,2],
|
||||
"group__smtp.html#ga5e535e346d92a9daf00be33abf79d4eb":[11,0,0,0,77],
|
||||
"group__smtp.html#ga77fc9b56a1bb39484844981ec375fc29":[11,0,0,0,79],
|
||||
"group__smtp.html#ga5e535e346d92a9daf00be33abf79d4eb":[9,14,2],
|
||||
"group__smtp.html#ga77fc9b56a1bb39484844981ec375fc29":[9,14,4],
|
||||
"group__smtp.html#ga77fc9b56a1bb39484844981ec375fc29":[11,0,0,0,79],
|
||||
"group__smtp.html#gga116be79bf44f9dc2a97f46e051fe4dc0a1dfec948a864205cec875f63cbe0d4ad":[9,14,1,3],
|
||||
"group__smtp.html#gga116be79bf44f9dc2a97f46e051fe4dc0a1dfec948a864205cec875f63cbe0d4ad":[11,0,0,0,37,3],
|
||||
"group__smtp.html#gga116be79bf44f9dc2a97f46e051fe4dc0a29e5b0ecf75375b5a643faa3d6222b7c":[9,14,1,0],
|
||||
"group__smtp.html#gga116be79bf44f9dc2a97f46e051fe4dc0a29e5b0ecf75375b5a643faa3d6222b7c":[11,0,0,0,37,0],
|
||||
"group__smtp.html#gga116be79bf44f9dc2a97f46e051fe4dc0a2c2ed16ffc572326e3040684084b21d5":[11,0,0,0,37,8],
|
||||
"group__smtp.html#gga116be79bf44f9dc2a97f46e051fe4dc0a2c2ed16ffc572326e3040684084b21d5":[9,14,1,8],
|
||||
"group__smtp.html#gga116be79bf44f9dc2a97f46e051fe4dc0a38fba41f28d754e38079b31418a86a69":[11,0,0,0,37,7],
|
||||
"group__smtp.html#gga116be79bf44f9dc2a97f46e051fe4dc0a38fba41f28d754e38079b31418a86a69":[9,14,1,7],
|
||||
"group__smtp.html#gga116be79bf44f9dc2a97f46e051fe4dc0a38fba41f28d754e38079b31418a86a69":[11,0,0,0,37,7],
|
||||
"group__smtp.html#gga116be79bf44f9dc2a97f46e051fe4dc0a85e3c452950c09a79086bff4b9be5c14":[11,0,0,0,37,6],
|
||||
"group__smtp.html#gga116be79bf44f9dc2a97f46e051fe4dc0a85e3c452950c09a79086bff4b9be5c14":[9,14,1,6],
|
||||
"group__smtp.html#gga116be79bf44f9dc2a97f46e051fe4dc0a929bb4623ff3f585108aba2a1b047fab":[9,14,1,4],
|
||||
"group__smtp.html#gga116be79bf44f9dc2a97f46e051fe4dc0a929bb4623ff3f585108aba2a1b047fab":[11,0,0,0,37,4],
|
||||
"group__smtp.html#gga116be79bf44f9dc2a97f46e051fe4dc0aae20a0cb95b97a70f6b45d0ed2d5be83":[11,0,0,0,37,5],
|
||||
"group__smtp.html#gga116be79bf44f9dc2a97f46e051fe4dc0aae20a0cb95b97a70f6b45d0ed2d5be83":[9,14,1,5],
|
||||
"group__smtp.html#gga116be79bf44f9dc2a97f46e051fe4dc0ab61778f70ecac007b334bb14942eb41d":[9,14,1,2],
|
||||
"group__smtp.html#gga116be79bf44f9dc2a97f46e051fe4dc0aae20a0cb95b97a70f6b45d0ed2d5be83":[11,0,0,0,37,5],
|
||||
"group__smtp.html#gga116be79bf44f9dc2a97f46e051fe4dc0ab61778f70ecac007b334bb14942eb41d":[11,0,0,0,37,2],
|
||||
"group__smtp.html#gga116be79bf44f9dc2a97f46e051fe4dc0ab61778f70ecac007b334bb14942eb41d":[9,14,1,2],
|
||||
"group__smtp.html#gga116be79bf44f9dc2a97f46e051fe4dc0ab89442b7a3ca2b94c3cdcf33756eb933":[9,14,1,1],
|
||||
"group__smtp.html#gga116be79bf44f9dc2a97f46e051fe4dc0ab89442b7a3ca2b94c3cdcf33756eb933":[11,0,0,0,37,1],
|
||||
"group__sock-adopt.html":[9,15],
|
||||
"group__sock-adopt.html#gab2d045df0f81afe00891aaed312d552b":[11,0,0,0,50],
|
||||
"group__sock-adopt.html#gab2d045df0f81afe00891aaed312d552b":[9,15,1],
|
||||
"group__sock-adopt.html#gab2d045df0f81afe00891aaed312d552b":[11,0,0,0,50],
|
||||
"group__sock-adopt.html#gabe71b7462afb21c767bdc67334f305af":[11,0,0,0,49],
|
||||
"group__sock-adopt.html#gabe71b7462afb21c767bdc67334f305af":[9,15,0],
|
||||
"group__timeout.html":[9,3],
|
||||
"group__timeout.html#ga2c0aa4b9c3c55bae7b35cbfac3246c87":[11,0,0,0,38],
|
||||
"group__timeout.html#gaced9f9237f6172fed9f730a2af51345a":[9,3,0],
|
||||
"group__timeout.html#gaced9f9237f6172fed9f730a2af51345a":[11,0,0,0,143],
|
||||
"group__timeout.html#gaced9f9237f6172fed9f730a2af51345a":[9,3,0],
|
||||
"group__timeout.html#gga2c0aa4b9c3c55bae7b35cbfac3246c87a0d6b956db11acb6d263af3ea054a914e":[11,0,0,0,38,12],
|
||||
"group__timeout.html#gga2c0aa4b9c3c55bae7b35cbfac3246c87a0eef059426f37d00b75142d4dc3e25e3":[11,0,0,0,38,3],
|
||||
"group__timeout.html#gga2c0aa4b9c3c55bae7b35cbfac3246c87a1104c39d0177378713a9332ab7a9d7fe":[11,0,0,0,38,4],
|
||||
|
@ -70,8 +70,8 @@ var NAVTREEINDEX2 =
|
|||
"group__usercb.html":[9,16],
|
||||
"group__usercb.html#gad4fcb82e68d60ffacca61a3f783a0a2f":[11,0,0,0,8],
|
||||
"group__usercb.html#gad4fcb82e68d60ffacca61a3f783a0a2f":[9,16,0],
|
||||
"group__usercb.html#gad62860e19975ba4c4af401c3cdb6abf7":[9,16,1],
|
||||
"group__usercb.html#gad62860e19975ba4c4af401c3cdb6abf7":[11,0,0,0,22],
|
||||
"group__usercb.html#gad62860e19975ba4c4af401c3cdb6abf7":[9,16,1],
|
||||
"group__usercb.html#ggad62860e19975ba4c4af401c3cdb6abf7a026502768778b8d79d62dd0fe4375fc6":[11,0,0,0,22,17],
|
||||
"group__usercb.html#ggad62860e19975ba4c4af401c3cdb6abf7a026502768778b8d79d62dd0fe4375fc6":[9,16,1,17],
|
||||
"group__usercb.html#ggad62860e19975ba4c4af401c3cdb6abf7a0418587d5083bb4850faa438648496ba":[11,0,0,0,22,49],
|
||||
|
@ -87,17 +87,17 @@ var NAVTREEINDEX2 =
|
|||
"group__usercb.html#ggad62860e19975ba4c4af401c3cdb6abf7a1df60f314710236f9b53efbf468da768":[11,0,0,0,22,33],
|
||||
"group__usercb.html#ggad62860e19975ba4c4af401c3cdb6abf7a1df60f314710236f9b53efbf468da768":[9,16,1,33],
|
||||
"group__usercb.html#ggad62860e19975ba4c4af401c3cdb6abf7a23b90b5e5146e760bc3123ae1fd2a6e5":[11,0,0,0,22,40],
|
||||
"group__usercb.html#ggad62860e19975ba4c4af401c3cdb6abf7a24d39bf1cfc0bad9d92da9ac1717e439":[11,0,0,0,22,0],
|
||||
"group__usercb.html#ggad62860e19975ba4c4af401c3cdb6abf7a24d39bf1cfc0bad9d92da9ac1717e439":[9,16,1,0],
|
||||
"group__usercb.html#ggad62860e19975ba4c4af401c3cdb6abf7a2db02fc6e1c17ab62b52109d1aa9d738":[11,0,0,0,22,7],
|
||||
"group__usercb.html#ggad62860e19975ba4c4af401c3cdb6abf7a24d39bf1cfc0bad9d92da9ac1717e439":[11,0,0,0,22,0],
|
||||
"group__usercb.html#ggad62860e19975ba4c4af401c3cdb6abf7a2db02fc6e1c17ab62b52109d1aa9d738":[9,16,1,7],
|
||||
"group__usercb.html#ggad62860e19975ba4c4af401c3cdb6abf7a2db02fc6e1c17ab62b52109d1aa9d738":[11,0,0,0,22,7],
|
||||
"group__usercb.html#ggad62860e19975ba4c4af401c3cdb6abf7a2fce9a8608220f32abbf1422a5498804":[11,0,0,0,22,14],
|
||||
"group__usercb.html#ggad62860e19975ba4c4af401c3cdb6abf7a2fce9a8608220f32abbf1422a5498804":[9,16,1,14],
|
||||
"group__usercb.html#ggad62860e19975ba4c4af401c3cdb6abf7a390da3639296660a78cc1a5dcb19037e":[11,0,0,0,22,25],
|
||||
"group__usercb.html#ggad62860e19975ba4c4af401c3cdb6abf7a390da3639296660a78cc1a5dcb19037e":[9,16,1,25],
|
||||
"group__usercb.html#ggad62860e19975ba4c4af401c3cdb6abf7a45d538082dec32dbecfe9d9a05ddfecd":[11,0,0,0,22,50],
|
||||
"group__usercb.html#ggad62860e19975ba4c4af401c3cdb6abf7a48a9590e5e18c7920282e094a0bfd9d8":[11,0,0,0,22,4],
|
||||
"group__usercb.html#ggad62860e19975ba4c4af401c3cdb6abf7a48a9590e5e18c7920282e094a0bfd9d8":[9,16,1,4],
|
||||
"group__usercb.html#ggad62860e19975ba4c4af401c3cdb6abf7a48a9590e5e18c7920282e094a0bfd9d8":[11,0,0,0,22,4],
|
||||
"group__usercb.html#ggad62860e19975ba4c4af401c3cdb6abf7a492c1b1c0ac0ed980042ee732fe2990c":[11,0,0,0,22,6],
|
||||
"group__usercb.html#ggad62860e19975ba4c4af401c3cdb6abf7a492c1b1c0ac0ed980042ee732fe2990c":[9,16,1,6],
|
||||
"group__usercb.html#ggad62860e19975ba4c4af401c3cdb6abf7a54269ca88508e6efd3afdb9d360a9caa":[11,0,0,0,22,28],
|
||||
|
@ -106,12 +106,12 @@ var NAVTREEINDEX2 =
|
|||
"group__usercb.html#ggad62860e19975ba4c4af401c3cdb6abf7a6a09ee9c01c4a233aedbe6697e29cc01":[11,0,0,0,22,44],
|
||||
"group__usercb.html#ggad62860e19975ba4c4af401c3cdb6abf7a75199176c82c1a56e4a6bbf1cc30c12c":[11,0,0,0,22,18],
|
||||
"group__usercb.html#ggad62860e19975ba4c4af401c3cdb6abf7a75199176c82c1a56e4a6bbf1cc30c12c":[9,16,1,18],
|
||||
"group__usercb.html#ggad62860e19975ba4c4af401c3cdb6abf7a7e12418eec9bce85735e6460176ab604":[11,0,0,0,22,3],
|
||||
"group__usercb.html#ggad62860e19975ba4c4af401c3cdb6abf7a7e12418eec9bce85735e6460176ab604":[9,16,1,3],
|
||||
"group__usercb.html#ggad62860e19975ba4c4af401c3cdb6abf7a7e12418eec9bce85735e6460176ab604":[11,0,0,0,22,3],
|
||||
"group__usercb.html#ggad62860e19975ba4c4af401c3cdb6abf7a7ec8e2e9557ee02a4fc9f7dec7e2babc":[11,0,0,0,22,11],
|
||||
"group__usercb.html#ggad62860e19975ba4c4af401c3cdb6abf7a7ec8e2e9557ee02a4fc9f7dec7e2babc":[9,16,1,11],
|
||||
"group__usercb.html#ggad62860e19975ba4c4af401c3cdb6abf7a838b18d255c1b94a533287ba302a2eba":[11,0,0,0,22,5],
|
||||
"group__usercb.html#ggad62860e19975ba4c4af401c3cdb6abf7a838b18d255c1b94a533287ba302a2eba":[9,16,1,5],
|
||||
"group__usercb.html#ggad62860e19975ba4c4af401c3cdb6abf7a838b18d255c1b94a533287ba302a2eba":[11,0,0,0,22,5],
|
||||
"group__usercb.html#ggad62860e19975ba4c4af401c3cdb6abf7a8909732521d379179003d97ab7a05428":[11,0,0,0,22,35],
|
||||
"group__usercb.html#ggad62860e19975ba4c4af401c3cdb6abf7a8909732521d379179003d97ab7a05428":[9,16,1,35],
|
||||
"group__usercb.html#ggad62860e19975ba4c4af401c3cdb6abf7a89862929a72bff65257ca1d51a0fce4d":[11,0,0,0,22,52],
|
||||
|
@ -153,16 +153,16 @@ var NAVTREEINDEX2 =
|
|||
"group__usercb.html#ggad62860e19975ba4c4af401c3cdb6abf7ad5d34583e3556e153eda91620b48cc49":[9,16,1,27],
|
||||
"group__usercb.html#ggad62860e19975ba4c4af401c3cdb6abf7ad724974204d51d688f569c5d387b967d":[11,0,0,0,22,43],
|
||||
"group__usercb.html#ggad62860e19975ba4c4af401c3cdb6abf7ad87774f1c7784cf632e1e2f5b51036e1":[11,0,0,0,22,48],
|
||||
"group__usercb.html#ggad62860e19975ba4c4af401c3cdb6abf7ad8c6207b0c4e732f3d507f0fb79370e8":[11,0,0,0,22,1],
|
||||
"group__usercb.html#ggad62860e19975ba4c4af401c3cdb6abf7ad8c6207b0c4e732f3d507f0fb79370e8":[9,16,1,1],
|
||||
"group__usercb.html#ggad62860e19975ba4c4af401c3cdb6abf7adfb41c92e2522712207ef7f2462b5e34":[9,16,1,31],
|
||||
"group__usercb.html#ggad62860e19975ba4c4af401c3cdb6abf7ad8c6207b0c4e732f3d507f0fb79370e8":[11,0,0,0,22,1],
|
||||
"group__usercb.html#ggad62860e19975ba4c4af401c3cdb6abf7adfb41c92e2522712207ef7f2462b5e34":[11,0,0,0,22,31],
|
||||
"group__usercb.html#ggad62860e19975ba4c4af401c3cdb6abf7adfb41c92e2522712207ef7f2462b5e34":[9,16,1,31],
|
||||
"group__usercb.html#ggad62860e19975ba4c4af401c3cdb6abf7ae4986291b7a810fe290851d73bebeb1c":[11,0,0,0,22,21],
|
||||
"group__usercb.html#ggad62860e19975ba4c4af401c3cdb6abf7ae4986291b7a810fe290851d73bebeb1c":[9,16,1,21],
|
||||
"group__usercb.html#ggad62860e19975ba4c4af401c3cdb6abf7ae5ad65d779b7eab32ab67ceff91a3bac":[11,0,0,0,22,23],
|
||||
"group__usercb.html#ggad62860e19975ba4c4af401c3cdb6abf7ae5ad65d779b7eab32ab67ceff91a3bac":[9,16,1,23],
|
||||
"group__usercb.html#ggad62860e19975ba4c4af401c3cdb6abf7ae8d1de0bb56e03aa58cb4d44b18edd2e":[9,16,1,12],
|
||||
"group__usercb.html#ggad62860e19975ba4c4af401c3cdb6abf7ae8d1de0bb56e03aa58cb4d44b18edd2e":[11,0,0,0,22,12],
|
||||
"group__usercb.html#ggad62860e19975ba4c4af401c3cdb6abf7ae8d1de0bb56e03aa58cb4d44b18edd2e":[9,16,1,12],
|
||||
"group__usercb.html#ggad62860e19975ba4c4af401c3cdb6abf7ae9734e1d7af2abf291665ce9e4a728d3":[11,0,0,0,22,19],
|
||||
"group__usercb.html#ggad62860e19975ba4c4af401c3cdb6abf7ae9734e1d7af2abf291665ce9e4a728d3":[9,16,1,19],
|
||||
"group__usercb.html#ggad62860e19975ba4c4af401c3cdb6abf7aeb0cec65ec82a713cd01e9ca9aeeb5e6":[11,0,0,0,22,57],
|
||||
|
@ -183,8 +183,8 @@ var NAVTREEINDEX2 =
|
|||
"group__vhost-mounts.html":[9,4,0],
|
||||
"group__vhost-mounts.html#ga31eca18e50cb4357480f2fcad36ff437":[9,4,0,2],
|
||||
"group__vhost-mounts.html#ga31eca18e50cb4357480f2fcad36ff437":[11,0,0,0,32],
|
||||
"group__vhost-mounts.html#gga31eca18e50cb4357480f2fcad36ff437a13ab58b01ac6e05f595977f1e0f0db69":[11,0,0,0,32,3],
|
||||
"group__vhost-mounts.html#gga31eca18e50cb4357480f2fcad36ff437a13ab58b01ac6e05f595977f1e0f0db69":[9,4,0,2,3],
|
||||
"group__vhost-mounts.html#gga31eca18e50cb4357480f2fcad36ff437a13ab58b01ac6e05f595977f1e0f0db69":[11,0,0,0,32,3],
|
||||
"group__vhost-mounts.html#gga31eca18e50cb4357480f2fcad36ff437a1e9f0842b0e85db50fe648ed4ba9a4b0":[9,4,0,2,0],
|
||||
"group__vhost-mounts.html#gga31eca18e50cb4357480f2fcad36ff437a1e9f0842b0e85db50fe648ed4ba9a4b0":[11,0,0,0,32,0],
|
||||
"group__vhost-mounts.html#gga31eca18e50cb4357480f2fcad36ff437a42f2361cfe76cd287fa8fcfc502357e2":[9,4,0,2,2],
|
||||
|
@ -213,8 +213,8 @@ var NAVTREEINDEX2 =
|
|||
"group__wsclose.html#ggae399c571df32ba532c0ca67da9284985a462c99b05459df700919cfd3f53c8276":[9,17,0,3],
|
||||
"group__wsclose.html#ggae399c571df32ba532c0ca67da9284985a4b8a3b7ce6f731e5248e4b0fb64a5044":[11,0,0,0,25,6],
|
||||
"group__wsclose.html#ggae399c571df32ba532c0ca67da9284985a4b8a3b7ce6f731e5248e4b0fb64a5044":[9,17,0,5],
|
||||
"group__wsclose.html#ggae399c571df32ba532c0ca67da9284985a68b3d34bebd88547dcfa5cadba0acd6c":[9,17,0,6],
|
||||
"group__wsclose.html#ggae399c571df32ba532c0ca67da9284985a68b3d34bebd88547dcfa5cadba0acd6c":[11,0,0,0,25,7],
|
||||
"group__wsclose.html#ggae399c571df32ba532c0ca67da9284985a68b3d34bebd88547dcfa5cadba0acd6c":[9,17,0,6],
|
||||
"group__wsclose.html#ggae399c571df32ba532c0ca67da9284985a7aef2da0062da606eeb35aaca5cf9050":[11,0,0,0,25,8],
|
||||
"group__wsclose.html#ggae399c571df32ba532c0ca67da9284985a7aef2da0062da606eeb35aaca5cf9050":[9,17,0,7],
|
||||
"group__wsclose.html#ggae399c571df32ba532c0ca67da9284985a9737a68759e739856b150ff9dfa30218":[11,0,0,0,25,2],
|
||||
|
@ -231,14 +231,14 @@ var NAVTREEINDEX2 =
|
|||
"group__wsclose.html#ggae399c571df32ba532c0ca67da9284985af90cb98d983ad3d4c79df9b6f3d4a4d2":[11,0,0,0,25,5],
|
||||
"group__wsclose.html#ggae399c571df32ba532c0ca67da9284985af90cb98d983ad3d4c79df9b6f3d4a4d2":[9,17,0,4],
|
||||
"group__wsstatus.html":[9,18],
|
||||
"group__wsstatus.html#ga08e9ee165fca503fd9427d55cfecac37":[11,0,0,0,114],
|
||||
"group__wsstatus.html#ga08e9ee165fca503fd9427d55cfecac37":[9,18,3],
|
||||
"group__wsstatus.html#ga08e9ee165fca503fd9427d55cfecac37":[11,0,0,0,114],
|
||||
"group__wsstatus.html#ga26a140623d202dd2bf2004deb6994baa":[9,18,4],
|
||||
"group__wsstatus.html#ga26a140623d202dd2bf2004deb6994baa":[11,0,0,0,115],
|
||||
"group__wsstatus.html#ga2bb3655329b4651cd06f79ee3a764421":[11,0,0,0,132],
|
||||
"group__wsstatus.html#ga2bb3655329b4651cd06f79ee3a764421":[9,18,6],
|
||||
"group__wsstatus.html#ga3df5045656dfb6b0e63a38de2dca79d2":[11,0,0,0,100],
|
||||
"group__wsstatus.html#ga2bb3655329b4651cd06f79ee3a764421":[11,0,0,0,132],
|
||||
"group__wsstatus.html#ga3df5045656dfb6b0e63a38de2dca79d2":[9,18,1],
|
||||
"group__wsstatus.html#ga3df5045656dfb6b0e63a38de2dca79d2":[11,0,0,0,100],
|
||||
"group__wsstatus.html#ga4ad226d5e01024b4046f4a5a37199aa1":[9,18,2],
|
||||
"group__wsstatus.html#ga4ad226d5e01024b4046f4a5a37199aa1":[11,0,0,0,113],
|
||||
"group__wsstatus.html#gaccd9c59336efad8af0554f79cc5966fd":[9,18,0],
|
||||
|
@ -246,8 +246,8 @@ var NAVTREEINDEX2 =
|
|||
"group__wsstatus.html#gaeca4afc94b1f026034f99cbba37e2f85":[9,18,5],
|
||||
"group__wsstatus.html#gaeca4afc94b1f026034f99cbba37e2f85":[11,0,0,0,123],
|
||||
"hierarchy.html":[10,2],
|
||||
"index.html":[],
|
||||
"index.html":[0],
|
||||
"index.html":[],
|
||||
"libwebsockets_8h.html":[11,0,0,0],
|
||||
"libwebsockets_8h.html#a0b056fdcf949a838ff82209b4a627dd9":[11,0,0,0,168]
|
||||
};
|
||||
|
|
|
@ -157,44 +157,45 @@ var NAVTREEINDEX3 =
|
|||
"structlws__client__connect__info.html#ad47f50d1633dc5df74548606c9a66d73":[9,2,0,0],
|
||||
"structlws__client__connect__info.html#afe999d133cc240a0bfd02aade0514cfd":[9,2,0,3],
|
||||
"structlws__context__creation__info.html":[9,4,1],
|
||||
"structlws__context__creation__info.html#a0b154e79abc1167ba4ac3539f4af6720":[9,4,1,16],
|
||||
"structlws__context__creation__info.html#a0cdfd3c484689ba6f0f2cc91b38ce948":[9,4,1,14],
|
||||
"structlws__context__creation__info.html#a0e790dda6202604f73a03b6149bc12bb":[9,4,1,23],
|
||||
"structlws__context__creation__info.html#a0e9d94cdfb893d777b4a4db81e7b5ac0":[9,4,1,37],
|
||||
"structlws__context__creation__info.html#a137a9b9de4f6a7993fed8746d551e616":[9,4,1,26],
|
||||
"structlws__context__creation__info.html#a13ffbb0d010309669611f8c4eda7d7f8":[9,4,1,17],
|
||||
"structlws__context__creation__info.html#a1654d41bea6fb2f619b57e6a264b26a4":[9,4,1,22],
|
||||
"structlws__context__creation__info.html#a33a1a25a7df3793f59047e20dd580078":[9,4,1,39],
|
||||
"structlws__context__creation__info.html#a381342a398883d6204955ff3c1849ddd":[9,4,1,9],
|
||||
"structlws__context__creation__info.html#a3baab4285c679fbe027c2504621d7410":[9,4,1,10],
|
||||
"structlws__context__creation__info.html#a3e1516fd7fed26bfa77c0246ed26c2eb":[9,4,1,29],
|
||||
"structlws__context__creation__info.html#a424a5ce268d6903e42243be94487ab85":[9,4,1,20],
|
||||
"structlws__context__creation__info.html#a0b154e79abc1167ba4ac3539f4af6720":[9,4,1,17],
|
||||
"structlws__context__creation__info.html#a0cdfd3c484689ba6f0f2cc91b38ce948":[9,4,1,15],
|
||||
"structlws__context__creation__info.html#a0e790dda6202604f73a03b6149bc12bb":[9,4,1,24],
|
||||
"structlws__context__creation__info.html#a0e9d94cdfb893d777b4a4db81e7b5ac0":[9,4,1,38],
|
||||
"structlws__context__creation__info.html#a137a9b9de4f6a7993fed8746d551e616":[9,4,1,27],
|
||||
"structlws__context__creation__info.html#a13ffbb0d010309669611f8c4eda7d7f8":[9,4,1,18],
|
||||
"structlws__context__creation__info.html#a1654d41bea6fb2f619b57e6a264b26a4":[9,4,1,23],
|
||||
"structlws__context__creation__info.html#a33a1a25a7df3793f59047e20dd580078":[9,4,1,40],
|
||||
"structlws__context__creation__info.html#a381342a398883d6204955ff3c1849ddd":[9,4,1,10],
|
||||
"structlws__context__creation__info.html#a3baab4285c679fbe027c2504621d7410":[9,4,1,11],
|
||||
"structlws__context__creation__info.html#a3e1516fd7fed26bfa77c0246ed26c2eb":[9,4,1,30],
|
||||
"structlws__context__creation__info.html#a424a5ce268d6903e42243be94487ab85":[9,4,1,21],
|
||||
"structlws__context__creation__info.html#a45e63e24c88289e0c8352377ef4d3646":[9,4,1,4],
|
||||
"structlws__context__creation__info.html#a4a3d1155fc52f5048b481884f6fb947c":[9,4,1,3],
|
||||
"structlws__context__creation__info.html#a4f8e65c3a059d3b586fafa9ef3282c29":[9,4,1,27],
|
||||
"structlws__context__creation__info.html#a57f88c0745adbd1d6b9b619b8de30209":[9,4,1,24],
|
||||
"structlws__context__creation__info.html#a6cfa3d51df2def3349a5cbf0d712822d":[9,4,1,34],
|
||||
"structlws__context__creation__info.html#a704940261951ced6b5d8191bd8b9bb2d":[9,4,1,31],
|
||||
"structlws__context__creation__info.html#a75434932bb5df54665ea678eb8ac104a":[9,4,1,8],
|
||||
"structlws__context__creation__info.html#a7b59f2bdc869871e7bde232db94f5ca6":[9,4,1,7],
|
||||
"structlws__context__creation__info.html#a8122cfc0810bafe51edb3ba6bf9a1251":[9,4,1,19],
|
||||
"structlws__context__creation__info.html#a81697c6b763b5ef3ee52862bc70b07d6":[9,4,1,12],
|
||||
"structlws__context__creation__info.html#a999866fcd15dbd621773436f97190458":[9,4,1,25],
|
||||
"structlws__context__creation__info.html#a4f8e65c3a059d3b586fafa9ef3282c29":[9,4,1,28],
|
||||
"structlws__context__creation__info.html#a57f88c0745adbd1d6b9b619b8de30209":[9,4,1,25],
|
||||
"structlws__context__creation__info.html#a6cfa3d51df2def3349a5cbf0d712822d":[9,4,1,35],
|
||||
"structlws__context__creation__info.html#a704940261951ced6b5d8191bd8b9bb2d":[9,4,1,32],
|
||||
"structlws__context__creation__info.html#a75434932bb5df54665ea678eb8ac104a":[9,4,1,9],
|
||||
"structlws__context__creation__info.html#a7b59f2bdc869871e7bde232db94f5ca6":[9,4,1,8],
|
||||
"structlws__context__creation__info.html#a8122cfc0810bafe51edb3ba6bf9a1251":[9,4,1,20],
|
||||
"structlws__context__creation__info.html#a81697c6b763b5ef3ee52862bc70b07d6":[9,4,1,13],
|
||||
"structlws__context__creation__info.html#a8ca0ec6b8675c13849bbdcdc0d50c9a3":[9,4,1,6],
|
||||
"structlws__context__creation__info.html#a999866fcd15dbd621773436f97190458":[9,4,1,26],
|
||||
"structlws__context__creation__info.html#a9c9d22437de92c197f3cee52912b2c03":[9,4,1,5],
|
||||
"structlws__context__creation__info.html#a9d3b17a25e1fbc772f21eb4959a82724":[9,4,1,18],
|
||||
"structlws__context__creation__info.html#aa8d9e85e137f35fb006f2e4a53f0887a":[9,4,1,15],
|
||||
"structlws__context__creation__info.html#ab9ec8893e0f7843cf5d783d2f350ef14":[9,4,1,32],
|
||||
"structlws__context__creation__info.html#abb90ffb3e6d6db2db20f529d61bd9122":[9,4,1,21],
|
||||
"structlws__context__creation__info.html#ac105b4180008cb3e672d57beead8382e":[9,4,1,36],
|
||||
"structlws__context__creation__info.html#ac583ce92b8e1c949cb6fef6bfe713d56":[9,4,1,11],
|
||||
"structlws__context__creation__info.html#ac62b0f0e8e402412ba5011d15c244103":[9,4,1,28],
|
||||
"structlws__context__creation__info.html#ac8a75b7b259a3c3a5fbb4219a3f06c29":[9,4,1,35],
|
||||
"structlws__context__creation__info.html#ad0e95ba721f7bd2b676719f8093c23a2":[9,4,1,13],
|
||||
"structlws__context__creation__info.html#ad50db098a208f045f7811207d2bee4b9":[9,4,1,38],
|
||||
"structlws__context__creation__info.html#adb0bc0b28cd7d90ab306723d8ffa96fa":[9,4,1,30],
|
||||
"structlws__context__creation__info.html#a9d3b17a25e1fbc772f21eb4959a82724":[9,4,1,19],
|
||||
"structlws__context__creation__info.html#aa8d9e85e137f35fb006f2e4a53f0887a":[9,4,1,16],
|
||||
"structlws__context__creation__info.html#ab9ec8893e0f7843cf5d783d2f350ef14":[9,4,1,33],
|
||||
"structlws__context__creation__info.html#abb90ffb3e6d6db2db20f529d61bd9122":[9,4,1,22],
|
||||
"structlws__context__creation__info.html#ac105b4180008cb3e672d57beead8382e":[9,4,1,37],
|
||||
"structlws__context__creation__info.html#ac583ce92b8e1c949cb6fef6bfe713d56":[9,4,1,12],
|
||||
"structlws__context__creation__info.html#ac62b0f0e8e402412ba5011d15c244103":[9,4,1,29],
|
||||
"structlws__context__creation__info.html#ac8a75b7b259a3c3a5fbb4219a3f06c29":[9,4,1,36],
|
||||
"structlws__context__creation__info.html#ad0e95ba721f7bd2b676719f8093c23a2":[9,4,1,14],
|
||||
"structlws__context__creation__info.html#ad50db098a208f045f7811207d2bee4b9":[9,4,1,39],
|
||||
"structlws__context__creation__info.html#adb0bc0b28cd7d90ab306723d8ffa96fa":[9,4,1,31],
|
||||
"structlws__context__creation__info.html#ae52f3237e144e9ddcab5e2cf91d1e419":[9,4,1,1],
|
||||
"structlws__context__creation__info.html#aef917c0b23976a264d2474901b4f5aa3":[9,4,1,6],
|
||||
"structlws__context__creation__info.html#af3fb447be15c4fcb01d3285a6678ab54":[9,4,1,33],
|
||||
"structlws__context__creation__info.html#aef917c0b23976a264d2474901b4f5aa3":[9,4,1,7],
|
||||
"structlws__context__creation__info.html#af3fb447be15c4fcb01d3285a6678ab54":[9,4,1,34],
|
||||
"structlws__context__creation__info.html#afa5d4e7d9f86b58a1c6fac14f0a5f5f9":[9,4,1,2],
|
||||
"structlws__context__creation__info.html#afce3b59950eca3203faa07381bbed5d7":[9,4,1,0],
|
||||
"structlws__email.html":[9,14,0],
|
||||
|
@ -248,6 +249,5 @@ var NAVTREEINDEX3 =
|
|||
"structlws__http__mount.html#ae137203040c6153694bd88a708da5395":[9,4,0,1,4],
|
||||
"structlws__http__mount.html#ae7b5c0f4c5408061e6ea3a8d281f45af":[9,4,0,1,6],
|
||||
"structlws__http__mount.html#ae90d1efe7178199fad39de2926902ee4":[9,4,0,1,7],
|
||||
"structlws__plat__file__ops.html":[9,20,0],
|
||||
"structlws__plat__file__ops.html#a01f483807a9862736b17ba9ed5110c40":[9,20,0,2]
|
||||
"structlws__plat__file__ops.html":[9,20,0]
|
||||
};
|
||||
|
|
|
@ -1,5 +1,6 @@
|
|||
var NAVTREEINDEX4 =
|
||||
{
|
||||
"structlws__plat__file__ops.html#a01f483807a9862736b17ba9ed5110c40":[9,20,0,2],
|
||||
"structlws__plat__file__ops.html#a034ec96f2fbaf52b4aa3e82d20795f7b":[9,20,0,0],
|
||||
"structlws__plat__file__ops.html#a1fae8330ee94649a3551e31a30809793":[9,20,0,4],
|
||||
"structlws__plat__file__ops.html#abfcda19b003dcc13c61ff9e2bb4ff869":[9,20,0,3],
|
||||
|
@ -43,12 +44,12 @@ var NAVTREEINDEX4 =
|
|||
"structlws__process__html__state.html#af21119890fdfebe28fb5c4dabfc1bdf5":[9,6,1,1,1],
|
||||
"structlws__protocol__vhost__options.html":[9,4,2],
|
||||
"structlws__protocol__vhost__options.html":[9,4,0,0],
|
||||
"structlws__protocol__vhost__options.html#a0640a92513c70ee6b9b295a9ad1658e7":[9,4,2,3],
|
||||
"structlws__protocol__vhost__options.html#a0640a92513c70ee6b9b295a9ad1658e7":[9,4,0,0,3],
|
||||
"structlws__protocol__vhost__options.html#a0640a92513c70ee6b9b295a9ad1658e7":[9,4,2,3],
|
||||
"structlws__protocol__vhost__options.html#abc714ddb4171756fc8196e9823a1e21c":[9,4,2,1],
|
||||
"structlws__protocol__vhost__options.html#abc714ddb4171756fc8196e9823a1e21c":[9,4,0,0,1],
|
||||
"structlws__protocol__vhost__options.html#acf9db77f8eb64cd4e314be9b43d8a8b9":[9,4,0,0,0],
|
||||
"structlws__protocol__vhost__options.html#acf9db77f8eb64cd4e314be9b43d8a8b9":[9,4,2,0],
|
||||
"structlws__protocol__vhost__options.html#acf9db77f8eb64cd4e314be9b43d8a8b9":[9,4,0,0,0],
|
||||
"structlws__protocol__vhost__options.html#afd99fbc90be51ea2465b550c2ec47822":[9,4,0,0,2],
|
||||
"structlws__protocol__vhost__options.html#afd99fbc90be51ea2465b550c2ec47822":[9,4,2,2],
|
||||
"structlws__protocols.html":[9,10,1],
|
||||
|
@ -70,8 +71,8 @@ var NAVTREEINDEX4 =
|
|||
"structlws__tokens.html":[9,6,4,0],
|
||||
"structlws__tokens.html#a855b7375d1d58516c0ecd4b60e9a7766":[9,6,6,1],
|
||||
"structlws__tokens.html#a855b7375d1d58516c0ecd4b60e9a7766":[9,6,4,0,1],
|
||||
"structlws__tokens.html#a9f3635412bc71a5cb78e9862b55f10cd":[9,6,4,0,0],
|
||||
"structlws__tokens.html#a9f3635412bc71a5cb78e9862b55f10cd":[9,6,6,0],
|
||||
"structlws__tokens.html#a9f3635412bc71a5cb78e9862b55f10cd":[9,6,4,0,0],
|
||||
"structlwsgw__hash.html":[9,10,0,1],
|
||||
"structlwsgw__hash.html#a29435f5cf78747d4257695b0f141d164":[9,10,0,1,0],
|
||||
"structlwsgw__hash__bin.html":[9,10,0,0],
|
||||
|
|
|
@ -158,6 +158,8 @@ Data Fields</h2></td></tr>
|
|||
<tr class="separator:adb0bc0b28cd7d90ab306723d8ffa96fa"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:a33a1a25a7df3793f59047e20dd580078"><td class="memItemLeft" align="right" valign="top">unsigned short </td><td class="memItemRight" valign="bottom"><a class="el" href="structlws__context__creation__info.html#a33a1a25a7df3793f59047e20dd580078">ws_ping_pong_interval</a></td></tr>
|
||||
<tr class="separator:a33a1a25a7df3793f59047e20dd580078"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:a8ca0ec6b8675c13849bbdcdc0d50c9a3"><td class="memItemLeft" align="right" valign="top">const struct <a class="el" href="structlws__protocol__vhost__options.html">lws_protocol_vhost_options</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="structlws__context__creation__info.html#a8ca0ec6b8675c13849bbdcdc0d50c9a3">headers</a></td></tr>
|
||||
<tr class="separator:a8ca0ec6b8675c13849bbdcdc0d50c9a3"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:afce3b59950eca3203faa07381bbed5d7"><td class="memItemLeft" align="right" valign="top">void * </td><td class="memItemRight" valign="bottom"><a class="el" href="structlws__context__creation__info.html#afce3b59950eca3203faa07381bbed5d7">_unused</a> [8]</td></tr>
|
||||
<tr class="separator:afce3b59950eca3203faa07381bbed5d7"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
</table>
|
||||
|
@ -242,6 +244,19 @@ Data Fields</h2></td></tr>
|
|||
</div><div class="memdoc">
|
||||
<p>CONTEXT: group id to change to after setting listen socket, or -1. </p>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<a class="anchor" id="a8ca0ec6b8675c13849bbdcdc0d50c9a3"></a>
|
||||
<div class="memitem">
|
||||
<div class="memproto">
|
||||
<table class="memname">
|
||||
<tr>
|
||||
<td class="memname">const struct <a class="el" href="structlws__protocol__vhost__options.html">lws_protocol_vhost_options</a>* lws_context_creation_info::headers</td>
|
||||
</tr>
|
||||
</table>
|
||||
</div><div class="memdoc">
|
||||
<p>VHOST: pointer to optional linked list of per-vhost canned headers that are added to server responses </p>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<a class="anchor" id="aef917c0b23976a264d2474901b4f5aa3"></a>
|
||||
|
|
|
@ -6,6 +6,7 @@ var structlws__context__creation__info =
|
|||
[ "extensions", "structlws__context__creation__info.html#a4a3d1155fc52f5048b481884f6fb947c", null ],
|
||||
[ "fd_limit_per_thread", "structlws__context__creation__info.html#a45e63e24c88289e0c8352377ef4d3646", null ],
|
||||
[ "gid", "structlws__context__creation__info.html#a9c9d22437de92c197f3cee52912b2c03", null ],
|
||||
[ "headers", "structlws__context__creation__info.html#a8ca0ec6b8675c13849bbdcdc0d50c9a3", null ],
|
||||
[ "http_proxy_address", "structlws__context__creation__info.html#aef917c0b23976a264d2474901b4f5aa3", null ],
|
||||
[ "http_proxy_port", "structlws__context__creation__info.html#a7b59f2bdc869871e7bde232db94f5ca6", null ],
|
||||
[ "iface", "structlws__context__creation__info.html#a75434932bb5df54665ea678eb8ac104a", null ],
|
||||
|
|
|
@ -334,6 +334,7 @@ lws_create_vhost(struct lws_context *context,
|
|||
|
||||
vh->options = info->options;
|
||||
vh->pvo = info->pvo;
|
||||
vh->headers = info->headers;
|
||||
if (info->keepalive_timeout)
|
||||
vh->keepalive_timeout = info->keepalive_timeout;
|
||||
else
|
||||
|
|
12
lib/header.c
12
lib/header.c
|
@ -146,6 +146,7 @@ int
|
|||
lws_add_http_header_status(struct lws *wsi, unsigned int code,
|
||||
unsigned char **p, unsigned char *end)
|
||||
{
|
||||
const struct lws_protocol_vhost_options *headers;
|
||||
unsigned char code_and_desc[60];
|
||||
const char *description = "", *p1;
|
||||
int n;
|
||||
|
@ -187,6 +188,17 @@ lws_add_http_header_status(struct lws *wsi, unsigned int code,
|
|||
n, p, end))
|
||||
return 1;
|
||||
|
||||
headers = wsi->vhost->headers;
|
||||
while (headers) {
|
||||
if (lws_add_http_header_by_name(wsi,
|
||||
(const unsigned char *)headers->name,
|
||||
(unsigned char *)headers->value,
|
||||
strlen(headers->value), p, end))
|
||||
return 1;
|
||||
|
||||
headers = headers->next;
|
||||
}
|
||||
|
||||
if (lws_add_http_header_by_token(wsi, WSI_TOKEN_HTTP_SERVER,
|
||||
(unsigned char *)
|
||||
wsi->context->server_string,
|
||||
|
|
|
@ -86,6 +86,8 @@ static const char * const paths_vhosts[] = {
|
|||
"vhosts[].ssl-option-set",
|
||||
"vhosts[].ssl-option-clear",
|
||||
"vhosts[].mounts[].pmo[].*",
|
||||
"vhosts[].headers[].*",
|
||||
"vhosts[].headers[]",
|
||||
};
|
||||
|
||||
enum lejp_vhost_paths {
|
||||
|
@ -124,7 +126,9 @@ enum lejp_vhost_paths {
|
|||
LEJPVP_IPV6ONLY,
|
||||
LEJPVP_SSL_OPTION_SET,
|
||||
LEJPVP_SSL_OPTION_CLEAR,
|
||||
LEJPVP_PMO
|
||||
LEJPVP_PMO,
|
||||
LEJPVP_HEADERS_NAME,
|
||||
LEJPVP_HEADERS,
|
||||
};
|
||||
|
||||
static const char * const parser_errs[] = {
|
||||
|
@ -244,6 +248,7 @@ lejp_globals_cb(struct lejp_ctx *ctx, char reason)
|
|||
}
|
||||
|
||||
a->p += snprintf(a->p, a->end - a->p, "%s", ctx->buf);
|
||||
*(a->p)++ = '\0';
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
@ -252,7 +257,7 @@ static char
|
|||
lejp_vhosts_cb(struct lejp_ctx *ctx, char reason)
|
||||
{
|
||||
struct jpargs *a = (struct jpargs *)ctx->user;
|
||||
struct lws_protocol_vhost_options *pvo, *mp_cgienv;
|
||||
struct lws_protocol_vhost_options *pvo, *mp_cgienv, *headers;
|
||||
struct lws_http_mount *m;
|
||||
char *p, *p1;
|
||||
int n;
|
||||
|
@ -290,6 +295,7 @@ lejp_vhosts_cb(struct lejp_ctx *ctx, char reason)
|
|||
"!AES256-GCM-SHA384:"
|
||||
"!AES256-SHA256";
|
||||
a->info->pvo = NULL;
|
||||
a->info->headers = NULL;
|
||||
a->info->keepalive_timeout = 5;
|
||||
a->info->log_filepath = NULL;
|
||||
a->info->options &= ~(LWS_SERVER_OPTION_UNIX_SOCK |
|
||||
|
@ -321,6 +327,29 @@ lejp_vhosts_cb(struct lejp_ctx *ctx, char reason)
|
|||
goto dostring;
|
||||
}
|
||||
|
||||
/* this catches, eg, vhosts[].headers[].xxx */
|
||||
if (reason == LEJPCB_VAL_STR_END &&
|
||||
ctx->path_match == LEJPVP_HEADERS_NAME + 1) {
|
||||
headers = lwsws_align(a);
|
||||
a->p += sizeof(*headers);
|
||||
|
||||
n = lejp_get_wildcard(ctx, 0, a->p, a->end - a->p);
|
||||
/* ie, enable this protocol, no options yet */
|
||||
headers->next = a->info->headers;
|
||||
a->info->headers = headers;
|
||||
headers->name = a->p;
|
||||
// lwsl_notice(" adding header %s=%s\n", a->p, ctx->buf);
|
||||
a->p += n - 1;
|
||||
*(a->p++) = ':';
|
||||
if (a->p < a->end)
|
||||
*(a->p++) = '\0';
|
||||
else
|
||||
*(a->p - 1) = '\0';
|
||||
headers->value = a->p;
|
||||
headers->options = NULL;
|
||||
goto dostring;
|
||||
}
|
||||
|
||||
if (reason == LEJPCB_OBJECT_END &&
|
||||
(ctx->path_match == LEJPVP + 1 || !ctx->path[0]) &&
|
||||
a->valid) {
|
||||
|
|
|
@ -1701,6 +1701,9 @@ struct lws_context_creation_info {
|
|||
* idle connection will do the PING / PONG roundtrip as soon as
|
||||
* ws_ping_pong_interval seconds has passed without traffic
|
||||
*/
|
||||
const struct lws_protocol_vhost_options *headers;
|
||||
/**< VHOST: pointer to optional linked list of per-vhost
|
||||
* canned headers that are added to server responses */
|
||||
|
||||
/* Add new things just above here ---^
|
||||
* This is part of the ABI, don't needlessly break compatibility
|
||||
|
|
|
@ -748,6 +748,7 @@ struct lws_vhost {
|
|||
const struct lws_protocols *protocols;
|
||||
void **protocol_vh_privs;
|
||||
const struct lws_protocol_vhost_options *pvo;
|
||||
const struct lws_protocol_vhost_options *headers;
|
||||
struct lws **same_vh_protocol_list;
|
||||
#ifdef LWS_OPENSSL_SUPPORT
|
||||
SSL_CTX *ssl_ctx;
|
||||
|
|
|
@ -407,10 +407,12 @@ lws_http_serve(struct lws *wsi, char *uri, const char *origin,
|
|||
/* we don't need to send the payload */
|
||||
if (lws_add_http_header_status(wsi, 304, &p, end))
|
||||
return -1;
|
||||
|
||||
if (lws_add_http_header_by_token(wsi,
|
||||
WSI_TOKEN_HTTP_ETAG,
|
||||
(unsigned char *)sym, n, &p, end))
|
||||
return -1;
|
||||
|
||||
if (lws_finalize_http_header(wsi, &p, end))
|
||||
return -1;
|
||||
|
||||
|
@ -877,7 +879,7 @@ lws_http_action(struct lws *wsi)
|
|||
NULL, /* replace with cgi path */
|
||||
NULL
|
||||
};
|
||||
unsigned char *p, *end, buffer[256];
|
||||
unsigned char *p, *end, buffer[1024];
|
||||
|
||||
lwsl_debug("%s: cgi\n", __func__);
|
||||
cmd[0] = hit->origin;
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
<html>
|
||||
<head>
|
||||
<script src="/lws-common.js"></script>
|
||||
<script src="lwsgs.js"></script>
|
||||
<script src="/lws-common.js" nonce="lwscaro"></script>
|
||||
<script src="lwsgs.js" nonce="lwscaro"></script>
|
||||
<style>
|
||||
.body { font-size: 12 }
|
||||
.gstitle { font-size: 18 }
|
||||
|
@ -46,7 +46,7 @@
|
|||
<div id="newmsg">
|
||||
<form action="msg" method="post" target="hidden">
|
||||
New message<br>
|
||||
<textarea id="msg" placeholder="type your message here" cols="40" rows="5" name="msg" onkeyup="mupd()" onchange="mupd()"></textarea><br>
|
||||
<textarea id="msg" placeholder="type your message here" cols="40" rows="5" name="msg"></textarea><br>
|
||||
<input type="submit" id="send" name="send" disabled=1>
|
||||
</form>
|
||||
</div>
|
||||
|
@ -60,10 +60,13 @@
|
|||
</table>
|
||||
</form>
|
||||
<iframe name="hidden" style="display:none"></iframe>
|
||||
<script>lwsgs_initial();
|
||||
<script nonce="lwscaro">lwsgs_initial();
|
||||
document.getElementById("nolog").style.display = !!lwsgs_user ? "none" : "inline-block";
|
||||
document.getElementById("logged").style.display = !lwsgs_user ? "none" : "inline-block";
|
||||
|
||||
document.getElementById("msg").onkeyup = mupd;
|
||||
document.getElementById("msg").onchange = mupd;
|
||||
|
||||
var ws;
|
||||
|
||||
function mb_format(s)
|
||||
|
@ -158,4 +161,4 @@ function mupd()
|
|||
}
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
||||
</html>
|
||||
|
|
|
@ -17,13 +17,13 @@ var lwsgs_html = '\
|
|||
<table style="vertical-align:top;text-align:right"\
|
||||
<tr>\
|
||||
<td>User Name\
|
||||
<input type="text" size="10" id="username" name="username" oninput="lwsgs_update()" onchange="lwsgs_update()"></td>\
|
||||
<input type="text" size="10" id="username" name="username"></td>\
|
||||
<td>Password\
|
||||
<input type="password" id="password" size="10" name="password" oninput="lwsgs_update()" onchange="lwsgs_update()"><div id="pw1"></div></td>\
|
||||
<input type="password" id="password" size="10" name="password"><div id="pw1"></div></td>\
|
||||
</tr><tr>\
|
||||
<td colspan="2" style="text-align:center"><input type="submit" id="login" name="login" value="Login" style="margin: 4px; padding: 2px; font-weight=bold;">\
|
||||
<input type="submit" id="forgot" name="forgot" value="Forgot password" style="margin: 2px; padding: 2px">\
|
||||
<input type="button" onclick="lwsgs_open_registration()" value="Sign up" style="margin: 2px; padding: 2px"></td>\
|
||||
<input id="doreg" type="button" value="Sign up" style="margin: 2px; padding: 2px"></td>\
|
||||
</tr>\
|
||||
</table>\
|
||||
</form>\
|
||||
|
@ -35,7 +35,7 @@ var lwsgs_html = '\
|
|||
<table style="vertical-align:top;text-align:right">\
|
||||
<tr><td><span id=grav></span></td>\
|
||||
<td style="text-align:center"><table><tr><td style="text-align:center">\
|
||||
<a href="#" onclick="lwsgs_select_change(); event.preventDefault();">\
|
||||
<a href="#" id="clink">\
|
||||
<span id="curuser"></span></a></td></tr><tr>\
|
||||
<td style="text-align:center"><input type="submit" name="logout" value="Logout" style="margin: 2px; padding: 2px"></td>\
|
||||
</tr></table></td></tr>\
|
||||
|
@ -66,28 +66,28 @@ var lwsgs_html = '\
|
|||
</tr>\
|
||||
<tr><td align=right>\
|
||||
User Name:</td>\
|
||||
<td><input type="text" size="10" id="rusername" name="username" oninput="lwsgs_rupdate(); lwsgs_check_user();"> <span id=uchk></span></td>\
|
||||
<td><input type="text" size="10" id="rusername" name="username" <span id=uchk></span></td>\
|
||||
</tr>\
|
||||
<tr>\
|
||||
<td align=right>Password:</td>\
|
||||
<td><input type="password" size="10" id="rpassword" name="password" oninput="lwsgs_rupdate()"> <span id="rpw1"></span></td>\
|
||||
<td><input type="password" size="10" id="rpassword" name="password"> <span id="rpw1"></span></td>\
|
||||
</tr>\
|
||||
<tr>\
|
||||
</tr>\
|
||||
<tr>\
|
||||
<td align=right><span id="pw2">Password (again):</span></td>\
|
||||
<td><input type="password" size="10" id="password2" name="password2" oninput="lwsgs_rupdate()"> <span id="match"></span></td>\
|
||||
<td><input type="password" size="10" id="password2" name="password2"> <span id="match"></span></td>\
|
||||
</tr>\
|
||||
<tr>\
|
||||
<td align=right>Email:</td>\
|
||||
<td><input type="email" size="10" id="email" name="email"\
|
||||
placeholder="me@example.com" oninput="lwsgs_rupdate(); lwsgs_check_email(\'email\')"> <span id=echk></span></td>\
|
||||
placeholder="me@example.com" <span id=echk></span></td>\
|
||||
</tr>\
|
||||
<tr>\
|
||||
<td colspan=2 align=center>\
|
||||
<input type="submit" id="register" name="register" value="Register" style="margin: 2px; padding: 2px">\
|
||||
<input type="submit" id="rforgot" name="forgot" value="Forgot Password" style="margin: 2px; padding: 2px;display: none">\
|
||||
<input type="button" id="cancel" name="cancel" value="Cancel" style="margin: 2px; padding: 2px;" onclick="lwsgs_cancel_registration()">\
|
||||
<input type="button" id="cancel" name="cancel" value="Cancel" style="margin: 2px; padding: 2px;">\
|
||||
</td>\
|
||||
</tr>\
|
||||
</table>\
|
||||
|
@ -110,7 +110,7 @@ var lwsgs_html = '\
|
|||
<tr>\
|
||||
<td colspan=2 align=center>\
|
||||
<span id="ccuruser"></span>\
|
||||
<script>\
|
||||
<script nonce="lwscaro">\
|
||||
if (lwsgs_user)\
|
||||
document.getElementById("ccuruser").innerHTML =\
|
||||
"<span class=\"gstitle\">Login settings for " +\
|
||||
|
@ -122,23 +122,23 @@ var lwsgs_html = '\
|
|||
<tr><td align=right id="ccurpw_name">\
|
||||
Current Password:</td>\
|
||||
<td><input type="password" size="10" id="ccurpw" name="curpw"\
|
||||
oninput="lwsgs_cupdate();"> <span id=cuchk></span></td>\
|
||||
> <span id=cuchk></span></td>\
|
||||
</tr>\
|
||||
<tr>\
|
||||
<td align=right>Password:</td>\
|
||||
<td><input type="password" size="10" id="cpassword" name="password"\
|
||||
oninput="lwsgs_cupdate()"> <span id="cpw1"></span></td>\
|
||||
<span id="cpw1"></span></td>\
|
||||
</tr>\
|
||||
<tr>\
|
||||
<td align=right><span id="pw2">Password (again)</span></td>\
|
||||
<td><input type="password" size="10" id="cpassword2" name="password2"\
|
||||
oninput="lwsgs_cupdate()"> <span id="cmatch"></span></td>\
|
||||
> <span id="cmatch"></span></td>\
|
||||
</tr>\
|
||||
<!-- not supported yet\
|
||||
<tr>\
|
||||
<td align=right id="cemail_name">Email:</td>\
|
||||
<td><input type="email" size="10" id="cemail" name="email"\
|
||||
placeholder="?" oninput="lwsgs_cupdate(); lwsgs_check_email(\'cemail\')">\
|
||||
placeholder="?" \
|
||||
<span id=cechk></span></td>\
|
||||
</tr> -->\
|
||||
<tr>\
|
||||
|
@ -147,15 +147,14 @@ var lwsgs_html = '\
|
|||
value="Change" style="margin: 6px; padding: 6px">\
|
||||
<input type="submit" id="cforgot" name="forgot"\
|
||||
value="Forgot Password" style="margin: 6px; padding: 6px;display: none">\
|
||||
<input type="button" id="cancel" name="cancel"\
|
||||
value="Cancel" style="margin: 6px; padding: 6px;"\
|
||||
onclick="lwsgs_cancel_registration()">\
|
||||
<input type="button" id="cancel2" name="cancel"\
|
||||
value="Cancel" style="margin: 6px; padding: 6px;">\
|
||||
</td>\
|
||||
</tr>\
|
||||
<tr>\
|
||||
<td colspan=2>\
|
||||
<input type="checkbox" id="showdel" name="showdel"\
|
||||
onchange="lwsgs_cupdate();"> Show Delete \
|
||||
> Show Delete \
|
||||
<input type="submit" id="delete" name="delete" \
|
||||
value="Delete Account" style="margin: 6px; padding: 6px;display: none">\
|
||||
</td>\
|
||||
|
@ -246,6 +245,8 @@ function lwsgs_select_change()
|
|||
document.getElementById("dadmin").style.display = "none";
|
||||
document.getElementById("dchange").style.display = "inline";
|
||||
}
|
||||
|
||||
event.preventDefault()
|
||||
}
|
||||
|
||||
var lwsgs_user_check = '0';
|
||||
|
@ -299,22 +300,32 @@ function lwsgs_rupdate()
|
|||
document.getElementById('email').disabled = lwsgs_user_check === '1';
|
||||
|
||||
if (lwsgs_user_check === '0') {
|
||||
if (document.getElementById('rusername').value)
|
||||
document.getElementById('uchk').innerHTML = "<b style=\"color:green\">\u2713</b>";
|
||||
else
|
||||
document.getElementById('uchk').innerHTML = "";
|
||||
var uc = document.getElementById('uchk');
|
||||
|
||||
if (uc) {
|
||||
if (document.getElementById('rusername').value)
|
||||
uc.innerHTML = "<b style=\"color:green\">\u2713</b>";
|
||||
else
|
||||
uc.innerHTML = "";
|
||||
}
|
||||
} else {
|
||||
document.getElementById('uchk').innerHTML = "<b style=\"color:red\">\u2718 Already registered</b>";
|
||||
if (document.getElementById('uchk'))
|
||||
ocument.getElementById('uchk').innerHTML = "<b style=\"color:red\">\u2718 Already registered</b>";
|
||||
en_forgot = 1;
|
||||
}
|
||||
|
||||
if (lwsgs_email_check === '0') {
|
||||
if (document.getElementById('email').value)
|
||||
document.getElementById('echk').innerHTML = "<b style=\"color:green\">\u2713</b>";
|
||||
else
|
||||
document.getElementById('echk').innerHTML = "";
|
||||
var ec = document.getElementById('echk');
|
||||
|
||||
if (ec) {
|
||||
if (document.getElementById('email').value)
|
||||
ec.innerHTML = "<b style=\"color:green\">\u2713</b>";
|
||||
else
|
||||
ec.innerHTML = "";
|
||||
}
|
||||
} else {
|
||||
document.getElementById('echk').innerHTML = "<b style=\"color:red\">\u2718 Already registered</b>";
|
||||
if (document.getElementById('echk'))
|
||||
document.getElementById('echk').innerHTML = "<b style=\"color:red\">\u2718 Already registered</b>";
|
||||
en_forgot = 1;
|
||||
}
|
||||
|
||||
|
@ -376,11 +387,16 @@ function lwsgs_cupdate()
|
|||
document.getElementById('cpassword').value.length < 8) {
|
||||
en_change = 0;
|
||||
document.getElementById('cpw1').innerHTML = "Need 8 chars";
|
||||
} else
|
||||
if (document.getElementById('cpassword').value.length)
|
||||
document.getElementById('cpw1').innerHTML = "<b style=\"color:green\">\u2713</b>";
|
||||
else
|
||||
document.getElementById('cpw1').innerHTML = "";
|
||||
} else {
|
||||
var cpw = document.getElementById('cpw1');
|
||||
|
||||
if (cpw) {
|
||||
if (document.getElementById('cpassword').value.length)
|
||||
cpw.innerHTML = "<b style=\"color:green\">\u2713</b>";
|
||||
else
|
||||
cpw.innerHTML = "";
|
||||
}
|
||||
}
|
||||
|
||||
if (!document.getElementById('cpassword').value ||
|
||||
!document.getElementById('cpassword2').value ||
|
||||
|
@ -461,9 +477,47 @@ function lwsgs_check_email(id)
|
|||
xmlHttp.send(null);
|
||||
}
|
||||
|
||||
function rupdate_user()
|
||||
{
|
||||
lwsgs_rupdate();
|
||||
lwsgs_check_user();
|
||||
}
|
||||
|
||||
function rupdate_email()
|
||||
{
|
||||
lwsgs_rupdate();
|
||||
lwsgs_check_email('email');
|
||||
}
|
||||
|
||||
function cupdate_email()
|
||||
{
|
||||
lwsgs_cupdate();
|
||||
lwsgs_check_email('cemail');
|
||||
}
|
||||
|
||||
|
||||
function lwsgs_initial()
|
||||
{
|
||||
document.getElementById('lwsgs').innerHTML = lwsgs_html;
|
||||
|
||||
document.getElementById('username').oninput = lwsgs_update;
|
||||
document.getElementById('username').onchange = lwsgs_update;
|
||||
document.getElementById('password').oninput = lwsgs_update;
|
||||
document.getElementById('password').onchange = lwsgs_update;
|
||||
document.getElementById('doreg').onclick = lwsgs_open_registration;
|
||||
document.getElementById('clink').onclick = lwsgs_select_change;
|
||||
document.getElementById('cancel').onclick =lwsgs_cancel_registration;
|
||||
document.getElementById('cancel2').onclick =lwsgs_cancel_registration;
|
||||
document.getElementById('rpassword').oninput = lwsgs_rupdate;
|
||||
document.getElementById('password2').oninput = lwsgs_rupdate;
|
||||
document.getElementById('rusername').oninput = rupdate_user;
|
||||
document.getElementById('email').oninput = rupdate_email;
|
||||
document.getElementById('ccurpw').oninput = lwsgs_cupdate;
|
||||
document.getElementById('cpassword').oninput = lwsgs_cupdate;
|
||||
document.getElementById('cpassword2').oninput = lwsgs_cupdate;
|
||||
<!-- document.getElementById('cemail').oninput = cupdate_email;-->
|
||||
document.getElementById('showdel').onchange = lwsgs_cupdate;
|
||||
|
||||
if (lwsgs_email)
|
||||
document.getElementById('grav').innerHTML =
|
||||
"<img src=\"https://www.gravatar.com/avatar/" + md5(lwsgs_email) +
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
<html>
|
||||
<head>
|
||||
<script src="lwsgs.js"></script>
|
||||
<script src="lwsgs.js" nonce=lwscaro></script>
|
||||
</head>
|
||||
<body>
|
||||
<table>
|
||||
|
@ -20,7 +20,7 @@
|
|||
</tr>
|
||||
</table>
|
||||
</body>
|
||||
<script>
|
||||
<script nonce=lwscaro>
|
||||
document.getElementById('u').innerHTML = "<b>" + lwsgs_san(lwsgs_user) + "</b>";
|
||||
</script>
|
||||
</html>
|
||||
|
|
|
@ -18,7 +18,7 @@
|
|||
</tr>
|
||||
</table>
|
||||
</body>
|
||||
<script>
|
||||
<script nonce="lwscaro">
|
||||
document.getElementById('u').innerHTML = "<b>" + san(lwsgs_user) + "</b>";
|
||||
</script>
|
||||
</html>
|
||||
|
|
|
@ -385,7 +385,7 @@ static const struct lws_protocols protocols[] = {
|
|||
"protocol-lws-messageboard",
|
||||
callback_messageboard,
|
||||
sizeof(struct per_session_data__gs_mb),
|
||||
MAX_MSG_LEN + 128,
|
||||
4096,
|
||||
},
|
||||
};
|
||||
|
||||
|
|
|
@ -52,7 +52,7 @@
|
|||
</table>
|
||||
<div id="debug"></div>
|
||||
|
||||
<script>
|
||||
<script nonce="lwscaro">
|
||||
var v1 = new lwsgt_initial("Dir listing demo",
|
||||
"protocol-lws-table-dirlisting",
|
||||
"lwsgt1", "lwsgt_dir_click", "v1");
|
||||
|
@ -72,4 +72,4 @@ function lwsgt_dir_click(gt, u, col, row)
|
|||
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
||||
</html>
|
||||
|
|
|
@ -18,6 +18,8 @@ function lwsgt_get_appropriate_ws_url()
|
|||
function lwsgt_app_hdr(j, bc, ws)
|
||||
{
|
||||
var s = "", n, m = 0;
|
||||
|
||||
ws.bcq = 0;
|
||||
|
||||
for (n = 0; n < j.cols.length; n++)
|
||||
if (!j.cols[n].hide)
|
||||
|
@ -31,12 +33,12 @@ function lwsgt_app_hdr(j, bc, ws)
|
|||
s += " / ";
|
||||
if (!bc[n].url && bc[n].url !== "")
|
||||
s += " " + lws_san(bc[n].name) + " ";
|
||||
else
|
||||
s += " <a href=\"#\"onclick=\"window[\'"+ ws.lwsgt_cb +"\']('" +
|
||||
ws.lwsgt_parent + "', '=" +
|
||||
lws_san(encodeURI(bc[n].url)) +
|
||||
"', -1, -1); event.preventDefault();\">" +
|
||||
else {
|
||||
s = s + "<a href=# id=\"bc_"+ ws.divname + ws.bcq + "\" h=\"" + ws.lwsgt_cb + "\" p=\""+ws.lwsgt_parent+"\" aa=\"="+
|
||||
lws_san(encodeURI(bc[n].url))+"\" m=\"-1\" n=\"-1\">" +
|
||||
lws_san(bc[n].name) + "</a> ";
|
||||
ws.bcq++;
|
||||
}
|
||||
}
|
||||
s += "</td></tr>";
|
||||
}
|
||||
|
@ -72,7 +74,7 @@ function lwsgt_initial(title, pcol, divname, cb, gname)
|
|||
}
|
||||
this.lwsgt_ws.onmessage = function got_packet(msg) {
|
||||
var s, m, n, j = JSON.parse(msg.data);
|
||||
// document.getElementById("debug").textContent = msg.data;
|
||||
document.getElementById("debug").textContent = msg.data;
|
||||
if (j.cols) {
|
||||
this.hdr = j;
|
||||
}
|
||||
|
@ -80,6 +82,7 @@ function lwsgt_initial(title, pcol, divname, cb, gname)
|
|||
this.breadcrumbs = j.breadcrumbs;
|
||||
|
||||
if (j.data) {
|
||||
var q = 0;
|
||||
s = "<table class=\"lwsgt_table\">" +
|
||||
lwsgt_app_hdr(this.hdr, this.breadcrumbs, this);
|
||||
for (m = 0; m < j.data.length; m++) {
|
||||
|
@ -92,13 +95,13 @@ function lwsgt_initial(title, pcol, divname, cb, gname)
|
|||
s = s + "<td class=\"lwsgt_td\" style=\"text-align: right\">";
|
||||
|
||||
if (this.hdr.cols[n].href &&
|
||||
!!j.data[m][this.hdr.cols[n].href])
|
||||
s = s + "<a href=\"#\" onclick=\"window[\'"+this.lwsgt_cb +"\']('" +
|
||||
this.lwsgt_parent + "', '" +
|
||||
lws_san(encodeURI(j.data[m][this.hdr.cols[n].href])) +
|
||||
"', " + m + ", " + n + "); event.preventDefault();\">" +
|
||||
!!j.data[m][this.hdr.cols[n].href]) {
|
||||
s = s + "<a href=# id=\""+ this.divname + q + "\" h=\"" + this.lwsgt_cb + "\" p=\""+this.lwsgt_parent+"\" aa=\""+
|
||||
lws_san(encodeURI(j.data[m][this.hdr.cols[n].href]))+"\" m=\""+m+"\" n=\""+n+"\">" +
|
||||
lws_san(j.data[m][this.hdr.cols[n].name]) +
|
||||
"</a>";
|
||||
q++;
|
||||
}
|
||||
else
|
||||
s = s + lws_san(j.data[m][this.hdr.cols[n].name]);
|
||||
|
||||
|
@ -110,6 +113,12 @@ function lwsgt_initial(title, pcol, divname, cb, gname)
|
|||
}
|
||||
s = s + "</table>";
|
||||
document.getElementById(this.divname).innerHTML = s;
|
||||
for (n = 0; n < q; n++)
|
||||
document.getElementById(this.divname + n).onclick = lwsgt_click_callthru;
|
||||
|
||||
for (n = 0; n < this.bcq; n++)
|
||||
document.getElementById("bc_" + this.divname + n).onclick = lwsgt_click_callthru;
|
||||
|
||||
}
|
||||
}
|
||||
this.lwsgt_ws.onclose = function(){
|
||||
|
@ -118,4 +127,11 @@ function lwsgt_initial(title, pcol, divname, cb, gname)
|
|||
} catch(exception) {
|
||||
alert('<p>Error' + exception);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
function lwsgt_click_callthru()
|
||||
{
|
||||
window[this.getAttribute("h")](this.getAttribute("p"), this.getAttribute("aa"), this.getAttribute("m"), this.getAttribute("n"));
|
||||
event.preventDefault();
|
||||
}
|
||||
|
||||
|
|
|
@ -159,7 +159,7 @@ callback_post_demo(struct lws *wsi, enum lws_callback_reasons reason,
|
|||
p += snprintf((char *)p, end - p, "</body></html>");
|
||||
pss->result_len = p - (unsigned char *)(pss->result + LWS_PRE);
|
||||
|
||||
n = LWS_PRE + 256;
|
||||
n = LWS_PRE + 1024;
|
||||
buffer = malloc(n);
|
||||
p = buffer + LWS_PRE;
|
||||
start = p;
|
||||
|
|
|
@ -120,7 +120,7 @@
|
|||
|
||||
</article>
|
||||
|
||||
<script>
|
||||
<script nonce="lwscaro">
|
||||
|
||||
lws_gray_out(true,{'zindex':'499'});
|
||||
|
||||
|
|
|
@ -137,8 +137,8 @@ to zero just this connection's number.
|
|||
<tr>
|
||||
<td align=center><div id=number style="font-size:120%;"> </div></td>
|
||||
<td align=center>
|
||||
<input type=button id=offset value="Reset counter" onclick="reset();" >
|
||||
<input type=button id=junk value="Send junk" onclick="junk();" >
|
||||
<input type=button id=offset value="Reset counter">
|
||||
<input type=button id=junk value="Send junk">
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
@ -179,7 +179,7 @@ run.
|
|||
</tr>
|
||||
<tr>
|
||||
<td colspan=2>Drawing color:
|
||||
<select id="color" onchange="update_color();">
|
||||
<select id="color">
|
||||
<option value=#000000>Black</option>
|
||||
<option value=#0000ff>Blue</option>
|
||||
<option value=#20ff20>Green</option>
|
||||
|
@ -222,9 +222,9 @@ To help with open and close testing, you can open and close a connection by hand
|
|||
initiate the close, which it does with code 1001 and reason "Seeya".
|
||||
</td></tr>
|
||||
<tr>
|
||||
<td align=center><input type=button id=ot_open_btn value="Open" onclick="ot_open();" ></td>
|
||||
<td align=center><input type=button id=ot_close_btn disabled value="Close" onclick="ot_close();" ></td>
|
||||
<td align=center><input type=button id=ot_req_close_btn disabled value="Request Server Close" onclick="ot_req_close();" ></td>
|
||||
<td align=center><input type=button id=ot_open_btn value="Open"></td>
|
||||
<td align=center><input type=button id=ot_close_btn disabled value="Close" ></td>
|
||||
<td align=center><input type=button id=ot_req_close_btn disabled value="Request Server Close" ></td>
|
||||
</tr>
|
||||
|
||||
</table>
|
||||
|
@ -289,7 +289,7 @@ This tests POST handling in lws.
|
|||
</div></td>
|
||||
</tr>
|
||||
|
||||
<script>
|
||||
<script nonce="lwscaro">
|
||||
function check_file()
|
||||
{
|
||||
var f = document.getElementById('file').files[0];
|
||||
|
@ -319,8 +319,7 @@ function check_file()
|
|||
<span style="font-size:12pt;">Some text: </span>
|
||||
<input type="text" name="text" value="Give me some text">
|
||||
<br>
|
||||
<input type="file" name="file" id="file" size="20"
|
||||
onchange="check_file();"> <span id=file_info style="font-size:12pt;"></span><br>
|
||||
<input type="file" name="file" id="file" size="20"> <span id=file_info style="font-size:12pt;"></span><br>
|
||||
<input type="submit" id="upload" name="upload" disabled=1 value="Upload">
|
||||
</form>
|
||||
</div></td>
|
||||
|
@ -339,7 +338,15 @@ Join the mailing list: <a href="https://libwebsockets.org/mailman/listinfo/libwe
|
|||
|
||||
</article>
|
||||
|
||||
<script>
|
||||
<script nonce="lwscaro">
|
||||
|
||||
document.getElementById('file').onchange = check_file;
|
||||
document.getElementById('offset').onclick = reset;
|
||||
document.getElementById('junk').onclick = junk;
|
||||
document.getElementById('color').onclick = update_color;
|
||||
document.getElementById('ot_open_btn').onclick = ot_open;
|
||||
document.getElementById('ot_close_btn').onclick = ot_close;
|
||||
document.getElementById('ot_req_close_btn').onclick = ot_req_close;
|
||||
|
||||
/*
|
||||
* We display untrusted stuff in html context... reject anything
|
||||
|
|
Loading…
Add table
Reference in a new issue