Commit Graph

122 Commits

Author SHA1 Message Date
TimAndy 8363db7e38 feat: support custom json codec at runtime 2024-11-21 14:43:06 +08:00
TimAndy 672d629c23 Export json codec 2024-11-21 14:43:04 +08:00
Matthieu MOREL e8d34d053f
ci(lint): enable usestdlibvars linter (#4091)
Signed-off-by: Matthieu MOREL <matthieu.morel35@gmail.com>
2024-11-15 23:52:16 +08:00
Matthieu MOREL 5f55c6a711
ci(lint): enable testifylint linter (#4010)
Signed-off-by: Matthieu MOREL <matthieu.morel35@gmail.com>
2024-07-14 20:33:08 +08:00
jessetang 3ea8bd99fb
chore(refactor): modify interface check way (#3855)
Signed-off-by: demoManito <1430482733@qq.com>
2024-03-06 22:27:21 +08:00
Vincent Bernat 9c61295efe
chore(header): Add support for RFC 9512: application/yaml (#3851)
* fix(binding): support application/yaml

RFC 9512 defines application/yaml as the official YAML MIME type.
application/x-yaml is deprecated. In this commit, we ensure it is
recognized correctly in Content-Type.

* fix(render): use application/yaml when rendering YAML

As per RFC 9512, application/x-yaml is now deprecated and applications
should use application/yaml. This commit fix the Content-Type header
when rendering YAML.
2024-03-05 21:54:35 +08:00
Leonardo de Araujo bb2d8cf486
test(render): increased unit tests coverage (#3691) 2023-08-12 22:21:56 +08:00
ccpro 6a0556ed5a
improve render code coverage (#3525) 2023-05-10 17:19:26 +08:00
thinkerou 1e1f0b1e76
chore: support min go version 1.18 (#3511)
* chore: min go version 1.18

* fix build tag error

* remove build tag

* fix word

* remove any.go

* replace interface{} instead of any
2023-03-01 10:03:48 +08:00
Vladislav Dmitriyev 0c96a20209
Stop useless panicking in context and render (#2150)
Co-authored-by: Bo-Yi Wu <appleboy.tw@gmail.com>
2023-02-12 10:01:33 +08:00
thinkerou c9b27249fb
chore(yaml): upgrade dependency to v3 version (#3456)
fixes https://github.com/gin-gonic/gin/issues/3451
fixes https://github.com/gin-gonic/gin/issues/3306
fixes https://github.com/gin-gonic/gin/issues/3362
fixes https://github.com/gin-gonic/gin/issues/2581
2023-01-02 12:40:48 +08:00
mstmdev e868fd1d3d
test(TOML): Add some tests for the TOML render (#3401) 2022-12-22 23:18:47 +08:00
hopehook 33ab0fc155
refactor(struct): Remove redundant type conversions (#3345) 2022-10-16 09:49:24 +08:00
thinkerou 38eb5acc6b
add v1.8.0 changelog (#3160) 2022-05-30 15:16:10 +08:00
thinkerou 4b68a5f12a
chore: update go.mod and remove space from copyright (#3158)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-05-28 10:42:28 +08:00
Valentine Oragbakosi ed03102ef0
[GIN-001] - Add TOML bining for gin (#3081)
Co-authored-by: GitstartHQ <gitstart@users.noreply.github.com>
2022-05-28 08:34:43 +08:00
thinkerou 2bde107686
test support go1.18 (#2990) 2022-03-21 09:43:17 +08:00
Matthieu MOREL 71f7087097
golangci(lint) : more linters (#2870) 2021-09-21 15:22:21 +08:00
Lanco 4e7584175d
minor tweaks,optimize code (#2788) 2021-08-23 01:32:41 +08:00
Matthieu MOREL 435a76b735
chore(ci): update dependencies (#2827)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Matthieu MOREL <mmorel-35@users.noreply.github.com>
2021-08-19 15:46:31 +08:00
ziheng f2bbdfe9f2
Use buf.String() instead of string(buf.Bytes()) (#2764) 2021-06-25 12:14:06 +08:00
heige 97a32b1de3
Optimize code adjust (#2700)
* setFormMap error of result

* adjust code for TrySet

* error export for type multipart.FileHeader

* code style adjust

* reflect code maping optimize

* Update form_mapping.go

Co-authored-by: Bo-Yi Wu <appleboy.tw@gmail.com>
Co-authored-by: thinkerou <thinkerou@gmail.com>
2021-06-02 07:35:30 +08:00
thinkerou ed6f85c478
build: convert to go:build directives (#2664) 2021-03-27 09:09:44 +08:00
xyb c83a1cca0a
reduce allocs and improve the render `WriteString` (#2508)
Co-authored-by: yonbiaoxiao <yonbiaoxiao@tencent.com>
Co-authored-by: Bo-Yi Wu <appleboy.tw@gmail.com>
Co-authored-by: thinkerou <thinkerou@gmail.com>
2020-10-16 18:32:33 +08:00
bestgopher 9221381443
remove a unused type SecureJSONPrefix (#2391) 2020-05-24 10:58:28 +08:00
Bo-Yi Wu 6f3d96ccff
chore: improve render string performance (#2365) 2020-05-09 17:41:00 +08:00
Kaushik Neelichetty 5f56109bcf
Use json marshall in context json to fix breaking new line issue. Fixes #2209 (#2228)
* ignore IntelliJ idea generated files

* update JSON renderer to use Marshall() instead of Encode(). Fix #2209

* Revert "ignore IntelliJ idea generated files"

This reverts commit e7bd017227.

Co-authored-by: Bo-Yi Wu <appleboy.tw@gmail.com>
Co-authored-by: thinkerou <thinkerou@gmail.com>
2020-02-21 17:15:17 +08:00
Andy Pan 982daeb1ec Use zero-copy approach to convert types between string and byte… (#2206)
* Use zero-copy approach to convert types between string and byte slice

* Rename argument to a eligible one

Benchmark:

BenchmarkBytesConvBytesToStrRaw-4   	21003800	        70.9 ns/op	      96 B/op	       1 allocs/op
BenchmarkBytesConvBytesToStr-4      	1000000000	         0.333 ns/op	       0 B/op	       0 allocs/op
BenchmarkBytesConvStrToBytesRaw-4   	18478059	        59.3 ns/op	      96 B/op	       1 allocs/op
BenchmarkBytesConvStrToBytes-4      	1000000000	         0.373 ns/op	       0 B/op	       0 allocs/op


Co-authored-by: Bo-Yi Wu <appleboy.tw@gmail.com>
2020-01-18 00:32:50 +08:00
Antoine GIRARD fd8a65b252 Add build tag nomsgpack (#1852)
* add build tag nomsgpack

* Update copyright

* Update copyright
2020-01-07 11:31:10 +08:00
Dmitry Kutakov b52a1a1588 allow empty headers on DataFromReader (#2121) 2019-11-25 10:45:53 +08:00
Dmitry Kutakov 393a63f3b0 Fix 'errcheck' linter warnings (#2093) 2019-10-27 13:58:59 +08:00
Gaozhen Ying 9aa870f108 Adjust Render.Redirect test case (#2053) 2019-09-10 17:16:37 +08:00
George Gabolaev 01ca625b98 Fixed JSONP format (added semicolon) (#2007)
* Fixed JSONP format (added semicolon)

* render_test fix
2019-09-02 20:18:08 +08:00
Segev Finer 20440b96b9 Support negative Content-Length in DataFromReader (#1981)
You can get an http.Response with ContentLength set to -1 (Chunked encoding), so
for DataFromReader to be useful for those we need to support that.
2019-08-05 09:42:59 +08:00
Christian Muehlhaeuser 461df9320a Simplify code (#2004)
- Use buf.String instead of converison
- Remove redundant return
2019-07-27 09:06:37 +08:00
itcloudy 0cbf290302 use encode replace json marshal increase json encoder speed (#1546) 2019-05-22 07:48:50 +08:00
Dan Markham 094f9a9105 v1.4.0 + #1631 (remove go1.6/go1,7 support) (#1851)
* remove go1.6 support

* remove build tag

* remove todo

* remove go1.6 support: https://github.com/gin-gonic/gin/pull/1383/commits

* update readme

* remove go1.7 support

* fix embedmd error

* test

* revert it

* revert it

* remove context_17

* add pusher test

* v1.4.0 rc1
2019-05-07 18:32:32 +08:00
songjiayang 7b1081a73f issue_1721: fix render writeHeaders to make it the same as http.Header.Set (#1722) 2019-02-22 14:20:24 +08:00
Dmitry Kutakov b056a34bdc fix errcheck warnings (#1739) 2019-01-18 09:32:53 +08:00
andriikushch 6ab50f944c replace deprecated HeaderMap with Header() (#1585) 2018-10-12 07:31:31 +08:00
田欧 6db092f778 chore: add some annotations (#1550)
ref #1075 should all annotations and can close #1075 .
2018-09-15 15:21:54 +08:00
田欧 d510595aa5 chore: add some annotations (#1544)
ref: #1075 
because I am not a native English, maybe have a bit problem.
2018-09-15 10:23:32 +08:00
Iskander (Alex) Sharipov 3f27866f80 simplify slice expressions: s[:] => s (#1541)
Found using https://go-critic.github.io/overview#unslice-ref
2018-09-12 21:21:26 +08:00
田欧 72db8acd99
add internal package which includes json package (#1504) 2018-08-30 19:04:03 +08:00
田欧 85f3e78abc chore: remove else instead of return/continue (#1502)
As[ Effective Go](https://golang.org/doc/effective_go.html?#if) about `if` said, remove else statement instead of return/continue statement.
2018-08-20 21:49:24 +08:00
Filip Figiel c6110f970c Add PureJSON renderer (#694)
Closes #693
2018-08-20 15:15:31 +08:00
田欧 b7bb9baa64
chore: add missing copyright and update if/else (#1497) 2018-08-19 22:52:43 +08:00
田欧 32b58e0fd2 render: update msgpack usage (#1498)
please see msgpack usage: https://github.com/ugorji/go/tree/master/codec#usage
2018-08-19 22:14:02 +08:00
田欧 6073a79ee0
not use protobuf on context but use it on render (#1496) 2018-08-19 17:39:58 +08:00
aljun efdd3c8b81 Add support for Protobuf format response and unit test (#1479)
`Gin` now have the `protobufBinding` function to check the request format, but didn't have a protobuf response function like `c.YAML()`.
In our company [ByteDance](http://bytedance.com/), the largest internet company using golang in China, we use `gin` to transfer __Protobuf__  instead of __Json__, we have to write some internal library to make some wrappers to achieve that, and the code is not elegant. So we really want such a feature.
2018-08-19 10:45:56 +08:00