cmd

package
v0.2.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: May 18, 2024 License: MIT Imports: 17 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	Main = gcmd.Command{
		Name:  "main",
		Usage: "main",
		Brief: "start http server",
		Func: func(ctx context.Context, parser *gcmd.Parser) (err error) {

			runtime.SetMutexProfileFraction(1)
			runtime.SetBlockProfileRate(1)

			s := g.Server()
			s.EnablePProf()

			s.BindHookHandler("/*", ghttp.HookBeforeServe, beforeServeHook)

			s.Group("/", func(r *ghttp.RouterGroup) {
				r.Bind(
					func(r *ghttp.Request) {
						r.Response.WriteStatus(http.StatusOK, "Hello FastAPI")
						r.Exit()
						return
					},
				)
			})

			s.Group("/v1", func(v1 *ghttp.RouterGroup) {

				v1.Middleware(middleware)
				v1.Middleware(middlewareHandlerResponse)

				v1.Group("/chat", func(g *ghttp.RouterGroup) {
					g.Bind(
						chat.NewV1(),
					)
				})

				v1.Group("/images", func(g *ghttp.RouterGroup) {
					g.Bind(
						image.NewV1(),
					)
				})

				v1.Group("/dashboard", func(g *ghttp.RouterGroup) {
					g.Bind(
						dashboard.NewV1(),
					)
				})
			})

			s.Group("/mj", func(v1 *ghttp.RouterGroup) {

				v1.Middleware(middleware)
				v1.Middleware(middlewareHandlerResponse)

				v1.Group("/", func(g *ghttp.RouterGroup) {
					g.Bind(
						midjourney.NewV1(),
					)
				})
			})

			if config.Cfg.ApiServerAddress != "" {
				s.SetAddr(config.Cfg.ApiServerAddress)
			}

			s.Run()
			return nil
		},
	}
)

Functions

This section is empty.

Types

This section is empty.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL