Exemplo n.º 1
0
// GetPlaceHolders return the placeholders that are present in the appname config file
func GetPlaceHolders(c *gin.Context) {
	name := c.Param("appname")
	myViper, err := readTemplate(name)
	if err != nil {
		c.String(http.StatusNotFound, "Config file for %s not found\n", name)
	} else {
		properties := placeholders.GetPlaceHolders(myViper)
		c.IndentedJSON(http.StatusOK, properties)
	}
}
Exemplo n.º 2
0
func GetHome(c *gin.Context) {

	logo := `
.      .__                 __
  _____|__| ____   _______/  |______
 /  ___/  |/ __ \ /  ___/\   __\__  \
 \___ \|  \  ___/ \___ \  |  |  / __ \_
/____  >__|\___  >____  > |__| (____  /
     \/        \/     \/            \/
`
	c.String(http.StatusOK, logo)

}
Exemplo n.º 3
0
func rateLimit(c *gin.Context) {

	ip := c.ClientIP()
	value := int(ips.Add(ip, 1))
	if value%50 == 0 {
		fmt.Printf("ip: %s, count: %d\n", ip, value)
	}
	if value >= 200 {
		if value%200 == 0 {
			fmt.Println("ip blocked")
		}
		c.Abort()
		c.String(503, "you were automatically banned :)")
	}
}
Exemplo n.º 4
0
// GetConfig return the configuration file for a given appname
func GetConfig(c *gin.Context) {
	name := c.Param("appname")
	myViper, err := readTemplate(name)

	if err != nil {
		c.String(http.StatusNotFound, "Config file for %s not found\n", name)
	} else {
		filename := myViper.ConfigFileUsed()
		content, err := fileReader(filename)

		if err != nil {
			c.String(http.StatusNotFound, "Config file for %s not found\n", name)
		}
		w := c.Writer

		io.Copy(w, content)

	}
}