|
|
@@ -1292,6 +1292,53 @@ static inline esp_err_t httpd_resp_send_500(httpd_req_t *r) {
|
|
|
*/
|
|
|
int httpd_send(httpd_req_t *r, const char *buf, size_t buf_len);
|
|
|
|
|
|
+/**
|
|
|
+ * A low level API to send data on a given socket
|
|
|
+ *
|
|
|
+ * @note This API is not recommended to be used in any request handler.
|
|
|
+ * Use this only for advanced use cases, wherein some asynchronous
|
|
|
+ * data is to be sent over a socket.
|
|
|
+ *
|
|
|
+ * This internally calls the default send function, or the function registered by
|
|
|
+ * httpd_sess_set_send_override().
|
|
|
+ *
|
|
|
+ * @param[in] hd server instance
|
|
|
+ * @param[in] sockfd session socket file descriptor
|
|
|
+ * @param[in] buf buffer with bytes to send
|
|
|
+ * @param[in] buf_len data size
|
|
|
+ * @param[in] flags flags for the send() function
|
|
|
+ * @return
|
|
|
+ * - Bytes : The number of bytes sent successfully
|
|
|
+ * - HTTPD_SOCK_ERR_INVALID : Invalid arguments
|
|
|
+ * - HTTPD_SOCK_ERR_TIMEOUT : Timeout/interrupted while calling socket send()
|
|
|
+ * - HTTPD_SOCK_ERR_FAIL : Unrecoverable error while calling socket send()
|
|
|
+ */
|
|
|
+int httpd_socket_send(httpd_handle_t hd, int sockfd, const char *buf, size_t buf_len, int flags);
|
|
|
+
|
|
|
+/**
|
|
|
+ * A low level API to receive data from a given socket
|
|
|
+ *
|
|
|
+ * @note This API is not recommended to be used in any request handler.
|
|
|
+ * Use this only for advanced use cases, wherein some asynchronous
|
|
|
+ * communication is required.
|
|
|
+ *
|
|
|
+ * This internally calls the default recv function, or the function registered by
|
|
|
+ * httpd_sess_set_recv_override().
|
|
|
+ *
|
|
|
+ * @param[in] hd server instance
|
|
|
+ * @param[in] sockfd session socket file descriptor
|
|
|
+ * @param[in] buf buffer with bytes to send
|
|
|
+ * @param[in] buf_len data size
|
|
|
+ * @param[in] flags flags for the send() function
|
|
|
+ * @return
|
|
|
+ * - Bytes : The number of bytes received successfully
|
|
|
+ * - 0 : Buffer length parameter is zero / connection closed by peer
|
|
|
+ * - HTTPD_SOCK_ERR_INVALID : Invalid arguments
|
|
|
+ * - HTTPD_SOCK_ERR_TIMEOUT : Timeout/interrupted while calling socket recv()
|
|
|
+ * - HTTPD_SOCK_ERR_FAIL : Unrecoverable error while calling socket recv()
|
|
|
+ */
|
|
|
+int httpd_socket_recv(httpd_handle_t hd, int sockfd, char *buf, size_t buf_len, int flags);
|
|
|
+
|
|
|
/** End of Request / Response
|
|
|
* @}
|
|
|
*/
|