Documentation
¶
Overview ¶
Package client 统一配置解析、SDK client 创建与 required/optional 认证生命周期。
Index ¶
- func New(options *invocation.RootOptions, token string) (*javdb.Client, error)
- func NewWithDefaultToken(options *invocation.RootOptions) (*javdb.Client, error)
- func RetryAnonymousAuth(c *javdb.Client, errOut io.Writer, fn func() error) error
- func WithOptionalAuth(options *invocation.RootOptions, errOut io.Writer, ...) error
- func WithRequiredAuth(options *invocation.RootOptions, errOut io.Writer, ...) error
- type ReverseSearchSetup
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func New ¶
func New(options *invocation.RootOptions, token string) (*javdb.Client, error)
New 读取配置、校验命令行 host 与 proxy、解析运行时,并在 auto 时先完成线路选择,再构造 携带给定 token 的公开 SDK client。固定 host 完全绕过 route cache 与 selector。基线配置在 host/proxy 无副作用校验与 device UUID provision 之后创建;无效 host/proxy 不落盘,选线 失败也不回滚已创建的本机基线状态。
func NewWithDefaultToken ¶ added in v0.7.0
func NewWithDefaultToken(options *invocation.RootOptions) (*javdb.Client, error)
NewWithDefaultToken 解析运行时与默认账号 token 并构造公开 SDK client; 供管道批处理调用方每次批量只构造一次。解析失败显式返回错误。
func RetryAnonymousAuth ¶ added in v0.7.2
RetryAnonymousAuth 为已经构造好的批处理 client 保留 WithOptionalAuth 的匿名 回退语义:仅在已有 token 被服务端拒绝时清空 token 并重试,不触发自动登录或写入 认证存储。调用方应保证批处理 client 的使用顺序,避免并发请求同时切换 token。
func WithOptionalAuth ¶
func WithOptionalAuth(options *invocation.RootOptions, errOut io.Writer, fn func(*javdb.Client) error) error
WithOptionalAuth 在有 token 时携带默认账户,否则匿名执行;认证失败时保留原有匿名重试。 本地 token 读取先于线路选择,避免只读/匿名命令在离线时被选线失败阻断。
func WithRequiredAuth ¶
func WithRequiredAuth(options *invocation.RootOptions, errOut io.Writer, fn func(*javdb.Client) error) error
WithRequiredAuth 使用默认账户 token 执行 fn;按配置决定是否自动重新登录。 本地账号/token 前置检查先于线路选择:断网或代理不可用时仍先报"请先登录"类错误, 不会因自动选线失败而掩盖认证缺失。错误文本与既有 WithAuthedClient 逐字一致; errOut == nil 时不写提示。
Types ¶
type ReverseSearchSetup ¶ added in v0.7.0
type ReverseSearchSetup struct {
Client *javdb.Client
// Source 是本次调用选中的 source(已展开环境 header);builtin 时
// Name 为 "builtin"。
Source javdb.ReverseSearchSource
// CacheEnabled 反映配置与 --no-cache 之外的缓存开关。
CacheEnabled bool
// HTTPClient 是装配了最终代理配置的 HTTP client,供图片 URL 读取与
// provider 请求共用(图片 URL、provider、JavDB 共用同一代理契约)。
HTTPClient *http.Client
}
ReverseSearchSetup 是一次反搜调用所需的公开 SDK client 与已解析 source。
func NewReverseSearchClient ¶ added in v0.7.0
func NewReverseSearchClient(options *invocation.RootOptions, token, explicitSource string) (*ReverseSearchSetup, error)
NewReverseSearchClient 解析反搜配置(含环境 header 展开)、装配本机文件 缓存并构造携带反搜选项的公开 SDK client。explicitSource 非空时覆盖 default_source。配置损坏显式失败,绝不偷回 builtin。