refactor: standardization of code structure (#7)

This commit is contained in:
Li4n0
2021-04-25 14:15:42 +08:00
committed by GitHub
parent 26755351f7
commit 50a6749070
17 changed files with 88 additions and 100 deletions
+7 -8
View File
@@ -48,21 +48,20 @@ func (s *Server) getRules() []*Rule {
func (s *Server) updateRules() error {
db := database.DB.Model(new(Rule))
defer s.rulesLock.Unlock()
s.rulesLock.Lock()
db.Order("rank desc").Find(&s.rules)
s.rulesLock.Unlock()
return nil
return db.Order("rank desc").Find(&s.rules).Error
}
func (s *Server) handleConnection(conn net.Conn) {
defer conn.Close()
if err := conn.SetDeadline(time.Now().Add(time.Second * 30)); err != nil {
log.Error("FTP set connection deadline error:%v", err.Error())
log.Error("FTP set connection deadline error:%v", err)
}
if _, err := conn.Write([]byte("220 (vsFTPd 3.0.2)\r\n")); err != nil {
log.Error("FTP write connection error:%v", err.Error())
log.Error("FTP write connection error:%v", err)
}
ip := strings.Split(conn.RemoteAddr().String(), ":")[0]
@@ -126,12 +125,12 @@ loop:
pasvAddress := rule.CompileTpl(matchedRule.PasvAddress, vars)
pasvIP, pasvPort, err := net.SplitHostPort(pasvAddress)
if err != nil {
log.Warn("FTP failed to split rule[id%d] pasv_address(%s) :%s", matchedRule.ID, pasvAddress, err.Error())
log.Warn("FTP failed to split rule[id%d] pasv_address(%s) :%s", matchedRule.ID, pasvAddress, err)
break
}
port, err := strconv.Atoi(pasvPort)
if err != nil {
log.Warn("FTP failed to convert rule[id%d] pasv_port(%s) :%s", matchedRule.ID, pasvPort, err.Error())
log.Warn("FTP failed to convert rule[id%d] pasv_port(%s) :%s", matchedRule.ID, pasvPort, err)
break
}
ret = fmt.Sprintf("227 Entering Passive Mode (%s,%v,%d)\r\n", strings.ReplaceAll(pasvIP, ".", ","), float64(port/256), port%256)
@@ -159,7 +158,7 @@ loop:
// create new record
r, err := NewRecord(_rule, flag, user, password, path, ip, area, status)
if err != nil {
log.Error("FTP record[rule_id:%d] created failed :%s", _rule.ID, err.Error())
log.Error("FTP record[rule_id:%d] created failed :%s", _rule.ID, err)
return
}
log.Info("FTP record[id:%d rule:%s remote_ip:%s] has been created", r.ID, _rule.Name, ip)
+3 -4
View File
@@ -43,8 +43,7 @@ func NewRecord(rule *Rule, flag, user, password, path, ip, area string, status S
Status: status,
Rule: *rule,
}
err = database.DB.Create(r).Error
return r, err
return r, database.DB.Create(r).Error
}
func ListRecords(c *gin.Context) {
@@ -85,7 +84,7 @@ func ListRecords(c *gin.Context) {
if err != nil {
c.JSON(400, gin.H{
"status": "failed",
"error": err.Error(),
"error": err,
"result": nil,
})
return
@@ -98,7 +97,7 @@ func ListRecords(c *gin.Context) {
if err := db.Order("id" + " " + order).Count(&count).Offset((page - 1) * 10).Limit(10).Find(&res).Error; err != nil {
c.JSON(400, gin.H{
"status": "failed",
"error": err.Error(),
"error": err,
"data": nil,
})
return
+5 -5
View File
@@ -94,7 +94,7 @@ func ListRules(c *gin.Context) {
if err != nil {
c.JSON(400, gin.H{
"status": "failed",
"error": err.Error(),
"error": err,
"result": nil,
})
return
@@ -130,7 +130,7 @@ func UpsertRules(c *gin.Context) {
if err := c.ShouldBind(&ftpRule); err != nil {
c.JSON(400, gin.H{
"status": "failed",
"error": err.Error(),
"error": err,
"data": nil,
})
return
@@ -143,7 +143,7 @@ func UpsertRules(c *gin.Context) {
if err := ftpRule.CreateOrUpdate(); err != nil {
c.JSON(400, gin.H{
"status": "failed",
"error": err.Error(),
"error": err,
"result": nil,
})
return
@@ -169,7 +169,7 @@ func DeleteRules(c *gin.Context) {
if err := c.ShouldBind(&ftpRule); err != nil {
c.JSON(400, gin.H{
"status": "failed",
"error": err.Error(),
"error": err,
"data": nil,
})
return
@@ -178,7 +178,7 @@ func DeleteRules(c *gin.Context) {
if err := ftpRule.Delete(); err != nil {
c.JSON(400, gin.H{
"status": "failed",
"error": err.Error(),
"error": err,
"data": nil,
})
return