Commit Graph

930 Commits

Author SHA1 Message Date
Daniele Teti
4139fc4a26 [+] Added URLEncode, URLDecode 2021-02-25 10:50:57 +01:00
Daniele Teti
244c70084e [+] Improved ThreadSafeQueue
[+] Added MVCJSONRPCAllowGET attribute
2021-02-23 18:00:32 +01:00
João Antônio Duarte
779bbee6df [+] Fix https://github.com/danieleteti/delphimvcframework/issues/484 2021-02-16 19:09:46 -03:00
Daniele Teti
c55bfea9da [+] Small improvement in custom type serialisers 2021-02-15 18:28:45 +01:00
Daniele Teti
6b0b09b5bb [+] Added type aliases for generic types registered as custom type serializer 2021-02-15 18:17:39 +01:00
Daniele Teti
444628ef5b [+] FIX for LRU 2021-02-12 18:48:50 +01:00
Daniele Teti
dbd46c8042 [+] More test for LRUCache 2021-02-12 18:44:43 +01:00
Daniele Teti
088b8b3240 [+] improved unit test architecture 2021-02-10 11:26:14 +01:00
João Antônio Duarte
618a087c86 Small improvement to get the URL in TMVCRESTClient 2021-02-05 16:03:33 -03:00
Daniele Teti
2c79ff6c6a [+] Unit test refactoring 2021-02-04 14:11:33 +01:00
Daniele Teti
4b8491a47c [+] Small optimizations in router and core 2021-02-03 16:04:36 +01:00
Daniele Teti
d1b2970d28
Merge pull request #474 from joaoduarte19/path_prefix_improvements
Changed how PathPrefix is used in calculating the method route
2021-02-03 15:23:41 +01:00
Sven Harazim
6d70d49bec
Update MVCFramework.Server.Impl.pas 2021-02-03 13:21:01 +01:00
Sven Harazim
027a1d93a2 fix for #403 and MVCFramework.Server.Impl 2021-02-03 13:19:05 +01:00
João Antônio Duarte
e038f43543 Changed how PathPrefix is used in calculating the method route 2021-01-29 15:30:09 -03: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
196e7cf59f Fix for https://github.com/danieleteti/delphimvcframework/issues/470 2021-01-22 11:37:57 -03:00
João Antônio Duarte
6d1c216924 Merge remote-tracking branch 'upstream/master' 2021-01-15 19:47:28 +01:00
João Antônio Duarte
5faeff0868 Expose headers in TMVCRESTClient. 2021-01-15 19:31:33 +01:00
João Antônio Duarte
5f4c708865 Merge remote-tracking branch 'upstream/master' 2021-01-13 18:49:05 -03:00
João Antônio Duarte
166c8c669d Fixed property deserialization of type TMVCStringDictionary 2021-01-13 18:43:16 -03:00
João Antônio Duarte
46104f0158 Added comment about the use of the gLocalTimeStampAsUTC variable 2021-01-11 15:29:31 -03:00
João Antônio Duarte
ccd144e485 Add parameter to set local time as UTC 2021-01-11 14:35:44 -03:00
João Antônio Duarte
b3bc2b795f Removed Warning under Linux compilation: W1073 Combining signed type and unsigned 64-bit type - treated as an unsigned type 2021-01-07 14:39:46 -03:00
Daniele Teti
118e26f89d [+] Fixed some compilation problems with Delphi 10.1 Berlin 2021-01-05 17:01:32 +01:00
João Antônio Duarte
0f7c682bf7 Added Swagger support for DMVCFramework nullable types. Fix #453 2020-12-29 09:49:43 -03:00
Daniele Teti
d9b20d8ce4 Fix border case when using string and widestring params in TMVCActiveRecord 2020-12-18 14:41:01 +01:00
João Antônio Duarte
112bf48101 Added request hooks to TMVCRESTClient 2020-12-16 20:05:39 -03:00
João Antônio Duarte
dd8e11a090 Added HEAD and OPTIONS methods to TMVCRestClient. Fix #455 2020-12-16 18:42:25 -03:00
Daniele Teti
afabd2fde6 Better internal unit test irganization for TMVCActiveRecord 2020-12-11 18:53:37 +01:00
Daniele Teti
43a0bc51f7
Merge pull request #426 from danieleteti/feature_restclient
Feature restclient
2020-12-11 09:06:16 +01:00
João Antônio Duarte
ea40fd0e3b Improvement to correct the possibility of access violation when generating Swagger documentation 2020-12-10 15:25:12 -03:00
João Antônio Duarte
181cf5aba9 Merge branch 'master' into feature_restclient 2020-11-27 14:14:41 -03:00
Daniele Teti
967a5322a1 https://github.com/danieleteti/delphimvcframework/issues/432 2020-11-27 15:13:17 +01:00
João Antônio Duarte
b9bee3fb2a Merge branch 'master' into feature_restclient 2020-11-13 18:15:33 -03:00
Daniele Teti
6ea08357d3 https://github.com/danieleteti/delphimvcframework/issues/430 2020-11-13 09:31:20 +01:00
João Antônio Duarte
cd0285de3e #447 fix applied to RESTClient.Indy 2020-11-12 08:13:09 -03:00
Jens Mertelmeyer
1c9bcea41c
Fix: Does not compile with 10.0 Seattle
IFDEF was using "SeattleOrBetter", but it should be "BerlinOrBetter"
2020-11-11 16:16:08 +01:00
João Antônio Duarte
8ba8213a6e Compatibility adjustments in the new RESTClient 2020-11-10 19:13:02 -03:00
João Antônio Duarte
2871e131df Merge remote-tracking branch 'upstream/master' into feature_restclient 2020-11-10 18:43:20 -03:00
Daniele Teti
4caf183398 added more flexibility to ObjectDict 2020-11-10 17:15:24 +01:00
João Antônio Duarte
9c43f85b33 Merge branch 'master' into feature_restclient 2020-11-09 07:55:06 -03:00
Daniele Teti
6fa868b33f Updated link to indy documentation in the template - KeepAlive now is true by default. 2020-11-08 23:01:08 +01:00
Daniele Teti
6cd0a48af6
Merge pull request #439 from jiemurat/bugfix-restclient-encode-body
Fix RESTClient's body encoding.
2020-11-07 17:24:30 +01:00
Daniele Teti
7a41d6c7f7 Improved ServerSideView Sample 2020-11-05 17:14:39 +01:00
Daniele Teti
11c7b397d4 Improved CRUD sample 2020-11-05 15:42:31 +01:00
Daniele Teti
4a65b78fb5 https://github.com/danieleteti/delphimvcframework/issues/434 2020-11-04 19:06:54 +01:00
Daniele Teti
882d8991e5 Added TMVCLRUCache<T>.RemoveIf method 2020-11-01 18:21:54 +01:00
João Antônio Duarte
01fa630401 Merge branch 'master' into feature_restclient 2020-10-24 11:09:33 -03:00
Daniele Teti
a70221fe2f
Merge pull request #441 from joaoduarte19/fix_getparams
Fix to https://github.com/danieleteti/delphimvcframework/issues/440
2020-10-22 08:55:27 +02:00
Daniele Teti
8d0f6bada5 https://github.com/danieleteti/delphimvcframework/issues/443 2020-10-22 08:55:02 +02: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
Jiemurat
886eabd64e Fix RESTClient's body encoding. 2020-10-22 00:23:55 +05:00
João Antônio Duarte
c2be4fdc6c Correction of issue #438 applied to TMVCRESTClient 2020-10-19 19:44:28 -03:00
João Antônio Duarte
0a6129647d Adjustments after the last merge 2020-10-19 19:43:04 -03:00
João Antônio Duarte
5fa41c6837 Merge branch 'master' into feature_restclient 2020-10-19 19:41:42 -03:00
João Antônio Duarte
6bfa63b85a Added support for TGuid type in automatic mapping of path parameters in Middleware Swagger 2020-10-19 19:08:23 -03:00
João Antônio Duarte
cf834ca23b Correction to ensure that Swagger's OperationId is globally unique, when generated automatically. 2020-10-19 16:44:38 -03:00
Daniele Teti
e5310e626f https://github.com/danieleteti/delphimvcframework/issues/435 2020-10-19 19:41:16 +02:00
Daniele Teti
5f21c12b0e https://github.com/danieleteti/delphimvcframework/issues/438 2020-10-19 19:30:20 +02:00
Daniele Teti
5ae105d142 Fixed JSONRPC methods description when called using HTTP GET 2020-10-19 19:19:09 +02:00
Daniele Teti
da057ceb67 Formatting 2020-10-19 12:31:40 +02:00
Daniele Teti
79102a7a9e Small fix 2020-10-19 12:26:45 +02:00
Daniele Teti
6489906660 Added LRUCache implementation (borrowed from DMSContainer EventStreams) 2020-10-19 12:12:55 +02:00
João Antônio Duarte
e9ecdd67e1 Merge branch 'master' into feature_restclient 2020-10-18 20:39:52 -03:00
Daniele Teti
ed91bc5175 Merge branch 'master' of https://github.com/danieleteti/delphimvcframework 2020-10-17 23:19:16 +02:00
Daniele Teti
e0a1a0e950 Added "RaiseExceptionIfNotAvailable" params in TMVCActiverecordConnectionRegistry.GetCurrent 2020-10-17 23:19:05 +02:00
João Antônio Duarte
cb1cf5a383 Conversion to snake case improved, as in some cases it still failed. 2020-10-17 12:32:55 -03:00
João Antônio Duarte
46f28cde64 Corrections in snake case and correction in camel case
Fix #436
2020-10-16 20:12:20 -03:00
João Antônio Duarte
5ef0e48e31 Conversion to Snake Case changed to an analyzer without Regex. Using regex, serialization becomes 6 times slower. 2020-10-16 19:40:06 -03:00
João Antônio Duarte
033c66d102 Small improvement 2020-10-16 14:14:03 -03:00
João Antônio Duarte
6b2e1c1a1b Added serialization support with snake_case case 2020-10-15 21:37:55 -03:00
João Antônio Duarte
0b3bec8f52 DataSetUpdate/DataSetDelete improvements 2020-10-05 18:53:48 -03:00
João Antônio Duarte
df6fc6d43a Merge remote-tracking branch 'upstream/master' into feature_restclient 2020-10-01 08:39:05 -03:00
João Pedro Hickmann
e98053958c Change SEATTLEORBETTER to TOKYOORBETTER 2020-10-01 07:36:34 -03:00
Daniele Teti
b133566bc9 Merge branch 'master' of https://github.com/danieleteti/delphimvcframework 2020-09-30 11:16:24 +02:00
Daniele Teti
057519d550 https://github.com/danieleteti/delphimvcframework/issues/424 2020-09-30 11:16:10 +02:00
João Antônio Duarte
ae0525afa7 Fixed JsonSchema generation of properties of types enumerated in Swagger middleware.
Fix issue #427
2020-09-29 18:55:19 -03:00
Daniele Teti
6b55f7e91d Added SnakeCase function, added pooling connections to articles_crud_server sample 2020-09-29 19:57:43 +02:00
João Antônio Duarte
c5c9f80e34 Added the execute method to be able to execute any HTTP method. The requests have been changed to send the body for any type of request. 2020-09-29 11:56:25 -03:00
Daniele Teti
e9052d9950 Added overload on ExecuteRequest and ExecuteNotification for JSONRPCExecutor - added ClientIP in trace middleware added more checks in activerecord for forgotten attributes 2020-09-25 00:32:55 +02:00
João Antônio Duarte
0dfc83f533 Added custom SSL certificate validation method. 2020-09-24 16:29:49 -03:00
João Antônio Duarte
cf7c81520b Added SessionId method to improve DMVC server session management. SetBasicAuthorization and SetBearerAuthorization methods changed to persist authorization for all requests. 2020-09-24 15:03:11 -03:00
João Antônio Duarte
d31002cc83 Merge remote-tracking branch 'upstream/master' into feature_restclient 2020-09-23 19:54:17 -03:00
Daniele Teti
8eaaeac230 Added mechanism to describe dataset metadata (TDatasetHelper) and to initialize a TFDMemTable with such metadata (TFireDACUtils.CreateDataSetFromMeta). Added a new sample to show the mechanism. 2020-09-23 23:33:30 +02:00
João Antônio Duarte
ea7e80b949 Compatibility improvements 2020-09-22 20:26:13 -03:00
João Antônio Duarte
ddf7475188 Merge remote-tracking branch 'upstream/master' into feature_restclient 2020-09-22 19:03:52 -03:00
Daniele Teti
ae13cc0aa0 Improved JSONRPC client in case of wrong HTTP responses 2020-09-22 23:58:49 +02: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
671da7ae9a Added CreateFmt on EMVCJSONRPCError 2020-09-18 12:23:44 +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
ff5aefbd15 Merge remote-tracking branch 'upstream/master' into feature_restclient 2020-09-17 08:00:24 -03:00
Daniele Teti
abbbde0165 Added HTMLEncodeEntities 2020-09-17 09:52:22 +02: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
53f2550396 Merge branch 'master' of https://github.com/danieleteti/delphimvcframework 2020-09-15 14:39:39 +02:00
Juliomar Marchetti
5d21f243e6 bugfix
missing semicolon in directive {$ IFDEF NEXTGEN}
2020-09-15 09:16:58 -03: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
3755348925 Improved static files middleware 2020-09-11 18:14:28 +02:00
Daniele Teti
bee7777f6e Serialization layer refactoring 2020-09-11 13:37:45 +02:00
Daniele Teti
1437d22b9c Improved serialization with recursion 2020-09-11 13:01:56 +02:00
Daniele Teti
af4dc3119f test with internaljsonobject 2020-09-10 23:48:34 +02:00
João Antônio Duarte
465a7ffad4 Implementation of TMVCRESTResponse methods 2020-09-09 21:40:14 -03:00
João Antônio Duarte
e4bc5f574e Improvements in request pre-processing 2020-09-08 21:00:08 -03: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
João Antônio Duarte
37740ba07c Initial refactoring of TMVCRestclient 2020-09-07 22:21:28 -03:00
Raphaël Emourgeon
fd4a545952 Handle RootNode when deserializing a collection of objects (BodyAsListOf). 2020-09-07 11:28:53 +02:00
Daniele Teti
72e3c06952 Removed TMVCRESTClient form samples 2020-09-03 19:57:00 +02:00
Daniele Teti
5c5e3f707b Removed TMVCRESTClient dependencies. (postponed) 2020-09-02 16:13:29 +02:00
Daniele Teti
4aebf2a6de Merge branch 'master' of https://github.com/danieleteti/delphimvcframework 2020-08-30 08:52:39 +02:00
Daniele Teti
761e778aa7 Fixed some package problems for Rio and Sydney 2020-08-30 08:52:21 +02:00
João Antônio Duarte
8e0187a408 TMVCRESTClient compatibility fix 2020-08-28 18:21:27 -03:00
Daniele Teti
a258bae533 Added dynamic properties accessors to TMVCActiveRecord descendants. 2020-08-28 18:04:29 +02: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
815547b852 Samples changed to use TMVCRESTClient 2020-08-26 17:13:18 -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
ae1eda03e1 Added GetFrameworkType method 2020-08-22 15:37:08 +02:00
João Antônio Duarte
ca65b88035 Compatibility improvements between delphi versions. Obtaining response cookies via RTTI for versions prior to Delphi 10.4 Sydney. 2020-08-21 11:22:23 -03:00
João Antônio Duarte
c92ec22fbe Added Cookies to response. Only available from delphi 10.4. See[ RSP-26497](https://quality.embarcadero.com/browse/RSP-26497) 2020-08-20 21:45:51 -03:00
João Antônio Duarte
8afceb53bb Added constants for occurrences of static strings 2020-08-20 19:00:54 -03:00
João Antônio Duarte
7e950800d4 Added asynchronous execution method 2020-08-20 18:35:28 -03:00
João Antônio Duarte
382e7e2715 Correction in function return 2020-08-20 15:38:32 -03:00
João Antônio Duarte
6736c3a662 Improvements in inserting the request body and header. Insertion of new RESTClient methods. 2020-08-20 15:08:41 -03:00
João Antônio Duarte
b5e2ee6f36 The new RESTClient was named TMVCRESTClient.
Added Alias for RESTClient classes based on Indy and marked as deprecated.
2020-08-18 18:19:17 -03:00
João Antônio Duarte
fdb7ad30a3 Merge remote-tracking branch 'upstream/master' into new_restclient 2020-08-13 19:43:57 -03:00
João Antônio Duarte
9525c695ec memory leaks removal 2020-08-13 19:43:25 -03: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
a690bea612 Added foReadonly and foWriteOnly os MVCActiveRecord Field Options 2020-08-11 00:54:42 +02:00
Daniele Teti
465de5cbab TMVCRenderer methods used by TEntityProcessor become public again 2020-08-09 09:38:54 +02:00
João Antônio Duarte
d65fd8fe5d All RESTClient methods implemented 2020-08-08 21:18:36 -03:00
Daniele Teti
a3464c38d0 Small router improvements. 2020-08-08 01:03:37 +02:00
Daniele Teti
c05cbfffb7 Improved JSON-RPC Hooks 2020-08-06 17:40:56 +02:00
Daniele Teti
75cdf7f720 Hooks signature changed. 2020-08-05 09:50:06 +02:00
João Antônio Duarte
7c2c10d554 Initial commit of the new base RESTClient in the delphi REST Library 2020-08-03 19:48:35 -03:00
João Antônio Duarte
483a33d537 Indy-based MVCFramework.RESTClient renamed to MVCFramework.RESTClient.Indy 2020-08-03 19:47:33 -03:00