mirror of https://github.com/gofiber/fiber.git
Default to 127.0.0.1 instead of 0.0.0.0
parent
563907cacb
commit
0daee4c8c6
5
app.go
5
app.go
|
@ -444,8 +444,9 @@ func (app *App) Listen(address interface{}, tlsconfig ...*tls.Config) error {
|
|||
}
|
||||
addr = strconv.Itoa(port)
|
||||
}
|
||||
fmt.Println("aha")
|
||||
if !strings.Contains(addr, ":") {
|
||||
addr = ":" + addr
|
||||
addr = "127.0.0.1:" + addr
|
||||
}
|
||||
// Update fiber server settings
|
||||
app.init()
|
||||
|
@ -645,7 +646,7 @@ func (app *App) startupMessage(addr string, tls bool, pids string) {
|
|||
ppid = os.Getppid()
|
||||
)
|
||||
if host == "" {
|
||||
host = "0.0.0.0"
|
||||
host = "127.0.0.1"
|
||||
}
|
||||
if tls {
|
||||
tlsStr = "TRUE"
|
||||
|
|
|
@ -1,128 +1 @@
|
|||
package middleware
|
||||
|
||||
import (
|
||||
"bytes"
|
||||
"fmt"
|
||||
"io"
|
||||
"os"
|
||||
"strconv"
|
||||
"strings"
|
||||
"sync"
|
||||
"time"
|
||||
|
||||
"github.com/gofiber/fiber"
|
||||
"github.com/gofiber/utils"
|
||||
"github.com/valyala/bytebufferpool"
|
||||
)
|
||||
|
||||
// Middleware types
|
||||
type (
|
||||
// LoggerConfig defines the config for Logger middleware.
|
||||
LoggerConfig struct {
|
||||
// Next defines a function to skip this middleware.
|
||||
Next func(ctx *fiber.Ctx) bool
|
||||
|
||||
// Format defines the logging tags
|
||||
//
|
||||
// - time
|
||||
// - ip
|
||||
// - ips
|
||||
// - url
|
||||
// - host
|
||||
// - method
|
||||
// - path
|
||||
// - protocol
|
||||
// - route
|
||||
// - referer
|
||||
// - ua
|
||||
// - latency
|
||||
// - status
|
||||
// - body
|
||||
// - error
|
||||
// - bytesSent
|
||||
// - bytesReceived
|
||||
// - header:<key>
|
||||
// - query:<key>
|
||||
// - form:<key>
|
||||
// - cookie:<key>
|
||||
//
|
||||
// Optional. Default: ${time} ${method} ${path} - ${ip} - ${status} - ${latency}\n
|
||||
Format string
|
||||
|
||||
// TimeFormat https://programming.guide/go/format-parse-string-time-date-example.html
|
||||
//
|
||||
// Optional. Default: 15:04:05
|
||||
TimeFormat string
|
||||
|
||||
// Output is a writter where logs are written
|
||||
//
|
||||
// Default: os.Stderr
|
||||
Output io.Writer
|
||||
}
|
||||
)
|
||||
|
||||
// Logger variables
|
||||
const (
|
||||
LoggerTagTime = "time"
|
||||
LoggerTagReferer = "referer"
|
||||
LoggerTagProtocol = "protocol"
|
||||
LoggerTagIP = "ip"
|
||||
LoggerTagIPs = "ips"
|
||||
LoggerTagHost = "host"
|
||||
LoggerTagMethod = "method"
|
||||
LoggerTagPath = "path"
|
||||
LoggerTagURL = "url"
|
||||
LoggerTagUA = "ua"
|
||||
LoggerTagLatency = "latency"
|
||||
LoggerTagStatus = "status"
|
||||
LoggerTagBody = "body"
|
||||
LoggerTagBytesSent = "bytesSent"
|
||||
LoggerTagBytesReceived = "bytesReceived"
|
||||
LoggerTagRoute = "route"
|
||||
LoggerTagError = "error"
|
||||
LoggerTagHeader = "header:"
|
||||
LoggerTagQuery = "query:"
|
||||
LoggerTagForm = "form:"
|
||||
LoggerTagCookie = "cookie:"
|
||||
)
|
||||
|
||||
// LoggerConfigDefault is the default config
|
||||
var LoggerConfigDefault = LoggerConfig{
|
||||
Next: nil,
|
||||
Format: "${time} ${method} ${path} - ${ip} - ${status} - ${latency}\n",
|
||||
TimeFormat: "15:04:05",
|
||||
Output: os.Stderr,
|
||||
}
|
||||
|
||||
// Logger is the default initiator allowing to pass a log format
|
||||
func Logger(format ...string) fiber.Handler {
|
||||
// Create default config
|
||||
var config = LoggerConfigDefault
|
||||
// Set format if provided
|
||||
if len(format) > 0 {
|
||||
config.Format = format[0]
|
||||
}
|
||||
// Return LoggerWithConfig
|
||||
return LoggerWithConfig(config)
|
||||
}
|
||||
|
||||
// LoggerWithConfig allows you to pass an CompressConfig
|
||||
func LoggerWithConfig(config LoggerConfig) fiber.Handler {
|
||||
// Middleware settings
|
||||
var mutex sync.RWMutex
|
||||
|
||||
var tmpl loggerTemplate
|
||||
tmpl.new(config.Format, "${", "}")
|
||||
|
||||
timestamp := time.Now().Format(config.TimeFormat)
|
||||
// Update date/time every second in a separate go routine
|
||||
if strings.Contains(config.Format, "${time}") {
|
||||
go func() {
|
||||
for {
|
||||
mutex.Lock()
|
||||
timestamp = time.Now().Format(config.TimeFormat)
|
||||
mutex.Unlock()
|
||||
time.Sleep(250 * time.Millisecond)
|
||||
}
|
||||
}()
|
||||
}
|
||||
package middleware
|
Loading…
Reference in New Issue