Преглед изворни кода

【修订】修改代码格式,及其他细节

yangjie пре 7 година
родитељ
комит
c0520dd1aa
4 измењених фајлова са 61 додато и 27 уклоњено
  1. 48 16
      docs/api.md
  2. 2 1
      docs/introduction.md
  3. 5 4
      docs/samples.md
  4. 6 6
      docs/user-guide.md

+ 48 - 16
docs/api.md

@@ -2,7 +2,9 @@
 
 ## 创建会话
 
-> struct webclient_session *webclient_session_create(size_t header_sz);
+```c
+struct webclient_session *webclient_session_create(size_t header_sz);
+```
 
 创建客户端会话结构体。
 
@@ -15,7 +17,9 @@
 
 ## 关闭会话连接
 
-> int webclient_close(struct webclient_session *session);
+```c
+int webclient_close(struct webclient_session *session);
+```
 
 关闭传入的客户端会话连接,并释放内存。
 
@@ -28,7 +32,9 @@
 
 ## 发送 GET 请求
 
-> int webclient_get(struct webclient_session *session, const char *URI);
+```c
+int webclient_get(struct webclient_session *session, const char *URI);
+```
 
 发送 HTTP GET 请求命令。
 
@@ -42,7 +48,9 @@
 
 ## 发送获取部分数据的 GET 请求
 
-> int webclient_get_position(struct webclient_session *session, const char *URI, int position);
+```c
+int webclient_get_position(struct webclient_session *session, const char *URI, int position);
+```
 
 发送带有 Range 头信息的 HTTP GET 请求命令,多用于完成断点续传功能。
 
@@ -57,7 +65,9 @@
 
 ## 发送 POST 请求
 
-> int webclient_post(struct webclient_session *session, const char *URI, const char *post_data);
+```c
+int webclient_post(struct webclient_session *session, const char *URI, const char *post_data);
+```
 
 发送 HTTP POST 请求命令,上传数据到 HTTP 服务器。
 
@@ -72,7 +82,9 @@
 
 ## 发送数据
 
-> int webclient_write(struct webclient_session *session, const unsigned char *buffer, size_t size);
+```c
+int webclient_write(struct webclient_session *session, const unsigned char *buffer, size_t size);
+```
 
 发送数据到连接的服务器。
 
@@ -88,7 +100,9 @@
 
 ## 接收数据
 
-> int webclient_read(struct webclient_session *session, unsigned char *buffer, size_t size);
+```c
+int webclient_read(struct webclient_session *session, unsigned char *buffer, size_t size);
+```
 
 从连接的服务器接收数据。
 
@@ -105,7 +119,9 @@
 
 ## 设置接收和发送数据超时时间
 
-> int webclient_set_timeout(struct webclient_session *session, int millisecond);
+```c
+int webclient_set_timeout(struct webclient_session *session, int millisecond);
+```
 
 设置连接的接收和发送数据超时时间。
 
@@ -118,7 +134,9 @@
 
 ## 在请求头中添加字段数据
 
-> int webclient_header_fields_add(struct webclient_session *session, const char *fmt, ...);
+```c
+int webclient_header_fields_add(struct webclient_session *session, const char *fmt, ...);
+```
 
 该函数用于创建会话之后和发送 GET 或 POST 请求之前,用于添加请求头字段数据。
 
@@ -133,7 +151,9 @@
 
 ## 通过字段名获取字段值数据
 
-> const char *webclient_header_fields_get(struct webclient_session *session, const char *fields);
+```c
+const char *webclient_header_fields_get(struct webclient_session *session, const char *fields);
+```
 
 该函数用于发送 GET 或 POST 请求之后,可以通过传入的字段名称获取对应的字段数据。
 
@@ -148,7 +168,9 @@
 
 ## 接收响应数据到指定地址
 
-> int webclient_response(struct webclient_session *session, unsigned char **response);
+```c
+int webclient_response(struct webclient_session *session, unsigned char **response);
+```
 
 该函数用于发送 GET 或 POST 请求之后, 可以接收响应数据到指定地址。
 
@@ -162,7 +184,9 @@
 
 ## 发送 GET/POST 请求并接收响应数据
 
-> int webclient_request(const char *URI, const char *header, const char *post_data, unsigned char **response);
+```c
+int webclient_request(const char *URI, const char *header, const char *post_data, unsigned char **response);
+```
 
 | 参数              | 描述                                |
 |:------------------|:-----------------------------------|
@@ -181,7 +205,9 @@
 
 ## 获取 HTTP 响应状态码
 
-> int webclient_resp_status_get(struct webclient_session *session);
+```c
+int webclient_resp_status_get(struct webclient_session *session);
+```
 
 该函数用于发送 GET 或 POST 请求之后,用于获取返回的响应状态码。
 
@@ -193,7 +219,9 @@
 
 ## 获取 Content-Length 字段数据
 
