BT编程语言文档

net Web 服务

功能

net.listen({type:'web'}) 启动 BT Web 服务。每个请求都会执行站点入口 BT 文件,并注入 web 请求上下文对象。

语法

参数

net.listen() 接收配置对象:

参数类型必填默认值说明
typestring固定为 web
bindstring0.0.0.0:8080监听地址,格式为 host:port
sitesArray站点配置列表,至少一个

站点配置字段:

字段类型必填默认值说明
domainsArray[]域名列表;为空时作为默认站点
rootstringweb/BT Web 项目目录
entrystringmain.bt请求入口 BT 文件
upload.tempstringtemp/上传文件临时目录
static.routestring/static/{**}静态资源路由
static.pathstringroot + 'static/'静态资源目录
static.defaultstringindex.html静态目录默认文件
static.listboolfalse是否允许目录列表
ssl.certstringTLS 证书文件路径
ssl.keystringTLS 私钥文件路径

返回值

返回 WebServer 对象。

字段/方法类型说明
addrstring实际监听地址
typestring固定为 web
close()fn关闭当前 Web 服务,返回 true

请求入口

入口文件中可以读取请求数据:

也可以设置响应头、状态码和 JSON 内容:

静态资源

配置 static 后,匹配静态路由的请求会优先读取静态目录。

注意事项

  • sites 不能为空,否则启动失败。
  • Web 服务基于异步运行器和多线程 worker,BT_WEB_WORKERS 环境变量可覆盖 worker 数量。
  • 入口文件所有路径按配置中的 rootentry 解析。
  • Web 请求参数统一从 web 对象读取,例如 web.getweb.postweb.cookieweb.session
  • 不再向全局作用域注入请求参数别名,旧请求上下文入口也已删除。
  • 请求响应体优先使用 print / println 输出;如果没有输出,则使用入口文件最后一个表达式的返回值。
  • 默认响应 Content-Typetext/html; charset=utf-8,可用 web.header() 覆盖。