Commit Graph

325 Commits

Author SHA1 Message Date
Daniele Teti
a8ce1bb25b + Updated copyright for 2022 2022-01-04 15:44:47 +01:00
Daniele Teti
f1fa322632 + CustomIntfObject support 2021-12-30 00:45:19 +01:00
Daniele Teti
810282b89e + added eLua server side view support. eLua views requires Lua dlls so the LuaViewEngine is not included in the core but in the sample folder 2021-12-30 00:36:35 +01:00
Daniele Teti
f3e8def287 + Added "LogException", fixed some IFDEFs to correctly compile on mobile platforms 2021-12-27 10:13:23 +01:00
Daniele Teti
d2157919fe + added overloaded constructors to all MVCFrom* attributes (allows to pass a default values as string, integer and boolean) 2021-10-07 10:08:53 +02:00
Daniele Teti
ddf1ba1aca - Improved lazy loading for Context.Data property 2021-09-26 18:17:13 +02:00
Daniele Teti
444e085d4f + request content type are decoded only for mtPut, mtPost, mtPatch
+ added XMLDoc comment to rest client methods which directly maps HTTP VERBS
2021-08-13 17:06:15 +02:00
Daniele Teti
c7bb9858ef [+] Added Context.Request.Query method which returns the RawWebRequest property 2021-07-03 11:30:05 +02:00
Daniele Teti
afc593fe4e MVCFromBody can inject raw body as string into actions parameter 2021-06-12 18:30:07 +02:00
Daniele Teti
0a3e0243ba [+] Now the injectable parameters can be defined with a default value 2021-04-21 18:19:51 +02:00
Daniele Teti
0f5587361f [+] Added MVCFromBodyAttribute, MVCFromQueryStringAttribute, MVCFromHeaderAttribute, MVCFromCookieAttribute] 2021-04-21 12:22:09 +02:00
Daniele Teti
e4a3ed87da Removed the standard log line in case of CustomExceptionHandling; now the custom handler can write all, and only, the logs it needs 2021-03-24 10:58:20 +01:00
Daniele Teti
4139fc4a26 [+] Added URLEncode, URLDecode 2021-02-25 10:50:57 +01:00
Daniele Teti
c55bfea9da [+] Small improvement in custom type serialisers 2021-02-15 18:28:45 +01:00
Daniele Teti
4b8491a47c [+] Small optimizations in router and core 2021-02-03 16:04:36 +01:00
João Antônio Duarte
65d03ad065 fix for https://github.com/danieleteti/delphimvcframework/issues/472 2021-01-28 11:56:20 -03:00
Daniele Teti
77ad5ecd10 [+] fix for nil objects in lists during serialization
[+] preparing for 3.2.2-nitrogen
2021-01-27 20:25:35 +01:00
João Antônio Duarte
f826315b46 The TMVCWebRequest.GetParams method failed to look for a field in the body's content when there was some url encoding character. Fixed to check body content only if content-type is application/x-www-form-urlencoded 2020-10-21 16:45:07 -03:00
Daniele Teti
f63cc4469b Improved StaticFilesMiddleware 2020-09-16 15:56:14 +02:00
Daniele Teti
2ae2068807 Improved TMVCStaticFilesMiddleware 2020-09-14 15:52:50 +02:00
Daniele Teti
3755348925 Improved static files middleware 2020-09-11 18:14:28 +02:00
Daniele Teti
a0aea669ee
Merge pull request #416 from osaris/feature_rootnode_bodyaslistof
Handle RootNode when deserializing a collection of objects (BodyAsListOf)
2020-09-08 16:22:28 +02:00
Daniele Teti
b27db6122e Improved EMVCException rendering, added unit tests (202 so far) 2020-09-08 15:25:44 +02:00
Raphaël Emourgeon
fd4a545952 Handle RootNode when deserializing a collection of objects (BodyAsListOf). 2020-09-07 11:28:53 +02:00
Daniele Teti
ae1eda03e1 Added GetFrameworkType method 2020-08-22 15:37:08 +02:00
Daniele Teti
7576ab8bf8 Added the ability to deserialize an object starting from an arbitrary node in the JSON (or other format) present in the request body.
Improved the primary key type handling for manual handling in MVCActiveRecord.
Improved activerecord_showcase sample.
2020-08-13 17:40:02 +02:00
Daniele Teti
465de5cbab TMVCRenderer methods used by TEntityProcessor become public again 2020-08-09 09:38:54 +02:00
Daniele Teti
a3464c38d0 Small router improvements. 2020-08-08 01:03:37 +02:00
Daniele Teti
0d7fa465fc TableName is no more serialized in ActiveRecord 2020-07-18 20:14:58 +02:00
Daniele Teti
e6a7c80ef6 Improved caching and add X-Powered-By optional header 2020-06-29 19:11:41 +02:00
Daniele Teti
aaa34ca410 Added "TMVCActiveRecord.SelectOneByRQL", Removed "Context.Request.HeaderNames" 2020-06-22 15:24:20 +02:00
Daniele Teti
af91c92563 Added Context.Request.HeaderNames: TArray<String> 2020-06-20 19:41:12 +02:00
Daniele Teti
516101ebb8 https://github.com/danieleteti/delphimvcframework/issues/388 2020-05-28 22:35:45 +02:00
Daniele Teti
371d09194a UnitTest // Delphi 10.4 Sydney support 2020-05-27 11:28:22 +02:00
Daniele Teti
028089969a TMVCEngine.Config property is now read-only. Can be changed only in the anonymous method injected in the constructor. (All the samples have been updated - from an idea of @Spinettato a.k.a. Danielino) 2020-05-11 23:39:43 +02:00
spinettaro@gmail.com
570146d313 improved exception handling in OnBeforeDispatch in term of Status code
added correct HTTP STATUS CODE when MAX_REQUEST_SIZE exception is raised
2020-05-09 15:56:54 +01:00
Daniele Teti
b259b72153 Removed debug logs 2020-04-30 11:27:27 +02:00
Daniele Teti
89d723fbde Added new sample to show hot to use StaticFilesMiddleware in SPA web applications. Added ability to don't load system controller using Config[TMVCConfigKey.LoadSystemControllers] := 'false'; in the configuration block. 2020-04-29 17:53:29 +02:00
João Antônio Duarte
fafb73823a Change to OnAfterRouting to be executed after exception handling 2020-04-28 19:08:54 -03:00
João Antônio Duarte
87db1f09a5 Added OnAfterRouting method to IMVCMiddleware 2020-04-27 20:36:45 -03:00
João Antônio Duarte
7dde0cf7d9 Correction of exception raised when middleware tried to map url with invalid characters as path to a file 2020-04-24 21:55:36 -03:00
João Antônio Duarte
faa892df7f Settings for static files removed from the TMVCEngine core 2020-04-24 21:20:46 -03:00
João Antônio Duarte
e029e52907 Settings of static files added as parameters in the middleware constructor 2020-04-24 20:48:07 -03:00
João Antônio Duarte
ebcda178ff Merge remote-tracking branch 'upstream/master' into middleware_staticfiles 2020-04-24 19:13:44 -03:00
Daniele Teti
ba2be8f7e1 Updated some samples 2020-04-24 14:48:30 +02:00
João Antônio Duarte
2e105ec59f The static file server that was at the core of TMVCEngine has been moved to TMVCStaticFilesMiddleware middleware 2020-04-23 21:48:39 -03:00
Daniele Teti
e437d33434 https://github.com/danieleteti/delphimvcframework/issues/355 2020-04-12 12:38:00 +02:00
João Antônio Duarte
91f2bebcfc
Added support for guid path parameters (#353) 2020-04-09 11:04:45 -03:00
Daniele Teti
18e988d604 https://github.com/danieleteti/delphimvcframework/issues/356 2020-04-08 13:00:32 +02:00
Daniele Teti
4a1ef47bd3 "404 Not Found" exceptions now contains the requested URL (as in the log) 2020-04-07 10:37:33 +02:00
Daniele Teti
36ca9d43dc https://github.com/danieleteti/delphimvcframework/issues/337 2020-04-03 11:56:14 +02:00
Daniele Teti
2273c88b00 Added MediaTypes TMVCMediaType.IMAGE_X_ICON 2020-04-02 15:28:06 +02:00
Daniele Teti
1fd7740048 Added JSONRPC Hooks - Renamed RenderXXX Methods 2020-03-30 13:30:45 +02:00
Daniele Teti
992262d152 Added "OnRouterLog" configuration - Fixed packages to include "MVCFramework.Nullables.pas" 2020-02-26 13:10:41 +01:00
Andrea Ciotti
13571aa584 Configurable log for requests 2020-02-24 10:37:37 +01:00
Daniele Teti
92dcbd8b40 FIXED a Vulnerability bug which affects some deployment configurations. 2020-02-13 23:33:30 +01:00
Daniele Teti
3388354743 Serialization support for all the types in MVCFramework.Nullables 2020-02-03 10:51:40 +01:00
Daniele Teti
3233ea123f Fixed a mleak in caso of disconnection while the request is running (https://github.com/danieleteti/delphimvcframework/issues/323) 2020-01-24 10:09:14 +01:00
Daniele Teti
8144baf40c Nulls support in MVCActiveRecord (check activerecord_showcase sample) 2020-01-06 16:49:18 +01:00
Daniele Teti
b097121ee7 First working version of nullable support for mvcactiverecord 2020-01-04 12:54:38 +01:00
Daniele Teti
e2f6bd76d4 https://github.com/danieleteti/delphimvcframework/issues/312 2019-12-23 18:35:21 +01:00
Mauricio Montuori
1f2556ecdc use HTTP_STATUS.BadRequest instead of 400 value 2019-11-18 15:16:27 -03:00
Mauricio Montuori
d9a42e9629 Send error 400 (Bad Request) when a parameter value is wrong 2019-11-18 14:46:01 -03:00
Mauricio Montuori
569f42360f Parameter's Error conversion Exception handling improved 2019-11-18 14:41:25 -03:00
Daniele Teti
157c7208f1 Improved Nullable Types sample 2019-11-17 12:36:27 +01:00
Daniele Teti
529b5c7850 Added comments on jsonrpc/describe output 2019-11-06 20:42:17 +01:00
Daniele Teti
51b0efdba4 Swagger PathID renamed to OperationID
Moved MVCRequiresAuthenticationAttribute into MVCFramework.pas
2019-10-30 00:25:01 +01:00
Daniele Teti
6bdf5547bc Added ToMVCList to wrap any object and try to use as list 2019-10-10 20:16:48 +02:00
João Antônio Duarte
58153c1abf Merge remote-tracking branch 'upstream/master' into serialize_interfaces
# Conflicts:
#	sources/MVCFramework.Serializer.JsonDataObjects.pas
#	sources/MVCFramework.pas
2019-10-09 19:59:04 -03:00
Daniele Teti
0d93ace653 v3.2 (boron) RC1 2019-10-09 23:24:08 +02:00
João Antônio Duarte
3a23d4edf9 Merge remote-tracking branch 'upstream/master' into serialize_interfaces
# Conflicts:
#	sources/MVCFramework.pas
2019-09-25 11:41:11 -03:00
Daniele Teti
a3738777a7 Added SwagDoc 2019-09-25 14:54:04 +02:00
Daniele Teti
6ce183e493
Merge branch 'master' into SwagDoc 2019-09-25 13:01:59 +02:00
João Duarte
530edca638 Added overload to render method for types Iinterfaces 2019-09-18 11:53:54 -03:00
Daniele Teti
698f34354c Added ResponseCreated, ResponseNoContent, ResponseAccepted 2019-09-01 20:36:36 +02:00
Daniele Teti
fea37fed42 RenderCreated 2019-08-28 00:18:40 +02:00
Daniele Teti
69bec54b31 Merge branch 'master' of https://github.com/danieleteti/delphimvcframework 2019-08-28 00:16:08 +02:00
viniciussanchez
4c1c78fa54 Added QueryParams property of type TDictionary<string, string> like C… 2019-08-23 08:42:20 -03:00
Daniele Teti
898fd91bc9 https://github.com/danieleteti/delphimvcframework/issues/268 2019-08-23 12:16:29 +02:00
João Antônio Duarte
ec2ce12089 Change in JWT middleware error return to be captured by TMVCEngine CustomHandlerException 2019-08-13 11:36:09 -03:00
Geoffrey Smith
c54c157dc7 Update Swagger Controller 2019-08-05 21:37:42 +10:00
Geoffrey Smith
b793d5b65e Change MVCPathParam parameters to have Pattern instead of description 2019-08-03 14:26:57 +10:00
Geoffrey Smith
d9b0677788 Add Attribute with extra info about path parameter 2019-08-03 10:16:34 +10:00
Daniele Teti
cc64a564a8 FIXED compatibility problems with XE7 2019-08-02 12:32:31 +02:00
Geoffrey Smith
e4f57686e2 Add Start of Clientside REST API Generator 2019-07-30 16:29:31 +10:00
Geoffrey Smith
f406468754 Add Attributes used for documenting MVC Controllers and Data Structures 2019-07-29 23:47:12 +10:00
Geoffrey Smith
6029777b10 Add back units previously removed from uses clauses 2019-07-29 23:26:33 +10:00
Geoffrey Smith
45acb0437c Merge branch 'master' of https://github.com/danieleteti/delphimvcframework 2019-07-29 22:10:09 +10:00
Daniele Teti
0992ada70a https://github.com/danieleteti/delphimvcframework/issues/225 2019-07-27 00:57:37 +02:00
Daniele Teti
b183eddd81 Small improvements in GetContentFields 2019-07-26 21:30:36 +02:00
viniciussanchez
fc4966ef25 Added LowerCase in ContentField name 2019-07-26 14:37:18 -03:00
viniciussanchez
ca5278c4ac Adjusted lazy-loading TDictionary 2019-07-26 14:28:45 -03:00
viniciussanchez
7004afd101 ContentFields property created in class TMVCWebRequest 2019-07-26 13:59:07 -03:00
viniciussanchez
47a2a0592f Render procedure overload to accept StatusCode and JSON as a parameter. 2019-07-26 10:04:19 -03:00
viniciussanchez
338db990fd Remove System.JSON reference 2019-07-26 09:45:40 -03:00
viniciussanchez
ba9b896af8 AErrorMessage default is empty when AErrorCode is 204 (No content) 2019-07-26 09:42:57 -03:00
viniciussanchez
db5b505cf7 IETF - RFC 6750 #244 2019-07-26 08:51:11 -03:00
geoffsmith82
2e239baacb Remove unneeded Indy file references 2019-07-06 16:11:18 +10:00
Daniele Teti
39741b08ec Small improvements on webrequest class 2019-05-19 14:20:15 +02:00
Daniele Teti
53bdb8acc0 Improved MVCActiveRecord 2019-05-16 00:17:19 +02:00