| 28 | ) |
| 29 | |
| 30 | func HandleORGIDMiddleware() gin.HandlerFunc { |
| 31 | return func(ctx *gin.Context) { |
| 32 | orgID := mcommon.DEFAULT_ORG_ID |
| 33 | orgIDString := ctx.Request.Header.Get(common.HEADER_KEY_X_ORG_ID) |
| 34 | if len(orgIDString) != 0 { |
| 35 | var err error |
| 36 | orgID, err = strconv.Atoi(orgIDString) |
| 37 | if err != nil { |
| 38 | response.JSON(ctx, response.SetOptStatus(httpcommon.ORG_ID_INVALID), response.SetError(fmt.Errorf("invalid header (%s) value (%s)", common.HEADER_KEY_X_ORG_ID, orgIDString))) |
| 39 | ctx.Abort() |
| 40 | return |
| 41 | } |
| 42 | } |
| 43 | ctx.Set(common.HEADER_KEY_X_ORG_ID, orgID) |
| 44 | |
| 45 | var err error |
| 46 | userType, userID := common.DEFAULT_USER_TYPE, common.DEFAULT_USER_ID |
| 47 | userTypeString := ctx.Request.Header.Get(common.HEADER_KEY_X_USER_TYPE) |
| 48 | if len(userTypeString) != 0 { |
| 49 | userType, err = strconv.Atoi(userTypeString) |
| 50 | if err != nil { |
| 51 | ctx.Abort() |
| 52 | return |
| 53 | } |
| 54 | } |
| 55 | userIDString := ctx.Request.Header.Get(common.HEADER_KEY_X_USER_ID) |
| 56 | if len(userIDString) != 0 { |
| 57 | userID, err = strconv.Atoi(userIDString) |
| 58 | if err != nil { |
| 59 | ctx.Abort() |
| 60 | return |
| 61 | } |
| 62 | } |
| 63 | ctx.Set(common.HEADER_KEY_X_USER_TYPE, userType) |
| 64 | ctx.Set(common.HEADER_KEY_X_USER_ID, userID) |
| 65 | |
| 66 | ctx.Next() |
| 67 | } |
| 68 | } |