mirror of https://github.com/gofiber/fiber.git
⚡ v2
Co-Authored-By: hi019 <65871571+hi019@users.noreply.github.com> Co-Authored-By: RW <7063188+ReneWerner87@users.noreply.github.com> Co-Authored-By: kiyon <kiyon@gofiber.io> Co-Authored-By: Roger Guldbrandsen <8797880+kinbiko@users.noreply.github.com>pull/767/head
parent
82e30c8db5
commit
ca9c8c632f
115
app.go
115
app.go
|
@ -321,15 +321,16 @@ func (app *App) Use(args ...interface{}) Router {
|
||||||
prefix = arg
|
prefix = arg
|
||||||
case Handler:
|
case Handler:
|
||||||
handlers = append(handlers, arg)
|
handlers = append(handlers, arg)
|
||||||
case *App:
|
// TODO: v2.1.0
|
||||||
stack := arg.Stack()
|
// case *App:
|
||||||
for m := range stack {
|
// stack := arg.Stack()
|
||||||
for r := range stack[m] {
|
// for m := range stack {
|
||||||
route := app.copyRoute(stack[m][r])
|
// for r := range stack[m] {
|
||||||
app.addRoute(route.Method, app.addPrefixToRoute(prefix, route))
|
// route := app.copyRoute(stack[m][r])
|
||||||
}
|
// app.addRoute(route.Method, app.addPrefixToRoute(prefix, route))
|
||||||
}
|
// }
|
||||||
return app
|
// }
|
||||||
|
// return app
|
||||||
default:
|
default:
|
||||||
panic(fmt.Sprintf("use: invalid handler %v\n", reflect.TypeOf(arg)))
|
panic(fmt.Sprintf("use: invalid handler %v\n", reflect.TypeOf(arg)))
|
||||||
}
|
}
|
||||||
|
@ -636,31 +637,22 @@ func (app *App) startupMessage(addr string, tls bool, pids string) {
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
// ascii logo
|
|
||||||
var logo string
|
var logo string
|
||||||
// logo += `%s _______ __ %s` + "\n"
|
|
||||||
// logo += `%s ____%s / ____(_) /_ ___ _____ %s` + "\n"
|
|
||||||
// logo += `%s_____%s / /_ / / __ \/ _ \/ ___/ %s` + "\n"
|
|
||||||
// logo += `%s __%s / __/ / / /_/ / __/ / %s` + "\n"
|
|
||||||
// logo += `%s /_/ /_/_.___/\___/_/%s %s` + "\n"
|
|
||||||
|
|
||||||
logo += "\n%s"
|
logo += "\n%s"
|
||||||
logo += " ┌───────────────────────────────────────────────────────┐\n"
|
logo += " ┌───────────────────────────────────────────────────┐\n"
|
||||||
logo += " │ %sFiber v%s%s │\n"
|
logo += " │ %s │\n"
|
||||||
logo += " │ Express inspired web framework │\n"
|
logo += " │ %s │\n"
|
||||||
logo += " │ │\n"
|
logo += " │ │\n"
|
||||||
logo += " │ Host : %s %s : OS │\n"
|
logo += " │ Handlers %s Threads %s │\n"
|
||||||
logo += " │ Port : %s %s : Threads │\n"
|
logo += " │ Prefork .%s PID ....%s │\n"
|
||||||
logo += " │ TLS : %s %s : Prefork │\n"
|
logo += " └───────────────────────────────────────────────────┘"
|
||||||
logo += " │ Handlers : %s %s : PID │\n"
|
logo += "%s\n\n"
|
||||||
logo += " └───────────────────────────────────────────────────────┘"
|
|
||||||
logo += "%s\n"
|
|
||||||
|
|
||||||
const (
|
const (
|
||||||
cBlack = "\u001b[90m"
|
cBlack = "\u001b[90m"
|
||||||
cRed = "\u001b[91m"
|
// cRed = "\u001b[91m"
|
||||||
cCyan = "\u001b[96m"
|
cCyan = "\u001b[96m"
|
||||||
cGreen = "\u001b[92m"
|
// cGreen = "\u001b[92m"
|
||||||
// cYellow = "\u001b[93m"
|
// cYellow = "\u001b[93m"
|
||||||
// cBlue = "\u001b[94m"
|
// cBlue = "\u001b[94m"
|
||||||
// cMagenta = "\u001b[95m"
|
// cMagenta = "\u001b[95m"
|
||||||
|
@ -668,37 +660,52 @@ func (app *App) startupMessage(addr string, tls bool, pids string) {
|
||||||
cReset = "\u001b[0m"
|
cReset = "\u001b[0m"
|
||||||
)
|
)
|
||||||
|
|
||||||
clrL := func(v interface{}) string {
|
value := func(s string, width int) string {
|
||||||
if v == "disabled" {
|
pad := width - len(s)
|
||||||
return fmt.Sprintf("%s%15v%s", cRed, v, cBlack)
|
str := ""
|
||||||
|
for i := 0; i < pad; i++ {
|
||||||
|
str += "."
|
||||||
}
|
}
|
||||||
if v == "enabled" {
|
if s == "Disabled" {
|
||||||
return fmt.Sprintf("%s%15v%s", cGreen, v, cBlack)
|
str += " " + s
|
||||||
|
} else {
|
||||||
|
str += fmt.Sprintf(" %s%s%s", cCyan, s, cBlack)
|
||||||
}
|
}
|
||||||
return fmt.Sprintf("%s%15v%s", cCyan, v, cBlack)
|
return str
|
||||||
}
|
}
|
||||||
clR := func(v interface{}) string {
|
|
||||||
if v == "disabled" {
|
center := func(s string, width int) string {
|
||||||
return fmt.Sprintf("%s%-15v%s", cRed, v, cBlack)
|
pad := strconv.Itoa((width - len(s)) / 2)
|
||||||
|
str := fmt.Sprintf("%"+pad+"s", " ")
|
||||||
|
str += s
|
||||||
|
str += fmt.Sprintf("%"+pad+"s", " ")
|
||||||
|
if len(str) < width {
|
||||||
|
str += " "
|
||||||
}
|
}
|
||||||
if v == "enabled" {
|
return str
|
||||||
return fmt.Sprintf("%s%-15v%s", cGreen, v, cBlack)
|
}
|
||||||
|
|
||||||
|
centerValue := func(s string, width int) string {
|
||||||
|
pad := strconv.Itoa((width - len(s)) / 2)
|
||||||
|
str := fmt.Sprintf("%"+pad+"s", " ")
|
||||||
|
str += fmt.Sprintf("%s%s%s", cCyan, s, cBlack)
|
||||||
|
str += fmt.Sprintf("%"+pad+"s", " ")
|
||||||
|
if len(str)-10 < width {
|
||||||
|
str += " "
|
||||||
}
|
}
|
||||||
return fmt.Sprintf("%s%-15v%s", cCyan, v, cBlack)
|
return str
|
||||||
}
|
}
|
||||||
|
|
||||||
host, port := parseAddr(addr)
|
host, port := parseAddr(addr)
|
||||||
var (
|
if host == "" || host == "0.0.0.0" {
|
||||||
isTLS = "disabled"
|
host = "127.0.0.1"
|
||||||
isPrefork = "disabled"
|
|
||||||
)
|
|
||||||
|
|
||||||
if host == "" {
|
|
||||||
host = "0.0.0.0"
|
|
||||||
}
|
}
|
||||||
|
addr = "http://" + host + ":" + port
|
||||||
if tls {
|
if tls {
|
||||||
isTLS = "enabled"
|
addr = "https://" + host + ":" + port
|
||||||
}
|
}
|
||||||
|
|
||||||
|
isPrefork := "disabled"
|
||||||
if app.config.Prefork {
|
if app.config.Prefork {
|
||||||
isPrefork = "enabled"
|
isPrefork = "enabled"
|
||||||
}
|
}
|
||||||
|
@ -707,14 +714,12 @@ func (app *App) startupMessage(addr string, tls bool, pids string) {
|
||||||
if os.Getenv("TERM") == "dumb" || (!isatty.IsTerminal(os.Stdout.Fd()) && !isatty.IsCygwinTerminal(os.Stdout.Fd())) {
|
if os.Getenv("TERM") == "dumb" || (!isatty.IsTerminal(os.Stdout.Fd()) && !isatty.IsCygwinTerminal(os.Stdout.Fd())) {
|
||||||
out = colorable.NewNonColorable(os.Stdout)
|
out = colorable.NewNonColorable(os.Stdout)
|
||||||
}
|
}
|
||||||
|
|
||||||
fmt.Fprintf(out, logo,
|
fmt.Fprintf(out, logo,
|
||||||
cBlack,
|
cBlack,
|
||||||
cCyan, Version, cBlack,
|
centerValue(" Fiber v"+Version, 49),
|
||||||
clR(host), clrL(utils.ToUpper(runtime.GOOS)),
|
center(addr, 49),
|
||||||
clR(port), clrL(runtime.NumCPU()),
|
value(strconv.Itoa(app.handlerCount), 14), value(strconv.Itoa(runtime.NumCPU()), 14),
|
||||||
clR(isTLS), clrL(isPrefork),
|
value(isPrefork, 14), value(strconv.Itoa(os.Getpid()), 14),
|
||||||
clR(app.handlerCount), clrL(os.Getpid()),
|
|
||||||
cReset,
|
cReset,
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
19
group.go
19
group.go
|
@ -38,15 +38,16 @@ func (grp *Group) Use(args ...interface{}) Router {
|
||||||
prefix = arg
|
prefix = arg
|
||||||
case Handler:
|
case Handler:
|
||||||
handlers = append(handlers, arg)
|
handlers = append(handlers, arg)
|
||||||
case *App:
|
// TODO: v2.1.0
|
||||||
stack := arg.Stack()
|
// case *App:
|
||||||
for m := range stack {
|
// stack := arg.Stack()
|
||||||
for r := range stack[m] {
|
// for m := range stack {
|
||||||
route := grp.app.copyRoute(stack[m][r])
|
// for r := range stack[m] {
|
||||||
grp.app.addRoute(route.Method, grp.app.addPrefixToRoute(prefix, route))
|
// route := grp.app.copyRoute(stack[m][r])
|
||||||
}
|
// grp.app.addRoute(route.Method, grp.app.addPrefixToRoute(prefix, route))
|
||||||
}
|
// }
|
||||||
return grp.app
|
// }
|
||||||
|
// return grp.app
|
||||||
default:
|
default:
|
||||||
panic(fmt.Sprintf("use: invalid handler %v\n", reflect.TypeOf(arg)))
|
panic(fmt.Sprintf("use: invalid handler %v\n", reflect.TypeOf(arg)))
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue