Documentation
¶
Index ¶
- Constants
- Variables
- func ClientIPFromCtx(c *zip.Ctx) string
- func FileExist(path string) bool
- func FilterField(field string) bool
- func FilterQuery(urlString string, blackList []string) string
- func GenerateId() string
- func GetClientIP(xForwardedFor, remoteAddr string) string
- func GetCurrentTime() string
- func GetDescFromIP(ip string) string
- func GetDescFromUserAgent(userAgent string) string
- func GetIPFromRequest(req *http.Request) string
- func GetIPInfo(clientIP string) string
- func GetIdFromOwnerAndName(owner string, name string) string
- func GetOwnerAndNameFromId(id string) (string, string)
- func GetOwnerAndNameFromId3(id string) (string, string, string)
- func GetOwnerAndNameFromId3New(id string) (string, string, string)
- func GetOwnerAndNameFromIdNoCheck(id string) (string, string)
- func IndexAt(s, sep string, n int) int
- func Init(dataFile string) (err error)
- func InitIpDb()
- func InitParser()
- func InitWithData(data []byte)
- func JsonToStruct(data string, v interface{}) error
- func ListFiles(path string) []string
- func LogInfo(c *zip.Ctx, f string, v ...interface{})
- func Paginate(page string, perPage int, total int64) (offset int, nums int64)
- func ParseFloat(s string) float64
- func ParseInt(s string) int
- func ParseIntWithError(s string) (int, error)
- func ReadBytesFromPath(path string) []byte
- func ReadStringFromPath(path string) string
- func SnakeString(s string) string
- func StructToJson(v interface{}) string
- func WriteBytesToPath(b []byte, path string)
- func WriteStringToPath(s string, path string)
- type LocationInfo
- type Locator
Constants ¶
const Null = "N/A"
Variables ¶
var ( ReWhiteSpace *regexp.Regexp ReFieldWhiteList *regexp.Regexp )
var (
ErrInvalidIp = errors.New("invalid IP format")
)
var Parser *uaparser.Parser
Functions ¶
func ClientIPFromCtx ¶ added in v1.108.15
ClientIPFromCtx resolves the formatted client-IP description from a ZAP request context — the ZAP counterpart of GetIPFromRequest.
func FilterField ¶
func FilterQuery ¶
func GenerateId ¶
func GenerateId() string
func GetClientIP ¶ added in v1.108.15
GetClientIP formats the client IP description from the raw x-forwarded-for header and the transport remote address — the transport-agnostic core shared by the net/http path (GetIPFromRequest) and the ZAP path (a zip.Ctx hands the header plus its fasthttp RemoteAddr). x-forwarded-for wins; otherwise the remote address host is parsed (IPv4 host:port or bracketed IPv6).
func GetCurrentTime ¶
func GetCurrentTime() string
func GetDescFromIP ¶
func GetDescFromUserAgent ¶
func GetIPFromRequest ¶
func GetIdFromOwnerAndName ¶
func GetOwnerAndNameFromId ¶
func InitParser ¶
func InitParser()
func JsonToStruct ¶
func LogInfo ¶
LogInfo writes a request-scoped info line prefixed with the caller IP, read from the ZAP request context (x-forwarded-for, else the fasthttp remote addr).
func Paginate ¶ added in v1.108.15
Paginate is the ONE offset/total helper the list handlers use, replacing Beego's pagination.SetPaginator: given the 1-based page string, the page size and the total row count, it returns the SQL offset and the total (echoed back to the client as data2 for its own page math). page < 1 clamps to the first page, matching Beego's Paginator.Page() lower bound.
func ParseFloat ¶
func ParseIntWithError ¶
func ReadBytesFromPath ¶
func ReadStringFromPath ¶
func StructToJson ¶
func StructToJson(v interface{}) string
func WriteBytesToPath ¶
func WriteStringToPath ¶
Types ¶
type LocationInfo ¶
func Find ¶
func Find(ipstr string) (*LocationInfo, error)
Find locationInfo by ip string It will return err when ipstr is not a valid format
type Locator ¶
type Locator struct {
// contains filtered or unexported fields
}
func NewLocator ¶
New locator with dataFile
func (*Locator) Find ¶
func (loc *Locator) Find(ipstr string) (info *LocationInfo, err error)
Find locationInfo by ip string It will return err when ipstr is not a valid format
func (*Locator) FindByUint ¶
func (loc *Locator) FindByUint(ip uint32) (info *LocationInfo)
Find locationInfo by uint32