3 个版本

0.0.4 2020 年 8 月 25 日
0.0.3 2020 年 8 月 24 日
0.0.1 2020 年 8 月 16 日

1522开发工具

MIT/Apache

81KB
2K SLoC

微型语言

Rust

JSON 表达的最小化且安全的编程语言

安装

cargo install pico-lang

构建

cargo build

或直接运行

cargo run

启用 nats(不完整)

cargo run --features srv_nats

PicoRules

JSON 格式的文件,封装了您的逻辑

查看 simple.json 示例规则文件

使用以下命令启动服务器

cargo run -- --rules simple.json

提交规则执行

curl -X POST localhost:8000/submit -d '{"nochicken": 1}' -H 'Content-Type: application/json'

返回

{"namespaced":{},"input":{"nochicken":1},"locals":{"enochicken":"must be no hens"}}

并且用一只鸡

curl -X POST localhost:8000/submit -d '{"chicken": 1}' -H 'Content-Type: application/json'

返回

{"locals":{"egg":"must have been layed"},"namespaced":{},"input":{"chicken":1}}

提交 warp

curl -v -X POST localhost:8000/submit -d '{"xp": "x1xxx", "y": "y2"}' -H 'Content-Type: application/json'
curl -v -X POST localhost:8000/submit -d '{"xp": "x1xxx", "y": "y2", "json": {"ja": "rules}}' -H 'Content-Type: application/json'

基准测试

wrk -t 5 -c 40 -s bench/sub.lua https://127.0.0.1:8000/submit

依赖项

~30–44MB
~800K SLoC