return http_header_delete(client->request->headers, key);
}
-static esp_err_t _set_config(esp_http_client_handle_t client, esp_http_client_config_t *config)
+static esp_err_t _set_config(esp_http_client_handle_t client, const esp_http_client_config_t *config)
{
client->connection_info.method = config->method;
client->connection_info.port = config->port;
return ESP_OK;
}
-esp_http_client_handle_t esp_http_client_init(esp_http_client_config_t *config)
+esp_http_client_handle_t esp_http_client_init(const esp_http_client_config_t *config)
{
esp_http_client_handle_t client;
{
return client->response->is_chunked;
}
+
+esp_http_client_transport_t esp_http_client_get_transport_type(esp_http_client_handle_t client)
+{
+ if (!strcmp(client->connection_info.scheme, "https") ) {
+ return HTTP_TRANSPORT_OVER_SSL;
+ } else if (!strcmp(client->connection_info.scheme, "http")) {
+ return HTTP_TRANSPORT_OVER_TCP;
+ } else {
+ return HTTP_TRANSPORT_UNKNOWN;
+ }
+}
* - `esp_http_client_handle_t`
* - NULL if any errors
*/
-esp_http_client_handle_t esp_http_client_init(esp_http_client_config_t *config);
+esp_http_client_handle_t esp_http_client_init(const esp_http_client_config_t *config);
/**
* @brief Invoke this function after `esp_http_client_init` and all the options calls are made, and will perform the
*/
esp_err_t esp_http_client_cleanup(esp_http_client_handle_t client);
+/**
+ * @brief Get transport type
+ *
+ * @param[in] client The esp_http_client handle
+ *
+ * @return
+ * - HTTP_TRANSPORT_UNKNOWN
+ * - HTTP_TRANSPORT_OVER_TCP
+ * - HTTP_TRANSPORT_OVER_SSL
+ */
+esp_http_client_transport_t esp_http_client_get_transport_type(esp_http_client_handle_t client);
#ifdef __cplusplus
#endif
-#endif
+#endif
\ No newline at end of file