Adrien Marquès
b88a4439c8
fixup: update comment for optional api.Ctx
2021-04-19 22:15:34 +02:00
Adrien Marquès
e44dab4bc9
fixup: remove HasContext from spec
2021-04-19 19:55:00 +02:00
Adrien Marquès
d6f8457274
feat: pass optional context argument to handlers
continuous-integration/drone/push Build is passing
Details
2021-04-18 19:31:54 +02:00
Adrien Marquès
0a55c2ee13
feat: add optional api.Ctx first argument to handler checker
2021-04-18 19:25:31 +02:00
Adrien Marquès
24be7c294e
test: dynamic func input
2021-04-18 18:26:37 +02:00
Adrien Marquès
a693bbbf9b
fix: reflect assign value to pointer of value in call argument
continuous-integration/drone/push Build is passing
Details
continuous-integration/drone/pr Build is passing
Details
2021-04-18 17:55:48 +02:00
Adrien Marquès
10e59acdae
fix: test string-int concatenation warnings
2021-03-28 18:50:25 +02:00
Adrien Marquès
6039fbb41f
update: api.Err system
...
- rename 'Error' to 'Err'
- use struct instead of int as underlying type ; remove dependency on 2 maps for reason and HTTP status codes
- remove useless json implementation
2021-03-28 18:49:23 +02:00
Adrien Marquès
30862195a1
config: refactor, simplify, test, remove redundant comments
2020-04-04 15:39:00 +02:00
Adrien Marquès
990bb86919
rework reqdata api and remove redundant comments
2020-04-04 14:56:15 +02:00
Adrien Marquès
35ede5e266
unexport config errors
2020-04-04 14:34:20 +02:00
Adrien Marquès
90472b8bf7
unexport dynfunc errors
2020-04-04 12:46:43 +02:00
Adrien Marquès
df56496a16
dynfunc: normalize file names
2020-04-04 12:45:36 +02:00
Adrien Marquès
caa57889b4
multipart: rename files and unexport errors
2020-04-04 12:43:55 +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
5cc3d2d455
use http.Request instead of pointer
2020-04-04 12:03:29 +02:00
Adrien Marquès
09362aad83
make 'dynfunc' internal
2020-04-04 11:49:33 +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
9a5b0dd6e3
remove Parameter type, only keep method parseParameter()
2020-03-21 14:45:39 +01:00
Adrien Marquès
149ec9a9a0
internal/reqdata Parse() does not return errors anymore
2020-03-21 14:20:26 +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
3606f9984d
update tests for internal/reqdata set
continuous-integration/drone/push Build is failing
Details
2020-03-20 22:36:15 +01:00
Adrien Marquès
7b812c6648
get data from multipart components
2020-03-20 22:35:53 +01:00
Adrien Marquès
dc34d9a81a
wrap multipart errors in dedicated error : ErrInvalidMultipart
2020-03-20 22:35:30 +01:00
Adrien Marquès
cdbe4cceac
ignore io.EOF while parsing multipart
2020-03-20 22:27:01 +01:00
Adrien Marquès
03d5e87c37
wrap json parser into dedicated error : ErrInvalidJSON
2020-03-20 22:26:43 +01:00
Adrien Marquès
c7aa87c660
ignore EOF when parsing form as json
2020-03-20 22:18:34 +01:00
Adrien Marquès
0f62fc25a0
use request.URL.RequestURI() insteaf of request.RequestURI() ; it is not the same
2020-03-20 22:09:38 +01:00
Adrien Marquès
8c539370aa
remove cerr
2020-03-16 12:53:48 +01:00
Adrien Marquès
b38a9a8111
refactor internal/reqdata to work with thew new config
2020-03-16 12:50:30 +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