File tree 3 files changed +12
-4
lines changed
3 files changed +12
-4
lines changed Original file line number Diff line number Diff line change @@ -389,7 +389,8 @@ func downloadModVersion(c echo.Context) error {
389
389
return c .String (404 , "version not found, modID:" + modID + " versionID:" + versionID )
390
390
}
391
391
392
- if redis .CanIncrement (c .RealIP (), "download" , "version:" + versionID , time .Hour * 4 ) {
392
+ if c .Request ().Method == echo .GET &&
393
+ redis .CanIncrement (c .RealIP (), "download" , "version:" + versionID , time .Hour * 4 ) {
393
394
_ = version .Update ().AddDownloads (1 ).Exec (c .Request ().Context ())
394
395
}
395
396
@@ -444,7 +445,8 @@ func downloadModVersionTarget(c echo.Context) error {
444
445
return c .String (404 , "target not found, modID:" + modID + " versionID:" + versionID + " target:" + target )
445
446
}
446
447
447
- if redis .CanIncrement (c .RealIP (), "download" , "version:" + versionID , time .Hour * 4 ) {
448
+ if c .Request ().Method == echo .GET &&
449
+ redis .CanIncrement (c .RealIP (), "download" , "version:" + versionID , time .Hour * 4 ) {
448
450
_ = version .Update ().AddDownloads (1 ).Exec (c .Request ().Context ())
449
451
}
450
452
Original file line number Diff line number Diff line change @@ -17,7 +17,9 @@ func RegisterModRoutes(router *echo.Group) {
17
17
18
18
router .GET ("/:modId/versions/:versionId" , dataWrapper (getModVersion ))
19
19
router .GET ("/:modId/versions/:versionId/download" , downloadModVersion )
20
+ router .HEAD ("/:modId/versions/:versionId/download" , downloadModVersion )
20
21
router .GET ("/:modId/versions/:versionId/:target/download" , downloadModVersionTarget )
22
+ router .HEAD ("/:modId/versions/:versionId/:target/download" , downloadModVersionTarget )
21
23
}
22
24
23
25
func RegisterModsRoutes (router * echo.Group ) {
@@ -50,5 +52,7 @@ func RegisterUsersRoutes(router *echo.Group) {
50
52
func RegisterVersionRoutes (router * echo.Group ) {
51
53
router .GET ("/:versionId" , dataWrapper (getVersion ))
52
54
router .GET ("/:versionId/download" , downloadVersion )
55
+ router .HEAD ("/:versionId/download" , downloadVersion )
53
56
router .GET ("/:versionId/:target/download" , downloadModTarget )
57
+ router .HEAD ("/:versionId/:target/download" , downloadModTarget )
54
58
}
Original file line number Diff line number Diff line change @@ -59,7 +59,8 @@ func downloadVersion(c echo.Context) error {
59
59
return c .String (404 , "version not found" )
60
60
}
61
61
62
- if redis .CanIncrement (c .RealIP (), "download" , "version:" + versionID , time .Hour * 4 ) {
62
+ if c .Request ().Method == echo .GET &&
63
+ redis .CanIncrement (c .RealIP (), "download" , "version:" + versionID , time .Hour * 4 ) {
63
64
_ = version .Update ().AddDownloads (1 ).Exec (c .Request ().Context ())
64
65
}
65
66
@@ -100,7 +101,8 @@ func downloadModTarget(c echo.Context) error {
100
101
return c .String (404 , "target not found, versionID:" + versionID + " target:" + target )
101
102
}
102
103
103
- if redis .CanIncrement (c .RealIP (), "download" , "version:" + versionID , time .Hour * 4 ) {
104
+ if c .Request ().Method == echo .GET &&
105
+ redis .CanIncrement (c .RealIP (), "download" , "version:" + versionID , time .Hour * 4 ) {
104
106
_ = version .Update ().AddDownloads (1 ).Exec (c .Request ().Context ())
105
107
}
106
108
You can’t perform that action at this time.
0 commit comments