A Gin web framework middleware for IP restriction by specifying CIDR notations.
package main
import (
    gin "github.com/gin-gonic/gin"
    limit "github.com/bu/gin-access-limit"
)
func main() {
    // create a Gin engine
    r := gin.Default()
    // this API is only accessible from Docker containers
    r.Use(limit.CIDR("172.18.0.0/16"))
    // if need to specify serveral range of allowed sources, use comma to concatenate them
    // r.Use(limit.CIDR("172.18.0.0/16, 127.0.0.1/32"))
    // routes
    r.GET("/", func (c *gin.Context) {
        c.String(200, "pong")
    })
    // listen to request
    r.Run(":8080")
}