12345678910111213141516171819202122232425262728293031323334353637383940414243 |
- package gogen
- import (
- _ "embed"
- "strings"
- "github.com/wuntsong-org/go-zero-plus/tools/goctlwt/api/spec"
- "github.com/wuntsong-org/go-zero-plus/tools/goctlwt/config"
- "github.com/wuntsong-org/go-zero-plus/tools/goctlwt/util/format"
- )
- //go:embed middleware.tpl
- var middlewareImplementCode string
- func genMiddleware(dir string, cfg *config.Config, api *spec.ApiSpec) error {
- middlewares := getMiddleware(api)
- for _, item := range middlewares {
- middlewareFilename := strings.TrimSuffix(strings.ToLower(item), "middleware") + "_middleware"
- filename, err := format.FileNamingFormat(cfg.NamingFormat, middlewareFilename)
- if err != nil {
- return err
- }
- name := strings.TrimSuffix(item, "Middleware") + "Middleware"
- err = genFile(fileGenConfig{
- dir: dir,
- subdir: middlewareDir,
- filename: filename + ".go",
- templateName: "contextTemplate",
- category: category,
- templateFile: middlewareImplementCodeFile,
- builtinTemplate: middlewareImplementCode,
- data: map[string]string{
- "name": strings.Title(name),
- },
- })
- if err != nil {
- return err
- }
- }
- return nil
- }
|