<div dir="ltr"><font face="times new roman, serif" size="4">I have tried anther API.</font><div><font face="times new roman, serif" size="4">call the  <font color="#0000ff">lws_return_http_status</font> at  <i style="background-color:rgb(255,255,255);text-decoration-style:initial;text-decoration-color:initial">LWS_CALLBACK_FILTER_<wbr>PROTOCOL_CONNECTION msg handler.</i></font></div><div><span style="background-color:rgb(255,255,255);text-decoration-style:initial;text-decoration-color:initial"><font face="times new roman, serif" style="" size="4">The browser can receive the 403 code, it`s seems ok!</font></span></div></div><div class="gmail_extra"><br><div class="gmail_quote">On Tue, Jul 24, 2018 at 5:07 PM, Chropin Hu <span dir="ltr"><<a href="mailto:chropinhu@gmail.com" target="_blank">chropinhu@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><font face="times new roman, serif" size="4">Dear All,</font><div><font face="times new roman, serif" size="4">      I am researching a way to varify the |origin| filed at the websocket handshake stage. (none TLS case)</font></div><div><font face="times new roman, serif" size="4">      if the orgin is invalid, the server will return <span style="font-size:large;background-color:rgb(255,255,255);text-decoration-style:initial;text-decoration-color:initial;float:none;display:inline"> 403 forbidden status code.</span></font></div><div><font face="times new roman, serif" size="4"><span style="font-size:large;background-color:rgb(255,255,255);text-decoration-style:initial;text-decoration-color:initial;float:none;display:inline">      I have try to handle the </span><i>LWS_CALLBACK_FILTER_<wbr>PROTOCOL_CONNECTION</i> msg like this,</font></div><div><font face="times new roman, serif" size="4" color="#0000ff">              unsigned char buf[LWS_PRE + 384], *start = buf + LWS_PRE - 1, *p = start,</font></div><div><font face="times new roman, serif" size="4" color="#0000ff"><span style="white-space:pre-wrap">                  </span>     *end = buf + sizeof(buf) - 1;</font></div><div><font face="times new roman, serif" size="4" color="#0000ff"><span style="white-space:pre-wrap">      </span>      lws_add_http_header_status(<wbr>wsi, HTTP_STATUS_FORBIDDEN, &p, end);</font></div><div><font face="times new roman, serif" size="4">     But it can not work well.</font></div><div><font face="times new roman, serif" size="4">     </font><font face="times new roman, serif" size="4">Someone can help me out?</font></div><div><font face="times new roman, serif" size="4">     </font></div><div><font face="times new roman, serif" size="4"><span style="background-color:rgb(255,255,255);text-decoration-style:initial;text-decoration-color:initial;float:none;display:inline">Best Regards</span><br></font></div><div><span style="font-family:"times new roman",serif;font-size:large"><br></span></div><div><span style="font-family:"times new roman",serif;font-size:large">Yours Chropin</span><br></div><div><br></div><div><div><pre class="m_2786247829466678017gmail-newpage" style="margin-top:0px;margin-bottom:0px;break-before:page;color:rgb(0,0,0);text-decoration-style:initial;text-decoration-color:initial"><font size="4" face="times new roman, serif"><i>   </i>   </font></pre><pre class="m_2786247829466678017gmail-newpage" style="margin-top:0px;margin-bottom:0px;break-before:page;color:rgb(0,0,0);text-decoration-style:initial;text-decoration-color:initial"><font size="4" face="times new roman, serif">      </font></pre><pre class="m_2786247829466678017gmail-newpage" style="margin-top:0px;margin-bottom:0px;break-before:page;color:rgb(0,0,0);text-decoration-style:initial;text-decoration-color:initial">    </pre></div></div></div>
</blockquote></div><br></div>