1 个不稳定版本

0.1.0 2024年8月17日

#514网络编程

Download history • Rust 包仓库 117/week @ 2024-08-14 • Rust 包仓库

117 每月下载量

MIT 许可证

245KB
6K SLoC

Continuous Integration

什么是WireMan?

WireMan是一个基于终端的、用户友好的gRPC客户端。它从配置文件中读取 .proto 文件并记录请求历史。WireMan是开发者在终端直接测试gRPC端点的理想选择。

开始使用WireMan

本指南将指导您设置和运行WireMan的步骤。

先决条件

安装

使用 cargo 安装

cargo install wireman

手动安装

  1. 克隆仓库

    git clone https://github.com/preiter93/wireman.git
    
  2. 以发布模式构建

    cd wireman
    cargo build --release
    
  3. 将二进制文件复制到您的 PATH,例如

    cp target/release/wireman /usr/local/bin
    

    或者,您可以在 .bashrc.zshrc 文件中创建二进制的别名

    echo "alias wireman='CURRENT_DIRECTORY/target/release/wireman'" >> ~/.zshrc
    

配置

  1. 设置 WIREMAN_CONFIG_DIR 环境变量以指定配置文件所在目录

    export WIREMAN_CONFIG_DIR=~/.config/wireman
    
  2. 创建 WIREMAN_CONFIG_DIR 中指定的目录

    mkdir -p ~/.config/wireman
    
  3. 在指定目录中创建一个 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.
    

    将项目适当的值替换进去。

  4. 可选,现在您可以验证设置配置

    wireman check 
    

用法

  1. 在配置中添加了 protos 后,启动 wireman

  2. 基本键映射显示在每个页面的页脚中。要获取更多帮助,请按 ? 并用 ?Esc 关闭。如果要完全关闭应用程序,请输入 Ctrl+c

  3. WireMan 的第一页将列出您的 gRPC 服务及其方法。您可以使用 up/downj/k 进行导航,使用 Enter 选择或使用 Esc 取消选择,然后按 Tab

  4. 第二页是消息屏幕。编辑您的请求消息,您可以使用Ctrl+f进行格式化。然后点击制表符。编辑器的导航灵感来自vim:使用hjkl进行移动,使用i进入插入模式,使用Esc退出插入模式。更多详情请参考edtui

  5. 第三页是配置屏幕,您可以在此编辑地址或元数据。Wireman允许使用bash脚本来获取您的令牌。在承载令牌字段中放置您的脚本名称,它必须在您的PATH中,格式为$()。例如,如果您有一个名为getToken.sh的bash脚本,该脚本打印承载令牌ey...,您将使用$(getToken.sh)(脚本输出不应包含单词'Bearer',因为它会自动添加)。可以使用Ctrl+a添加额外的标题,使用Ctrl+d删除。使用Shift+Tab或点击两次制表符跳转到请求页面。

  6. 现在您可以点击Enter键来发出请求。您可以使用Ctrl+s保存它。保存的请求存储在1到5的位置。通过点击相应的数字切换到位置。您可以使用Ctrl+d恢复默认请求,这将删除历史记录。您也可以使用Esc取消请求。要复制响应:通过点击向下导航到响应,按v进入视觉模式,选择所有内容,然后按y复制所选文本。或者按照第6步操作。

  7. 如果您想将当前请求作为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