|
|
- 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
- }
|