Commit Graph

91 Commits

Author SHA1 Message Date
Dmitry Kutakov
0d50ce8597 refactor(form_mapping.go): mapping ptr, struct and map (#1749)
* refactor(form_mapping.go): mapping ptr, struct and map

* fix #1672 correct work with ptr - not create value if field is not set
* avoid allocations on strings.Split() - change to strings.Index()
* fix #610 tag value "-" is mean ignoring field
* struct fields mapped like json.Unmarshal
* map fields mapped like json.Unmarshal

* fix after @thinkerou review
2019-03-03 14:39:43 +08:00
André Bazaglia
48f6c6137c allow ignoring field on form mapping (#1733) 2019-02-22 12:23:52 +08:00
Dmitry Kutakov
b056a34bdc fix errcheck warnings (#1739) 2019-01-18 09:32:53 +08:00
Dmitry Kutakov
49e4b0c60c fix mapping inner structs with correct tag (#1718) 2018-12-28 09:57:09 +08:00
thinkerou
f463d847c2
chore: fix test fail (#1669)
* chore: fix test fail

* fix binduri test fail
2018-12-05 05:58:35 +08:00
mllu
64457fbca7 handle nil body for JSON binding (#1638) 2018-11-22 09:55:51 +08:00
thinkerou
521d06c81d support bind uri param (#1612)
* support bind uri (1)

* uri binding successful run

* fix vet warning: github.com/gin-gonic/gin/internal.Param composite literal uses unkeyed fields

* fix code style

* update function name

* fix test function signature

* add test for CanSet

* update readme and add test case

* remove internal.Params

* add coverage

* fix warning
2018-11-22 09:29:48 +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
Barnabus
7a374f9a47 Fix typos (#1626) 2018-11-05 14:17:04 +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
Alexander Lokhman
7eb0f74b89 Set default time format in form binding (#1487) 2018-08-17 09:41:56 +08:00
田欧
6159213462 unify test data (#1417)
mkdir a test data dir.
2018-08-12 23:38:31 +08:00
田欧
cdd02fa9d6 update error(err) to err (#1416)
the pull request update `return error(err)` to `return err`, and remove `kindOfData`.
2018-07-01 21:10:48 +08:00
chainhelen
5636afe02d fix bug, return err when failed binding bool (#1350)
* fix bug, return err when failed binding bool

* add test, return err when failed binding bool
2018-05-11 22:40:33 +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
田欧
bd4f73af67 support struct pointer (#1342)
* support struct pointer

* add readme
2018-05-01 14:24:18 +08:00
Alexander Lokhman
2282be059b Add support of pointers in form binding (#1336)
* Add support of pointers in form binding

* Add tests for pointer form binding
2018-04-26 22:09:34 +08:00
田欧
41f951e0cd support default value for form (#1138)
* support default value for form

* fix bug for nil interface

* use SplitN and optimization code

* add test case

* add test cases for form(own default value)

* fix invalid code

* fix code indent

* assert order
2018-04-25 16:24:03 +08:00
田欧
dfe37ea6f1 unify assert.Equal usage (#1327)
* unify assert.Equal usage

* fix typo
2018-04-20 10:27:44 +08:00
Suhas Karanth
6d913fc343 fix(binding): Expose validator engine used by the default Validator (#1277)
* fix(binding): Expose validator engine used by the default Validator

- Add func ValidatorEngine for returning the underlying validator engine used
  in the default StructValidator implementation.
- Remove the function RegisterValidation from the StructValidator interface
  which made it immpossible to use a StructValidator implementation without the
  validator.v8 library.
- Update and rename test for registering validation
  Test{RegisterValidation => ValidatorEngine}.
- Update readme and example for registering custom validation.
- Add example for registering struct level validation.
- Add documentation for the following binding funcs/types:
  - Binding interface
  - StructValidator interface
  - Validator instance
  - Binding implementations
  - Default func

* fix(binding): Move validator engine getter inside interface

* docs: rm date cmd from custom validation demo
2018-03-29 14:33:07 +08:00
田欧
783c7ee9c1 Add some test cases and run test cases on binding/render dir (#1168)
* Travis run test cases on binding and render dir and add some test cases for binding and render
2018-01-26 11:46:11 +08:00
Boris Borshevsky
6f94fd05c9 Linting and optimizing struct memory signature. (#1184)
* fix cleanPath spell (#969)

* linter and optimize structs
2017-11-29 10:50:14 +08:00
田欧
b7e8a6b9b0 style(import): not use aliase when import package (#1146) 2017-10-29 13:12:22 +01:00
delphinus
a8c53949e5 Support time location on form binding (#1117) 2017-09-28 22:23:18 +08:00
George Kirilenko
cdf26f994b 32 << 10 != 32 Mb (#1094) 2017-09-04 09:15:50 +08:00
Suhas Karanth
26c3f42095 feat(binding): add support for custom validator / validation tags (#1068)
* feat(binding): Add support for custom validation tags

* docs: Add example for custom validation tag

* test(binding): Add test for registering custom validation
2017-08-27 09:37:39 +02: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
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
Eason Lin
8f861946b0 style(msgpack): remove redundant comments (#1027) 2017-07-17 05:57:59 -05:00
whirosan
fb7448f081 feat(binding): add UseNumber() in gin.Context.BindJSON() (#997) close #368
* resolve #368 add option to UseNumber() in gin.Context.BindJSON()

* add test
2017-07-10 10:33:35 +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
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
田欧
4a2b55037f delete else keyword (#945) 2017-06-12 21:36:37 -05:00
田欧
4ad3baf44e Add license for some files (#940) 2017-06-12 01:04:52 -05:00
田欧
d922143bc5 lint code for import (#939) 2017-06-11 21:40:15 -05:00
Andrey Nering
6a3a8ae61b Fix time.Time binding (#904)
If a empty string is given(`""`), them time should be zero.
2017-05-04 09:22:00 +08:00
Harindu Perera
5be2123c1a Added support for MessagePack binding and rendering (#808)
Added deps to vendor.json and fixed rendering bug
2017-02-23 22:08:37 +08:00
Andrey Nering
863248034b Support time.Time on form binding (#801) 2017-02-17 21:32:36 +08:00
Javier Provecho Fernandez
9e930b9bdd lint code 2016-04-15 01:16:46 +02:00
Javier Provecho Fernandez
a6ce7dd84a Merge branch 'bind_test' of https://github.com/honteng/gin into honteng-bind_test 2016-02-24 19:20:20 +01:00
Manu Mtz.-Almeida
ffb5c0412a Updates Validator + unit tests 2016-01-26 19:28:26 +01:00
Naoki Takano
66c4b81579 Added exits check tests for binding 2015-12-30 22:49:38 -08:00
Javier Provecho Fernandez
e5339a3f4d Merge branch 'new-binding-validator' of https://github.com/zhing/gin into zhing-new-binding-validator
Conflicts:
	binding/binding.go
	binding/binding_test.go
2015-10-02 10:42:58 +02:00
zhing
04917e8307 correct the mime type to x-protobuf 2015-07-18 15:18:01 +08:00
zhing
9d644d22e0 add protobuf binding for gin 2015-07-12 17:42:39 +08:00
Manu Mtz-Almeida
0494e1b66a Removes unused underscore 2015-07-10 13:06:01 +02:00
Manu Mtz-Almeida
0873992f38 More unit tests for form binding 2015-07-08 04:26:37 +02:00
Manu Mtz-Almeida
4194adce4c Adds additional bindings for multipart and form 2015-07-03 04:20:00 +02:00