-> int webclient_content_length_get(struct webclient_session *session);
+```c
+int webclient_content_length_get(struct webclient_session *session);
+```
 
 该函数用于发送 GET 或 POST 请求之后,用于获取返回的 Content-Length 字段数据。
 
@@ -206,7 +234,9 @@
 
 ## 下载文件到本地
 
-> int webclient_get_file(const char *URI, const char *filename);
+```c
+int webclient_get_file(const char *URI, const char *filename);
+```
 
 从 HTTP 服务器下载文件并存放到本地。
 
@@ -220,7 +250,9 @@
 
 ## 上传文件到服务器
 
-> int webclient_post_file(const char *URI, const char *filename, const char *form_data);
+```c
+int webclient_post_file(const char *URI, const char *filename, const char *form_data);
+```
 
 从 HTTP 服务器下载文件并存放到本地。
 

+ 2 - 1
docs/introduction.md

@@ -128,7 +128,8 @@ HTTP 协议中通过返回的状态码信息,判断当前响应状态,WebCli
 - 5xx:服务器端错误--服务器未能实现合法的请求
 
 常见的状态码有以下几种:
-``` 
+
+```c 
 200 OK                        //客户端请求成功
 206 Partial Content           //服务器已经成功处理了部分 GET 请求
 400 Bad Request               //客户端请求有语法错误,不能被服务器所理解

+ 5 - 4
docs/samples.md

@@ -22,10 +22,10 @@ WebClient 软件包提供两个 HTTP Client 示例程序, 分别用于演示软
 ```shell
 RT-Thread online packages
     IoT - internet of things  --->
-	    [*] WebClient: A HTTP/HTTPS Client for RT-Thread    
-	    [ ]   Enable support tls protocol       
-	    [*]   Enable webclient GET/POST samples # 开启 WebClient 测试例程
-	          Version (latest)  --->            # 开启使用最新版本软件包
+        [*] WebClient: A HTTP/HTTPS Client for RT-Thread    
+        [ ]   Enable support tls protocol       
+        [*]   Enable webclient GET/POST samples # 开启 WebClient 测试例程
+              Version (latest)  --->            # 开启使用最新版本软件包
 ```
 
 - 使用 `pkgs --update` 命令下载软件包
@@ -83,4 +83,5 @@ webclient POST request response data :
 RT-Thread is an open source IoT operating system from China!
 msh /> 
 ```
+
 - 在 MSH 中使用命令 `web_post_test [URI]` 格式命令执行 POST 请求示例程序,其中 URI 为用户自定义的支持 POST 请求的地址。

+ 6 - 6
docs/user-guide.md

@@ -39,7 +39,7 @@ RT-Thread online packages
 
 使用 WebClient 软件包发送 GET/POST 请求一般需要完成如下基本流程:
 
-1. **创建客户端会话结构体**
+(1) **创建客户端会话结构体**
 
 ```c
 struct  webclient_header
@@ -64,7 +64,7 @@ struct webclient_session
 
     int content_length;                 //当前接收数据长度(非 chunk 模式)
     size_t content_remainder;           //当前剩余接收数据长度
-	
+    
     rt_bool_t is_tls;                   //当前连接是否是 HTTPS 连接
 #ifdef WEBCLIENT_USING_MBED_TLS
     MbedTLSSession *tls_session;        // HTTPS 协议相关会话结构体
@@ -86,7 +86,7 @@ if (session == RT_NULL)
 }
 ```
 
-2. **拼接头部数据**
+(2) **拼接头部数据**
 
  WebClient 软件包提供两种请求头部发送方式:
 
@@ -107,7 +107,7 @@ webclient_header_fields_add(session, "Content-Length: %d\r\n", strlen(post_data)
 webclient_header_fields_add(session, "Content-Type: application/octet-stream\r\n");
 ```
 
-3. **发送 GET/POST 请求**
+(3) **发送 GET/POST 请求**
 
 头部信息添加完成之后,就可以调用 `webclient_get` 函数或者 `webclient_post` 函数发送 GET/POST 请求命令了,函数中主要操作如下:
 
@@ -133,7 +133,7 @@ if ((resp_status = webclient_get(session, URI)) != 200)
 }
 ```
 
-4. **接收响应的数据**
+(4) **接收响应的数据**
 
 发送 GET/POST 请求之后,可以使用 `webclient_read` 函数接收响应的实际数据。因为响应的实际数据可能比较长,所以往往我们需要循环接收响应数据,指导数据接收完毕。
 
@@ -163,7 +163,7 @@ do
 } while (content_pos < content_length);
 ```
 
-5. 关闭并释放客户端会话结构体
+(5) **关闭并释放客户端会话结构体**
 
 请求发送并接收完成之后,需要使用 `webclient_close` 函数关闭并释放客户端会话结构体,完成整个 HTTP 数据交互流程。