Commit Graph

177 Commits

Author SHA1 Message Date
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
Manu Mtz-Almeida e60087f223 Fixed documentation error 2015-05-31 17:31:26 +02:00
Manu Mtz-Almeida 835f66fdc9 404 not found performance improvements
benchmark            old ns/op     new ns/op     delta
Benchmark404         737           249           -66.21%
Benchmark404Many     2330          454           -80.52%

benchmark            old allocs     new allocs     delta
Benchmark404         3              0              -100.00%
Benchmark404Many     10             0              -100.00%

benchmark            old bytes     new bytes     delta
Benchmark404         115           68            -40.87%
Benchmark404Many     235           57            -75.74%
2015-05-30 14:45:13 +02:00
Manu Mtz-Almeida 48633f7001 Better documentation 2015-05-29 21:03:41 +02:00
Manu Mtz-Almeida e899d8a99e Code cleanup + documentation 2015-05-28 03:22:34 +02:00
Manu Mtz-Almeida af8e099dfd Fixes multipart integration 2015-05-26 16:31:05 +02:00
Manu Mtz-Almeida 500d745123 PostForm() handles multipart post 2015-05-26 16:16:57 +02:00
Manu Mtz-Almeida 195ea88a28 Cosmetic changes 2015-05-26 12:35:05 +02:00
Manu Mtz-Almeida d209329891 Updates documentation 2015-05-26 12:13:51 +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 9163ee543d Merge branch 'develop' 2015-05-22 17:00:07 +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
Manu Mtz-Almeida 5f76ba2022 Context.Engine renamed to Context.engine 2015-05-22 02:24:13 +02:00
Manu Mtz-Almeida 66251d1741 Simplifies c.File() 2015-05-21 15:49:10 +02:00
Manu Mtz-Almeida f9952b0545 Experimenting with golang.org/x/net/context 2015-05-18 21:26:29 +02:00
Manu Mtz-Almeida c467186d20 Renames Negotiate.HTMLPath to Negotiate.HTMLName 2015-05-18 20:52:26 +02:00
Manu Mtz-Almeida 6313545df7 Drops c.Return() API 2015-05-18 20:51:52 +02:00
Manu Mtz-Almeida 21b5154fd7 New rendering pipeline 2015-05-18 16:09:15 +02:00
Manu Mtz-Almeida 947b53d4a2 New Render API 2015-05-18 15:45:24 +02:00
Manu Mtz-Almeida 470b7e1010 Adds support for Server-Sent Events 2015-05-12 18:33:41 +02:00
Manu Mtz-Almeida 99694bb716 Fixes errors 2015-05-12 15:22:13 +02:00
Manu Mtz-Almeida 421793bfba Experiments: HTTP streaming render 2015-05-12 15:17:46 +02:00
Manu Mtz-Almeida 3df5dfdb7f Faster IndentedJSON + unit tests 2015-05-11 01:04:08 +02:00
Manu Mtz-Almeida d6771dc4a5 Cosmetic changes 2015-05-09 03:35:31 +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
Manu Mtz-Almeida eb3e9293ed Renames []HandleFunc to HandlersChain 2015-05-07 11:30:01 +02:00
Manu Mtz-Almeida 79131ac84d Tail call optimization 2015-05-07 11:28:25 +02:00
Manu Mtz-Almeida 495e6e116e Adds IndentedJSON 2015-05-06 22:31:01 +02:00
Manu Mtz-Almeida f414648384 - More unit tests
- Improves HTML debug render
- InputHolder removed
- More debug logs
2015-05-05 15:06:38 +02:00
Sridhar Ratnakumar ffd35c365e Fix typo/grammar in function comment 2015-04-25 21:27:04 -07:00
Manu Mtz-Almeida 0a192fb0fa Tons of unit tests 2015-04-09 12:15:02 +02:00
Manu Mtz-Almeida 4d315f474b More unit tests 2015-04-08 14:24:49 +02:00
Manu Mtz-Almeida 8b26264574 Merge branch 'develop' into performance
Conflicts:
	context.go
	context_test.go
	gin_test.go
	recovery_test.go
	utils.go
2015-04-08 13:37:25 +02:00
Manu Mtz-Almeida ac0ad2fed8 Improves unit tests 2015-04-08 02:58:35 +02:00
Manu Mtz-Almeida 1532be7c10 Context Accepted is an exported variable 2015-04-07 23:28:36 +02:00
Manu Mtz-Almeida a4eadceb45 Merge branch 'develop' into performance
Conflicts:
	binding/form_mapping.go
	context_test.go
2015-04-07 19:59:43 +02:00
Manu Mtz-Almeida 3abeba82fc Context redirect uses the built-in redirect facility 2015-04-07 12:27:02 +02:00
Manu Mtz-Almeida 1f6304ca25 Cleaning up performance branch 2015-04-07 12:22:38 +02:00
Manu Mtz-Almeida 2915fa0ffe Zero allocation router, first commit 2015-03-31 21:39:06 +02:00
Manu Mtz-Almeida d4413b6e91 Refactors binding module 2015-03-31 17:51:10 +02:00
Manu Mtz-Almeida 18880f9215 ForwardedFor() is deprecated 2015-03-31 17:44:45 +02:00