awtk-restful-httpd怎么配置

发布时间:2021-12-29 13:59:12 作者:iii
来源:亿速云 阅读:175

这篇文章主要介绍“awtk-restful-httpd怎么配置”,在日常操作中,相信很多人在awtk-restful-httpd怎么配置问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”awtk-restful-httpd怎么配置”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!

1. 介绍

在嵌入式应用程序中,有时需要提供一个 WEB 服务,用于对系统进行远程配置和管理。

awtk-restful-httpd 实现了一个 RESTful HTTP 服务框架,可以帮助开发者快速实现 RESTful API 风格的 WEB 服务。主要特色有:

2 准备

2.1 获取 awtk 并编译

git clone https://github.com/zlgopen/awtk.git
cd awtk; scons; cd -

2.2 获取 awtk-restful-httpd 并编译

git clone https://github.com/zlgopen/awtk-restful-httpd.git
cd awtk-restful-httpd
python ./scripts/update_res.py all

或者通过 designer 生成资源

scons
scons LINUX_FB=true

完整编译选项请参考 编译选项

3. 运行

./bin/demo

4. 示例

4.1 定义路由表

static ret_t my_httpd_on_status(http_connection_t* c) {
  return RET_OK;
}

static ret_t my_httpd_on_element_action(http_connection_t* c) {
  return RET_OK;
}

static const http_route_entry_t s_my_httpd_routes[] = {
  {HTTP_GET, "/status", my_httpd_on_status},
  {HTTP_GET, "element/:element/:action", my_httpd_on_element_action}
};

4.2 静态文件

内置提供了静态文件的处理,支持静态文件处理相当容易。

static ret_t my_httpd_on_get_file(http_connection_t* c) {
  return http_route_handle_static_file(c, "static");
}

"static"在这里表示静态文件所在的目录。

路由匹配规则用“*”表示缺省路由,放到最后一项,用来处理静态文件。

{HTTP_GET, "*", my_httpd_on_get_file},

4.3 静态文件传输优化

有些大的文件,特别是文本文件,可以压缩之后传输,能大大提供传输效率。为了避免运行时压缩带来的内存和 CPU 开销,可以预先压缩文件,并以.gz 文件命名。

比如请求 static/js/awtk_asm.wasm 文件时,如果存在 static/js/awtk_asm.wasm.gz,那么就返回 static/js/awtk_asm.wasm.gz 给客户端,并设置 Content-Encoding,浏览器会自动解压。

Content-Encoding: gzip

4.4 启动服务

ret_t my_httpd_start(httpd_t* httpd) {
  return_value_if_fail(httpd != NULL, RET_BAD_PARAMS);

  httpd_set_routes(httpd, s_my_httpd_routes, ARRAY_SIZE(s_my_httpd_routes));
  
  return httpd_start(httpd);
}

到此,关于“awtk-restful-httpd怎么配置”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注亿速云网站,小编会继续努力为大家带来更多实用的文章!

推荐阅读:
  1. memcache配置
  2. 华为 配置NAT 配置PNAT

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

awtk restful httpd

上一篇:AWTK输入事件记录与重放的方法是什么

下一篇:AWTK控件焦点相关问题有哪些

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》