From c7d11332ae9da255374b57ded7f8330aebf7548d Mon Sep 17 00:00:00 2001 From: chenyong Date: Thu, 2 Jan 2020 17:13:22 +0800 Subject: [PATCH] =?UTF-8?q?=E3=80=90=E4=BF=AE=E6=94=B9=E3=80=91=E6=9B=B4?= =?UTF-8?q?=E6=96=B0=E7=89=88=E6=9C=AC=E5=8F=B7=20V2.2.0=20=EF=BC=8C?= =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E7=89=88=E6=9C=AC=E6=94=B9=E5=8A=A8=E8=AF=B4?= =?UTF-8?q?=E6=98=8E?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 3 ++- docs/migration-guide.md | 39 ++++++++++++++++++++++++++++++++++----- inc/webclient.h | 4 ++-- 3 files changed, 38 insertions(+), 8 deletions(-) diff --git a/README.md b/README.md index 2ad914f..f47cf7d 100644 --- a/README.md +++ b/README.md @@ -99,7 +99,8 @@ RT-Thread online packages ## 4、注意事项 - WebClient 软件包连接 HTTPS 服务器时需要开启 WebClient 中对 TLS 功能的支持。 - - WebClient 软件包版本更新(`V1.0.0 -> 当前最新版 V2.0.0`)后软件包中函数接口和使用流程都有所变化,若开发者代码中使用之前接口,可以适配最新版本接口,或者在版本号配置中选择 `V1.0.0` 版本,具体改动方式可参考软件包 [迁移指南](docs/migration-guide.md)。 + - WebClient 软件包版本更新(`V1.0.0 -> V2.0.0`)后软件包中函数接口和使用流程都有所变化,若开发者代码中使用之前接口,可以适配最新版本接口,或者在版本号配置中选择 `V1.0.0` 版本,具体改动方式可参考软件包 [迁移指南](docs/migration-guide.md)。 + - webclient 软件包版本更新(`V2.1.0 -> V2.2.0`),为了适配非字符串数据传输,部分接口定义有所改动,具体修改可参考软件包 [迁移指南](docs/migration-guide.md)。 ## 5、联系方式 & 感谢 diff --git a/docs/migration-guide.md b/docs/migration-guide.md index 1c1f7f8..a3c088f 100644 --- a/docs/migration-guide.md +++ b/docs/migration-guide.md @@ -1,8 +1,10 @@ # 迁移指南 +## 1、V1.0.0 -> V2.0.0 版本改动 + 本节主要介绍 WebClient 软件包版本升级之后(`V1.0.0` -> 最近版本 `V2.0.0`),软件包的改动和适配最新版本的方式。 -## 函数改动 +### 函数改动 1. 添加 `webclient_session_create()` 创建客户端结构体函数 @@ -29,9 +31,9 @@ - 添加获取当前响应状态码函数(`webclient_resp_status_get` ); - 添加获取当前响应 Content-Length 数据函数(`webclient_content_length_get`)。 -## 流程改动 +### 流程改动 -### GET 请求流程改动 +#### GET 请求流程改动 下面以发送自定义头部数据的 GET 请求方式为例,介绍新版本软件包中 GET 流程改动。 @@ -93,7 +95,7 @@ while(1) webclient_close(session); ``` -### POST 请求流程改动 +#### POST 请求流程改动 下面以发送自定义头部数据的 POST 请求方式为例,介绍新版本软件包中的 POST 流程改动。 @@ -148,4 +150,31 @@ webclient_post(session, URI, post_data, rt_strlen(post_data)); webclient_close(session); ``` -上述介绍 WebClient 常用 GET/POST 请求方法改动,更多流程介绍请查看软件包 [使用指南](user-guide.md)。 \ No newline at end of file +上述介绍 WebClient 常用 GET/POST 请求方法改动,更多流程介绍请查看软件包 [使用指南](user-guide.md)。 + +## 2、V2.1.0 -> V2.2.0 版本改动 + +V2.2.0 版本主要改动部分为函数接口参数定义,目的是为了适配非字符串格式数据的读写,其他函数的使用流程未产生明显改动。 + +### 函数改动 + +- `webclient_post` 函数参数改动 + + 该函数入参 `const char *post_data` 修改为 `const void *post_data`,并添加`size_t data_len` 参数,用于确定需要发送的数据长度。 + +- `webclient_read` 函数参数改动 + + 该函数入参 `unsigned char *buffer` 修改为 `void *buffer`,用于适配非字符串数据接收。 + +- `webclient_write` 函数参数改动 + + 该函数入参 `const unsigned char *buffer` 修改为 `const void *buffer`,用于适配非字符串数据发送。 + +- `webclient_response` 函数参数改动 + + 该函数入参 `unsigned char **response` 修改为 `void **response`,并且添加参数 `size_t *resp_len`,用于获取接收数据长度信息,适配非字符串数据接收。 + +- `webclient_request` 函数参数改动 + + 该函数入参 `const char *post_data` 修改为 `const void *post_data`,入参 `unsigned char **response` 修改为 `void **response`,并且添加入参 `size_t data_len` 和 `size_t *resp_len`,用于适配非字符串数据接收和发送。 + diff --git a/inc/webclient.h b/inc/webclient.h index 018bd24..45977a2 100644 --- a/inc/webclient.h +++ b/inc/webclient.h @@ -47,8 +47,8 @@ extern "C" { #define web_strdup rt_strdup #endif -#define WEBCLIENT_SW_VERSION "2.1.2" -#define WEBCLIENT_SW_VERSION_NUM 0x20102 +#define WEBCLIENT_SW_VERSION "2.2.0" +#define WEBCLIENT_SW_VERSION_NUM 0x20200 #define WEBCLIENT_HEADER_BUFSZ 4096 #define WEBCLIENT_RESPONSE_BUFSZ 4096