gin-contrib/static

Static middleware

Go

321

165 commits

updated Oct 3, 2026

See the code

README

static middleware

Run Tests Trivy Security Scan codecov Go Reference

Static middleware

Usage

Start using it

Download and install it:

go get github.com/gin-contrib/static

Import it in your code:

import "github.com/gin-contrib/static"

Canonical example

See the example

Serve local file

package main

import (
  "embed"
  "fmt"
  "net/http"

  "github.com/gin-contrib/static"
  "github.com/gin-gonic/gin"
)

//go:embed data
var server embed.FS

func main() {
  r := gin.Default()
  fs, err := static.EmbedFolder(server, "data/server")
  if err != nil {
    panic(err)
  }
  r.Use(static.Serve("/", fs))
  r.GET("/ping", func(c *gin.Context) {
    c.String(200, "test")
  })
  r.NoRoute(func(c *gin.Context) {
    fmt.Printf("%s doesn't exists, redirect on /\n", c.Request.URL.Path)
    c.Redirect(http.StatusMovedPermanently, "/")
  })
  // Listen and Server in 0.0.0.0:8080
  r.Run(":8080")
}

gin-contrib/static

Static middleware

Go

321

165 commits

updated Oct 3, 2026

See the code

README

static middleware

Run Tests Trivy Security Scan codecov Go Reference

Static middleware

Usage

Start using it

Download and install it:

go get github.com/gin-contrib/static

Import it in your code:

import "github.com/gin-contrib/static"

Canonical example

See the example

Serve local file

package main

import (
  "embed"
  "fmt"
  "net/http"

  "github.com/gin-contrib/static"
  "github.com/gin-gonic/gin"
)

//go:embed data
var server embed.FS

func main() {
  r := gin.Default()
  fs, err := static.EmbedFolder(server, "data/server")
  if err != nil {
    panic(err)
  }
  r.Use(static.Serve("/", fs))
  r.GET("/ping", func(c *gin.Context) {
    c.String(200, "test")
  })
  r.NoRoute(func(c *gin.Context) {
    fmt.Printf("%s doesn't exists, redirect on /\n", c.Request.URL.Path)
    c.Redirect(http.StatusMovedPermanently, "/")
  })
  // Listen and Server in 0.0.0.0:8080
  r.Run(":8080")
}

Project health

Overall

4.4/10

Maintained

5/10

Code review

0/10
OpenSSF Scorecard

Latest release

v1.1.8 · Sep 20, 2026

Releases this year

3