mirror of
https://github.com/gofiber/fiber.git
synced 2025-02-06 13:49:31 +00:00
🧹 chore: Backport ctx.String() from v3 (#3294)
* Backport ctx.String() to v2 * Fix lint issues
This commit is contained in:
parent
8b9db059d7
commit
42d921d353
41
ctx.go
41
ctx.go
@ -1834,14 +1834,39 @@ func (c *Ctx) Status(status int) *Ctx {
|
||||
//
|
||||
// The returned value may be useful for logging.
|
||||
func (c *Ctx) String() string {
|
||||
return fmt.Sprintf(
|
||||
"#%016X - %s <-> %s - %s %s",
|
||||
c.fasthttp.ID(),
|
||||
c.fasthttp.LocalAddr(),
|
||||
c.fasthttp.RemoteAddr(),
|
||||
c.fasthttp.Request.Header.Method(),
|
||||
c.fasthttp.URI().FullURI(),
|
||||
)
|
||||
// Get buffer from pool
|
||||
buf := bytebufferpool.Get()
|
||||
|
||||
// Start with the ID, converting it to a hex string without fmt.Sprintf
|
||||
buf.WriteByte('#') //nolint:errcheck // Not needed here
|
||||
// Convert ID to hexadecimal
|
||||
id := strconv.FormatUint(c.fasthttp.ID(), 16)
|
||||
// Pad with leading zeros to ensure 16 characters
|
||||
for i := 0; i < (16 - len(id)); i++ {
|
||||
buf.WriteByte('0') //nolint:errcheck // Not needed here
|
||||
}
|
||||
buf.WriteString(id) //nolint:errcheck // Not needed here
|
||||
buf.WriteString(" - ") //nolint:errcheck // Not needed here
|
||||
|
||||
// Add local and remote addresses directly
|
||||
buf.WriteString(c.fasthttp.LocalAddr().String()) //nolint:errcheck // Not needed here
|
||||
buf.WriteString(" <-> ") //nolint:errcheck // Not needed here
|
||||
buf.WriteString(c.fasthttp.RemoteAddr().String()) //nolint:errcheck // Not needed here
|
||||
buf.WriteString(" - ") //nolint:errcheck // Not needed here
|
||||
|
||||
// Add method and URI
|
||||
buf.Write(c.fasthttp.Request.Header.Method()) //nolint:errcheck // Not needed here
|
||||
buf.WriteByte(' ') //nolint:errcheck // Not needed here
|
||||
buf.Write(c.fasthttp.URI().FullURI()) //nolint:errcheck // Not needed here
|
||||
|
||||
// Allocate string
|
||||
str := buf.String()
|
||||
|
||||
// Reset buffer
|
||||
buf.Reset()
|
||||
bytebufferpool.Put(buf)
|
||||
|
||||
return str
|
||||
}
|
||||
|
||||
// Type sets the Content-Type HTTP header to the MIME type specified by the file extension.
|
||||
|
Loading…
x
Reference in New Issue
Block a user