Commit Graph

21 Commits

Author SHA1 Message Date
田欧
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
田欧
6073a79ee0
not use protobuf on context but use it on render (#1496) 2018-08-19 17:39:58 +08:00
Rex Lee(李俊)
85221af84c add json ASCII string render (#1358)
add a json render that rendering json as ASCII string
2018-07-03 17:17:08 +08:00
senhtry
8c24018290 Add Jsonp Support to Context (#1333) 2018-04-26 11:52:19 +08:00
Bo-Yi Wu
ce670a6497 refactor(json): make jsonite optional with build tags (#1026)
* refactor(json): Restore gin support for app engine

Create new folder to support multiple json package.
restore gin support for app engine (disable jsonite through tags)

use jsoniter

$ go build -tags=jsoniter .

use default json

$ go build .

Signed-off-by: Bo-Yi Wu <appleboy.tw@gmail.com>

* rename json file.

Signed-off-by: Bo-Yi Wu <appleboy.tw@gmail.com>

* docs(json): add build tags document.

* fix(docs): markdown format.

* fix(json): missing space.
2017-07-18 23:01:29 +02:00
Bo-Yi Wu
e23842ecab
fix json sort the map keys
Signed-off-by: Bo-Yi Wu <appleboy.tw@gmail.com>
2017-07-08 18:19:09 +08:00
Bo-Yi Wu
12508320c2
feat: change json lib to jsoniter
A high-performance 100% compatible drop-in replacement of "encoding/json"

https://github.com/json-iterator/go

Signed-off-by: Bo-Yi Wu <appleboy.tw@gmail.com>
2017-07-08 16:51:36 +08:00
Eason Lin
75ed286c60 feat: add SecureJSON func to prevent json hijacking 2017-07-08 01:21:30 +08:00
田欧
34e972e155 Separate type define (#983) 2017-07-06 07:59:27 -05:00
Javier Provecho Fernandez
963acc4b0c Fix #198 (#781)
* Add new function to Render interface for writing content type only

* Add support for the new function in Render interface for writing content-type only

* Fix unhandled merge conflict in context_test.go

* Update vendor.json
2017-01-09 16:24:48 +01:00
chriswhelix
97d310b55c Honor normal gin write contract for context.JSON()
Gin normally silently swallows errors writing to the client; however in WriteJSON (and thus context.JSON), the ResponseWriter was being passed directly into the JSON encoder, which will return an error if there's an error writing to the stream. For instance, context.JSON would panic with errors like "write tcp XXX-> YYY: write: connection reset by peer" if the client disconnected before the response was complete. This change makes JSON.Render() treat write errors the same as IndentedJSON, Data, and other renderers.
2016-12-11 10:14:23 +08:00
Manu Mtz-Almeida
a7c957af7d Adds supports for custom JSON Content-type 2015-06-13 04:29:10 +02:00
Manu Mtz-Almeida
822b995687 c.JSON performance improvement
benchmark                 old ns/op     new ns/op     delta
BenchmarkOneRouteJSON     1143          1053          -7.87%

benchmark                 old allocs     new allocs     delta
BenchmarkOneRouteJSON     4              3              -25.00%

benchmark                 old bytes     new bytes     delta
BenchmarkOneRouteJSON     72            56            -22.22%
2015-06-04 13:08:29 +02:00
Manu Mtz-Almeida
1f56e50083 Using Render() instead of Write() 2015-06-04 05:25:21 +02:00
Manu Mtz-Almeida
a2105ce34c Fast path for setting headers.
- No heap allocation
- No indirection
- CanonicalMIMEHeaderKey() is not called
2015-05-23 16:39:25 +02:00
Manu Mtz-Almeida
ffaf49da0e Adds MIT license 2015-05-22 19:21:23 +02:00
Manu Mtz-Almeida
306da81aaf Cosmetic changes in render 2015-05-22 04:44:29 +02:00
Manu Mtz-Almeida
947b53d4a2 New Render API 2015-05-18 15:45:24 +02:00
Manu Mtz-Almeida
a9dad532ae Performance improvement in renders 2015-05-11 01:02:17 +02:00
Manu Mtz-Almeida
2d8f0a4801 Performance improvements when rendering
- Fast path for JSON, XML and plain text rendering
2015-05-07 12:44:52 +02:00