#modio #api #网络服务

app modio-localapi

modio-localapi,一个启用了TLS的Web服务器,用于匹配/v0 modio-api的设备

1 个不稳定版本

0.4.1 2022年11月2日

#1230HTTP服务器

AGPL-3.0-or-later

49KB
697

Modio Localapi

版本和发布

版本已检查到git中的localapi/Cargo.toml和其他文件,应按照Semver兼容性相应升级。

上传的版本(二进制文件)基于Git标签,不需要与cargo版本匹配。

Web框架

tide似乎更适合

https://github.com/http-rs/tide

tls设置在此:https://github.com/http-rs/tide-rustls

运行测试

如果您在运行测试或编译时遇到modio-logger或loggerdb问题,请尝试

SQLX_OFFLINE=true cargo build
SQLX_OFFLINE=true cargo test

SQLX_OFFLINE变量使sqlx工具在库本身中查找它需要的json数据以验证SQL查询。

启动

"cargo run --"可以用作代替调用'./target/debug/localapi'

运行一次

cd localapi
RUST_LOG=debug systemfd --no-pid -s 127.0.0.1:4333 -- \
    cargo run --    --server-cert ../examples/fffbeec0ffee.crt \
                    --server-key ../examples/fffbeec0ffee.key \
                    --ca-cert ../examples/ca.modio.se.crt

使用"cargo watch"

cd localapi
RUST_LOG=debug  systemfd --no-pid -s 127.0.0.1:4333 -- \
      cargo watch -x \
            'run -- --server-cert ../examples/fffbeec1ffee.crt  \
                    --server-key ../examples/fffbeec1ffee.key \
                    --ca-cert ../examples/ca.modio.se.crt'

进行API调用

curl --cacert ca.modio.se.crt \
        --key fffbeec0ffee.key \
        --cert fffbeec0ffee.crt  \
        --resolve fffbeec0ffee:4333:127.0.0.1 -v  \
        -H 'Content-Type: application/json' \
        -d '{"expected":"0", "target":"1", "audit":[]}' \
                        https://fffbeec0ffee:4333/v0/localhost/12.ADE4A7000000.A/config


curl --cacert ca.modio.se.crt \
        --key fffbeec0ffee.key \
        --cert fffbeec0ffee.crt  \
        --resolve fffbeec0ffee:4333:127.0.0.1 -v  \
                https://fffbeec0ffee:4333/v0/localhost/12.ADE4A7000000.A/history/1/2

curl --cacert ca.modio.se.crt \
        --key fffbeec0ffee.key \
        --cert fffbeec0ffee.crt  \
        --resolve fffbeec0ffee:4333:127.0.0.1 -v  \
                https://fffbeec0ffee:4333/v0/localhost/12.ADE4A7000000.A/history

curl --cacert ca.modio.se.crt \
        --key fffbeec0ffee.key \
        --cert fffbeec0ffee.crt  \
        --resolve fffbeec0ffee:4333:127.0.0.1 -v  \
                https://fffbeec0ffee:4333/v0/localhost/12.ADE4A7000000.A

curl --cacert ca.modio.se.crt \
        --key fffbeec0ffee.key \
        --cert fffbeec0ffee.crt  \
        --resolve fffbeec0ffee:4333:127.0.0.1 -v  \
                https://fffbeec0ffee:4333/v0/localhost

curl --cacert ca.modio.se.crt \
        --key fffbeec0ffee.key \
        --cert fffbeec0ffee.crt  \
        --resolve fffbeec0ffee:4333:127.0.0.1 -v  \
                https://fffbeec0ffee:4333/v0

依赖项

~25–38MB
~724K SLoC