1 个不稳定版本
新 0.1.0 | 2024年8月17日 |
---|
#514 在 网络编程
117 每月下载量
245KB
6K SLoC
什么是WireMan?
WireMan是一个基于终端的、用户友好的gRPC客户端。它从配置文件中读取 .proto
文件并记录请求历史。WireMan是开发者在终端直接测试gRPC端点的理想选择。
开始使用WireMan
本指南将指导您设置和运行WireMan的步骤。
先决条件
- Rust:[所需最低Rust版本为1.70] (安装指南)
安装
使用 cargo 安装
cargo install wireman
手动安装
-
克隆仓库
git clone https://github.com/preiter93/wireman.git
-
以发布模式构建
cd wireman cargo build --release
-
将二进制文件复制到您的 PATH,例如
cp target/release/wireman /usr/local/bin
或者,您可以在
.bashrc
或.zshrc
文件中创建二进制的别名echo "alias wireman='CURRENT_DIRECTORY/target/release/wireman'" >> ~/.zshrc
配置
-
设置
WIREMAN_CONFIG_DIR
环境变量以指定配置文件所在目录export WIREMAN_CONFIG_DIR=~/.config/wireman
-
创建
WIREMAN_CONFIG_DIR
中指定的目录mkdir -p ~/.config/wireman
-
在指定目录中创建一个
wireman.toml
文件。以下是一个示例配置includes = [ "$HOME/your-project" ] files = [ "a-proto-file-in-your-project.proto" ] [server] default_address = "https://127.0.0.1:50051" [history] directory = "$WIREMAN_CONFIG_DIR/history" # Optional. Defaults to $WIREMAN_CONFIG_DIR/history. autosave = true # Optional. Autosaves history on request. Defaults to true. disabled = false # Optional. History is enabled by default. [logging] directory = "$WIREMAN_CONFIG_DIR" # Optional. Defaults to $WIREMAN_CONFIG_DIR. level = "Debug" # Optional. Defaults to Debug. # [ui] # skin = "$WIREMAN_CONFIG_DIR/skins/dracula.toml" # Optional. Set a UI theme.
将项目适当的值替换进去。
-
可选,现在您可以验证设置配置
wireman check
用法
-
在配置中添加了 protos 后,启动
wireman
。 -
基本键映射显示在每个页面的页脚中。要获取更多帮助,请按
?
并用?
或Esc
关闭。如果要完全关闭应用程序,请输入Ctrl+c
。 -
WireMan 的第一页将列出您的 gRPC 服务及其方法。您可以使用
up
/down
或j
/k
进行导航,使用Enter
选择或使用Esc
取消选择,然后按Tab
。 -
第二页是消息屏幕。编辑您的请求消息,您可以使用
Ctrl+f
进行格式化。然后点击制表符。编辑器的导航灵感来自vim:使用h
、j
、k
、l
进行移动,使用i
进入插入模式,使用Esc
退出插入模式。更多详情请参考edtui。 -
第三页是配置屏幕,您可以在此编辑地址或元数据。Wireman允许使用bash脚本来获取您的令牌。在承载令牌字段中放置您的脚本名称,它必须在您的PATH中,格式为
$()
。例如,如果您有一个名为getToken.sh
的bash脚本,该脚本打印承载令牌ey...
,您将使用$(getToken.sh)
(脚本输出不应包含单词'Bearer',因为它会自动添加)。可以使用Ctrl+a
添加额外的标题,使用Ctrl+d
删除。使用Shift+Tab或点击两次制表符跳转到请求页面。 -
现在您可以点击Enter键来发出请求。您可以使用
Ctrl+s
保存它。保存的请求存储在1到5的位置。通过点击相应的数字切换到位置。您可以使用Ctrl+d
恢复默认请求,这将删除历史记录。您也可以使用Esc取消请求。要复制响应:通过点击向下导航到响应,按v
进入视觉模式,选择所有内容,然后按y
复制所选文本。或者按照第6步操作。 -
如果您想将当前请求作为gRPCurl命令获取,请在请求选项卡上点击
Ctrl+y
,它将被复制到您的剪贴板。
故障排除
Wireman将重要信息和错误记录到日志中,以帮助故障排除。默认情况下,日志存储在$WIREMAN_CONFIG_DIR/wireman.log
。如果在使用应用程序时遇到任何意外行为或错误,请务必检查此日志文件。
如果您无法自己解决问题或需要进一步的帮助,请不要犹豫,请打开一个问题。
自定义皮肤
Wireman允许用户通过添加自定义皮肤来自定义UI的外观。要这样做,只需在wireman.toml
文件配置中指定所需的皮肤文件。
[ui]
skin = "path_to_file/custom_skin.toml"
有关预制的主题集合,请查看Wireman主题存储库。
演示
路线图
- 一元gRPC
- 设置主机地址
- 设置认证头
- 请求历史
- 重复/嵌套字段的默认值
- 从剪贴板粘贴
- 将请求作为grpcurl命令粘贴
- 类似Vim的编辑体验
- 显示加载指示器
- 元数据头
- 提供安装帮助
- 自定义主题
计划中
- 在应用程序中编辑配置文件
可能
- 流式gRPC
依赖关系
~32–48MB
~824K SLoC