// Package implement ... // // Description : implement ... // // Author : go_developer@163.com<白茶清欢> // // Date : 2025-05-07 14:53 package implement import ( "git.zhangdeman.cn/zhangdeman/network/httpclient/abstract" "git.zhangdeman.cn/zhangdeman/serialize" ) // ResponseParserTable 响应数据解析器 // 此处为内置解析实现, 未加锁, 未做并发安全处理 // 原因: 无论 Add 还是 Delete, 均应在服务初始化阶段调用, 而在服务完成初始化, 完全启动之后, 应该只有读操作 // 如果强要运行时, 动态操作此配置表, 需在外部调用处自行加锁 // 也可完全自行实现相关解析实例, 在请求时通过 RequestOption 传入, 则控制权完全贵开发者所有 var ResponseParserTable = map[string]abstract.IResponseParser{ "json": serialize.JSON, "xml": serialize.Xml, "yml": serialize.Yml, "toml": serialize.Toml, "yaml": serialize.Yml, "text": serialize.JSON, } // AddResponseParser 新增一个解析实现 func AddResponseParser(t string, parser abstract.IResponseParser) { ResponseParserTable[t] = parser } // RemoveResponseParser 移除一个解析实现 func RemoveResponseParser(t string) { delete(ResponseParserTable, t) }