API Reference

Zinc

The core package that provides the foundation for creating and configuring applications.

New #

Creates a new instance of the Zinc application.


func New(config ...Config) *App
        

// Create a new Zinc app with default configuration
app := zinc.New()

// ...
        

Config #

The Config struct holds the server configuration parameters. You can modify the default configuration through methods on the App as you invoke the New() function.


// Create a new Zinc app with custom configuration
app := zinc.New(zinc.Config{
    AppName:                   "MyZincApp",
    AppVersion:                "1.0.0",
    DefaultAddr:               "127.0.0.1:8080",
    CaseSensitive:             true,
    StrictRouting:             true,
    ReadTimeout:               10 * time.Second,
    BodyLimit:                 1024 * 1024, // 1MB
    EnablePrintRoutes:     true,
})

// ...
        

Configuration Properties #

Property Type Description Default
AppName string Specifies the name of the application. ""
AppVersion string Specifies the version of the application. "1.0.0"
DefaultAddr string Specifies the HTTP server address. "0.0.0.0:6530"
ServerHeader string Sets the value of the Server HTTP header. "Zinc"
ShutdownTimeout time.Duration Maximum duration to wait for server shutdown. 10s
ReadTimeout time.Duration Maximum duration for reading the entire request. 5s
WriteTimeout time.Duration Maximum duration before timing out writes of the response. 10s
IdleTimeout time.Duration Maximum amount of time to wait for the next request. 120s
CaseSensitive bool Determines if routes should be case-sensitive. When false, /Foo and /foo are treated as the same route. false
StrictRouting bool Determines if routes with trailing slashes are different than those without. When false, /api and /api/ are treated as the same route. false
BodyLimit int64 Sets the maximum allowed size for a request body in bytes. 4MB
Concurrency int Sets the maximum number of concurrent connections. 256K
EnableTrustedProxyCheck bool Enables checking for trusted proxies when determining client IP addresses. false
TrustedProxies []string List of IP addresses or CIDR blocks that are trusted. []
ProxyHeader string Specifies which header to use for client IP address. "X-Forwarded-For"
DisableKeepalive bool Disables keep-alive connections. false
DisableDefaultContentType bool Disables sending the Content-Type header in responses when no content type is explicitly set. false
RouteCacheSize int Determines how many routes are stored in the route cache. Set to 0 to disable caching. 1000
DisableStartupMessage bool Disables the startup message when the server starts. false
EnablePrintRoutes bool Enables printing all routes on startup. false