1 个不稳定版本

0.1.0 2024年8月17日

#514网络编程

Download history 117/week @ 2024-08-14

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