inject

package
v0.0.0-...-de18be0 Latest Latest
Warning

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

Go to latest
Published: Dec 20, 2024 License: MIT Imports: 18 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func NewFiberRouter

func NewFiberRouter(conf *pkg.Config, db *gorm.DB, svc *Service) *fiber.App

NewFiberRouter 由於 fiber 本身的限制, error handler 必須分為兩個部分來處理

1. fiber 本身的錯誤: 比如 api route 找不到, 依靠 config.ErrorHandler 進行處理

2. 商業邏輯 service layer 錯誤: 每個 api handler 都必須手動呼叫 adapters.HandleErrorByFiber 商業邏輯錯誤無法依靠 config.ErrorHandler 進行集中處理的原因, 有兩個因素互相影響:

2-1. 所有 mw 執行後 config.ErrorHandler 才會執行. 但 mw 在 handler 之後, 必須取得 http code
2-2. middleware 無法取得 handler route, ref: https://github.com/gofiber/fiber/issues/3138

func NewGinRouter

func NewGinRouter(conf *pkg.Config, db *gorm.DB, svc *Service) *gin.Engine

func NewMessageConsumer

func NewMessageConsumer()

func NewMessageMux

func NewMessageMux(svc *Service)

func ServeFiber

func ServeFiber(port string, debug bool, router *fiber.App)

func ServeGin

func ServeGin(port string, handler http.Handler)

Types

type Infra

type Infra struct {
	MySql *gorm.DB
	Redis *redis.Client
}

func NewInfra

func NewInfra(conf *pkg.Config) (*Infra, error)

type Service

func NewService

func NewService(conf *pkg.Config, infra *Infra) *Service

Jump to

Keyboard shortcuts

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