body

package
v0.1.1 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jun 16, 2026 License: MIT Imports: 7 Imported by: 0

Documentation

Overview

Package body 负责把命令行的多种输入来源组装成最终请求体。

设计对照 ant: 请求体有三种入口, 按数据形状分工 ——

  1. flags 标量与短结构字段, 用宽松 YAML 解析 (`{role: user, content: "hi"}`)
  2. stdin 文档 完整的 JSON/YAML 请求体, 与 flags 合并, flags 优先
  3. @path 引用 把文件内容内联进任意字符串字段, 二进制自动 base64

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func Merge

func Merge(base, over map[string]any) map[string]any

Merge 把 flags 覆盖到 base (stdin) 之上, flags 优先。

func ParseValue

func ParseValue(s string) (any, error)

ParseValue 把一个 flag 值按宽松 YAML 解析。 纯标量 (model 名、数字、布尔) 与结构 (`{...}` / `[...]`) 都能正确还原。

func ReadStdin

func ReadStdin() (map[string]any, error)

ReadStdin 在 stdin 被管道接入时, 把整段文档解析为 map。 没有管道输入 (终端) 时返回 nil, 不阻塞。

func ResolveFiles

func ResolveFiles(v any) (any, error)

ResolveFiles 递归遍历请求体, 把所有以 @ 开头的字符串替换成文件内容。

@file://path  强制按纯文本读取
@data://path  强制 base64 编码
@path         自动判定: 合法 UTF-8 当文本, 否则 base64
\@literal     转义, 去掉反斜杠后作为字面量 @ 开头字符串

Types

This section is empty.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL