feat(httpx): 并入 go-hua/httpx 的 ParseXML 并补齐单元测试

- ParseXML(XML 请求体绑定, 空请求体返回 nil)为 zogo 版本唯一缺口,
  从 go-hua/httpx 并入; 顶层 README 同步补充说明
- 移植 go-hua 全套 httpx 测试(CodeMsg/OkJson/ErrorJson/四种绑定/Validate/
  ParseXML)并新增 Handle/HandleResult/空 body 用例; 修正 README 中
  wsc.New 笔误为 New
This commit is contained in:
2026-09-20 12:37:11 +08:00
parent 96c63fb153
commit e1c0cc1136
4 changed files with 309 additions and 1 deletions
+10
View File
@@ -60,6 +60,16 @@ func parseJSON(c *gin.Context, v any) error {
return json.NewDecoder(c.Request.Body).Decode(v)
}
// ParseXML 显式绑定 XML 请求体到 v(空请求体直接返回 nil)。
// 自 go-hua/httpx 并入:Parse 主流程收口 uri/query/header/json 四种来源,
// XML 报文(如第三方回调)按需显式调用本函数。
func ParseXML(c *gin.Context, v any) error {
if c.Request.ContentLength == 0 {
return nil
}
return c.ShouldBindXML(v)
}
// Validator 请求结构体可实现此接口做自定义校验, 在 binding 校验之前调用
type Validator interface {
Validate() error