- refactor jxcontext

This commit is contained in:
gazebo
2019-03-25 14:28:12 +08:00
parent 4e2cd5b26c
commit 82cf7cdb22
2 changed files with 64 additions and 32 deletions

View File

@@ -0,0 +1,57 @@
package auth2
import (
"net/http"
"strings"
"git.rosy.net.cn/baseapi/utils"
"git.rosy.net.cn/jx-callback/globals"
)
type Context struct {
accessUUID string
w http.ResponseWriter
r *http.Request
// mapData map[interface{}]interface{}
}
func NewContext(w http.ResponseWriter, r *http.Request) (ctx *Context) {
ctx = &Context{
w: w,
r: r,
accessUUID: utils.GetUUID(),
}
globals.SugarLogger.Debugf("NewContext ip:%s", ctx.GetRealRemoteIP())
return ctx
}
func (ctx *Context) GetResponseWriter() http.ResponseWriter {
return ctx.w
}
func (ctx *Context) GetRequest() *http.Request {
return ctx.r
}
func (ctx *Context) GetTrackInfo() string {
return ctx.accessUUID
}
// 待删除
func (ctx *Context) GetAccessUUID() string {
return ctx.accessUUID
}
func (ctx *Context) GetRealRemoteIP() (ip string) {
r := ctx.r
if r != nil {
ip = r.Header.Get("X-Forwarded-For")
if ip == "" {
ip = r.Header.Get("X-real-ip")
}
if ip == "" {
ip = strings.Split(r.RemoteAddr, ":")[0]
}
}
return ip
}

View File

@@ -19,12 +19,9 @@ type IAuther interface {
} }
type Context struct { type Context struct {
token string *auth2.Context
accessUUID string token string
userInfo IAuther //*auth.LoginInfo userInfo IAuther //*auth.LoginInfo
w http.ResponseWriter
r *http.Request
mapData map[interface{}]interface{}
} }
const ( const (
@@ -41,22 +38,16 @@ func init() {
func NewWithUserName(notUsed interface{}, userName string, w http.ResponseWriter, r *http.Request) (ctx *Context) { func NewWithUserName(notUsed interface{}, userName string, w http.ResponseWriter, r *http.Request) (ctx *Context) {
ctx = &Context{ ctx = &Context{
token: userName, token: userName,
w: w, Context: auth2.NewContext(w, r),
r: r,
mapData: make(map[interface{}]interface{}),
accessUUID: utils.GetUUID(),
} }
return ctx return ctx
} }
func New(notUsed interface{}, token string, w http.ResponseWriter, r *http.Request) (ctx *Context, errCode string, err error) { func New(notUsed interface{}, token string, w http.ResponseWriter, r *http.Request) (ctx *Context, errCode string, err error) {
ctx = &Context{ ctx = &Context{
token: token, token: token,
w: w, Context: auth2.NewContext(w, r),
r: r,
mapData: make(map[interface{}]interface{}),
accessUUID: utils.GetUUID(),
} }
globals.SugarLogger.Debugf("jxcontext New, token:%s", token) globals.SugarLogger.Debugf("jxcontext New, token:%s", token)
if auth2.IsV2Token(token) { if auth2.IsV2Token(token) {
@@ -118,10 +109,6 @@ func (ctx *Context) GetToken() string {
return ctx.token return ctx.token
} }
func (ctx *Context) GetAccessUUID() string {
return ctx.accessUUID
}
func (ctx *Context) GetLoginInfo() IAuther { func (ctx *Context) GetLoginInfo() IAuther {
return ctx.userInfo return ctx.userInfo
} }
@@ -134,15 +121,3 @@ func (ctx *Context) GetV2AuthInfo() (authInfo *auth2.AuthInfo, err error) {
} }
return nil, auth2.ErrNeedV2Token return nil, auth2.ErrNeedV2Token
} }
func (ctx *Context) GetResponseWriter() http.ResponseWriter {
return ctx.w
}
func (ctx *Context) GetRequest() *http.Request {
return ctx.r
}
func (ctx *Context) GetTrackInfo() string {
return ctx.accessUUID
}