1 Star 0 Fork 0

妙音/kits

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
克隆/下载
handler.go 1.05 KB
一键复制 编辑 原始数据 按行查看 历史
妙音 提交于 2020-10-29 09:32 . feat: 增加web模拟测试数据功能
package webs
import (
"io/ioutil"
"strings"
"github.com/kataras/iris/v12"
"github.com/lithammer/shortuuid"
"gopkg.in/yaml.v3"
)
// Handler 句柄
type Handler struct {
Method string // GET POST PUT DELETE
Path string // 路径
File string // 文件
Type string // Binary,Text,HTML,JSON,JSONP,XML
data []byte //
}
// Handler 句柄
func (h *Handler) Handler() iris.Handler {
if h.data == nil {
h.data, _ = ioutil.ReadFile(h.File)
}
return func(ctx iris.Context) {
if h.data == nil {
return
}
if strings.EqualFold(h.Type, "Json") {
json := string(h.data)
ctx.Text(strings.ReplaceAll(json, "UUID", shortuuid.New()))
ctx.Header("Content-Type", "application/json")
return
}
if strings.EqualFold(h.Type, "Text") {
ctx.Text(string(h.data))
return
}
if strings.EqualFold(h.Type, "Binary") {
ctx.Binary(h.data)
return
}
}
}
// Load 加载
func Load(file string) (hs []Handler, err error) {
var bs []byte
if bs, err = ioutil.ReadFile(file); err != nil {
return
}
err = yaml.Unmarshal(bs, &hs)
return
}
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
Go
1
https://gitee.com/xuender/kits.git
git@gitee.com:xuender/kits.git
xuender
kits
kits
v0.1.2

搜索帮助