田欧
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
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
syssam
40ab9de4b5
Add BindXML AND ShouldBindXML #1484 ( #1485 )
...
Add BindXML AND ShouldBindXML #1484
2018-08-17 09:12:15 +08:00
田欧
647535cd9b
Support map as query string or post form parameters ( #1383 )
...
* support query map
* add GetQueryMap and unittest
* support post-form map
* add readme for query map
* attempt to fix bug for post-form map when go version is 1.6
* remove duplicate code
* remove comment
2018-08-06 12:07:11 +08:00
Dmitry Dorogin
631cfbd1ef
Simplify context error ( #1431 )
...
Hello!
Looking through context package and found a little bit complicated switch block. And tried to make it easier.
Thanks!
2018-08-05 13:29:26 +08:00
solos
220e8d3453
return json if jsonp has not callback ( #1438 )
...
return json if jsonp has not callback
2018-07-21 00:52:55 +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
田欧
eb9f313144
add comment for context ( #1413 )
...
ref #1075
annotation from go context source.
2018-06-28 17:08:09 +08:00
田欧
6c6d97ba2e
remove hardcode instead of http status value ( #1411 )
2018-06-26 17:21:32 +08:00
田欧
8035359102
use strings.Split instead of strings.IndexByte ( #1406 )
2018-06-23 00:08:58 +08:00
Jean-Christophe Lebreton
bf7803815b
Serve easily dynamic files with DataFromReader
context method ( #1304 )
...
* Add DataFromReader context method
* Replace fmt by strconv.FormatInt
* Add pull request link to README
2018-05-12 11:00:42 +08:00
JINNOUCHI Yasushi
995fa8e9ce
Fix #216 : Enable to call binding multiple times in some formats ( #1341 )
...
* Add interface to read body bytes in binding
* Add BindingBody implementation for some binding
* Fix to use `BindBodyBytesKey` for key
* Revert "Fix to use `BindBodyBytesKey` for key"
This reverts commit 2c82901ceab6ae53730a3cfcd9839bee11a08f13.
* Use private-like key for body bytes
* Add tests for BindingBody & ShouldBindBodyWith
* Add note for README
* Remove redundant space between sentences
2018-05-11 10:33:33 +08:00
senhtry
8c24018290
Add Jsonp Support to Context ( #1333 )
2018-04-26 11:52:19 +08:00
Himanshu Mishra
46662e700b
Doc: Fix typo in documentation of Bind ( #1204 )
2017-12-20 09:32:39 +08:00
田欧
9a4ecc87d6
format some codes style ( #1165 )
2017-11-11 23:24:51 -06:00
Suhas Karanth
dfb68ce085
feat(context): ShouldBind counterparts for Bind methods ( #1047 )
...
* feat(context): ShouldBind counterparts for Bind methods + tests
* docs(readme): Switch examples to use ShouldBind methods
Add section for bind methods types, explain difference in behavior.
Switch all `c.Bind` examples to use `c.ShouldBind`.
2017-10-23 11:14:09 +02:00
Daniel M. Lambea
c9b344118f
Moved const 'defaultMemory' to attrib. Engine.MaxMultipartMemory instead. ( #1100 )
2017-09-07 11:45:16 +08:00
Eason Lin
8902826696
doc(context): add cookie doc ( #1088 )
2017-08-28 21:38:53 +02:00
Bo-Yi Wu
211c48f040
refactor: using requestHeader internal func ( #1083 )
...
* refactor: using requestHeader internal func.
* update
Signed-off-by: Bo-Yi Wu <appleboy.tw@gmail.com>
2017-08-26 12:02:47 +02:00
Dan Markham
b9686e91fa
Use standard library for retrieving header ( #1081 )
2017-08-25 23:53:27 -05:00
田欧
a8fa424ae5
update comment ( #1057 )
2017-08-16 11:55:50 +08:00
Eason Lin
df37e74fa1
doc(context): more clearer bind doc when input is not valid ( #1049 )
2017-08-01 12:49:28 +08:00
Eason Lin
7fafb3f4a1
doc(context): add status func comment. ( #1042 )
2017-07-28 08:50:58 +08:00
Eason Lin
c19aa0598b
feat(context): add BindQuery func ( #1029 )
...
* feat(context): add BindQuery func, only parse/bind the query string params.
* docs(readme): add BindQuery section.
* docs(readme): fix import.
* docs(readme): separate import
2017-07-19 09:50:05 +02:00
田欧
7180f2ba62
not use tmp var ( #1032 )
2017-07-17 22:39:39 -05:00
Eason Lin
93b3a0d7ec
feat(context): add SaveUploadedFile func. ( #1022 )
...
* feat(context): add SaveUploadedFile func.
* feat(context): update multiple upload examples.
* style(example): fix gofmt
* fix(example): add missing return
2017-07-15 22:42:08 -05:00
田欧
aa6d2d29f8
refactor(doc): use space not tab ( #1006 )
2017-07-11 10:28:08 -05:00
Eason Lin
75ed286c60
feat: add SecureJSON func to prevent json hijacking
2017-07-08 01:21:30 +08:00
田欧
e0fd6238d3
use comma ok and use single line ( #984 )
2017-07-06 09:49:54 -05:00
田欧
b985857899
update func comment ( #981 )
2017-07-05 20:28:16 -05:00
Javier Provecho Fernandez
42a34cdc35
docs(context): document keys, errors, and accepted, close #488
2017-07-05 16:55:59 +02:00
Javier Provecho Fernandez
d875f07409
Merge branch 'master' into develop
2017-07-02 14:23:55 +02:00
Javier Provecho Fernandez
68aa2c38da
fix(context): switch deprecated bindwith for mustbindwith
2017-06-28 00:46:35 +02:00
Javier Provecho Fernandez
1a9cba2cc7
Merge pull request #855 from gin-gonic/feat/662
...
feat(context): add idiomatic binding functions for clear err managment
2017-06-28 00:16:34 +02:00
Javier Provecho Fernandez
9a79e3f144
fix(import): switch sse import from gopkg to github
2017-06-27 23:17:02 +02:00
Bo-Yi Wu
1e1e4fc867
Add Makefile to check the following thing ( #947 )
...
* Add Makefile to check the following thing.
* vet check
* fmt check
* embedmd check
* misspell check
Signed-off-by: Bo-Yi Wu <appleboy.tw@gmail.com>
* remove unused variable.
Signed-off-by: Bo-Yi Wu <appleboy.tw@gmail.com>
2017-06-12 21:50:42 -05:00
collinmsn
3f95933c3d
Add method to return main handler ( #930 )
...
Fix #928 Method to get main handler is desired
2017-06-02 03:00:55 -05:00
Javier Provecho Fernandez
5eea51b6c9
feat(context): add cast helpers to c.Keys ( #856 )
...
* feat(context): add cast helpers to c.Keys
* Add tests for cast helpers to c.Keys
2017-06-01 20:00:04 -05:00
Ammar Bandukwala
781cbd19f0
panic if err is nil on c.Error
...
A panic here provides a more informative stack trace than the panic which would otherwise occur while errors are being collected.
2017-05-09 22:30:56 -05:00
Rahul Datta Roy
d4a53101c3
Fix minor type in context.go ( #900 )
...
* Fix minor type in context.go
* More spelling fixes in context.go
2017-05-04 09:22:48 +08:00
Bo-Yi Wu
41316b9ca9
feat: add GetRawData func. ( #857 )
...
* feat: add GetRawData func.
* update return style
Signed-off-by: Bo-Yi Wu <appleboy.tw@gmail.com>
2017-03-31 08:45:56 +08:00
Javier Provecho
73e5fcd855
feat(context): add idiomatic binding functions for clear err managment
2017-03-29 14:32:12 +00:00
Bo-Yi Wu
ad2dacedd6
feat: Support get value from request header. ( #839 )
2017-03-24 20:43:23 +08:00
pjgg
6ce1e86a27
chore(errorHandler):new abortWithStatus method with Json body ( #800 )
2017-02-14 09:11:01 +08:00
mbesancon
2d8477fc42
Fixed typos in Context ( #797 )
...
Simple english typos in the Copy() method
2017-02-01 22:47:50 +08: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
tsirolnik
c115074d77
Use X-Forwarded-For before X-Real-Ip
...
Nginx uses X-Real-Ip with its IP instead of the client's IP. Therefore, we should use X-Forwarded-For *before* X-Real-Ip
2017-01-03 23:43:05 +08:00
David Irvine
ebe3580daf
Add convenience method to check if websockets required ( #779 )
...
* Add convenience method to check if websockets required
* Add tests
* Fix up tests for develop branch
2017-01-02 16:05:30 +08:00
Bo-Yi Wu
5cc3d5955f
Support upload single or multiple files.
...
Signed-off-by: Bo-Yi Wu <appleboy.tw@gmail.com>
2016-12-24 12:25:01 +08:00
Javier Provecho Fernandez
2cab17ba50
Merge pull request #701 from maxatome/patch-1
...
Context.Get() does not need to test whether Keys is nil or not
2016-12-06 20:39:01 +01:00
Bo-Yi Wu
764e138e32
Merge pull request #755 from gin-gonic/755-app-engine-client-ip
...
Fix #723
2016-12-06 08:14:11 -06:00
Javier Provecho Fernandez
7e58c80a7c
Fix #723
2016-12-06 14:28:01 +01:00
Javier Provecho Fernandez
273e43a27a
Merge pull request #724 from chiffa-org/redundant_context_import
...
Move golang.org/x/net/context.Context interface implementation check to tests
2016-12-05 10:55:06 +01:00
Bo-Yi Wu
6f474cb42d
Merge pull request #570 from andreynering/array
...
Implement QueryArray and PostFormArray methods
2016-12-03 08:12:19 +08:00
Vyacheslav Dubinin
ceb250ba20
Move golang.org/x/net/context.Context interface implementation check to tests
2016-10-19 17:13:38 +03:00
Maxime Soulé
bf8da4a08a
Context.Get() does not need to test whether Keys is nil or not
2016-09-09 11:37:22 +02:00
Javier Provecho Fernandez
9e930b9bdd
lint code
2016-04-15 01:16:46 +02:00
Javier Provecho Fernandez
4df51ad4f8
Merge pull request #587 from roylou/develop
...
Write header immediately in AbortWithStatus(), close #585
2016-04-15 00:36:29 +02:00
Javier Provecho
007bd5124a
closes #514 , code from bobbo@b4f0b50
2016-04-14 23:47:49 +02:00
Roy Lou
4c4444b160
Write header immediately in AbortWithStatus()
...
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().
2016-04-15 00:02:29 +08:00
Kamron Batman
70c104e16c
[Cleanup] Typo in context.go
...
Fixes typo from 'If Parses' to 'It parses'
2016-04-01 16:29:28 -07:00
Andrey Nering
f3ff8f827c
Refactor GetQuery and GetPostForm
2016-03-29 21:54:21 -03:00
Andrey Nering
9366e33ffc
Implement QueryArray and PostArray methods
2016-03-29 21:48:50 -03:00
Michael Puncel
7171b967a3
s/currect/current
2016-03-07 21:56:46 -08:00
Michael Puncel
13565e1bf5
fix typo in godoc for func (*Context) HandlerName
2016-03-07 20:54:10 -08:00
Manu Mtz.-Almeida
44978ff780
Improves Context documentation
...
Query(), GetQuery(), PostForm(), GetPostForm()...
2016-01-29 02:42:19 +01:00
Manu Mtz.-Almeida
afc499f306
Adds GetQuery() and GetPostForm() APIs
2016-01-29 02:07:44 +01:00
Manu Mtz.-Almeida
d64a1fb91c
Cosmetic changes
2016-01-28 00:35:09 +01:00
Manu Mtz.-Almeida
61fae4997d
Improves documentation
2016-01-26 22:40:29 +01:00
Manu Mtz.-Almeida
e9531e5c76
Merge branch 'master' into develop
2016-01-26 20:08:28 +01:00
Manu Mtz.-Almeida
e6d563577d
Merge branch 'master' of github.com:gin-gonic/gin
2016-01-26 20:08:14 +01:00
Manu Mtz.-Almeida
4c639a5049
Cosmetic changes:
...
- Deprecating GetCookie()
2016-01-26 18:36:37 +01:00
Manu Mtz.-Almeida
2fc2a3e782
Rendering error throws a panic()
2016-01-26 18:35:04 +01:00
Manu Mtz.-Almeida
9abb909731
Merge branch 'master' into develop
2016-01-26 15:55:44 +01:00
Manu Mtz.-Almeida
7b4e9a81a5
Cosmetic changes
2016-01-26 15:55:30 +01:00
Manu Mtz.-Almeida
d0cd8b9fd9
Adds Status() method to Context
2016-01-26 14:55:45 +01:00
Brian Wigginton
353fa14750
additional clarification
2015-10-27 12:26:05 -05:00
Brian Wigginton
1541a141ee
update docs for context.Abort
...
The docs were a little unclear as to how to use Abort, and how it will affect the current handler.
2015-10-27 12:22:18 -05:00
Javier Provecho Fernandez
4892650ef8
Merge branch 'se77en-master' into develop
2015-10-02 12:38:32 +02:00
Javier Provecho Fernandez
8e37eb8498
Fix tests for GetCookie() and SetCookie()
2015-10-02 12:37:51 +02:00
Javier Provecho Fernandez
45b72951af
Merge branch 'master' of https://github.com/se77en/gin into se77en-master
2015-10-02 11:25:25 +02:00
Javier Provecho Fernandez
558d6b582f
Merge branch 'fix' of https://github.com/donnpebe/gin into donnpebe-fix
2015-10-02 09:54:06 +02:00
Damon Zhao
e1d27558b3
add parameters for set cookie
2015-09-08 15:37:20 +08:00
Damon Zhao
f5b1fb44bb
Add SetCookie and GetCookie method for Context
2015-08-27 16:04:50 +08:00
Manu Mtz-Almeida
e8bc8f48e9
Merge branch 'master' into develop
...
Conflicts:
README.md
gin.go
routergroup.go
2015-08-16 18:38:13 +02:00
Manu Mtz-Almeida
5f2f8d9cb4
Better documentation
2015-07-05 03:26:30 +02:00
Javier Provecho Fernandez
7c0c427b2d
Fix #252 typo (middlewares -> middleware)
2015-07-03 20:12:01 +02:00
Manu Mtz-Almeida
8f3047814e
Comments + IRoutes + IRouter + unexported AbortIndex
2015-07-02 20:24:54 +02:00
Manu Mtz-Almeida
16b08c41c9
Merge branch 'fix_is_aborted_method' of https://github.com/adwinsky/gin
2015-07-02 18:42:41 +02:00
Manu Mtz-Almeida
a20984c2bc
Adds comments
2015-07-02 18:42:33 +02:00
Adam Dratwinski
74f5051cb5
Fix IsAborted() method
2015-07-02 13:37:11 +02:00
Donn Pebe
c1719f7e20
Use only the ip part of request RemoteAddr
2015-07-02 01:48:21 +07:00
Manu Mtz-Almeida
95c08d5f84
Adds HandlerName()
2015-06-25 19:44:52 +02:00
Manu Mtz-Almeida
58b5e15870
Adds ForwardedByClientIP option
2015-06-07 13:51:13 +02:00
Manu Mtz-Almeida
70325deb98
c.ClientIP() performance improvement
...
benchmark old ns/op new ns/op delta
BenchmarkManyHandlers 4956 4463 -9.95%
benchmark old allocs new allocs delta
BenchmarkManyHandlers 16 13 -18.75%
benchmark old bytes new bytes delta
BenchmarkManyHandlers 256 216 -15.62%
2015-06-04 13:15:22 +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
56683d33b1
c.String() performance improvements
...
```
benchmark old ns/op new ns/op delta
BenchmarkOneRouteString 448 310 -30.80%
benchmark old allocs new allocs delta
BenchmarkOneRouteString 1 0 -100.00%
benchmark old bytes new bytes delta
BenchmarkOneRouteString 48 0 -100.00%
```
2015-06-04 12:53:42 +02:00
Manu Mtz-Almeida
1f56e50083
Using Render() instead of Write()
2015-06-04 05:25:21 +02:00
Manu Mtz-Almeida
1228b03914
Fixing some unit tests
2015-05-31 18:35:28 +02:00