Adrien Marquès
2b67655cfd
refactor: reduce cyclomatic complexity of service.validateInput()
...
- simplify matchPattern()
- rename isMethodAvailable() to checkMethod()
- rename isPatternValid() to checkPattern()
- rename validateInput() to checkInput()
- rename validateOutput() to checkOutput()
- refactor per-type input param management in new method parseParam(); that returns the param type (added unexported enum) and the error
- refactor collision detection from checkInput() and checkOutput() in new method nameConflicts()
2021-06-22 22:18:29 +02:00
Adrien Marquès
f4f49e6ae6
fix: lint: consistent receiver name
2021-06-22 21:15:25 +02:00
Adrien Marquès
178d9a8eee
refactor: export config errors
2021-06-21 21:50:57 +02:00
Adrien Marquès
de547576c9
refactor: semantic move 'builtin' into 'validator'
2021-06-21 21:30:33 +02:00
Adrien Marquès
defa2c3645
refactor: rename semantics of datatype to validator.Type
2021-06-21 21:08:22 +02:00
Adrien Marquès
822ef823e9
migrate: symbols import paths to github
2021-06-20 21:29:46 +02:00
Adrien Marquès
30862195a1
config: refactor, simplify, test, remove redundant comments
2020-04-04 15:39:00 +02:00
Adrien Marquès
35ede5e266
unexport config errors
2020-04-04 14:34:20 +02:00
Adrien Marquès
4ba62e19c7
remove func.go and standardize main file name
2020-04-04 12:42:18 +02:00
Adrien Marquès
1e0fb77d61
standardize and simplify the config package
2020-04-04 11:45:49 +02:00
Adrien Marquès
a5424d8941
parse output in internal/config to find the datatype's reflect.Type()
2020-03-29 16:59:32 +02:00
Adrien Marquès
974f58fb8e
parse 'out' for internal config
continuous-integration/drone/push Build is passing
Details
2020-03-29 14:18:38 +02:00
Adrien Marquès
ca2be1415d
enforce 'name' for capture or query parameters
2020-03-29 14:18:05 +02:00
Adrien Marquès
b15bb578ce
delegate from internal.service to parameter.Validate()
2020-03-29 14:12:47 +02:00
Adrien Marquès
76cc2f5279
replace datatype.Kind() with Type()
2020-03-28 19:11:23 +01:00
Adrien Marquès
8cfa2235d6
add Kind() method to datatype.T interface and to config parameter
2020-03-28 18:48:27 +01:00
Adrien Marquès
49cf06d5d8
implement validator interface for config.server; refactor
continuous-integration/drone/push Build is passing
Details
continuous-integration/drone/pr Build is passing
Details
2020-03-28 12:31:44 +01:00
Adrien Marquès
af3ffa7d6a
implement validator interface for config.service; rename for readability
2020-03-28 12:30:57 +01:00
Adrien Marquès
dac9aa4298
implement validator interface for config.parameter
2020-03-28 12:28:58 +01:00
Adrien Marquès
54705b7472
create validator interface for config
2020-03-28 12:26:11 +01:00
Adrien Marquès
5f3aa5967d
provide datatype registry to every type to allow for recursive datatypes : slices, maps, structs
2020-03-22 16:50:10 +01:00
Adrien Marquès
a15a5c1f7a
fix: register mismatch when no brace capture
continuous-integration/drone/push Build is passing
Details
continuous-integration/drone/tag Build is passing
Details
2020-03-21 15:58:05 +01:00
Adrien Marquès
5fe983c486
display both services in pattern collision error messages
2020-03-21 15:57:35 +01:00
Adrien Marquès
3017cc5ba9
add method tests for pattern collision
continuous-integration/drone/push Build is passing
Details
continuous-integration/drone/tag Build is passing
Details
2020-03-21 15:52:07 +01:00
Adrien Marquès
9c3166397f
add tests for service collision
continuous-integration/drone/push Build is passing
Details
continuous-integration/drone/tag Build is passing
Details
2020-03-21 15:49:07 +01:00
Adrien Marquès
e3adbf48ca
consider collision only if every part is matching
2020-03-21 15:48:59 +01:00
Adrien Marquès
0e6dfbe580
make pattern collission error message explicit
continuous-integration/drone/push Build is passing
Details
continuous-integration/drone/tag Build is passing
Details
2020-03-21 15:15:33 +01:00
Adrien Marquès
9475fe4526
use private errors do avoid overlapping types among packages
2020-03-21 14:19:14 +01:00
Adrien Marquès
93b31b9718
keep references to Form parameters
2020-03-16 11:48:44 +01:00
Adrien Marquès
12417f7f1c
reference query parameters in config.Service
2020-03-16 11:32:37 +01:00
Adrien Marquès
e7f10723a6
check for undefined brace captures + make tests parallel
2020-03-16 10:56:26 +01:00
Adrien Marquès
c32b038da2
make splitURL public
2020-03-16 09:26:10 +01:00
Adrien Marquès
1b4922693b
move config -> internal.config and config.datatype to datatype
2020-03-16 09:20:00 +01:00
Adrien Marquès
a6f5083f0d
bcupdate: make config flat, rewrite, simplify, test
2020-03-14 15:24:17 +01:00
Adrien Marquès
638f5e44c8
test internal/config trick to have a 100% coverage (as conflict check is undeterministic, merge all conditions)
2020-03-08 16:26:55 +01:00
Adrien Marquès
228f5b9a02
test internal/config empty parameter rename should not rename
2020-03-08 16:26:55 +01:00
Adrien Marquès
aba95d4163
remove dead code
2020-03-08 16:26:55 +01:00
Adrien Marquès
e9c7160d2e
expand internal/config test coverage
...
- make parameter type "?" invalid as it marks it as optional only
- check optional vs. required parameters
- test subservice in method description error check
2020-03-08 16:26:55 +01:00
Adrien Marquès
61b58a9f98
add internal/config test for the Browse() method
2020-03-08 16:26:55 +01:00
Adrien Marquès
dd0e321cbd
test internal/config parsing and illegal/missing fields
2020-03-08 16:26:55 +01:00
Adrien Marquès
5ac3b81f6d
parameter name conflict: on rename conflicting rename, return original name
2020-03-08 16:26:55 +01:00
Adrien Marquès
4accad7286
refactor internal/config
...
- create cerr (constant errors) with wrapped context (service name, method, parameter name)
- fix comments numbering
- remove duplicate check
2020-03-08 16:26:55 +01:00
Adrien Marquès
bf3e651c2c
ref: clean comments and make errors constants
2019-05-05 19:01:54 +02:00
Adrien Marquès
eb5ce4c0d0
fix: semantic renaming : internal.config.Method.Permission is now Scope
2019-05-05 19:01:54 +02:00
Adrien Marquès
189d3b40a6
fix: semantic (comments) renaming : 'controller' to 'service', more explicit names
2019-05-05 19:01:54 +02:00
Adrien Marquès
0e498607ba
clean
2019-05-05 19:01:54 +02:00
Adrien Marquès
7e66b6ddd5
ref 0: big refactor of concerns between api request, server, etc
2019-05-01 13:44:45 +02:00
Adrien Marquès
8109f57d15
ref 0: internal.apidef becomes internal.config + refactoe
2019-05-01 10:29:23 +02:00
Adrien Marquès
a63e227538
ref 0: internal/request
2019-05-01 00:02:28 +02:00
Adrien Marquès
5e7ece3f30
fix mispelled words
2018-10-07 11:14:54 +02:00