Commit Graph

325 Commits

Author SHA1 Message Date
Adrien Marquès fdf036d366 now parse parameter only if needed by controller's method 2018-05-29 16:00:43 +02:00
Adrien Marquès 8f9c86c391 moved data parser into 'request_data' + created internal lib to parse multipart inside 'internal/multipart' + added default type 'any' + more things... 2018-05-29 15:43:09 +02:00
Adrien Marquès 0641bb9131 add 'parseHttpParameter()' to parse as JSON (if slice of size 1 : return only first, else return as array) or return raw string if JSON fails 2018-05-28 18:25:17 +02:00
Adrien Marquès 73c36a3821 config.Load() now sets defaults for optional fields 2018-05-24 16:53:39 +02:00
Adrien Marquès 75db1513bb add Controller.Method(string) to interface the extraction of dynamic method 2018-05-24 16:22:29 +02:00
Adrien Marquès 8106c22dbd implemented method check in 'config' package 2018-05-24 16:18:28 +02:00
Adrien Marquès 296234d6e7 do not parse content if GET 2018-05-24 16:18:14 +02:00
Adrien Marquès 276268f1be fix root controller (named /i.so) 2018-05-24 16:00:38 +02:00
Adrien Marquès a777de0096 Init() now takes a TypeRegistry as 2nd arg, if NIL, use default settings (./types/*.so)" 2018-05-24 15:54:36 +02:00
Adrien Marquès 812831a665 new checker.CreateRegistry(bool) policy, if TRUE loads all plugins inside ./types/*.so, else plugins (types) must be loaded with registry.Add(pluginName) where pluginName can have or not the extension '.so' and are located directly inside the local ./types directory 2018-05-24 15:47:56 +02:00
Adrien Marquès 6025b637ed add gitignore for '.so' share-objects files + add script to build default types 2018-05-24 15:37:26 +02:00
Adrien Marquès 5ae2554fba added 'default' types (int, string, varchar(min,max)) and it works ! \o/ 2018-05-22 20:27:51 +02:00
Adrien Marquès 3c9e154162 created 'type checker' using 'plugins' 2018-05-22 19:56:55 +02:00
Adrien Marquès 2afa4759fc now request.UrlData is simply an array instead of map[int] 2018-05-22 19:01:39 +02:00
Adrien Marquès b0002a034d update format get -> 'GET@...', url -> 'URL#...' + prevent parameter name injection (if begin with 'GET@' or 'URL#' in POST or GET) 2018-05-22 09:28:30 +02:00
Adrien Marquès 32520a1591 full parameter gathering in 'request_builder' 2018-05-22 09:10:10 +02:00
Adrien Marquès 18f4bcbbae add 'controller path-finding' + 'method check' + [TODO: issue with ParseMultipartForm() that is slow] 2018-05-21 13:02:15 +02:00
Adrien Marquès 7301f2065c created initialiser + request builder (which supports form-data, urlencoded, json) 2018-05-21 12:02:24 +02:00
Adrien Marquès 60c0c92f3a add config.format(name string) to format/check config format 2018-05-20 12:21:27 +02:00
Adrien Marquès c9326a1bb3 moved 'config' in /internal 2018-05-20 10:46:39 +02:00
Adrien Marquès 7f8910f793 error: prefix 'Err' to be namespaceless 2018-05-20 10:41:56 +02:00
Adrien Marquès 5438680867 config minmod | error 'AddArgument' + 'MarshalJSON' 2018-05-20 10:40:04 +02:00
Adrien Marquès c0a72e7e3d fix + explicit name (because all in same package) 2018-05-19 21:34:11 +02:00
Adrien Marquès 1aa64072b1 JSON config reader | error types 2018-05-19 15:17:21 +02:00
Adrien Marquès 015fe53908 first commit 2018-05-19 12:04:45 +02:00