Luis GG
62749f0db4
Add context.HandlerNames() ( #1729 )
...
* Add context.HandlerNames()
This change adds a HandlerNames method that will return all registered handles in the context, in descending order
This is useful for debugging and troubleshooting purposes, especially in large apps
* Tests
Add tests for HandlerNames
* Fix HandlerNames test
* Simplify test
2019-02-26 12:15:40 +08:00
Dmitry Kutakov
4867ff9634
fix Context.Next() - recheck len of handlers every iteration ( #1745 )
...
* fix Context.Next() - recheck len of handlers every iteration
* add tests when Context.reset() can be called inside of handler
TestEngineHandleContext
TestContextResetInHandler
TestRouterStaticFSFileNotFound
* Context.Next() - format to while style
2019-01-18 09:57:06 +08:00
Dmitry Kutakov
b056a34bdc
fix errcheck warnings ( #1739 )
2019-01-18 09:32:53 +08:00
Bo-Yi Wu
85b92cdf4b
chore(testing): case sensitive for query string ( #1720 )
...
fix #1692
2018-12-29 11:46:26 +08:00
Gordon Tyler
8cb390f8fe
Yaml binding ( #1618 )
...
* Add YAML binding for application/x-yaml.
* Add YAML binding methods to Context.
* Review fixes.
* Revert accidentally removed import.
2018-11-06 09:49:45 +08:00
Ismail Gjevori
dbc330b804
Pass MaxMultipartMemory when FormFile is called ( #1600 )
...
When `gin.Context.FormFile("...")` is called the `engine.MaxMultipartMemory` is never used. This PR makes sure that the `MaxMultipartMemory` is passed and removes 2 calls to `http.Request.ParseForm` since they are called from `http.Request.ParseMultipartForm`
2018-10-22 23:01:14 +08:00
andriikushch
6ab50f944c
replace deprecated HeaderMap with Header() ( #1585 )
2018-10-12 07:31:31 +08:00
Bo-Yi Wu
07f1bf0e63
feat: replace debug log with fmt package. ( #1560 )
2018-09-19 13:57:00 +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
Filip Figiel
c6110f970c
Add PureJSON renderer ( #694 )
...
Closes #693
2018-08-20 15:15:31 +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
田欧
f45c928a15
chore: use http.Status* instead of hard code ( #1482 )
2018-08-14 09:51:56 +08:00
田欧
7e64d32269
Attempt to fix #1462 ( #1463 )
...
#1462
2018-08-12 10:12:33 +08:00
Dmitry Dorogin
9b7e7bdce6
Add tests for context.Stream ( #1433 )
2018-08-07 06:44:32 +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
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
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 2c82901cea
.
* 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
田欧
9e895470dd
add deprecated test case ( #1176 )
...
* add deprecated test case
* swap assert param
* remove
2017-11-29 16:42:51 +08:00
田欧
eeb57848ca
update assert param(expect, actual) position ( #1177 )
2017-11-21 21:18:45 +08: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
delphinus
a8c53949e5
Support time location on form binding ( #1117 )
2017-09-28 22:23:18 +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
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
Eason Lin
02a6f9b6bc
chore(vendor): update json-iterator revison to fix TestRenderIndentedJSON failed ( #1003 )
...
* update json-iterator revison to fix TestRenderIndentedJSON failed
* fix(test): add space between key and value as same as standard JSON.
* fix(test): add space between key and value as same as standard JSON.
2017-07-11 00:59:03 -05: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
08338eff82
fix testing
...
Signed-off-by: Bo-Yi Wu <appleboy.tw@gmail.com>
2017-07-08 17:03:14 +08:00
Eason Lin
75ed286c60
feat: add SecureJSON func to prevent json hijacking
2017-07-08 01:21:30 +08:00
Javier Provecho Fernandez
d875f07409
Merge branch 'master' into develop
2017-07-02 14:23:55 +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
Eason Lin
8295db44ed
Add content negotiation tests code coverage ( #921 )
2017-05-29 01:28:38 -05:00
Eason Lin
214a746b1d
Improve cookie tests code coverage ( #918 )
2017-05-24 17:39:05 +08: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
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
Bo-Yi Wu
ad2dacedd6
feat: Support get value from request header. ( #839 )
2017-03-24 20:43:23 +08:00
Andrey Nering
863248034b
Support time.Time on form binding ( #801 )
2017-02-17 21:32:36 +08:00
pjgg
6ce1e86a27
chore(errorHandler):new abortWithStatus method with Json body ( #800 )
2017-02-14 09:11:01 +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
Bo-Yi Wu
970e96e388
test: update client ip testing.
2017-01-03 23:42:21 +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
Bo-Yi Wu
787bff85e5
fix testing.
...
Signed-off-by: Bo-Yi Wu <appleboy.tw@gmail.com>
2016-12-11 10:14:23 +08: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
e1efd4fce1
Merge pull request #707 from yehezkielbs/develop
...
Make CreateTestContext public without importing net/http/httptest
2016-12-05 16:48:30 +08: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
Yehezkiel Syamsuhadi
61ba9db5af
Make CreateTestContext public without importing net/http/httptest
2016-09-21 12:16:51 +10: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
Andrey Nering
9366e33ffc
Implement QueryArray and PostArray methods
2016-03-29 21:48:50 -03: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
97cd894279
c.Redirect() allows 201 status code
2016-01-28 00:34:05 +01:00
Manu Mtz.-Almeida
d0065c712e
Merge pull request #411 from phicode/vendoring
...
tests: make path assertions aware of vendoring
2016-01-27 03:22:48 +01:00
Javier Provecho Fernandez
fe49f0b616
Fix exported test function
2015-10-02 12:39:25 +02: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
ee820830d5
Merge branch 'danielalves-master' into develop
2015-10-02 10:26:23 +02:00
Javier Provecho Fernandez
afbf1cf37d
Merge branch 'master' of https://github.com/danielalves/gin into danielalves-master
...
Conflicts:
context_test.go
2015-10-02 10:26:02 +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
Javier Provecho Fernandez
8553030656
Remove old test
2015-09-25 12:12:06 +02:00
Javier Provecho Fernandez
6db7a17513
Trying a new fix.
2015-09-25 12:04:55 +02:00
Javier Provecho Fernandez
aa934766b4
Fix TestContextRenderSSE-2 in context_test.go
2015-09-25 11:43:07 +02:00
Damon Zhao
7bf9788326
fix ci
2015-08-27 16:16:16 +08:00
Damon Zhao
f5b1fb44bb
Add SetCookie and GetCookie method for Context
2015-08-27 16:04:50 +08:00
Philipp Meinen
9fd8aff56e
tests: make path assertions aware of vendoring
...
The path of a package can change in a situation where
dependency vendoring is in use.
This change modifies gin's unit tests to allow such paths.
2015-08-23 00:13:41 +02:00
Manu Mtz-Almeida
a97c239b7a
fixes unit tests
2015-08-16 16:36:47 +02:00
Manu Mtz-Almeida
0873992f38
More unit tests for form binding
2015-07-08 04:26:37 +02:00
Manu Mtz-Almeida
0316b735c4
More unit tests
2015-07-03 04:20:18 +02:00
Manu Mtz-Almeida
8f3047814e
Comments + IRoutes + IRouter + unexported AbortIndex
2015-07-02 20:24:54 +02:00
Manu Mtz-Almeida
13f57702d4
Adds more c.Next() just to be sure
2015-07-02 18:45:09 +02:00
Adam Dratwinski
050a55b006
Use c.Next() instead of c.index++ in UnitTest
2015-07-02 16:37:35 +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
a7c957af7d
Adds supports for custom JSON Content-type
2015-06-13 04:29:10 +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
danielalves
f831ac80ac
Exporting CreateTestContext
2015-06-02 17:16:51 -03:00
Manu Mtz-Almeida
766493c916
Fixes all unit tests
2015-05-31 22:35:49 +02:00
Manu Mtz-Almeida
a843d320a5
Better unit tests for binding forms
2015-05-26 17:22:39 +02:00
Manu Mtz-Almeida
ec1ce34d32
Merge branch 'multipart-form-data-fix' of https://github.com/konjoot/gin
...
- the merge was manually modified before committing.
2015-05-26 16:47:10 +02:00
Maksimov Sergey
e46f4980b9
Restored support of multipart/form-data
2015-05-26 15:21:35 +03:00
Manu Mtz-Almeida
4c1447bc29
Fixes unit tests
2015-05-26 12:11:59 +02:00
Manu Mtz-Almeida
865ea804c9
Renames new API for query/postform and params.
2015-05-26 12:08:33 +02:00
Manu Mtz-Almeida
0a9030f9d7
ClientIP() must trim the white spaces
2015-05-24 15:35:08 +02:00
Manu Mtz-Almeida
80d3cc6b75
Adds test for single IP in X-Forwarded-For
2015-05-24 15:28:58 +02:00
Manu Mtz-Almeida
37b6f6c179
Fixing new errors API
2015-05-22 16:39:15 +02:00
Manu Mtz-Almeida
b7205a6ec2
Fixes new errors API.
2015-05-22 03:43:39 +02:00
Manu Mtz-Almeida
e94247f9ad
New errors API!!
2015-05-22 03:25:21 +02:00