MCPcopy Create free account

hub / github.com/AutoBingo/Gin-IPs / functions

Functions90 in github.com/AutoBingo/Gin-IPs

↓ 33 callersFunctionLog
(ml MongoLog)
src/utils/database/mongodb/mongo.go:41
↓ 20 callersMethodClose
关闭连接
src/utils/database/mongodb/mongo.go:106
↓ 9 callersFunctionNewConnection
初始化db连接
src/utils/database/mongodb/mongo.go:97
↓ 4 callersMethodStart
监听请求、监听信号
src/service/server.go:42
↓ 3 callersMethodFindOne
查找单个文档, sort 等于1表示 返回最旧的,sort 等于-1 表示返回最新的 * BSON(二进制编码的JSON) D家族 bson.D D:一个BSON文档。这种类型应该在顺序重要的情况下使用,比如MongoDB命令。 M:一张无序的map。它和D是一样的,只是它不保持顺序。 A:一个B
src/utils/database/mongodb/mongo.go:161
↓ 3 callersMethodInsertOne
插入单个
src/utils/database/mongodb/mongo.go:114
↓ 3 callersMethodWrite
(b []byte)
src/route/middleware/logger.go:59
↓ 2 callersFunctionCoverInterfaceToString
CoverInterfaceToString 将其他类型转换成字符串
test/gin-api.go:143
↓ 2 callersMethodFindAll
返回查找条件的全部文档记录 project 不能混合 True 和 False
src/utils/database/mongodb/mongo.go:241
↓ 2 callersMethodGetId
生成方法一定要挂载在某个woker下,这样逻辑会比较清晰 指定某个节点生成id
src/utils/uuid/uuid.go:51
↓ 2 callersMethodInitError
(msg string)
src/configure/gin_config.go:34
↓ 2 callersMethodInsertMany
插入多个文档
src/utils/database/mongodb/mongo.go:131
↓ 2 callersMethodWriteString
(s string)
src/route/middleware/logger.go:63
↓ 2 callersFunctiondestroyMgoPool
()
src/service/reload.go:119
↓ 2 callersFunctioninsertInstances
(instArr []interface{})
src/dao/insert_db.go:11
↓ 2 callersMethodlazyinit
()
src/route/request/lazy_init_v10.go:37
↓ 1 callersMethodCollectionCount
快速统计集合中所有文档的数量
src/utils/database/mongodb/mongo.go:283
↓ 1 callersFunctionCreatePool
连接池创建
src/utils/database/mongodb/mongo.go:57
↓ 1 callersMethodDeleteAll
* 根据条件删除全部 */
src/utils/database/mongodb/mongo.go:325
↓ 1 callersMethodFindLimit
* 查询多个 sort 等于1表示 返回最旧的,sort 等于-1 表示返回最新的 每次只返回1页 page size 大小的数据 project 不能混合 True 和 False */
src/utils/database/mongodb/mongo.go:191
↓ 1 callersFunctionGetMapKeysSorted
(oriMap map[string]interface{})
test/gin-api.go:164
↓ 1 callersMethodHandlerSignal
(httpServer *http.Server)
src/service/reload.go:53
↓ 1 callersFunctionInitYaml
根据yaml文件初始化通用配置, 无需输出日志
src/configure/gin_config.go:38
↓ 1 callersMethodListen
(graceful bool)
src/service/reload.go:18
↓ 1 callersMethodLogMongo
()
src/dao/dao.go:57
↓ 1 callersFunctionNew
创建 @filePth: 如果路径不存在会创建 @fileName: 如果存在会被覆盖 @std: os.stdout/stderr 标准输出和错误输出
src/utils/log/logger.go:22
↓ 1 callersFunctionNewAPI
(url, ak, sk string)
test/gin-api.go:28
↓ 1 callersFunctionNewSnowWorker
实例化一个工作节点 workerId 为当前节点的id,最大1023
src/utils/uuid/uuid.go:37
↓ 1 callersMethodParseError
参数验证之错误提示
src/route/request/parameter.go:15
↓ 1 callersMethodParseId
* 将id转换成时间 */
src/utils/database/mongodb/mongo.go:342
↓ 1 callersMethodReload
()
src/service/reload.go:95
↓ 1 callersMethodRequest
使用 params 参数尽量使用 POST请求,Get请求可能会导致参数过长截断URL, 当前时间和服务器时间不能相差超过10s
test/gin-api.go:36
↓ 1 callersMethodUpdateMany
* 更新 filter 返回的所有记录,返回的匹配是指本次查询匹配到的所有数量,也就是最后更新后等于新的值的数量 如果匹配到了(matchCount >= 1) 并且 objectId.IsZero()= false 则是新插入, objectId.IsZero()=true则是更新(更新没有获取到
src/utils/database/mongodb/mongo.go:381
↓ 1 callersFunctiongenSignature
签名算法如下 * Signature = HMAC-SHA1('SecretKey', UTF-8-Encoding-Of( StringToSign ) ) ); StringToSign = method + "\n" + URL + "\n" +
src/route/middleware/authentication.go:159
↓ 1 callersMethodgenSignature
(uri string, method string, params map[string]interface{}, nowTS string)
test/gin-api.go:106
↓ 1 callersFunctiongetMapKeysSorted
(originMap map[string]string)
src/route/middleware/authentication.go:180
↓ 1 callersFunctionhmacSHA1Encrypt
hmacSHA1Encrypt encrypt the encryptText use encryptKey
src/route/middleware/authentication.go:172
↓ 1 callersMethodhmacSHA1Encrypt
hmacSHA1Encrypt encrypt the encryptText use encryptKey
test/gin-api.go:97
↓ 1 callersFunctionkindOfData
(data interface{})
src/route/request/lazy_init_v10.go:52
↓ 1 callersFunctionlogHandlerFunc
()
src/route/middleware/logger.go:18
↓ 1 callersFunctionmethodMapper
(group *gin.RouterGroup, method Method)
src/route/route.go:68
FunctionAddRoute
路由解析
src/route/route.go:85
FunctionCheckIp
(ipArr []string, low, high int)
src/route/request/check.go:9
FunctionCheckOid
自定义参数验证器函数
src/route/request/validator.go:20
MethodCount
根据条件统计集合中文档的数量
src/utils/database/mongodb/mongo.go:291
MethodCreateIndex
创建索引,重复创建不会报错
src/utils/database/mongodb/mongo.go:439
MethodDeleteIndex
TODO 未测试
src/utils/database/mongodb/mongo.go:449
MethodDeleteOne
* 查找并删除一个 sort 等于1表示 删除最旧的,sort 等于-1 表示删除最新的 一般根据 id 查找就会保证删除正确 */
src/utils/database/mongodb/mongo.go:303
FunctionDestroyPool
连接池销毁
src/utils/database/mongodb/mongo.go:87
MethodEngine
Engine 返回支持`StructValidator`实现的底层验证引擎
src/route/request/lazy_init_v10.go:32
FunctionErrorIpPattern
排查错误的IP
src/utils/network/network.go:40
FunctionFetchAnyIns
返回的是Mongo所有匹配的数据
src/dao/fetch_db.go:13
FunctionFetchSecret
(accessKey string)
src/dao/fetch_db.go:28
FunctionGetLoginIp
通过向外网发一个UDP请求得到本地默认路由对应的IP地址,排除局域网,UDP本身是无连接的
src/utils/network/network.go:10
FunctionInit
()
src/dao/dao.go:23
FunctionInitConfigValue
main 调用
src/configure/gin_config.go:112
MethodInitError
(msg string)
src/configure/gin_config.go:104
FunctionInitProcess
()
src/utils/daemon/daemon.go:17
FunctionInitRouteGroups
()
src/route/route.go:34
FunctionInitValidator
()
src/route/request/lazy_init_v10.go:62
FunctionInsertHost
(hostArr []models.HostModel)
src/dao/insert_db.go:21
FunctionInsertSecret
(secret models.Secret)
src/dao/insert_db.go:55
FunctionInsertSwitch
(switchArr []models.SwitchModel)
src/dao/insert_db.go:38
FunctionLogger
打印日志
src/route/middleware/logger.go:69
FunctionMatchIpPattern
IP地址格式匹配 "010.99.32.88" 属于正常IP
src/utils/network/network.go:29
FunctionNewServer
()
src/service/server.go:22
FunctionRecovery
日志打印没必要异步处理,一般crash比较少
src/route/middleware/recovery.go:16
MethodReplace
* 替换 filter 返回的1条记录(最旧的) 如果匹配到了(matchCount >= 1) 并且 objectId.IsZero()= false 则是新插入, objectId.IsZero()=true则是更新(更新没有获取到id) ObjectID("000000000000000000
src/utils/database/mongodb/mongo.go:407
FunctionSearchIp
(ipArr []string, oid configure.Oid)
src/route/v1/sdk/search_ip/search_ip.go:9
FunctionStart
()
src/dao/dao.go:80
FunctionTestAPI_Request
(t *testing.T)
test/request_test.go:5
FunctionTestDaemon
(t *testing.T)
src/utils/daemon/daemon_test.go:11
FunctionTestInsertData
插入数据库数据
test/mock_test.go:24
FunctionTestMongo_CollectionCount
(t *testing.T)
src/utils/database/mongodb/mongo_test.go:99
FunctionTestMongo_DeleteOne
(t *testing.T)
src/utils/database/mongodb/mongo_test.go:105
FunctionTestMongo_FindAll
(t *testing.T)
src/utils/database/mongodb/mongo_test.go:79
FunctionTestMongo_FindLimit
(t *testing.T)
src/utils/database/mongodb/mongo_test.go:62
FunctionTestMongo_FindOne
(t *testing.T)
src/utils/database/mongodb/mongo_test.go:46
FunctionTestMongo_InsertMany
(t *testing.T)
src/utils/database/mongodb/mongo_test.go:39
FunctionTestMongo_InsertOne
(t *testing.T)
src/utils/database/mongodb/mongo_test.go:32
FunctionTestMongo_ParseId
(t *testing.T)
src/utils/database/mongodb/mongo_test.go:125
FunctionTestMongo_Update
(t *testing.T)
src/utils/database/mongodb/mongo_test.go:146
FunctionTestNew
(t *testing.T)
src/utils/log/logger_test.go:8
FunctionTestWorker_GetId
(t *testing.T)
src/utils/uuid/uuid_test.go:9
MethodUpdateOne
* 更新 filter 返回的第一条记录 如果匹配到了(matchCount >= 1) 并且 objectId.IsZero()= false 则是新插入, objectId.IsZero()=true则是更新(更新没有获取到id) ObjectID("0000000000000000000000
src/utils/database/mongodb/mongo.go:355
FunctionValidate
随机生成一个uuid,100是节点的值(随便给一个) * 接口认证模块,根据申请到的 accessKey(公钥)和secretKey(私钥)加密验证 只解析post/put json 和 get/delete url query 的请求,不解析post form的请求 如果时间 expires 字段
src/route/middleware/authentication.go:40
MethodValidateStruct
ValidateStruct 如果接收到的类型是一个结构体或指向结构体的指针,则执行验证。
src/route/request/lazy_init_v10.go:21
Functioninit
()
test/mock_test.go:12
Functioninit
()
src/utils/database/mongodb/mongo_test.go:13
Functionmain
()
src/main.go:18