1个不稳定版本
使用旧的Rust 2015
0.1.0 | 2018年5月3日 |
---|
#2651 in 数据库接口
23KB
411 行
qui-vive-rs
始终处于警觉状态的关键值存储和URL缩短器。
使用 cargo run
在默认选项下本地构建和运行 qui-vive。
命令行界面
USAGE:
qui-vive [FLAGS] [OPTIONS]
FLAGS:
-h, --help Prints help information
-V, --version Prints version information
-v Sets the level of verbosity
OPTIONS:
--cache-type <type> The cache type (redis, memory)
--external-url <URL> The external URL (https://qui-vive.link)
--id-charset <charset> The generated id character set
--id-length <length> The generated id length
--listener-url <URL> The listener URL (http://127.0.0.1:8080)
--redis-hostname <hostname[:port]> The redis hostname
--redis-password <password> The redis password
示例用法
默认情况下,qui-vive将数据存储在内存缓存中,并监听localhost HTTP端口8080。
首先,检查qui-vive是否正在运行且状态良好
$ curl -w "%{http_code}" http://127.0.0.1:8080/health
200
如果您没有收到HTTP 200 OK响应,则qui-vive可能没有正常工作。
键值存储
使用POST请求在/key上创建一个带有生成id的新值。可以用于检索值的URL在HTTP响应体中返回。
$ curl -X POST http://127.0.0.1:8080/key -d "this is my sample data"
http://127.0.0.1:8080/key/xXq3FSJK5
使用返回的URL获取值并确认它符合预期
$ curl http://127.0.0.1:8080/key/xXq3FSJK5
this is my sample data
也可以使用相同的URL直接通过浏览器获取值。
URL缩短器
使用POST请求在/url上创建一个将重定向到较长的URL的短URL。可以用于重定向到长URL的短URL在HTTP响应体中返回。
curl -X POST http://127.0.0.1:8080/url -d "https://github.com/wayk/qui-vive-rs/"
http://127.0.0.1:8080/TwfdpHQJC
如果您在浏览器中使用短URL,它应该正确地重定向到长URL。否则,请使用curl确认它是否正常工作。
$ curl -w "%{redirect_url}" http://127.0.0.1:8080/stgQBECEz
https://github.com/wayk/qui-vive-rs/
邀请链接
邀请链接功能是键值存储和URL缩短器的组合。想法是生成一个指向页面的短链接,然后使用查询参数中的id提供者从键值存储加载数据。
创建一个重定向到 https://contoso.com/meeting?id= 的邀请
$ curl -X POST http://127.0.0.1:8080/inv \
> -H "QuiVive-IdParam: id" \
> -H "QuiVive-DstUrl: https://contoso.com/meeting" \
> -d '{"meeting":"master plan","organizer":"[email protected]"}'
http://127.0.0.1:8080/KT2HKxVRi
获取目标URL
$ curl -w "%{redirect_url}" http://127.0.0.1:8080/KT2HKxVRi
https://contoso.com/meeting?id=KT2HKxVRi
获取相关数据
$ curl http://127.0.0.1:8080/key/KT2HKxVRi
{"meeting":"master plan","organizer":"[email protected]"}
目标页面应使用URL中的id=查询参数获取相关数据并向用户展示邀请信息。
依赖关系
~18–29MB
~447K SLoC