<ahref="https://github.com/espressif/esp-protocols/blob/319fce0/docs/en/index.rst"class="fa fa-github"> Edit on GitHub</a>
<ahref="https://github.com/espressif/esp-protocols/blob/3bf0511/docs/en/index.rst"class="fa fa-github"> Edit on GitHub</a>
</li>
</ul>
<hr/>
@@ -142,12 +142,12 @@ SSL/TLS support is disabled by default and could be enabled in component configu
</section>
<sectionid="application-example">
<h2>Application Example<aclass="headerlink"href="#application-example"title="Permalink to this headline"></a></h2>
<p>ESP examples are based on standard asio <aclass="reference external"href="https://github.com/espressif/esp-protocols/tree/319fce0/examples/../examples">examples </a>:</p>
<p>ESP examples are based on standard asio <aclass="reference external"href="https://github.com/espressif/esp-protocols/tree/3bf0511/examples/../examples">examples </a>:</p>
<ahref="https://github.com/espressif/esp-docs/blob/319fce0/docs/en/index.rst"class="fa fa-github"> Edit on GitHub</a>
<ahref="https://github.com/espressif/esp-docs/blob/3bf0511/docs/en/index.rst"class="fa fa-github"> Edit on GitHub</a>
</li>
</ul>
<hr/>
@@ -234,7 +234,7 @@ In case a host operating system has <cite>openssl</cite> and <cite>sed</cite> pa
</section>
<sectionid="application-example">
<h2>Application Example<aclass="headerlink"href="#application-example"title="Permalink to this headline"></a></h2>
<p>A simple WebSocket example that uses esp_websocket_client to establish a websocket connection and send/receive data with the <aclass="reference external"href="https://websocket.org">websocket.org</a> server can be found here: <aclass="reference external"href="https://github.com/espressif/esp-protocols/tree/319fce0/examples/../examples">example </a>.</p>
<p>A simple WebSocket example that uses esp_websocket_client to establish a websocket connection and send/receive data with the <aclass="reference external"href="https://websocket.org">websocket.org</a> server can be found here: <aclass="reference external"href="https://github.com/espressif/esp-protocols/tree/3bf0511/examples/../examples">example </a>.</p>
<sectionid="sending-text-data">
<h3>Sending Text Data<aclass="headerlink"href="#sending-text-data"title="Permalink to this headline"></a></h3>
<p>The WebSocket client supports sending data as a text data frame, which informs the application layer that the payload data is text data encoded as UTF-8. Example:</p>
@@ -248,7 +248,7 @@ In case a host operating system has <cite>openssl</cite> and <cite>sed</cite> pa
<sectionid="header-file">
<h3>Header File<aclass="headerlink"href="#header-file"title="Permalink to this headline"></a></h3>
<spanid="_CPPv332esp_websocket_client_set_headers29esp_websocket_client_handle_tPKc"></span><spanid="_CPPv232esp_websocket_client_set_headers29esp_websocket_client_handle_tPKc"></span><spanid="esp_websocket_client_set_headers__esp_websocket_client_handle_t.cCP"></span><spanclass="target"id="esp__websocket__client_8h_1abcd052636df1554f787dd00e5670ceca"></span><spanclass="n"><spanclass="pre">esp_err_t</span></span><spanclass="w"></span><spanclass="sig-name descname"><spanclass="n"><spanclass="pre">esp_websocket_client_set_headers</span></span></span><spanclass="sig-paren">(</span><aclass="reference internal"href="#_CPPv429esp_websocket_client_handle_t"title="esp_websocket_client_handle_t"><spanclass="n"><spanclass="pre">esp_websocket_client_handle_t</span></span></a><spanclass="w"></span><spanclass="n sig-param"><spanclass="pre">client</span></span>, <spanclass="k"><spanclass="pre">const</span></span><spanclass="w"></span><spanclass="kt"><spanclass="pre">char</span></span><spanclass="w"></span><spanclass="p"><spanclass="pre">*</span></span><spanclass="n sig-param"><spanclass="pre">headers</span></span><spanclass="sig-paren">)</span><aclass="headerlink"href="#_CPPv432esp_websocket_client_set_headers29esp_websocket_client_handle_tPKc"title="Permalink to this definition"></a><br/></dt>
<dd><p>Set additional websocket headers for the client, when performing this behavior, the headers will replace the old ones. </p>
<dlclass="field-list simple">
<dtclass="field-odd">Parameters</dt>
<ddclass="field-odd"><ulclass="simple">
<li><p><strong>client</strong>–<strong>[in]</strong> The client </p></li>
<li><p><strong>headers</strong>– additional header strings each terminated with \r</p></li>
</ul>
</dd>
<dtclass="field-even">Pre</dt>
<ddclass="field-even"><p>Must stop the WebSocket client before set headers if the client has been connected</p>
<spanid="_CPPv326esp_websocket_client_start29esp_websocket_client_handle_t"></span><spanid="_CPPv226esp_websocket_client_start29esp_websocket_client_handle_t"></span><spanid="esp_websocket_client_start__esp_websocket_client_handle_t"></span><spanclass="target"id="esp__websocket__client_8h_1a693a8aef5e81de4c26db82e398788d71"></span><spanclass="n"><spanclass="pre">esp_err_t</span></span><spanclass="w"></span><spanclass="sig-name descname"><spanclass="n"><spanclass="pre">esp_websocket_client_start</span></span></span><spanclass="sig-paren">(</span><aclass="reference internal"href="#_CPPv429esp_websocket_client_handle_t"title="esp_websocket_client_handle_t"><spanclass="n"><spanclass="pre">esp_websocket_client_handle_t</span></span></a><spanclass="w"></span><spanclass="n sig-param"><spanclass="pre">client</span></span><spanclass="sig-paren">)</span><aclass="headerlink"href="#_CPPv426esp_websocket_client_start29esp_websocket_client_handle_t"title="Permalink to this definition"></a><br/></dt>
@@ -551,6 +571,45 @@ In case a host operating system has <cite>openssl</cite> and <cite>sed</cite> pa
</section>
<sectionid="structures">
<h3>Structures<aclass="headerlink"href="#structures"title="Permalink to this headline"></a></h3>
<spanid="_CPPv327esp_websocket_error_codes_t"></span><spanid="_CPPv227esp_websocket_error_codes_t"></span><spanid="esp_websocket_error_codes_t"></span><spanclass="target"id="structesp__websocket__error__codes__t"></span><spanclass="k"><spanclass="pre">struct</span></span><spanclass="w"></span><spanclass="sig-name descname"><spanclass="n"><spanclass="pre">esp_websocket_error_codes_t</span></span></span><aclass="headerlink"href="#_CPPv427esp_websocket_error_codes_t"title="Permalink to this definition"></a><br/></dt>
<dd><p>Websocket error code structure to be passed as a contextual information into ERROR event. </p>
<spanid="_CPPv3N27esp_websocket_error_codes_t20esp_tls_last_esp_errE"></span><spanid="_CPPv2N27esp_websocket_error_codes_t20esp_tls_last_esp_errE"></span><spanid="esp_websocket_error_codes_t::esp_tls_last_esp_err__esp_err_t"></span><spanclass="target"id="structesp__websocket__error__codes__t_1a8e4d0d1935ee716a6901b8c3948b3ea3"></span><spanclass="n"><spanclass="pre">esp_err_t</span></span><spanclass="w"></span><spanclass="sig-name descname"><spanclass="n"><spanclass="pre">esp_tls_last_esp_err</span></span></span><aclass="headerlink"href="#_CPPv4N27esp_websocket_error_codes_t20esp_tls_last_esp_errE"title="Permalink to this definition"></a><br/></dt>
<dd><p>last esp_err code reported from esp-tls component </p>
<spanid="_CPPv3N27esp_websocket_error_codes_t17esp_tls_stack_errE"></span><spanid="_CPPv2N27esp_websocket_error_codes_t17esp_tls_stack_errE"></span><spanid="esp_websocket_error_codes_t::esp_tls_stack_err__i"></span><spanclass="target"id="structesp__websocket__error__codes__t_1adcaab157f8089843031bf4b2d72b08da"></span><spanclass="kt"><spanclass="pre">int</span></span><spanclass="w"></span><spanclass="sig-name descname"><spanclass="n"><spanclass="pre">esp_tls_stack_err</span></span></span><aclass="headerlink"href="#_CPPv4N27esp_websocket_error_codes_t17esp_tls_stack_errE"title="Permalink to this definition"></a><br/></dt>
<dd><p>tls specific error code reported from underlying tls stack </p>
<spanid="_CPPv3N27esp_websocket_error_codes_t25esp_tls_cert_verify_flagsE"></span><spanid="_CPPv2N27esp_websocket_error_codes_t25esp_tls_cert_verify_flagsE"></span><spanid="esp_websocket_error_codes_t::esp_tls_cert_verify_flags__i"></span><spanclass="target"id="structesp__websocket__error__codes__t_1a77c724ac2f1e67e3f16dd4663c48718f"></span><spanclass="kt"><spanclass="pre">int</span></span><spanclass="w"></span><spanclass="sig-name descname"><spanclass="n"><spanclass="pre">esp_tls_cert_verify_flags</span></span></span><aclass="headerlink"href="#_CPPv4N27esp_websocket_error_codes_t25esp_tls_cert_verify_flagsE"title="Permalink to this definition"></a><br/></dt>
<dd><p>tls flags reported from underlying tls stack during certificate verification </p>
<spanid="_CPPv3N27esp_websocket_error_codes_t28esp_ws_handshake_status_codeE"></span><spanid="_CPPv2N27esp_websocket_error_codes_t28esp_ws_handshake_status_codeE"></span><spanid="esp_websocket_error_codes_t::esp_ws_handshake_status_code__i"></span><spanclass="target"id="structesp__websocket__error__codes__t_1a8f804cf82464f89aa144f9c7b8ae1f95"></span><spanclass="kt"><spanclass="pre">int</span></span><spanclass="w"></span><spanclass="sig-name descname"><spanclass="n"><spanclass="pre">esp_ws_handshake_status_code</span></span></span><aclass="headerlink"href="#_CPPv4N27esp_websocket_error_codes_t28esp_ws_handshake_status_codeE"title="Permalink to this definition"></a><br/></dt>
<dd><p>http status code of the websocket upgrade handshake </p>
<spanid="_CPPv3N27esp_websocket_error_codes_t24esp_transport_sock_errnoE"></span><spanid="_CPPv2N27esp_websocket_error_codes_t24esp_transport_sock_errnoE"></span><spanid="esp_websocket_error_codes_t::esp_transport_sock_errno__i"></span><spanclass="target"id="structesp__websocket__error__codes__t_1a096361ffbbacce31e817db7e183ebdb2"></span><spanclass="kt"><spanclass="pre">int</span></span><spanclass="w"></span><spanclass="sig-name descname"><spanclass="n"><spanclass="pre">esp_transport_sock_errno</span></span></span><aclass="headerlink"href="#_CPPv4N27esp_websocket_error_codes_t24esp_transport_sock_errnoE"title="Permalink to this definition"></a><br/></dt>
<spanid="_CPPv326esp_websocket_event_data_t"></span><spanid="_CPPv226esp_websocket_event_data_t"></span><spanid="esp_websocket_event_data_t"></span><spanclass="target"id="structesp__websocket__event__data__t"></span><spanclass="k"><spanclass="pre">struct</span></span><spanclass="w"></span><spanclass="sig-name descname"><spanclass="n"><spanclass="pre">esp_websocket_event_data_t</span></span></span><aclass="headerlink"href="#_CPPv426esp_websocket_event_data_t"title="Permalink to this definition"></a><br/></dt>
@@ -605,6 +664,12 @@ In case a host operating system has <cite>openssl</cite> and <cite>sed</cite> pa
<dd><p>Actual offset for the data associated with this event </p>
<spanid="_CPPv3N26esp_websocket_event_data_t12error_handleE"></span><spanid="_CPPv2N26esp_websocket_event_data_t12error_handleE"></span><spanid="esp_websocket_event_data_t::error_handle__esp_websocket_error_codes_t"></span><spanclass="target"id="structesp__websocket__event__data__t_1a0b9a9288428cd7a647d5f7f8b3df2c59"></span><aclass="reference internal"href="#_CPPv427esp_websocket_error_codes_t"title="esp_websocket_error_codes_t"><spanclass="n"><spanclass="pre">esp_websocket_error_codes_t</span></span></a><spanclass="w"></span><spanclass="sig-name descname"><spanclass="n"><spanclass="pre">error_handle</span></span></span><aclass="headerlink"href="#_CPPv4N26esp_websocket_event_data_t12error_handleE"title="Permalink to this definition"></a><br/></dt>
<dd><p>esp-websocket error handle including esp-tls errors as well as internal websocket errors </p>
</dd></dl>
</div>
</dd></dl>
@@ -878,6 +943,12 @@ In case a host operating system has <cite>openssl</cite> and <cite>sed</cite> pa
<dd><p>The connection has been closed cleanly </p>
<spanid="_CPPv3N24esp_websocket_event_id_t30WEBSOCKET_EVENT_BEFORE_CONNECTE"></span><spanid="_CPPv2N24esp_websocket_event_id_t30WEBSOCKET_EVENT_BEFORE_CONNECTE"></span><spanclass="target"id="esp__websocket__client_8h_1a781bbfb5f24162bd806d09cefe317b10a630ef50443a42419342e7a2b72664625"></span><spanclass="k"><spanclass="pre">enumerator</span></span><spanclass="w"></span><spanclass="sig-name descname"><spanclass="n"><spanclass="pre">WEBSOCKET_EVENT_BEFORE_CONNECT</span></span></span><aclass="headerlink"href="#_CPPv4N24esp_websocket_event_id_t30WEBSOCKET_EVENT_BEFORE_CONNECTE"title="Permalink to this definition"></a><br/></dt>
<spanid="_CPPv3N24esp_websocket_event_id_t19WEBSOCKET_EVENT_MAXE"></span><spanid="_CPPv2N24esp_websocket_event_id_t19WEBSOCKET_EVENT_MAXE"></span><spanclass="target"id="esp__websocket__client_8h_1a781bbfb5f24162bd806d09cefe317b10a104fe520c71c532635d64e024e9a02cb"></span><spanclass="k"><spanclass="pre">enumerator</span></span><spanclass="w"></span><spanclass="sig-name descname"><spanclass="n"><spanclass="pre">WEBSOCKET_EVENT_MAX</span></span></span><aclass="headerlink"href="#_CPPv4N24esp_websocket_event_id_t19WEBSOCKET_EVENT_MAXE"title="Permalink to this definition"></a><br/></dt>
@@ -885,6 +956,33 @@ In case a host operating system has <cite>openssl</cite> and <cite>sed</cite> pa
<spanid="_CPPv326esp_websocket_error_type_t"></span><spanid="_CPPv226esp_websocket_error_type_t"></span><spanclass="target"id="esp__websocket__client_8h_1ad76379d2141bca31d4657ded08cb8e26"></span><spanclass="k"><spanclass="pre">enum</span></span><spanclass="w"></span><spanclass="sig-name descname"><spanclass="n"><spanclass="pre">esp_websocket_error_type_t</span></span></span><aclass="headerlink"href="#_CPPv426esp_websocket_error_type_t"title="Permalink to this definition"></a><br/></dt>
<dd><p>Websocket connection error codes propagated via ERROR event. </p>
<spanid="_CPPv3N26esp_websocket_error_type_t25WEBSOCKET_ERROR_TYPE_NONEE"></span><spanid="_CPPv2N26esp_websocket_error_type_t25WEBSOCKET_ERROR_TYPE_NONEE"></span><spanclass="target"id="esp__websocket__client_8h_1ad76379d2141bca31d4657ded08cb8e26ad2523c22e28a4f34990bdc60dd38a147"></span><spanclass="k"><spanclass="pre">enumerator</span></span><spanclass="w"></span><spanclass="sig-name descname"><spanclass="n"><spanclass="pre">WEBSOCKET_ERROR_TYPE_NONE</span></span></span><aclass="headerlink"href="#_CPPv4N26esp_websocket_error_type_t25WEBSOCKET_ERROR_TYPE_NONEE"title="Permalink to this definition"></a><br/></dt>
<spanid="_CPPv3N26esp_websocket_error_type_t34WEBSOCKET_ERROR_TYPE_TCP_TRANSPORTE"></span><spanid="_CPPv2N26esp_websocket_error_type_t34WEBSOCKET_ERROR_TYPE_TCP_TRANSPORTE"></span><spanclass="target"id="esp__websocket__client_8h_1ad76379d2141bca31d4657ded08cb8e26afdad0f70b1c7ca4d009977519ae3e363"></span><spanclass="k"><spanclass="pre">enumerator</span></span><spanclass="w"></span><spanclass="sig-name descname"><spanclass="n"><spanclass="pre">WEBSOCKET_ERROR_TYPE_TCP_TRANSPORT</span></span></span><aclass="headerlink"href="#_CPPv4N26esp_websocket_error_type_t34WEBSOCKET_ERROR_TYPE_TCP_TRANSPORTE"title="Permalink to this definition"></a><br/></dt>
<spanid="_CPPv3N26esp_websocket_error_type_t33WEBSOCKET_ERROR_TYPE_PONG_TIMEOUTE"></span><spanid="_CPPv2N26esp_websocket_error_type_t33WEBSOCKET_ERROR_TYPE_PONG_TIMEOUTE"></span><spanclass="target"id="esp__websocket__client_8h_1ad76379d2141bca31d4657ded08cb8e26ae4afd7452f0c5ea819c991e85091cdf0"></span><spanclass="k"><spanclass="pre">enumerator</span></span><spanclass="w"></span><spanclass="sig-name descname"><spanclass="n"><spanclass="pre">WEBSOCKET_ERROR_TYPE_PONG_TIMEOUT</span></span></span><aclass="headerlink"href="#_CPPv4N26esp_websocket_error_type_t33WEBSOCKET_ERROR_TYPE_PONG_TIMEOUTE"title="Permalink to this definition"></a><br/></dt>
<spanid="_CPPv3N26esp_websocket_error_type_t30WEBSOCKET_ERROR_TYPE_HANDSHAKEE"></span><spanid="_CPPv2N26esp_websocket_error_type_t30WEBSOCKET_ERROR_TYPE_HANDSHAKEE"></span><spanclass="target"id="esp__websocket__client_8h_1ad76379d2141bca31d4657ded08cb8e26a7a1c2ce0bcd89cd1027919aa2d9d6f65"></span><spanclass="k"><spanclass="pre">enumerator</span></span><spanclass="w"></span><spanclass="sig-name descname"><spanclass="n"><spanclass="pre">WEBSOCKET_ERROR_TYPE_HANDSHAKE</span></span></span><aclass="headerlink"href="#_CPPv4N26esp_websocket_error_type_t30WEBSOCKET_ERROR_TYPE_HANDSHAKEE"title="Permalink to this definition"></a><br/></dt>
<spanid="_CPPv325esp_websocket_transport_t"></span><spanid="_CPPv225esp_websocket_transport_t"></span><spanclass="target"id="esp__websocket__client_8h_1aecb53723a9770b3584483ffc2d97ddc1"></span><spanclass="k"><spanclass="pre">enum</span></span><spanclass="w"></span><spanclass="sig-name descname"><spanclass="n"><spanclass="pre">esp_websocket_transport_t</span></span></span><aclass="headerlink"href="#_CPPv425esp_websocket_transport_t"title="Permalink to this definition"></a><br/></dt>
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.