* refactor(context): refactor keys to `map[any]any`
Signed-off-by: Flc゛ <four_leaf_clover@foxmail.com>
* refactor(context): refactor keys to `map[any]any`
Signed-off-by: Flc゛ <four_leaf_clover@foxmail.com>
* style(context): remove empty lines before GetInt16, GetIntSlice, and GetStringMapString methods
- Remove unnecessary empty lines in the context.go file
- Improve code readability and consistency
Signed-off-by: flc1125 <four_leaf_clover@foxmail.com>
* refactor(context): simplify GetStringSlice function
- Replace manual type assertion with generic getTyped function
- Reduce code duplication and improve type safety
Signed-off-by: flc1125 <four_leaf_clover@foxmail.com>
* test(context): improve context.Set and context.Get tests
- Split existing test into separate functions for different scenarios
- Add test for setting and getting values with any key type
- Add test for handling non-comparable keys
- Improve assertions to check for key existence and value correctness
Signed-off-by: flc1125 <four_leaf_clover@foxmail.com>
* refactor(context): replace fmt.Errorf with fmt.Sprintf in panic message
* test(context): remove trailing hyphen from context_test.go
* refactor(context): improve error message for missing key in context
- Remove unnecessary quotes around the key in the error message
- Simplify the error message format for better readability
* test(context): improve panic test message for non-existent key
---------
Signed-off-by: Flc゛ <four_leaf_clover@foxmail.com>
Signed-off-by: flc1125 <four_leaf_clover@foxmail.com>
`Duration.Truncate` was added in Go 1.9 and Gin required Go version 1.13+ now.
So we can use `Duration.Truncate`.
Co-authored-by: Bo-Yi Wu <appleboy.tw@gmail.com>
Add a function `ForceConsoleColor`, like `DisableConsoleColor` but to force coloring the output.
It usefull when some IDE's integrated console (like IntelliJ or Goland) are not detected as TTY, but can display colors.
Also helps if one want to output color in log file (#1590) and as a workaround for #1547.
1. Why is this change neccesary?
White text on a yellow background was illegible with most terminal color schemes
2. How does it address the issue?
The white text was replaced with a bash compatible dark gray while keeping the
yellow background colour
3. What side effects does this change have?
Resolves#1552
* Implement QueryArray and PostArray methods
* Refactor GetQuery and GetPostForm
* Removed additional Iota
I think assigning iota to each constant is not required
* Add 1.7 test.
* Add codecov.io
* corrected a typo in README
* remove coveralls services.
Signed-off-by: Bo-Yi Wu <appleboy.tw@gmail.com>
* Update TravisCI to Gitter webhook
* Add codecov.yml Gitter webhook
* Changed imports to gopkg instead of github in README (#733)
* Add contribution guide
* Update go get for stable version
In the future, github default branch will be develop so running `go get github.com/gin-gonic/gin` will pull latest code from develop.
* Changed imports to gopkg instead of github in README
* Update README.md
* Logger: skip ANSI color commands if output is not a tty
Otherwise, caller needs to invoke WriteHeaderNow himself after
AbortWithStatus(), which is error-prone.
Also modified ErrorLoggerT() such that it always writes log to response
body. Otherwise calling AbortWithStatus() will fail to write body because
c.Writer.Written() is set true by WriteHeaderNow().