package container import ( "errors" "fmt" "github.com/go-xorm/xorm" "github.com/kataras/iris/v12" ) // 请求上下文 type RequestContext struct { // 请求标识 requestId string // Web上下文 webContext iris.Context // XORM会话 session *xorm.Session } // 创建会话上下文 // 参数 // 1.请求标识 // 2.Web上下文 // 3.XORM会话 // 返回值: // 1.会话上下文 // 2.错误 func NewRequestContext(requestId string, webContext iris.Context) (*RequestContext, error) { if requestId == "" { return nil, errors.New(fmt.Sprintf("请求标识不能为空!")) } if webContext == nil { return nil, errors.New(fmt.Sprintf("Web上下文不能为空!")) } return &RequestContext{requestId: requestId, webContext: webContext}, nil } // 获取请求标识 // 返回值: // 1.请求标识 func (context *RequestContext) RequestId() string { return context.requestId } // 获取Web上下文 // 返回值: // 1.Web上下文 func (context *RequestContext) WebContext() iris.Context { return context.webContext } // 获取XORM会话 // 返回值: // 1.XORM会话 func (context *RequestContext) Session() *xorm.Session { return context.session }