Commit Graph

1239 Commits

Author SHA1 Message Date
Daniele Teti
88127a7b44 Improved HTML error page look&feel 2023-10-01 15:22:05 +02:00
Daniele Teti
2e07107948 MVCActiveRecord - in case of "integer field types" specified in the MVCTableField attribute "DataFieldName", if the entity property is a boolean value, 1 and 0 are mapped as true and false. 2023-09-28 15:37:10 +02:00
Daniele Teti
e1a95bded7 Updated HTML exception rendering 2023-09-28 10:44:44 +02:00
Daniele Teti
af8f572a00 Improved console handling for MVCFramework.Console.pas 2023-09-27 15:10:13 +02:00
Daniele Teti
3d910bdfed New sample: HTMX_mustache, fix for some unit test, workaround for IdCustomHTTP strange behaviour in case of empty response and HTTP 200 OK. 2023-09-25 23:55:28 +02:00
Daniele Teti
b8bb07b2c4 Added function TMVCController.GetRenderedView(const AViewNames: TArray<string>; const JSONModel: TJSONObject): string; 2023-09-23 00:22:52 +02:00
Daniele Teti
0f35452954 https://github.com/danieleteti/delphimvcframework/issues/694 2023-09-22 09:43:35 +02:00
Daniele Teti
ed9a0cbe0e Allows to run code like this: C:\Projects\Win32\Debug>set dmvc.server.port = 9999 & Project6.exe 2023-09-22 09:41:37 +02:00
Daniele Teti
f52c973e44 Improved reverse proxy headers handling 2023-09-15 10:16:21 +02:00
Daniele Teti
42c58d92f7 https://github.com/danieleteti/delphimvcframework/issues/692 2023-09-14 16:35:49 +02:00
Daniele Teti
a879d127a4 FIX for Tokyo. Removed absolute paths in dpk. 2023-09-13 10:11:17 +02:00
Daniele Teti
480463a6f9 FIX for Tokyo - thanks Mark Lobanov 2023-09-13 00:00:04 +02:00
Daniele Teti
ca3f874b38 Update build const 2023-09-07 19:22:03 +02:00
Daniele Teti
d30e3ea585 Added support for NamedQuery using ClassRef 2023-09-05 14:32:04 +02:00
Daniele Teti
36d7a938b6 Refactored MVCResponseBuilder 2023-09-05 12:29:38 +02:00
Daniele Teti
68aa8c8f1c Improved "MVCResponseBuilder" 2023-09-05 09:56:57 +02:00
Daniele Teti
d57c79480d Improved rendering of TMVCErrorResponse. Clean-up of functional_actions_sample. 2023-09-04 17:09:41 +02:00
Daniele Teti
7ebb0681d5 no message 2023-09-04 11:29:05 +02:00
David Moorhouse
ac94f2d070 Added HTMK helpers for MVCWebRequest/Respons
Added sample application
2023-09-04 12:56:16 +12:00
Daniele Teti
7b828d78f2 Code clean up in the samples 2023-09-01 12:49:10 +02:00
Daniele Teti
0775315682 Improved "renders" sample - added sensible defaults for MVCResponseBuilder 2023-08-30 17:38:14 +02:00
Daniele Teti
f21bb1144b https://github.com/danieleteti/delphimvcframework/issues/682 2023-08-30 16:34:36 +02:00
Daniele Teti
f5f9220f70 Improved CORS middleware 2023-08-30 11:58:50 +02:00
Daniele Teti
56573899d3 TMVCResponseBuilder and IMVCResponseBuilder (WIP) 2023-08-29 23:51:08 +02:00
Daniele Teti
be3f8c8290 Removed HINT 2023-08-18 20:36:12 +02:00
Daniele Teti
1af61e82d7 https://github.com/danieleteti/delphimvcframework/issues/681 2023-08-16 17:15:11 +02:00
Daniele Teti
ec799cf573 https://github.com/danieleteti/delphimvcframework/issues/679 2023-08-16 11:40:36 +02:00
Daniele Teti
dfe3943d86 https://github.com/danieleteti/delphimvcframework/issues/679 2023-08-15 21:25:46 +02:00
Daniele Teti
e93f9e5ae7 https://github.com/danieleteti/delphimvcframework/issues/679
(WIP)
2023-08-15 18:24:17 +02:00
Daniele Teti
376e3ea9c2 https://github.com/danieleteti/delphimvcframework/issues/680 2023-08-15 11:43:47 +02:00
Daniele Teti
85eef8920f Added server side session with file persistence 2023-08-12 01:24:10 +02:00
Daniele Teti
cbdb7b684f Improved ISAPI sample 2023-08-09 15:57:28 +02:00
Daniele Teti
b59f8f6421 Added MVCNamedSQLQuery and MVCNamedRQLQuery (Named queries support is complete) 2023-08-09 10:55:34 +02:00
Daniele Teti
636341d822 NamedSQLQuery (WIP) 2023-08-09 01:23:24 +02:00
Daniele Teti
47c3003f15 Better organization of method between TMVCActiveRecord and TMVCActiveRecordHelper 2023-08-09 00:46:31 +02:00
Daniele Teti
0053885bc1 Better exception description and better recognize of boolean type when database doesn't know boolean field types 2023-08-08 18:54:44 +02:00
Daniele Teti
c201c916cb https://github.com/danieleteti/delphimvcframework/issues/675 2023-08-08 14:31:23 +02:00
Daniele Teti
8631a155ff - Added IMVCResponse with related helper methods "MVCResponse(...)"
- IMVCObjectDictionary can be serialized as attribute and not only as root object (required to serialize IMVCObjectDictionary from TMVCResponse)
2023-08-04 13:09:05 +02:00
Daniele Teti
7e451ae1d6 Added specific rendering case for TMVCResponse and its child classes 2023-08-03 17:04:28 +02:00
João Antônio Duarte
1d50399b4f Fixed data decompression in TMVCRestClient. On MACOS/iOS clients the decompression is automatic. 2023-07-25 15:42:08 -03:00
Daniele Teti
49ed5c7824 Fixed a default initialization for JWT (thanks to Flavio Basile) 2023-07-20 16:47:48 +02:00
Daniele Teti
34bddfc8fd Improved TMVCResponse to better suit the new functional actions 2023-07-20 16:40:39 +02:00
Daniele Teti
329aaa9190 Added more tests on "functional actions" 2023-07-19 12:29:16 +02:00
Daniele Teti
61d021b92a Improved dataset handling for functional actions. 2023-07-19 11:10:21 +02:00
Daniele Teti
e6fc21dff9 Merge branch 'master' into feature_642_functions_as_action
# Conflicts:
#	packages/d113/dmvcframework_group.groupproj
#	sources/MVCFramework.Commons.pas
2023-07-18 13:44:14 +02:00
Daniele Teti
69d9780b02 TMVCActiveRecord correnctly handle "DirectExecute" params in Exec* methods 2023-07-12 15:01:58 +02:00
Daniele Teti
2b65a1d503 In case of MVCPartitioning and DefaultFiltering are both present, DefaultFiltering wins.
While the partitioning in enforced at insert, the update doesn't enforce partitioning. This allows to implement proper OOP architecture (person -> employee -> manager)
2023-07-07 20:29:09 +02:00
Daniele Teti
7a3ad403f8 Added RenderFile and RenderStream as aliases for SendFile and SendStream 2023-07-07 20:27:24 +02:00
Daniele Teti
17d9afc58e https://github.com/danieleteti/delphimvcframework/issues/667 2023-06-21 12:56:21 +02:00
Daniele Teti
0374d8fa4b Added MSHeap.pas (https://github.com/RDP1974/DelphiMSHeap) 2023-06-21 12:30:29 +02:00
Daniele Teti
2e11e63926 Improved dotEnv parser to better handling border cases 2023-06-16 14:58:17 +02:00
Daniele Teti
2365be432b Wrong comparison in checks for ro/RW/PK fields 2023-06-16 00:59:51 +02:00
Daniele Teti
2e2d3a499e Added support for configuration; better handling for topics cleaning. 2023-06-15 23:42:07 +02:00
Daniele Teti
9c5cdecccc Removed dotEnv(<instance>), introduced dotEnvConfigure(TFunc<IMVCDotEnv>); ide expert updated accordingly 2023-06-14 17:57:33 +02:00
Daniele Teti
93ee4225f4 Small improvements on shutdown 2023-06-06 17:34:24 +02:00
Daniele Teti
fd19c463f2 Wizard uses dotEnv configurations 2023-06-06 13:00:21 +02:00
Daniele Teti
2604c3a52f Integrating dotEnv engine in dmvcframework projects - starting with the concurrency_speed_test 2023-06-06 10:16:34 +02:00
Daniele Teti
607a30a3f0 https://github.com/danieleteti/delphimvcframework/issues/664 2023-06-04 18:19:50 +02:00
Daniele Teti
23927c806c Merge branch 'master' into feature_642_functions_as_action 2023-05-30 12:52:10 +02:00
Daniele Teti
85389b8fb6 Splitted IMVCDotEnv in IMVCDotEnvBuilder and IMVCDotEnv 2023-05-30 12:03:20 +02:00
Daniele Teti
724c797cbf Improved some unit tests - fix some failing tests 2023-05-27 12:20:24 +02:00
Daniele Teti
a05060b18c https://github.com/danieleteti/delphimvcframework/issues/663
Reverted commit ba537b2ad9 related to issue https://github.com/danieleteti/delphimvcframework/issues/658
2023-05-26 18:46:59 +02:00
Daniele Teti
3ddda59e33 Added support for dotEnv multiline keys - added dotEnv show case (WIP) 2023-05-25 00:48:03 +02:00
Daniele Teti
d892c21cc4 Support for .env (WIP) 2023-05-24 10:55:43 +02:00
Daniele Teti
bb30db152d Removed a potential memory leak when a JSONRPC with dinamically allocated parameters method raises exception. 2023-05-23 11:45:58 +02:00
Daniele Teti
ba537b2ad9 https://github.com/danieleteti/delphimvcframework/issues/658 2023-05-18 16:52:35 +02:00
Daniele Teti
d122bf300d (WIP) 2023-05-18 09:09:05 +02:00
João Antônio Duarte
b0035f3e59 Improvements to TMVCRestClient when adding files to multipart/form-data type requests 2023-04-25 10:27:55 -03:00
Daniele Teti
2d5f4c5f36 Merge branch 'master' into feature_642_functions_as_action
# Conflicts:
#	README.md
2023-04-21 16:41:21 +02:00
Daniele Teti
6cac1a790d https://github.com/danieleteti/delphimvcframework/issues/652 2023-04-17 12:34:30 +02:00
Daniele Teti
ad3aea9d98 Added "Profiler.LogsOnlyIfOverThreshold" which logs only if over the defined threshold 2023-04-06 14:47:01 +02:00
Francisco Zanini
317d97ce2e
Fixed wrong data type for NullableTGUID (#651)
Co-authored-by: Francisco Zanini <francisco@digifort.com.br>
2023-03-28 17:08:58 +02:00
Daniele Teti
487cf8ec8b Improved Wizard (commeneted code to show how to use context events) 2023-03-24 17:52:32 +01:00
Daniele Teti
3e36a3389b Preparing for 3.3.0-fluorine release 2023-03-24 17:16:03 +01:00
Daniele Teti
29949afa17 Improved logic behind "EnterInShutdownState" 2023-03-24 11:37:12 +01:00
Daniele Teti
19c9cd3df4 Added support for records and array of record in function/action return 2023-03-14 08:56:00 +01:00
rjantz2
edc8c1197e
Add the ability to use records in swagger param and response attributes. (#649) 2023-03-14 08:53:08 +01:00
Daniele Teti
92971f937e Merge branch 'master' into feature_642_functions_as_action
# Conflicts:
#	sources/dmvcframeworkbuildconsts.inc
#	unittests/general/UnitTestReports/dmvcframework_nunit_win64.xml
2023-03-13 15:46:41 +01:00
Daniele Teti
899444b0df https://github.com/danieleteti/delphimvcframework/issues/648 2023-03-13 15:43:46 +01:00
Daniele Teti
db56fbc469 Added all supported SSL version to RESTClient 2023-03-13 15:14:46 +01:00
Daniele Teti
cae4396c18 Works: PODO, TObjectList<T>, TStream, string, enum, bool, nested objects 2023-02-05 00:36:01 +01:00
Daniele Teti
3a438493fb dmvcframework-3.2.3-radium 2023-02-02 19:14:34 +01:00
Daniele Teti
0023ebe32c https://github.com/danieleteti/delphimvcframework/issues/631 2023-01-29 17:29:24 +01:00
Daniele Teti
c03315077e https://github.com/danieleteti/delphimvcframework/issues/630 2023-01-28 23:31:00 +01:00
Daniele Teti
89f00fd81d Support for TObject descendants in JSONRPC APIs (not only for JSONObject and JSONArray) 2023-01-23 16:19:32 +01:00
Daniele Teti
108807a041 Addec Copyright in "New Project" wizard form 2023-01-17 09:03:19 +01:00
Daniele Teti
fc9fffb9e7 Updated copyright message, removing some warnings 2023-01-17 08:52:26 +01:00
John Smith
f7560abc49
Automatically "access_token" url parameter parsing. (#622)
Support for EventSource which does not support extra headers.

var eventSource = new EventSource("https://localhost:8080/events?access_token={{JWT}}");
2023-01-17 08:33:36 +01:00
John Smith
1570766c99
Init default SSE settings on default constructor (#625) 2023-01-17 08:30:22 +01:00
John Smith
22da1cfdac
StreamToBase64String Method (#628) 2023-01-17 08:29:38 +01:00
John Smith
5098894473
Message encoding related to SSE encoding settings. (#623) 2023-01-14 17:18:32 +01:00
John Smith
8a93b9405e
Prevent from draining processor in reconnect (#621) 2023-01-09 16:35:15 +01:00
John Smith
915ff8841d
1. Skipping certificate verification, 2. Fixed request wait issue (#620) 2023-01-08 12:35:21 +01:00
John Smith
56b7663a7a
Update MVCFramework.SSEClient.pas (#617)
https://github.com/danieleteti/delphimvcframework/issues/613
2023-01-07 23:31:39 +01:00
Daniele Teti
dcc869b0dd https://github.com/danieleteti/delphimvcframework/issues/613 (WIP) 2023-01-06 16:18:27 +01:00
Daniele Teti
a25eaf1c3c https://github.com/danieleteti/delphimvcframework/issues/613 (WIP) 2023-01-06 15:18:50 +01:00
Daniele Teti
4f9243826a Check for INDY in new SSE controller 2023-01-06 15:07:44 +01:00
Daniele Teti
9e488e6ca4 https://github.com/danieleteti/delphimvcframework/issues/613 (WIP) 2023-01-02 22:24:03 +01:00
Daniele Teti
9a85f19680 Added "DirectExecute" options in ExecSQL methods 2023-01-02 22:09:42 +01:00
Daniele Teti
54bfe71722 https://github.com/danieleteti/delphimvcframework/issues/577 2022-12-25 19:46:07 +01:00
Daniele Teti
b5471263a2 https://github.com/danieleteti/delphimvcframework/issues/607 2022-12-25 19:33:23 +01:00
Daniele Teti
dad88f85b6 https://github.com/danieleteti/delphimvcframework/issues/605 2022-12-09 09:58:55 +01:00
Daniele Teti
c7375af46a Split IMVCJSONRPCExecutor / IMVCJSONRPCExecutorAsync 2022-12-06 16:11:33 +01:00
Daniele Teti
ab13c307d7 Added WarningThreshold in Profiler 2022-12-06 16:10:55 +01:00
Daniele Teti
4c7e4861d2 https://github.com/danieleteti/delphimvcframework/issues/490 2022-11-24 11:57:00 +01:00
Daniele Teti
cb6f0f0c8c https://github.com/danieleteti/delphimvcframework/issues/581 2022-11-24 11:07:34 +01:00
Daniele Teti
4a25c05811 https://github.com/danieleteti/delphimvcframework/issues/590 2022-11-24 08:53:27 +01:00
Daniele Teti
b1f838ece9 https://github.com/danieleteti/delphimvcframework/issues/595 2022-11-24 07:42:03 +01:00
Daniele Teti
9c87e6f302 Added 'Scheme' method on RESTClient 2022-11-23 16:37:41 +01:00
Daniele Teti
d419cc690f https://github.com/danieleteti/delphimvcframework/issues/594 2022-11-21 15:20:18 +01:00
Daniele Teti
8b7ec97819 Improved TMVCTableMapRepository lock 2022-11-17 23:53:32 +01:00
Daniele Teti
1b7e2ed742 + flyweight for TableMapInfo in TMVCActiveRecord (WIP) 2022-11-17 19:33:27 +01:00
Daniele Teti
d5cc48f7b0 - Removed foTransient from MVCTableField FieldOptions 2022-11-15 09:27:08 +01:00
Daniele Teti
b0080184d2 Improved Samples, mostrly ActiveRecord related 2022-11-10 18:30:11 +01:00
Daniele Teti
071f3fb58f https://github.com/danieleteti/delphimvcframework/issues/589 2022-11-07 21:35:04 +01:00
Daniele Teti
d2a9bf34dd https://github.com/danieleteti/delphimvcframework/issues/591 2022-11-07 19:22:25 +01:00
Daniele Teti
6820fcb4d2 Added JSONRPC "SetConfigureHTTPClientAsync" to configure HTTP client in case of Async call - added Profiler and AsyncTask samples 2022-11-07 15:37:21 +01:00
Daniele Teti
cf104c0a6f Async support for JSONRPCClient (Thanks to our sponsor ORION LAW) 2022-10-29 00:34:49 +02:00
Daniele Teti
82ca77ab60 Renamed "Render(AErrorCode: Integer etc" in "RenderStatusMessage(etc..." 2022-10-26 19:31:54 +02:00
Daniele Teti
08d947d265 Added ObjectPool and InterfacedObjectPool donated by Vivaticket S.p.A. https://www.vivaticket.com/ - Original UnitTests have been merged in the standard DMVCFramework UnitTests 2022-10-26 00:11:32 +02:00
Daniele Teti
53fc9e394e https://github.com/danieleteti/delphimvcframework/issues/585 2022-10-25 09:00:35 +02:00
Marcelo Jaloto
36b0120677
Issue#581 - Fix error on removing default connection; (#582)
* Issue #546 was missing from the merge.

* #581 - Fix error on removing default connection;
2022-10-22 07:06:27 +02:00
Marcelo Jaloto
ade3263c25
Issue#583 - Fixes bugs 'Invalid class typecast' when using Active Record and Enumerated Type (#584)
* Issue #546 was missing from the merge.

* #583 - Fixes bugs 'Invalid class typecast' when using Active Record and Enumerated Type;
2022-10-21 23:08:20 +02:00
Daniele Teti
1a9f1deba3 + New built-in Profiler (check Profiling sample), new Context.ActionQualifiedName property 2022-10-20 17:29:04 +02:00
Marcelo Varela
761bcb2e5d
Add way to register your controller using this procedure when need a create action (#578)
Thanks
2022-10-13 23:29:34 +02:00
Daniele Teti
7d883cb677 Improved MasterDetails sample 2022-10-12 13:01:45 +02:00
Daniele Teti
78d2532e98 Improved loggin in StaticFile Middleware 2022-10-09 17:15:25 +02:00
Daniele Teti
f54f74522c - Default error responses contains the official "reason string" associated to the HTTP status code (this can be a breaking change for some generic client which doesn't correctly interpret the http status code)
- Added static method `HTTP_STATUS.ReasonStringFor(HTTPStatusCode)` wich returns the standard `ReasonString` for a given HTTP status code.
- Improved handling of `TMVCErrorResponse` information
- mid-air-collision handling now uses SHA1 instead of MD5
- Added `MVCFramework.Commons.MVC_HTTP_STATUS_CODES` const array containing all the HTTP status codes wich its `ReasonString`
2022-10-09 15:45:59 +02:00
Daniele Teti
3e50cef619 fixed problem with some kind of generated swagger json 2022-09-18 12:02:46 +02:00
Daniele Teti
3b4f01917e 3.2.2-nitrogen 2022-09-15 10:48:33 +02:00
Daniele Teti
d288ab832e preparing for 3.2.2-nitrogen 2022-09-15 09:09:33 +02:00
Daniele Teti
057e08903a https://github.com/danieleteti/delphimvcframework/issues/573
https://github.com/danieleteti/delphimvcframework/issues/574
2022-09-10 11:59:45 +02:00
Daniele Teti
5f3672a36a Merge branch 'master' of https://github.com/danieleteti/delphimvcframework 2022-08-28 13:06:26 +02:00
Daniele Teti
ee6075d6a2 Improved MVCARAntitiesGenerator (WIP), Improved TMVCActiveRecord.Merge method 2022-08-28 13:06:16 +02:00
João Antônio Duarte
ff5565b5ac Fix warnings 2022-08-23 12:14:12 -03:00
Daniele Teti
9212aecb40 Improved MVCEntitiesGenerator (WIP) 2022-08-19 10:50:45 +02:00
Daniele Teti
0f3bae84b9 Automated support to avoid "mid-air collisions". New methods SetETag and CheckIfMatch allows a better security without adding complexity to the controller code - check avoid_mid_air_collisions_sample.dproj sample and see https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/ETag#avoiding_mid-air_collisions for more info about mid-air collisions. 2022-08-18 01:45:49 +02:00
Daniele Teti
3998c1288b While not strictly required nor defined, DMVCFramework supports sending body data for all HTTP VERBS - see https://developer.mozilla.org/en-US/docs/Web/HTTP/Methods/GET 2022-08-17 12:59:40 +02:00
Daniele Teti
81aa206b85 More work on Wizard (WIP), added ActiveRecord middleware 2022-08-13 16:10:19 +02:00
Daniele Teti
06ab7af8c8 Improved ActiveRecord middleware (better connections handling in case of huge traffic). New sample "middleware_activerecord" 2022-08-13 15:01:15 +02:00
Daniele Teti
d0098886a5 Improved Wizard adding more middlewares - updated projects 2022-08-13 10:35:53 +02:00
Daniele Teti
821180ea75 Updated LoggerPro, improved Wizard, general code cleaning 2022-08-13 00:21:00 +02:00
Daniele Teti
f8501a8db5 https://github.com/danieleteti/delphimvcframework/issues/553 2022-08-12 10:50:46 +02:00
Daniele Teti
f79f4722d9 Improved enum and set parameters handling in JSONRPC API 2022-08-10 17:57:59 +02:00
João Antônio Duarte
de6e7960d7 Improved HTTP schema insertion when not defined in MVCRESTClient 2022-08-09 08:29:39 -03:00
Daniele Teti
31dee93a3e https://github.com/danieleteti/delphimvcframework/issues/565 2022-08-09 13:02:29 +02:00
Daniele Teti
2e91fb631e https://github.com/danieleteti/delphimvcframework/issues/570#issuecomment-1208823039 2022-08-09 12:20:50 +02:00
Daniele Teti
d5c8b8ebb7 https://github.com/danieleteti/delphimvcframework/issues/570 2022-08-08 17:51:21 +02:00
Daniele Teti
d179575108 In case of multiple MVCPath, Swagger consider only the first one (Thanks V.Ferri) 2022-08-05 12:20:20 +02:00
Daniele Teti
552426094c From now on the repo version is marked as "beta" 2022-08-05 12:03:21 +02:00