Commit Graph

250 Commits

Author SHA1 Message Date
João Antônio Duarte
15c92f5d67 Added more unit tests for the TMVCRESTClient 2020-09-23 20:50:19 -03:00
Daniele Teti
311be67323 New functionality explained in the jsonrpc samples (TMultiDataset) 2020-09-22 15:18:22 +02:00
João Antônio Duarte
a07043fe1a Asynchronous methods added. Fixes unit tests. 2020-09-21 20:32:21 -03:00
João Antônio Duarte
e30e93f72d Merge remote-tracking branch 'upstream/master' into feature_restclient 2020-09-21 19:31:26 -03:00
João Antônio Duarte
950c81cd28 Merge branch 'master' into feature_restclient 2020-09-21 19:06:01 -03:00
Daniele Teti
19fc11a16c https://github.com/danieleteti/delphimvcframework/issues/421 2020-09-21 12:42:38 +02:00
Daniele Teti
c9c6aaebf3 Added HTML serializer to all RT packages 2020-09-18 10:49:56 +02:00
Daniele Teti
e3f5210b6c Small test refactoring 2020-09-18 09:44:01 +02:00
João Antônio Duarte
b21096b515 RESTClient improvements and LiveTest adjustments 2020-09-17 20:06:24 -03:00
João Antônio Duarte
a9aad4912f Adjustments after the merge 2020-09-16 15:01:50 -03:00
João Antônio Duarte
152756cb03 Merge remote-tracking branch 'upstream/master' into feature_restclient 2020-09-16 14:50:42 -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
João Antônio Duarte
a870bca81b data decompression improvements 2020-09-11 22:24:38 -03:00
João Antônio Duarte
719883282e Merge branch 'master' into feature_restclient 2020-09-11 18:05:46 -03:00
João Antônio Duarte
715a31c0f6 Improvements in the submission of the request body and corrections in handling the response. 2020-09-11 14:55:26 -03:00
Daniele Teti
87eaf90099 Merge branch 'master' of https://github.com/danieleteti/delphimvcframework
# Conflicts:
#	unittests/general/Several/LiveServerTestU.pas
2020-09-08 15:27:04 +02:00
Daniele Teti
b27db6122e Improved EMVCException rendering, added unit tests (202 so far) 2020-09-08 15:25:44 +02:00
Daniele Teti
fe62799eee Reverted all unit test as were before TMVCRESTClient 2020-09-06 15:38:25 +02:00
João Antônio Duarte
78263cbdc4 Removed TMVCRESTClient from unittests 2020-09-04 16:26:16 -03:00
João Antônio Duarte
c12f0af6dc Change to pass the ContentType as a string instead of the enumerated type of RESTClient to decrease the clutter, if you want to implement TMVCRESTClient using another HTTP library 2020-08-27 14:32:09 -03:00
João Antônio Duarte
2b3051f194 Testing fixes 2020-08-26 10:09:47 -03:00
João Antônio Duarte
5d6904991e Merge remote-tracking branch 'upstream/master' into new_restclient 2020-08-26 09:57:56 -03:00
João Antônio Duarte
e701d8f83c RESTAdapter changed to use TMVCRESTClient 2020-08-26 09:05:12 -03:00
João Antônio Duarte
84bc484344 Various fixes and improvements after unit tests 2020-08-25 20:07:21 -03:00
Daniele Teti
2f151d6364 Improved TDuckList to handle simple types too 2020-08-25 17:19:28 +02:00
Daniele Teti
5ed7f7fe95 Added PBKDF2 support for password hashing 2020-08-23 18:56:14 +02:00
Daniele Teti
c05cbfffb7 Improved JSON-RPC Hooks 2020-08-06 17:40:56 +02:00
Daniele Teti
b1c56b6a2c completed unit tests 2020-08-06 00:28:54 +02:00
Daniele Teti
6656314501 formatting 2020-08-05 14:56:11 +02:00
Daniele Teti
75cdf7f720 Hooks signature changed. 2020-08-05 09:50:06 +02:00
Daniele Teti
c90aa1c028 Fixed some unit tests after jsonrpc refactoring 2020-07-29 12:35:12 +02:00
Daniele Teti
4bebea287c Added ActiveRecord unittests for Firebird (using firebird embedded). Now unit tests automatically tests sqlite and firebird. All the other RDBMS are tested manually using activerecord_showcase sample. 2020-07-13 17:05:22 +02:00
Daniele Teti
fb87e9e1f4 https://github.com/danieleteti/delphimvcframework/issues/401 2020-07-02 23:19:36 +02:00
Daniele Teti
3948f62a40 Improved unittest for sqlite 2020-06-25 23:19:00 +02:00
João Antônio Duarte
a6ffb35b6f Added more tests for serializing/deserializing generic objects 2020-06-23 09:00:39 -03:00
Daniele Teti
aaa34ca410 Added "TMVCActiveRecord.SelectOneByRQL", Removed "Context.Request.HeaderNames" 2020-06-22 15:24:20 +02:00
Daniele Teti
e76ece994e Small FIXES for ActiveRecordController 2020-06-18 14:49:06 +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
622d664989 Full UnitTest Linux compatibilities (working on) for 10.4 2020-05-25 19:34:14 +02:00
Daniele Teti
87c712d640 Added procedure WaitForReturn in MVCFramework.Console.pas 2020-05-25 15:18:32 +02:00
Daniele Teti
32fd704d83 New version of MVCFramework.Console.pas with the New Sample 2020-05-25 15:12:46 +02:00
Daniele Teti
309fb10baa Updated LoggerPro to v1.3.3 2020-05-14 19:12:52 +02:00
Daniele Teti
530084271b Improved SPA support 2020-05-14 17:41:20 +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
Daniele Teti
e0e14be6e5 Added MVCDoNotDeSerializeAttribute (if marked with this attribute, a property is not deserialized) 2020-05-04 12:39:54 +02:00
Daniele Teti
6c96a6ef3e Small fix for relative path and documentroot in staticfilemiddleware 2020-05-02 17:06:59 +02:00
Daniele Teti
ddc5f4d97d JSON-RPC named parameters support 2020-05-02 16:39:32 +02:00
João Antônio Duarte
fb7c664233 All examples using static files have been updated to use TMVCStaticFilesMiddleware 2020-04-28 20:59:41 -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
ebcda178ff Merge remote-tracking branch 'upstream/master' into middleware_staticfiles 2020-04-24 19:13:44 -03:00
Daniele Teti
1e4d374101 Comepleted ObjectDict support - fixed ncCamelCase mangling 2020-04-24 16:36:18 +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
dd64ab4c49 Completed ObjectDict tests 2020-04-21 17:04:04 +02:00
Daniele Teti
d261edb622 Added ncPascalCase, improved ncCamelCase support, improved DataSet Serialization 2020-04-20 17:56:17 +02:00
Daniele Teti
08f01e6633 https://github.com/danieleteti/delphimvcframework/issues/366 2020-04-19 12:23:55 +02:00
Daniele Teti
f853b362b3 https://github.com/danieleteti/delphimvcframework/issues/362 2020-04-18 23:32:24 +02:00
Daniele Teti
26b82080d9 https://github.com/danieleteti/delphimvcframework/issues/330 2020-04-13 16:22:15 +02:00
Daniele Teti
440e979aba Fixed some gitignore entries 2020-04-10 00:28:40 +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
d577221a71 Now ActiveRecord PrimaryKey can be string, nullablestring, integer, nullableinteger, int64, nullableint64 2020-03-31 16:23:22 +02:00
Daniele Teti
841edeb114 https://github.com/danieleteti/delphimvcframework/issues/349
https://github.com/danieleteti/delphimvcframework/issues/38
2020-03-31 00:47:35 +02:00
Daniele Teti
99664f141b Refactoring of some internals structures of TMVCActiveRecord 2020-03-25 11:35:25 +01:00
Daniele Teti
71b6108149 Improved deserialization in cases of derived properties 2020-03-23 18:51:57 +01:00
João Antônio Duarte
25d2a909ef Added ability to serialize/desserialize types enumerated by an array of mapped values 2020-03-12 14:24:20 -03:00
Daniele Teti
36c2a2201e Nullable Templates 2020-03-11 01:35:31 +01:00
Daniele Teti
ab2c92c26f https://github.com/danieleteti/delphimvcframework/issues/338 2020-03-08 17:54:10 +01:00
Daniele Teti
ac9f3bc7f6 FIX https://github.com/danieleteti/delphimvcframework/issues/334 2020-03-05 18:34:00 +01:00
Daniele Teti
f99aa89fda Added more characters in URL_MAPPED_PARAMS_ALLOWED_CHARS = ' àèéùòì''"@\[\]\{\}\(\)\=;&#\.:!\_\/,%\w\d\x2D\x3A';
Added more unit tests
2020-03-04 19:56:01 +01:00
Daniele Teti
92dcbd8b40 FIXED a Vulnerability bug which affects some deployment configurations. 2020-02-13 23:33:30 +01:00
Daniele Teti
c36cd13988 3.2.0-boron-RC4 2020-02-05 23:46:38 +01:00
Daniele Teti
4a78322aef Improvement is Nullable primary keys. Added method "Store" 2020-02-03 13:19:55 +01:00
Daniele Teti
42cf51b595 All serialization/deserialization unittests pass for nullables!! :-) 2020-02-03 12:11:42 +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
9d7ff23c11 Added more unit tests for MVCActiveRecord 2020-01-08 23:59:41 +01:00
Daniele Teti
8144baf40c Nulls support in MVCActiveRecord (check activerecord_showcase sample) 2020-01-06 16:49:18 +01:00
Daniele Teti
2f43b31bbd v3_2_0-boron-RC2 2019-12-01 20:55:31 +01:00
Daniele Teti
23a108896c JSON properties can be de/serialized verbatim by the default json serializer 2019-11-05 14:40:39 +01:00
Daniele Teti
cbbf2956f4 Added support for deserializing generic lists without MVCListOf attribute. 2019-10-15 09:33:53 +02:00
João Antônio Duarte
db9cb7406b Added support for deserialize generic lists without MVCListOf attribute
Unit Tests Added
2019-10-14 18:11:08 -03: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
8b3d0ee384 Improved windowsservice sample 2019-10-10 00:20:03 +02:00
João Antônio Duarte
6a88ff38db Merge remote-tracking branch 'upstream/master' into serialization_enums 2019-09-25 11:43:22 -03:00
Daniele Teti
a3738777a7 Added SwagDoc 2019-09-25 14:54:04 +02:00
João Duarte
530edca638 Added overload to render method for types Iinterfaces 2019-09-18 11:53:54 -03:00
João Duarte
ef64fbaa55 Improvement to serialize nested interfaces 2019-09-18 08:30:50 -03:00
João Duarte
a184165e47 * Serialization for interfaces
Added support for serialization of interface instances
Added unit test
2019-09-17 20:14: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
João Antônio Duarte
4c4b1e204c Added test for serialization of enumerated types 2019-08-12 17:27:36 -03:00
Daniele Teti
cc64a564a8 FIXED compatibility problems with XE7 2019-08-02 12:32:31 +02:00
Daniele Teti
0992ada70a https://github.com/danieleteti/delphimvcframework/issues/225 2019-07-27 00:57:37 +02:00
Daniele Teti
ad38832746 https://github.com/danieleteti/delphimvcframework/issues/230 2019-07-07 17:25:31 +02:00
João Antônio Duarte
21b6edbd8d Added custom serializer for TGUID type fields.
Added unit test for this custom type
2019-06-26 14:31:53 -03:00
Daniele Teti
d554964260 Added optional serializers for TBitmap, TPNGImage and TJPEGImage. IDEExpert has been updated. 2019-06-25 17:33:02 +02:00
Daniele Teti
efd170d9ba Merge branch 'master' of https://github.com/pedrooliveira01/delphimvcframework
All conflicts have been fixed
2019-05-19 14:36:17 +02:00
Daniele Teti
01a8195485 FIX FOR RQL "in" clause
FIX FOR https://github.com/danieleteti/delphimvcframework/issues/219
2019-05-19 11:06:34 +02:00
Daniele Teti
7b39d94537 Support for X-HTTP-Method-Override to work behind corporate firewalls. 2019-05-10 00:47:18 +02:00
Daniele Teti
6a664d608c 3.1.1-beryllium-RC5 2019-05-09 21:00:26 +02:00
Daniele Teti
fc28b3ba5e Removed strings indexing 2019-05-02 17:39:17 +02:00
Daniele Teti
5da30ed243 Extended support for HATEOAS 2019-03-10 16:29:53 +01:00
Daniele Teti
beb059a0e3 Improved support for HATEOAS in renders 2019-03-08 09:34:03 +01:00
Daniele Teti
f7f0ce8548 Fixed! #164 2019-03-06 12:01:00 +01:00
Daniele Teti
9ebb33969a - New overloads for all the Log* calls. Now it is possibile to call LogD(lMyObject) to get logged lMyObject as JSON.
- Added new unit tests for
- Improved `MVCEntitiesGenerator`
2019-03-05 20:57:25 +01:00
Daniele Teti
75e975811b - Improved! In case of unhandled exception TMVCEngine is compliant with the default response content-type (usually it did would reply using text/plain).
- Fix! [issue184](https://github.com/danieleteti/delphimvcframework/issues/184).
2019-02-24 20:43:40 +01:00
Daniele Teti
1b3dc4ae2c - FIXes for Delphi 10.0 Seattle
- New! `TMVCActiveRecord.Count` method (e.g. `TMVCActiveRecord.Count(TCustomer)` returns the number of records for the entity mapped by the class `TCustomer`)
- Change! `TMVCACtiveRecord.GetByPK<T>` raises an exception if the record is not found
- New! `contains` clause has been added in the RQL compiler for Firebird and Interbase
- New Installation procedure! Just open the project group, build all and install the design-time package (which is `dmvcframeworkDT`)
2019-01-18 18:18:52 +01:00
Daniele Teti
8ed859b7d1 New build system based on pyinvoke 2019-01-08 12:48:53 +01:00
Daniele Teti
c5800b3354 Added dmvcframework package
Features freeze for 3.1 (lithium)
Working on the planned issues for this milestone https://github.com/danieleteti/delphimvcframework/milestones/3.1%20(helium)
2018-12-09 23:05:01 +01:00
Daniele Teti
d4a23e52fb Removed unit MVCFramework.TypesAliases.pas
Updated JsonDataObjects.pas
2018-11-24 16:57:04 +01:00
Daniele Teti
05560fa4c1 Compatibility with Delphi 10.3 RIO 2018-11-21 22:42:19 +01:00
Daniele Teti
7ca4ccbe59 Completed refactoring about IMVCTypeSerializer 2018-10-31 01:07:25 +01:00
Daniele Teti
70c1e55e94 New MVCActiveRecord showcase samples
New Unit Tests for Compression in TRESTClient
Updated RQL Parser and compilers
New EntitiesGenerator (alpha)
Improved unittests
Updated landing page
2018-10-23 16:18:50 +02:00
Daniele Teti
bb454af16a - Speed improvement! Removed enhanced visibility for action methods. Now only public and published methods can be used as actions.
- `TMVCController.Create` is `virtual`! Now on your base controllers can be even more powerful!
- FIX for [issue #143](https://github.com/danieleteti/delphimvcframework/issues/143)
2018-08-08 17:12:12 +02:00
Daniele Teti
c305aec5fc https://github.com/danieleteti/delphimvcframework/issues/137 2018-07-16 12:34:10 +02:00
Daniele Teti
34bc5e0638 Added JSON-RPC Notification Support
Added IMVCJSONRPCExecutor for a simpler use of JSON-RPC servers
2018-05-16 19:46:35 +02:00
Daniele Teti
b27fd4264c Removed old releases zips 2018-02-20 23:04:13 +01:00
Daniele Teti
581a000687 Merge remote-tracking branch 'origin/pluggable_mapper'
# Conflicts:
#	CHANGES.TXT
#	README.md
#	ideexpert/DMVC_IDE_Expert_D102Tokyo.dpk
#	ideexpert/DMVC_IDE_Expert_D102Tokyo.dproj
#	lib/delphistompclient
#	lib/dmustache
#	lib/loggerpro
#	samples/jsonwebtoken/AuthenticationU.pas
#	sources/MVCFramework.Commons.pas
#	sources/MVCFramework.HMAC.pas
#	sources/MVCFramework.JWT.pas
#	sources/MVCFramework.MessagingController.pas
#	sources/MVCFramework.Middleware.CORS.pas
#	sources/MVCFramework.Middleware.JWT.pas
#	sources/MVCFramework.RESTClient.pas
#	sources/MVCFramework.pas
#	sources/ObjectsMappers.pas
#	sources/dmvcframework.inc
#	sources/dmvcframeworkbuildconsts.inc
#	unittests/Several/DMVCFrameworkTests.dpr
#	unittests/general/Several/DMVCFrameworkTests.dproj
#	unittests/general/TestServer/TestServer.dproj
2018-02-20 22:51:03 +01:00
Daniele Teti
4daba2ea67 Some refactoring preparing RC13 2018-02-20 22:36:36 +01:00
Daniele Teti
b49bc82d8b 3.0 RC12 hydrogen 2018-01-29 17:30:53 +01:00
Daniele Teti
850b88e9bb 3.0 RC11 2017-12-12 22:05:21 +01:00
Daniele Teti
ae3a3ec4e6 Added ViewData and ViewDataset. New Compression Sample. 2017-11-23 17:31:26 +01:00
Daniele Teti
a8d57bb78b RC10 2017-10-16 22:57:49 +02:00
Daniele Teti
417ba8850d JSON-RPC Support completed
Added JSON-RPC sample
Added TDataSet.LoadFromTValue
2017-09-28 00:15:35 +02:00
Daniele Teti
ee4f1fc11d Refactored implementation of JSON-RPC 2.0 2017-09-26 01:02:27 +02:00
Daniele Teti
eac7895c94 JSON-RPC 2.0 Tests 2017-09-24 19:42:34 +02:00
Daniele Teti
6321021430 Initial commit for JSON-RPC 2.0 2017-09-24 19:41:23 +02:00
Daniele Teti
25df8e9035 Fixed a rare bug on TEncoding and BodyAs<T>
Small JWT code improvements
2017-09-23 15:03:55 +02:00
Daniele Teti
4942c3253b JWT Optimization 2017-09-22 09:34:33 +02:00
Daniele Teti
a2718115a0 Small FIX for Delphi XE6 2017-09-21 23:11:50 +02:00
Daniele Teti
121b6359e1 - Removed ContentEncoding
FIX https://github.com/danieleteti/delphimvcframework/issues/105
2017-09-08 17:00:46 +02:00
Daniele Teti
fc72c8c49b Some minor fixes.
All protected serializers methods are now public so that is possible to use the low level serialization as was possibile with the old ObjectsMappers.
2017-09-07 00:11:25 +02:00
Daniele Teti
0b9b8a01bf FIX https://github.com/danieleteti/delphimvcframework/issues/83 2017-08-29 11:54:29 +02:00
Daniele Teti
910d0e847d Unit tests migrated from DUnit to DUnitX 2017-08-21 15:32:08 +02:00
Leonardo Gregianin
efa7141139 Migrate from DUnit to DUnitX in pluggable_mapper branch 2017-08-19 20:36:22 -04:00
Daniele Teti
59b6208356 https://github.com/danieleteti/delphimvcframework/issues/90 2017-07-17 11:48:26 +02:00
Daniele Teti
d6a04c89c2 3_0_0_hydrogen_RC6 2017-06-22 16:19:13 +02:00
Daniele Teti
d624535e85 ROUTER Optimization (50% faster) 2017-06-02 00:12:00 +02:00
Daniele Teti
82ef760987 REMOVED ObjectsMappers.pas (finally!) 2017-05-25 16:58:07 +02:00
Daniele Teti
ff1bc73949 ADDED an action which uses a custom serializer in sample "renders.dproj"
NEW the JsonDataObjects based serializer is the default serializer
FIX Rendering a nil value, will result in a "null" json (with the json serializers)
2017-05-18 00:38:19 +02:00
Daniele Teti
9d0ab1cf45 FIX TRESTAdapter
FIX JSONDataObjects deserialization when some json value is null
Improved IDEExpert (now can generate CRUD methods and there is a more explicative sample method name)
REMOVED delphistompclient from submodules. It will be used as external library not required by the core.
2017-05-17 22:35:07 +02:00
Daniele Teti
4e366e5a53 Updated some demos
Added overload for Render(TDataSet)
Changed default serialization for Render(TDataSet)
2017-04-29 23:57:32 +02:00
Daniele Teti
980fcbfab8 FIX TRESTClient 2017-04-26 14:40:08 +02:00
Daniele Teti
52e15c4eca refactored some ObjectsMappers responsibilities
Client part of Unit test doesn't compile
2017-04-24 00:21:00 +02:00
Daniele Teti
53ecae82db TestServer OK on linux. All unit tests are ok. 2017-04-14 16:43:53 +02:00
Daniele Teti
fcec5e7370 FIX some demos 2017-03-30 17:00:12 +02:00
Daniele Teti
478b44ba39 just some rename and polish 2017-03-30 16:34:34 +02:00