diff options
| author | MHSanaei <ho3ein.sanaei@gmail.com> | 2023-04-09 22:43:18 +0300 |
|---|---|---|
| committer | MHSanaei <ho3ein.sanaei@gmail.com> | 2023-04-09 22:43:18 +0300 |
| commit | e1da43053d23c995bcd6e7267cb20042398cd64f (patch) | |
| tree | 08c4c371ba070ef765ec2be83270ee6032e54774 /web/controller/sub.go | |
| parent | 3bb90cbf2463b31c6a921f7cd75cf32edd3a37f0 (diff) | |
alireza update pack
Co-Authored-By: Alireza Ahmadi <alireza7@gmail.com>
Diffstat (limited to 'web/controller/sub.go')
| -rw-r--r-- | web/controller/sub.go | 42 |
1 files changed, 42 insertions, 0 deletions
diff --git a/web/controller/sub.go b/web/controller/sub.go new file mode 100644 index 00000000..5695f032 --- /dev/null +++ b/web/controller/sub.go @@ -0,0 +1,42 @@ +package controller + +import ( + "encoding/base64" + "strings" + "x-ui/web/service" + + "github.com/gin-gonic/gin" +) + +type SUBController struct { + BaseController + + subService service.SubService +} + +func NewSUBController(g *gin.RouterGroup) *SUBController { + a := &SUBController{} + a.initRouter(g) + return a +} + +func (a *SUBController) initRouter(g *gin.RouterGroup) { + g = g.Group("/sub") + + g.GET("/:subid", a.subs) +} + +func (a *SUBController) subs(c *gin.Context) { + subId := c.Param("subid") + host := strings.Split(c.Request.Host, ":")[0] + subs, err := a.subService.GetSubs(subId, host) + if err != nil { + c.String(400, "Error!") + } else { + result := "" + for _, sub := range subs { + result += sub + "\n" + } + c.String(200, base64.StdEncoding.EncodeToString([]byte(result))) + } +} |
