Commit Graph

1078 Commits

Author SHA1 Message Date
João Antônio Duarte
aeb82ebb63 attribute naming improvement 2019-08-13 15:55:51 -03:00
João Antônio Duarte
a354a80032 improved exception returns 2019-08-13 11:57:42 -03:00
João Antônio Duarte
47a5c35560 Basic Authorization Header Decoding Improvements 2019-08-13 11:50:56 -03: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
João Antônio Duarte
fd0e8a23e0 Added serialization support for enumerations like Enumeration Name or Enumeration Ordinality 2019-08-12 16:51:12 -03:00
João Antônio Duarte
f5d611e432 Bug fixes 2019-08-08 18:36:19 -03:00
Geoffrey Smith
e83f025b09 Merge remote-tracking branch 'joaoduarte1/middlewareswagger_dev' into SwagDoc 2019-08-06 11:01:57 +10:00
Geoffrey Smith
239486cce2 Re-order functions so inline can work 2019-08-06 10:54:45 +10:00
João Antônio Duarte
a8303809b8 Merge branch 'master' of https://github.com/danieleteti/delphimvcframework into middlewareswagger_dev 2019-08-05 14:36:06 -03:00
João Antônio Duarte
2856063fd8 corrections in duplicate mappings 2019-08-05 11:59:35 -03:00
Geoffrey Smith
0d4b82eac3 Add JsonFieldFromRttiTypeInfo to simplify various methods 2019-08-06 00:25:30 +10:00
Geoffrey Smith
b6c75d2a5a Use Constructor parameter to pass in status info 2019-08-06 00:18:39 +10:00
Geoffrey Smith
c54c157dc7 Update Swagger Controller 2019-08-05 21:37:42 +10:00
Daniele Teti
44deb6ce83 Removed some hints for old version of Delphi 2019-08-05 12:55:57 +02: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
João Antônio Duarte
992cefe92e Added MVCSwagJsonSchemaFieldAttribute to detail field schema when extracting JsonSchema from class 2019-08-02 15:54:52 -03:00
Daniele Teti
cc64a564a8 FIXED compatibility problems with XE7 2019-08-02 12:32:31 +02:00
João Antônio Duarte
85d5518ea1 Improved Swaggerdocapi example
Added JSonSchema creation from object in MVCSwagResponsesAttribute
2019-08-01 18:07:23 -03:00
João Antônio Duarte
439224da4f JWT authentication documentation improvements:
- JWT UrlSegment set to basic authentication format
2019-08-01 17:31:59 -03:00
João Antônio Duarte
69788525c2 improvements on swaggerdocapi example
Added security to methods with MVCRequiresAuthentication attribute
2019-07-31 08:40:11 -03:00
João Antônio Duarte
7d801d94a8 Security Definitions added to documentation when TMVCJWTAuthenticationMiddleware is added to Engine.
The SwaggerDocApi example is not yet functional, I will still make improvements to the example
2019-07-30 18:16:10 -03:00
Geoffrey Smith
e4f57686e2 Add Start of Clientside REST API Generator 2019-07-30 16:29:31 +10:00
João Antônio Duarte
13a88503c7 Initial commit of creation JsonSchema from Tclass 2019-07-29 17:50:12 -03:00
Geoffrey Smith
fcd04089dd Initial Commit of TMVCSwaggerController - Server Swagger Document creator 2019-07-29 23:50:09 +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
João Antônio Duarte
72424b4910 Added Swag Parameter description 2019-07-29 10:09:55 -03:00
Geoffrey Smith
45acb0437c Merge branch 'master' of https://github.com/danieleteti/delphimvcframework 2019-07-29 22:10:09 +10:00
João Antônio Duarte
f56768d455 Fixes in adding JsonSchema to documentation 2019-07-29 08:58:08 -03:00
João Antônio Duarte
c88a0694ae Warnings Removal
Access violation fixes
2019-07-29 08:37:31 -03:00
João Antônio Duarte
8f86df526d Added API documentation with Swagger 2019-07-27 15:23:48 -03: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
Daniele Teti
82ba7efa8a
Merge pull request #242 from joaoduarte19/jwt_improvements
JWT Token Encoding Enhancements
2019-07-26 09:34:11 +02:00
Daniele Teti
9470c85514 Some fixes after the merge of https://github.com/danieleteti/delphimvcframework/issues/241 2019-07-24 20:49:08 +02:00
Vinicius Sanchez
a2176c1600
IETF - RCF 7519
#245
2019-07-24 14:33:58 -03:00
Vinicius Sanchez
7acffd4fab
Implemented validation to not give error when not inform NotBefore and IssuedAt 2019-07-24 11:12:05 -03:00
Vinicius Sanchez
f15d02171e
IETF national convention - RFC 6750
#241
*If possible remove parameters to leave in IETF default*
2019-07-24 09:35:28 -03:00
Vinicius Sanchez
ca9cbba3cb
Update MVCFramework.Middleware.JWT.pas 2019-07-23 22:50:57 -03:00
Vinicius Sanchez
180dc2e988
#241 - RFC 6750
The POST verb is not required for Bearer requests. #241 - RFC 6750
2019-07-22 16:51:28 -03:00
João Antônio Duarte
856fa66118 when adding to the JWT Token a Payload containing special characters and accent was not decoded correctly by the client application. It has been fixed by encoding the Token as a Base64 with UTF-8 charset.
System.JSON was changed by JsonDataObjects in unit MVCFramework.JWT
2019-07-19 14:20:46 -03:00
Daniele Teti
56476d449e https://github.com/danieleteti/delphimvcframework/issues/229 2019-07-19 17:23:19 +02:00
Daniele Teti
9af7d3fb54
Merge pull request #236 from joaoduarte19/general_changes
Added parameter to inform string encoding.
2019-07-11 18:27:01 +02:00
Daniele Teti
d77c77758f https://github.com/danieleteti/delphimvcframework/issues/230 2019-07-08 19:26:45 +02:00
Daniele Teti
ad38832746 https://github.com/danieleteti/delphimvcframework/issues/230 2019-07-07 17:25:31 +02:00
Daniele Teti
de441f63a3 Merge branch 'master' of https://github.com/danieleteti/delphimvcframework 2019-07-06 19:33:24 +02:00
Daniele Teti
689dbdd997 Removed optional custom type serializer from the template 2019-07-06 19:33:11 +02:00
geoffsmith82
2e239baacb Remove unneeded Indy file references 2019-07-06 16:11:18 +10:00
João Antônio Duarte
15aa842bf2 Added parameter to inform string encoding. 2019-07-02 15:43:37 -03:00
João Antônio Duarte
4d218ef94a Added support for comparisons with null fields 2019-07-02 11:59:01 -03: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
7363304ba8 Added support for SQLite in MVCActiveRecord 2019-06-24 21:00:17 +02:00
Daniele Teti
0cbcbd51f7
Merge pull request #227 from joaoduarte19/jwt_improvements
JWT middleware improvements
2019-06-24 12:47:26 +02:00
Daniele Teti
cf46ee079e
Merge pull request #226 from geoffsmith82/OnParseAuthentication
Allow Authorization header to be set without getting EIdHTTPUnsupport…
2019-06-24 12:45:43 +02:00
Daniele Teti
935b5d4d70
Merge pull request #222 from marcelologica/master
No set param datatype on TFireDACUtils.ObjectToParameters method
2019-06-20 18:13:22 +02:00
João Antônio Duarte
ed3b2f9731 Added Boolean type support in RQLParser 2019-06-11 16:50:00 -03:00
João Antônio Duarte
d6ff2b5964 JWT Middleware Altered to Allow Insert custom headers Authentication, Username and Password 2019-06-11 14:42:03 -03:00
geoffsmith82
3b42395a1e Allow Authorization header to be set without getting EIdHTTPUnsupportedAuthorisationScheme 2019-06-06 14:54:15 +10:00
Marcelo Varela
b97f305d70 No set param datatype on TFireDACUtils.ObjectToParameters method 2019-05-29 16:27:50 -03: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
39741b08ec Small improvements on webrequest class 2019-05-19 14:20:15 +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
Pedro
a3aa3a8897 Created Serialization and Deserialization of Array (only string and integer, need complete for another types)
Included a test unit "TestSerializeEntityWithArray" and "TestDeserializeEntityWithArray"
2019-05-17 11:15:18 -03:00
Daniele Teti
53bdb8acc0 Improved MVCActiveRecord 2019-05-16 00:17:19 +02:00
Pedro
b433abc9a3 Add FHTTP.Request.UserAgent when create FHTTP 2019-05-15 11:25:22 -03:00
Pedro
365034a067 Merge branch 'master' of https://github.com/danieleteti/delphimvcframework 2019-05-13 13:38:34 -03: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
f1ff9fa94c Sample for HATEOS 2019-05-08 20:20:25 +02:00
Daniele Teti
a05a599931 Simplified HATEOAS support 2019-05-08 09:11:08 +02:00
Daniele Teti
fc28b3ba5e Removed strings indexing 2019-05-02 17:39:17 +02:00
Pedro
231e10aa2f Forcar a inclusao no Create conter a primary key, evitar erro de banco 2019-04-20 09:32:31 -03:00
Daniele Teti
260445c902 Merge branch 'master' of https://github.com/danieleteti/delphimvcframework 2019-04-20 12:10:45 +02:00
Daniele Teti
020cdbc0fa Added custom exception handling. Based on work of David Moorhouse (https://github.com/danieleteti/delphimvcframework/issues/191) 2019-04-20 12:10:33 +02:00
João Antônio Duarte
6f215e6f9c Fixed bug when serializing dataset. When the first dataset record has a field that is null, it would serialize all records in this field to null, even if the next records have data 2019-04-17 11:52:45 -03:00
Daniele Teti
7715a60e8d https://github.com/danieleteti/delphimvcframework/issues/154 2019-04-16 23:36:58 +02:00
Daniele Teti
77e78b24f3 ISSUE https://github.com/danieleteti/delphimvcframework/issues/205 2019-04-16 23:12:56 +02:00
Daniele Teti
703043f67a
Merge pull request #206 from joaoduarte19/tmvccompressionmiddleware_fix
Correction in TMVCCompressionMiddleware
2019-04-03 09:49:05 +02:00
Daniele Teti
8c19e63f3d
Merge pull request #204 from joaoduarte19/rql_changes
RQL Changes
2019-04-03 09:46:42 +02:00
Daniele Teti
d20ef3fe41 Added '/describe' to json-rpc
Added 'MVCInheritable' attribute
2019-04-03 09:45:31 +02:00
João Antônio Duarte
9b240d36e4 Correction in TMVCCompressionMiddleware to not compress ResponseStream of type TFileStream 2019-04-01 18:03:55 -03:00
João Antônio Duarte
2f9f6cfffc Added tests for in operator in rql2sql tool 2019-03-25 11:29:35 -03:00
João Antônio Duarte
b25d8a97f9 Added RQL Operator in.
Example: RQL in(codperson,[1,2,3,4]) results WHERE (codperson IN (1,2,3,4))

Correction in MatchFieldStringValue to Generate Exception when finding end of string without closing quotes.
2019-03-25 11:11:56 -03:00
Daniele Teti
3a0981f207 Merge branch 'master' of https://github.com/danieleteti/delphimvcframework 2019-03-19 12:06:35 +01:00
Daniele Teti
e86d004808 Compatibility Issues Fixed 2019-03-19 12:06:25 +01:00
Pedro
0a49f8e539 Merge branch 'master' of https://github.com/pedrooliveira01/delphimvcframework 2019-03-18 10:08:43 -03:00
Pedro
45119236cf Add event OnBeforeExecuteSQL (MVCFramework.ActiveRecord.pas)
- For modify SQL before execute

Remove warning in MapTValueToParam

Add Handle UpdateEntity (MVCFramework.ActiveRecordController.pas)
2019-03-18 10:08:34 -03:00
Pedro Oliveira
3afd30b595 Merge branch 'master' of https://github.com/danieleteti/delphimvcframework 2019-03-17 13:30:10 -03:00
Daniele Teti
dc2328c89a Added Dict function to easily return a dictionary of strings.
Improved exceptions rendering.
2019-03-16 17:21:42 +01:00
Pedro
10359e9e62 Add into MapColumnToTValue ftFloat 2019-03-14 08:14:12 -03:00
Pedro
8715a6f21c Merge branch 'master' of https://github.com/danieleteti/delphimvcframework 2019-03-13 09:20:33 -03:00
Pedro
eb27bdabaf Fixed compatibility with linux (NEXTGEN) 2019-03-13 08:38:04 -03:00
Daniele Teti
5da30ed243 Extended support for HATEOAS 2019-03-10 16:29:53 +01:00
Régys Borges da Silveira
09dab846aa Change into class helper TMVCStreamHelper to suporte VCL and FMX strings 2019-03-08 13:45:56 -03:00
Régys Borges da Silveira
15e9d11e7b - Fix to correct read the error message from server. 2019-03-08 10:27:47 -03:00
Daniele Teti
8ee3efc384 dmvcframework-3_1_1-beryllium-RC3 2019-03-08 09:49:33 +01:00
Daniele Teti
beb059a0e3 Improved support for HATEOAS in renders 2019-03-08 09:34:03 +01:00
Daniele Teti
98d4b353f4 TMVCConfig.SaveToFile and TMVCConfig.LoadFromFile now use the default serializer 2019-03-08 07:15:58 +01:00
Daniele Teti
89ea997cda Removed System.JSON dependency from MVCFramework.Middleware.JWT.pas (thank you to joaoduarte19) 2019-03-06 22:28:22 +01:00
Pedro
c6fa32bcb0 Merge branch 'master' of https://github.com/danieleteti/delphimvcframework 2019-03-06 15:27:09 -03:00
João Antônio Duarte
10b234666f Removed references to System.JSON
Improved return of exceptions
2019-03-06 13:38:26 -03: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
Pedro
506a187418 Merge branch 'master' of https://github.com/danieleteti/delphimvcframework 2019-02-25 08:51:35 -03:00
Pedro
3878be7387 . 2019-02-25 08:48:36 -03: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
João Antônio Duarte
62ead877a6 Added JsonArray desserialization to TDataSet type field in Object 2019-02-22 14:22:52 -03:00
Daniele Teti
cfb4a3268c - Small fixes on ActiveRecordController and PostgreSQL SQLGenerator 2019-02-21 20:27:43 +01:00
Daniele Teti
a57cc3581f - New! TMVCActiveRecord.DeleteAll deletes all the records from a table
- New! `TMVCActiveRecord.DeleteRQL` deletes records using an `RQL` expression as `where` clause.
- New! Microsoft SQLServer Support in ActiveRecord and RQL (thanks to one of the biggest Delphi based company in Italy which heavily uses DMVCFramework)
- Improved! `ActiveRecordShowCase` sample is much better now.
2019-02-21 18:12:01 +01:00
Daniele Teti
425a7c5d26
Merge pull request #187 from pedrooliveira01/master
Pedro <pedrooliveira__@hotmail.com>
2019-02-21 11:07:17 +01:00
Régys Borges da Silveira
30a8d3f163 fixes to correct compile in Delphi Tokyo and Rio 2019-02-19 09:05:12 -03:00
Pedro
11a286f3db Pedro <pedrooliveira__@hotmail.com> 2019-02-15 09:21:11 -02:00
Daniele Teti
1acdb86710 Merge branch 'master' of https://github.com/danieleteti/delphimvcframework 2019-02-05 18:09:11 +01:00
Daniele Teti
3a0bfcdee7 Now primary Key is the first field in the ActiveRecord Mapping (if exists) 2019-02-05 18:08:54 +01:00
Daniele Teti
20a0e88791 Improved FileUpload Sample, better cacheitem handling, improved TemplatePro view engine 2019-02-01 20:11:33 +01:00
João Antônio Duarte
7b8af70a73 Added RQL compiler for MSSQL 2019-01-30 17:49:46 -02:00
Daniele Teti
73573c0130 3.1.1 (beryllium) RC2 2019-01-29 17:59:14 +01:00
Daniele Teti
cd7df5dd36 https://github.com/danieleteti/delphimvcframework/issues/157 2019-01-18 19:04:20 +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
3174504b90 Fix for berlin
https://www.facebook.com/photo.php?fbid=10217757569041117&set=gm.2029342450482217&type=3&theater&ifg=1
2019-01-16 14:24:13 +01:00
Daniele Teti
98197beb01 Added TMVCActiveRecord.Count 2019-01-13 19:18:57 +01:00
Daniele Teti
f09ae31a91 Added PostgreSQL SQLGenerator 2019-01-13 18:57:15 +01:00
joao.duarte
8edd6241e6 Bug fix when deserialize object with custom type and JSON with null value 2019-01-10 14:30:40 -02:00
Daniele Teti
8ed859b7d1 New build system based on pyinvoke 2019-01-08 12:48:53 +01:00
Daniele Teti
f64eebff6a Improvements to the JSON-RPC layer, added MAX_REQUEST_SIZE check and config key. UPdated IDE Expert to add the new config key in the generated code. 2018-12-17 00:40:27 +01:00
Daniele Teti
2ec82ee373 JSON-RPC requests can call only functions, while JSON-RPC notifications can call only procedures. 2018-12-12 22:30:13 +01:00
Daniele Teti
f6c4382291 JSON-RPC Refactoring 2018-12-12 14:48:35 +01:00
Daniele Teti
835fc651da changed serialization jsonrpc result 2018-12-12 11:00:52 +01:00
Daniele Teti
2ea6ceb1ae Merge branch 'master' of https://github.com/danieleteti/delphimvcframework 2018-12-09 23:05:11 +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
joao.duarte
d0197df7cf Added RQL Operator Contains 2018-11-27 16:28:21 -02:00
joao.duarte
b4c4a64c14 Added RQL Parser for PostgreSQL 2018-11-27 16:27:36 -02: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
29f03e819e Added ability to automatically expose PODO through JSON-RPC interface
FIX https://github.com/danieleteti/delphimvcframework/issues/160
FIX https://www.facebook.com/groups/delphimvcframework/?multi_permalinks=1951719131577883&comment_id=1952551261494670&notif_id=1542833848942998&notif_t=feedback_reaction_generic
2018-11-21 22:14:50 +01:00
Daniele Teti
9825782cb0
Merge pull request #158 from henriquewerlang/master
URL property
2018-11-20 09:40:52 +01:00
Daniele Teti
505710f9cd Small fixes to custom stream json serializer 2018-11-09 18:12:29 +01:00
Daniele Teti
07255a8b23 Refactored MVCActiveRecord framework, added *.SQLGenerators.* units 2018-11-02 21:43:18 +01:00
Daniele Teti
7ca4ccbe59 Completed refactoring about IMVCTypeSerializer 2018-10-31 01:07:25 +01:00
Daniele Teti
132e169542 Changes to the custom type serializer interface 2018-10-30 13:53:18 +01:00
Henrique Gottardi Werlang
8fd6004579 Criado uma propriedade para o usuário conseguir colocar a URL completa, e não em pedaços apenas. 2018-10-24 18:07:31 -03: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
96bbb83209 Improved support for MySQL in MVCActiveRecord
Better multi thread handling in MVCActiveRecord
2018-10-14 18:24:07 +02:00
Daniele Teti
9dd04f026f Added MySQL/MariaDB support for MVCActiveRecord and RQL compiler 2018-09-28 18:33:54 +02:00
Daniele Teti
4672b81c7b RQL support added to MVCActiveRecord 2018-09-28 13:02:48 +02:00
Daniele Teti
98499a3b97 Added RQL2SQL parser 2018-09-27 12:27:13 +02:00
Daniele Teti
e4cd5894ae MVCActiveRecord Framework, Sample for MVCActiveRecord Framework 2018-09-25 15:38:52 +02:00
geoffsmith82
b28c6927a6 Re-arranged file to minimise the use of $IFDEFS 2018-08-25 17:44:04 +10:00
geoffsmith82
02ac9cdd31 Added $IFDEF around System.Hash 2018-08-25 17:06:50 +10:00
geoffsmith82
48ced29d73 Added Wrapper classes to enable using built-in Delphi HMAC Classes 2018-08-25 17:03:43 +10: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
7998811c74 - 404 and 500 status code returns always a text/plain content-type
- Refactored ISAPI sample
2018-08-08 15:43:37 +02:00
Daniele Teti
00d5a9699a - Config[TMVCConfigKey.FallbackResource] is served only if request path is empty or /.
- Now the JSON-RPC executor provides methods to handle HTTP headers for JSON-RPC requests and notifications.
- FIX for [issue #141](https://github.com/danieleteti/delphimvcframework/issues/141)
- `TDataSetHolder` is a new render that is able to render a dataset with a set of custom metadata (eg `count`,`page` etc). Check [issue #137](https://github.com/danieleteti/delphimvcframework/issues/137)
2018-08-05 20:31:56 +02:00
Daniele Teti
c305aec5fc https://github.com/danieleteti/delphimvcframework/issues/137 2018-07-16 12:34:10 +02:00
Daniele Teti
a4381ec719 Changed the behavior of the JWT LiveValidityWindows
Added milligram.css to some samples
2018-05-17 21:57:03 +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
f09f12038f Added submodules + fix from Andrea Ciotti 2018-03-14 12:30:41 +01:00
OneideLuizSchneider
f0b6c9a51d Add ProxyUsername and ProxyPassword 2018-03-10 19:51:11 -03:00
Daniele Teti
674c9feac9 Preparing 3.0 hydrogen 2018-02-20 23:33:50 +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
6d5c85d427 Implemented https://github.com/danieleteti/delphimvcframework/issues/114 2017-12-12 20:04:01 +01:00
Daniele Teti
2a5892da6b Implemented https://github.com/danieleteti/delphimvcframework/issues/115 2017-12-12 18:32:41 +01:00
Daniele Teti
ae3a3ec4e6 Added ViewData and ViewDataset. New Compression Sample. 2017-11-23 17:31:26 +01:00
Daniele Teti
233786ae82 https://github.com/danieleteti/delphimvcframework/issues/107 2017-11-16 22:49:38 +01:00
Daniele Teti
a8d57bb78b RC10 2017-10-16 22:57:49 +02:00
Daniele Teti
84ccc385c1 Improved JSON-RPC support
Improved JSON-RPC sample
2017-10-10 12:20:11 +02:00
Daniele Teti
ac654658f1 Improved JSON RPC 2.0 Client Sample 2017-10-09 16:17:34 +02:00
Daniele Teti
df0479d251 Server Sent Event 2 Sample 2017-10-09 10:41: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
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
59b6208356 https://github.com/danieleteti/delphimvcframework/issues/90 2017-07-17 11:48:26 +02:00
Daniele Teti
c876916400 RC8 FIXED 2017-07-17 10:42:13 +02:00
Daniele Teti
b3e0bbdf91 RC8
ADDED new action in the renders.dproj sample to show how to render a list with metadata using a wrapper object
CHANGE Optimized some rtti searches in the MVCFramework.Serializer.Abstract.pas
ADDED Cache support for internal use
CHANGED Restored JWT aLoginURL Paramater
ADDED LiveValidityWindowInSeconds for JWT (check the new sample)
2017-07-16 19:39:03 +02:00
Daniele Teti
dcc27fa794 ADDED restored LoginURL parameter in the JWT Middleware to customize the login end-point for JWT
ADDED better error checking in the TRESTClient
2017-07-14 18:23:00 +02:00
Daniele Teti
99d2951078 ADDED Support for enumeration also for JSONDataObject base serializer 2017-07-12 11:39:50 +02:00
Daniele Teti
8eb55556bc ADDED support for enumeration types in System.JSON based serializer 2017-07-12 01:02:59 +02:00
Daniele Teti
e52aacc391 ADDED LiveValidityWindowsInSeconds to the JWT classes. 2017-07-12 00:32:37 +02:00
Daniele Teti
f108357a92 FIX JWT (ported from 2.x branch (247f25e519)
SSE Sample updated
2017-07-05 00:19:38 +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
7f9580a64e FIX now CORS + JWT middlewares works together 2017-05-31 08:49:03 +02:00
Daniele Teti
82ef760987 REMOVED ObjectsMappers.pas (finally!) 2017-05-25 16:58:07 +02:00
Daniele Teti
0d8e5f842a Added serversentevents sample
Handled AutoRefCount properties on ARC platform
2017-05-25 12:31:05 +02:00
Daniele Teti
7517df93c6 Merge pull request #80 from janidan/RolebasedAuthHandler
Attribute driven Rolebased Authorization Handler
2017-05-25 10:32:02 +02:00
Daniele Teti
a678421e06 Updated sample render
JsonDataObjects Serializer not produced compact json
2017-05-25 10:31:26 +02:00
janidan
cbd83751ee Added contribution message 2017-05-18 07:02: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
janidan
6d9e584926 Added functionality to allow the definition of OR connected Roles 2017-05-16 18:34:47 +02:00
janidan
256a629360 Added basic requires Authentication Attribute 2017-05-16 07:18:06 +02:00
janidan
ab519d45db Added feature to add dynamic roles that can resolve request parameters. e.g. [MVCRequiresRole('($branch):read:customers')] on a controller that supplies the GET /branch/EUROPE/customers resource. 2017-05-15 14:58:13 +02:00
janidan
ccb0ec37d8 Implemented initial version of a role based auth handler. See sample for usage. 2017-05-12 12:48:44 +02:00
Daniele Teti
2f7d2fe6b0 https://github.com/danieleteti/delphimvcframework/issues/79 2017-05-11 00:31:02 +02:00
Daniele Teti
7900898df8 FIXED some problems with built-in actions
Polished the IDE Expert
Preparing for RC3
2017-05-10 23:28:47 +02:00
Daniele Teti
1b20254836 3.0.0 hydrogen RC2 2017-05-09 23:14:20 +02:00
Daniele Teti
a866a37b27 3.0.0 hydrogen RC1 2017-05-09 13:38:03 +02:00
Daniele Teti
c237c4f049 3.0.0 hydrogen 2017-05-09 10:49:43 +02:00
Daniele Teti
96dc31e97b Added support for multiple parameter with the same name in the http standard submit. 2017-05-08 17:27:00 +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
4108b63405 FIXED a bug with ftAutoInc field type
Updated routingsample.dproj and renders.dproj
2017-04-20 23:49:37 +02:00
Daniele Teti
53ecae82db TestServer OK on linux. All unit tests are ok. 2017-04-14 16:43:53 +02:00
Daniele Teti
9f6675e349 Deprecation warnings for some attributes 2017-04-13 12:47:05 +02:00
Daniele Teti
aadceee80f Adapted to the single file for StompClient 2017-04-04 13:04:29 +02:00
Ezequiel Juliano Müller
503869635e Version 3 Settings in Sample Applications 2017-03-30 16:22:54 -03:00
Daniele Teti
fcec5e7370 FIX some demos 2017-03-30 17:00:12 +02:00
Ezequiel Juliano Müller
dde2c648b3 Correction in serializers with Currency fields. Removal of Hints. 2017-03-30 11:04:12 -03:00
Ezequiel Juliano Müller
28e37ea138 Merge branch 'pluggable_mapper' of https://github.com/danieleteti/delphimvcframework into pluggable_mapper 2017-03-30 10:56:30 -03:00
Ezequiel Juliano Müller
8764797c21 Add Deserialize DataSet (JsonDataObjects and SystemJSON) 2017-03-30 10:56:24 -03:00
Daniele Teti
1f128c443f FIXED DataSetSerialize now serializes Currency as Number
UPDATED ServerSideView engine (now there is no need to do json conversion twice)
CHECKED renders.dproj
2017-03-29 23:15:22 +02:00
Ezequiel Juliano Müller
74f921cc76 Adding DataSets Serialization 2017-03-29 09:49:35 -03:00
Ezequiel Juliano Müller
80e71b3f65 Add MVCFramework.Serializer.Abstract and MVCDataSetFieldAttribute and MVCSerializeAttribute 2017-03-28 09:52:13 -03:00
Ezequiel Juliano Müller
372bf9bc13 Refactoring, standardizing names and removing unnecessary dependencies. 2017-03-23 14:51:25 -03:00
Ezequiel Juliano Müller
611f297425 Changes in unit tests 2017-03-20 17:42:28 -03:00
Ezequiel Juliano Müller
ee9659762b Refactoring and Removing Dependencies 2017-03-20 15:08:01 -03:00
Ezequiel Juliano Müller
45595ee144 Refactoring MVCFramework.Commons 2017-03-20 09:55:46 -03:00
Ezequiel Juliano Müller
eae30a341f Merge branch 'pluggable_mapper' of https://github.com/danieleteti/delphimvcframework into pluggable_mapper 2017-03-13 16:53:12 -03:00
Ezequiel Juliano Müller
5f34de36b1 Refactoring and Removing Dependency with SystemJSON and Mapper 2017-03-13 16:52:11 -03:00
Daniele Teti
4a1336d7ca Removed JSONObjectToObjectFields 2017-03-07 21:42:19 +01:00
Ezequiel Juliano Müller
d0f3961bed Add initial sample with JsonDataObjects serializer 2017-03-02 15:29:43 -03:00
Desenvolvimento
1d750b90e6 Refactoring MVCFramework.DuckTyping. Remove global variables. 2017-03-02 13:39:41 -03:00
Desenvolvimento
97d3c552ca Add TMVCAbstractSerializer 2017-03-02 08:57:40 -03:00
Desenvolvimento
6a27680a0a Merge branch 'pluggable_mapper' of https://github.com/danieleteti/delphimvcframework into pluggable_mapper
# Conflicts:
#	sources/MVCFramework.Serializer.Commons.pas
2017-03-01 17:43:16 -03:00
Desenvolvimento
88b8e7da3c Refactoring the System JSON Serializer. Adding the serializer to JsonDataObjects. Problems with some unit tests. 2017-03-01 17:40:57 -03:00
Daniele Teti
3580d5ab5e MERGED https://github.com/danieleteti/delphimvcframework/pull/72
MERGED https://github.com/danieleteti/delphimvcframework/pull/73
2017-02-24 14:20:05 +01:00
Daniele Teti
c7c738a00e Removed RenderJSON 2017-02-22 19:50:49 +01:00
Daniele Teti
51351a6f73 removed *Strict serialization type
added TMVCSerializerStrictJSON
2017-02-13 20:51:59 +01:00
Daniele Teti
f98d39375f CustomTypeSerializers Refactoring
Added more unit test
2017-02-10 18:48:19 +01:00
Daniele Teti
c2f51d4b11 CustomTypes + UnitTests 2017-02-10 14:20:06 +01:00
Daniele Teti
4cc5b6560c CustomTypesSerialiers 2017-02-09 19:34:12 +01:00
Daniele Teti
c80f078337 TValue de/serialization 2017-02-09 11:24:24 +01:00
Daniele Teti
9b70ee40fc IMPLEMENTED
IMVCSerUnSer = interface
    ['{1ECA942A-E3C4-45DD-9D23-C00363B5E334}']
    function SerializeObject(AObject: TObject; AIgnoredProperties: array of string): String;
    function SerializeObjectStrict(AObject: TObject): String;
    function SerializeDataSet(ADataSet: TDataSet; AIgnoredFields: array of string): String;
    function SerializeCollection(AList: TObject; AIgnoredProperties: array of string): String;
    function SerializeCollectionStrict(AList: TObject): String;
    procedure DeserializeObject(ASerializedObject: String; AObject: TObject);
    procedure DeserializeCollection(ASerializedObjectList: string; AList: IMVCList; AClazz: TClass);
  end;
2017-02-08 18:30:32 +01:00
Daniele Teti
862f31a1ce Added 'Renderer' in TMVCController 2017-02-08 11:42:35 +01:00
Daniele Teti
9ef9ede924 REMOVING WARNINGS 2017-02-07 16:32:54 +01:00
Daniele Teti
26c0eb5eb8 TEST OK FOR JSON SERIALIZER (BUILTIN JSON PARSER)
TestSerUnSerObject
TestSerUnSerObjectList
2017-02-07 16:06:58 +01:00
Daniele Teti
56b78738e4 Serializer: First TEST OK 2017-02-07 14:08:51 +01:00
Daniele Teti
c8074649a1 2.1.3 (lithium)
FIX https://github.com/danieleteti/delphimvcframework/issues/64
ADDED Unit Tests for avoid regressions
2017-01-29 19:02:41 +01:00
Daniele Teti
32caa1edcd 2.1.2 (helium)
FIX for Delphi versions who don't have TJSONBool (Delphi XE8 or older)
Added new conditional define in dmvcframework.inc: JSONBOOL (defined for Delphi Seattle+)
2017-01-29 18:40:54 +01:00
Daniele Teti
71907802f0 ADDED SEMANTIC VERSION (DMVCFRAMEWORK_VERSION const in MVCFramework.Commons.pas hold the current version)
Updated the IDE Expert to show the current version of the framework
FIX to the mapper about the datasets null values (needs to be chack in old Delphi versions)
FIX to the dataset boolean values
ADDED more unit tests about nullability
2017-01-29 16:11:14 +01:00
Daniele Teti
03be713c93 FIX - Now the logs are created always in the module path (by default) 2017-01-26 20:07:19 +01:00
spinettaro
72475e4b96 fixed session timeout when timeout value is 0 2017-01-20 17:29:09 +01:00
Daniele Teti
808e3902d1 Moved TMVCHTTPMethodType and TMVCHTTPMethods to MVCFramework.Commons.pas (You controllers may not compile animore without using this unit)
Better mobile support for RESTAdapter
Better IFDEFing
2017-01-18 21:54:16 +01:00
Daniele Teti
ccc8ee90ab FIX OnBeforeAction (Thank you to Marco Mottadelli)
More unit tests
Refactoring for XE6
Updated copyright to 2017
2017-01-05 12:45:51 +01:00
Daniele Teti
4092b08179 New Conditional Defines:
USEFIREDAC
USEDBX
STARTEREDITION
2017-01-03 13:35:49 +01:00
Daniele Teti
32e7a8d325 Added features selection in dmvcframework.inc
Added MVCFramework.Patches.pas which should try to uniform interfaces of the changed classes in different versions of Delphi
2016-12-30 20:42:49 +01:00
Daniele Teti
05fb9259ae Compilable with XE6 and older
New unit tests
2016-12-29 19:29:22 +01:00
Daniele Teti
3b1e19ec40 https://github.com/danieleteti/delphimvcframework/issues/63 2016-12-28 10:01:02 +01:00
spinettaro
24fa42f483 Merge branch 'master' of https://github.com/danieleteti/delphimvcframework 2016-12-13 18:16:35 +01:00
spinettaro
a4a3ea533a Set Stream position to 0, before sending the stream, in SendStream method
This fix stream rendering when DMVC is under apache
2016-12-13 18:16:12 +01:00
Daniele Teti
97d944a56a Workaround for webroker apache (maybe IIS) integration 2016-12-13 15:43:54 +01:00
Daniele Teti
c8d176485f Fix with german chars 2016-12-12 14:37:32 +01:00
Daniele Teti
7c2acc9738 Encoding fixes
Preparation for output compression
More unit tests
2016-12-07 19:36:03 +01:00
Daniele Teti
60ef18d148 ADDED
Config[TMVCConfigKey.FallbackResource]

Defines a default URL for requests that don't map to a route or a file (useful for client side web app)

The experts generates a Config[TMVCConfigKey.FallbackResource] which ponts to 'index.html'
2016-12-07 12:35:46 +01:00
Daniele Teti
81744b892e Merge changes from https://github.com/danieleteti/delphimvcframework/pull/60
Some refactoring needed to be coherent to the rest of the framework
Added a new sample to chow customsession utilization
2016-12-05 15:51:05 +01:00
airtonjs
fa16b01164 Permit to use other class of session 2016-12-05 09:03:58 -04:00
Daniele Teti
9e76485268 Samples Refactoring 2016-11-27 23:18:32 +01:00
Daniele Teti
00bc5d6d8f Small refactoring
New image for the IDE Expert
Added MVCDoc to articles_crud_server
2016-11-24 20:08:35 +01:00
Daniele Teti
56a7c8311d FIX Render(Stream,False)
Added Ownership to TDuckTypedList
Added 2 more unit tests
2016-11-18 18:25:50 +01:00
Daniele Teti
25177d957f All the unit tests are now merged in 1 project.
Submodules update, samples refactoring, build improvements.
2016-11-13 21:00:54 +01:00
Daniele Teti
119238df9e Merge branch 'master' of https://github.com/danieleteti/delphimvcframework 2016-11-07 12:24:40 +01:00
Daniele Teti
54c82554e6 ADD Cache support based on Redis
MVCFramework.Controllers.CacheController.pas
2016-11-07 12:24:13 +01:00
spinettaro
3f0eb0d040 added support to serialize json null value as nil in object property
added relative test TestJSONObjectToObjectWithNullInJSONString
2016-10-26 14:42:45 +02:00
Daniele Teti
160bb8d51e ADDED
AllowedOriginURL: string = '*'
AllowsCredentials: Boolean = true

In CORS Middleware
2016-10-12 13:11:19 +02:00
danieleteti
bd10056c6f https://github.com/danieleteti/delphimvcframework/issues/56 2016-10-11 11:39:57 +02:00
danieleteti
4d1427d859 -IDE Expert small bug fix
- ADDED Paremeter "ARewindStream" to procedure SendStream(AStream: TStream; AOwnStream: Boolean = true;
      ARewindStream: Boolean = false); virtual;
2016-10-10 16:11:48 +02:00
danieleteti
78f635c720 Added Apache 2.4 for windows in the "apache module sample" folder. 2016-10-10 15:49:10 +02:00
danieleteti
dc690bf0e1 Merge branch 'master' of https://github.com/danieleteti/delphimvcframework 2016-10-05 23:32:31 +02:00
danieleteti
115e856d04 DelphiREDISClient changed a method name 2016-10-05 23:32:11 +02:00
spinettaro
afe014b331 added assert to check _DefaultLogger initialization
initialized description string for ControllerMethods retrieved by describeserver.info
2016-10-03 18:18:48 +02:00
danieleteti
ecc4947290 ADDED LoadViewFragment
ADDED TMVCMediaType.TEXT_CSV
2016-10-02 17:44:45 +02:00
danieleteti
3672a73b8d Names refactoring
Added TMVCController.RenderWrappedList to renders heterogeneous lists
2016-09-30 11:44:30 +02:00
spinettaro
d689e92642 added support in TMVCController and ObjectsMappers to serialize a IWrappedList
added link to LoggerPro in tests projects
2016-09-29 18:17:26 +02:00
MPannier
07dcef7eab added ReleaseGlobalLogger in MVCFramework.Logger.pas
added ParamsAsInt64 for TMVCWebRequest
added some "more Results" in TRTTIUtils.TValueAsString
2016-09-27 14:33:51 +02:00
MPannier
af0e4fdca7 removed Iocp.Logger.pas (no longer needed)
Delphi XE3 adjustments
added some missing consts to paramters (thanks to FixInsight; there are a lot more hints)
2016-09-27 14:22:17 +02:00
MPannier
751069cb07 Delphi XE3 adjustments
corrected search path in sample projects
2016-09-27 13:49:24 +02:00
danieleteti
9eaccd9a3e FIX for DX10 Seattle 2016-09-25 22:31:44 +02:00
danieleteti
83f5b378ed Possibile FIX for a RTL bug. IT works now on Berlin and Seattle. 2016-09-25 22:25:06 +02:00
danieleteti
ce80bb79fd Refactoring 2016-09-25 16:17:48 +02:00
danieleteti
c443fffa44 FIX https://github.com/danieleteti/delphimvcframework/issues/48 2016-09-20 11:27:37 +02:00
danieleteti
6842f5efec IDE Expert: Load optimized configuration for the default generated project (MaxConnections and ListenQueue)
small optimization for body reading in the TWebContext
add sample for CustomAuth
2016-09-20 11:10:47 +02:00
danieleteti
0d3b591174 Added CopyRight info were not present 2016-09-18 19:19:43 +02:00
danieleteti
f0670af618 Added custom authentication and authorization middleware 2016-09-16 23:55:11 +02:00
danieleteti
33d62713df Small FIX RESTClient 2016-09-13 19:10:34 +02:00
Ezequiel Juliano Müller
6e7db429ff Merge branch 'master' of https://github.com/danieleteti/delphimvcframework into HEAD
# Conflicts:
#	lib/dmustache
2016-09-06 11:02:14 -03:00
danieleteti
0f5f101802 Updated File CHANGES.TXT 2016-09-06 10:41:31 +02:00
danieleteti
6875ff3704 Added LoggerPro as git submodule
Updated MVCFramework.Logger.pas to use LoggerPro instead of the modified version of IOCPLogger
Added CustomLoggerSample.dproj
Removed IOCP dependencies
2016-09-06 10:33:09 +02:00
danieleteti
ef345debe5 FIX readded Pre XE7 support 2016-09-06 08:37:54 +02:00
danieleteti
be7d5d7183 Send DocumentIndex if request route = '/' and index file exists
FIX Charset issue on static contents
2016-09-05 15:34:55 +02:00
Ezequiel Juliano Müller
bc425918b2 Add validation for JSON Null time field conversion. 2016-09-02 11:12:53 -03:00
danieleteti
75383cf0c3 Mapped parameters names can contein "_" (underscore) 2016-08-24 15:34:29 +02:00
danieleteti
617bfe47e6 Refactoring 2016-08-09 13:11:13 +02:00
danieleteti
6cbfffdb50 Disabled STOMP Extension. Need refactoring. 2016-08-09 13:08:33 +02:00
danieleteti
5601767e04 - added method TWebContext.SessionStarted (check sample Sessions to see how it works)
- added method TWebContext.SessionID
- added unit test for TWebContext.SessionStarted
2016-06-28 13:44:09 +02:00
danieleteti
06e75e148b FIX a bug in /system/describeserver.info 2016-06-23 15:18:50 +02:00
danieleteti
f9df7124c1 - added "HasError" and "Error" properties to the IRESTResponse (thank you Mathias Pannier)
- added "Context.Request.QueryStringParams: TStrings"
2016-06-23 12:11:11 +02:00
danieleteti
a102909941 Completed JWT Middleware (Check jsonwebtoken sample to know how to use) 2016-06-23 11:43:15 +02:00
danieleteti
1ef246a589 - Added strongly typed actions
- TWebContext param in the actions is optional
- In case of "action not found", the server dont returns NEVER the document index
- Refactoring
- More unit tests
- BasicDemo updated with typed actions
- Copyright updated (just formatting)
2016-06-22 17:50:31 +02:00
Ezequiel Juliano Müller
a5c1d5423b Update Licence 2016-06-16 17:18:18 -03:00
Ezequiel Juliano Müller
04b83cc0f5 Refactoring to:
* Enable working with listeners in a DI context.
* Class Changes to provide a better understanding of the functionality;
* Removal singletons variables (not the framework that must manage it);
* README update;
2016-06-16 17:13:35 -03:00
danieleteti
0d0d2d7aad JWT Middleware sample 2016-05-23 17:26:05 +02:00
danieleteti
c8f22d830c First version of JWT Middleware.
Based on work of "Nie Mand"
2016-05-23 17:23:10 +02:00
danieleteti
e1225fdcbe ADDED JWT Checks for: NotBefore, ExpirationTime, IssuedAt
Updated JWT sample
Added more unit tests
2016-05-21 21:56:29 +02:00
danieleteti
e2e5d79f30 removed dmvcframework.inc
added unittest for JWT
2016-05-19 11:22:58 +02:00
danieleteti
8a96b65242 Base64 Uses INDY encoder/decoder because the TnetEncoding class adds multilines which breaks token.
I've used indy also because TNetEncoding is available only since XE7 upward
2016-05-18 19:10:59 +02:00
danieleteti
2012285fd7 beta support for JSON Web Tokens 2016-05-18 18:21:46 +02:00
danieleteti
902732bcdf changed Body: TStringStream to Body: TStream 2016-05-13 17:20:11 +02:00
danieleteti
43c3881cc4 ADDED the followings method to TMVCController
-RenderJSONArrayAsProperty
-EnsureQueryParamExists
2016-05-11 10:40:12 +02:00
danieleteti
d11111aa41 ADDED cookies support to the rest client
ADDED demo for cookies utilization
REFACTORED some samples
2016-04-24 19:08:25 +02:00
danieleteti
8d0e9dec45 ADDED support for ftLongWord in Mapper.DataSetToJSONObject and Mapper.JSONObjectToDataSet 2016-04-24 18:01:46 +02:00
danieleteti
8f1d0ddf56 ADD Render(TTextWriter) 2016-04-22 09:46:28 +02:00
danieleteti
40fd543a60 Added "DocumentIndex" functionality 2016-04-20 11:02:28 +02:00
danieleteti
cacdabdbb7 Session refactoring
Now session is available also with Context.Session
2016-04-03 22:36:13 +02:00
danieleteti
06c9caa616 ADDED Mapper.LoadJSONObjectToObject
ADDED UnitTest for Mapper.LoadJSONObjectToObject
2016-03-24 15:30:18 +01:00
danieleteti
9d24461a24 https://github.com/danieleteti/delphimvcframework/issues/36 2016-03-23 15:25:05 +01:00
danieleteti
34d44f1cfe fixed some border cases bug in samples/fileupload/FilesUploadDemo.dproj
removed unused variables in ObjectsMappers.pas
2016-03-23 10:13:35 +01:00
danieleteti
388ed31a0b FIX Basd64 Stream serialization
ADDED Unit test for Stream de/serialization
2016-03-23 00:29:58 +01:00
danieleteti
5a2e1788f6 Cleaner logger threads shutdown 2016-03-14 23:56:41 +01:00
danieleteti
12e44453a9 FIX mustache server side views encoding 2016-03-14 23:36:47 +01:00
MPannier
b907db3143 removed double IsNull checking in Mapper.DataSetToJSONObject (IsNull is checked at the beginning of the for loop) 2016-03-03 17:20:23 +01:00
MPannier
9c824aaf45 added BasicDemoVCLClient (to test use of a proxy server)
added properties ProxyServer and ProxyPort to TRESTClient (e.g. to use Fiddler Web Debugger to trace http calls in a VCL Client)
2016-03-03 17:07:34 +01:00
MPannier
40d7220d5d removed Context.Response.SetCustomHeader('Content-Length' in TMVCStaticContents.SendFile; See comment 2016-03-03 16:50:55 +01:00
MPannier
fe387256ed Delphi XE 3 compatibility (dproj - files are now XE3 files)
search path adjusted (demos work without global search path)
added project group for all demos that could be compiled with XE 3
2016-03-03 16:32:50 +01:00
danieleteti
d39854a8b3 Integrated the path from Mathias Pannier regarding http://qc.embarcadero.com/wc/qcmain.aspx?d=67350 2016-03-01 22:50:32 +01:00
MPannier
0f15eb36e5 Delphi XE3 compatibility
Signed-off-by: danieleteti <d.teti@bittime.it>
2016-02-29 14:52:26 +01:00
Ezequiel Juliano Müller
95427f674b Merge branch 'master' of https://github.com/danieleteti/delphimvcframework into HEAD
# Conflicts:
#	sources/MVCFramework.Server.pas
#	sources/MVCFramework.pas
#	unittests/Several/FrameworkTestsU.pas
2016-02-29 10:08:48 -03:00
Ezequiel Juliano Müller
756b7683a0 Add constructor delegate to controllers. This aims to integrate with frameworks to dependency injection. 2016-02-29 09:48:36 -03:00
danieleteti
2c41c13fd4 Added ExposeServerSignature config key
Added ServerName config key (tristan)
Updated IDEEXPERT with ExposeServerSignature settings (default false)
Updated some sample
2016-02-28 19:06:05 +01:00
danieleteti
80be08f7fc FIX about session cookie 2016-02-28 18:35:50 +01:00
danieleteti
51fe8bac94 MAPPER FIX about ISOStrToDateTime without seconds
MAPPER UnitTests Refactoring
2016-02-27 10:08:07 +01:00
danieleteti
462af4c68f Added TMVCController.GetRenderedView 2016-02-27 09:58:54 +01:00
Ezequiel Juliano Müller
caae47e089 fixes for compatibility with authentication interface. 2016-02-25 08:40:08 -03:00
danieleteti
25b064fec2 Introduced XmlDoc on IMVCMiddleware
Updated unit test for new middleware interface
2016-02-23 23:22:44 +01:00
danieleteti
e68dcafe9b Changes to the Authentication mechanism
Adding some default to the expert
2016-02-23 22:33:21 +01:00
danieleteti
c9bd875467 fix - sesstion timeout now depends by the session_timeout config section 2016-02-18 13:54:57 +01:00
danieleteti
93e2872ff6 Issue found on TWebSessionMEmory.ToString (debug code) 2016-02-03 14:14:40 +01:00
danieleteti
6ddef75804 -New Build System based on Python 3.5 script
-Cleanup
2016-01-01 23:01:49 +01:00
Ezequiel Juliano Müller
1571cc2074 Update Copyright 2015-12-29 14:57:04 -02:00
Ezequiel Juliano Müller
a1d56ebc9c Update licence 2015-12-22 09:38:17 -02:00
Ezequiel Juliano Müller
5f1b06c158 Refactored and add new features 2015-12-22 09:17:37 -02:00
Ezequiel Juliano Müller
6592522287 Refactored and add new features 2015-12-22 09:17:13 -02:00
Ezequiel Juliano Müller
17a8325147 Add MediaType and Charset 2015-12-22 09:16:30 -02:00
Ezequiel Juliano Müller
fb382addfd GetBodyAsString supports MapperListOf parameters 2015-12-22 09:15:43 -02:00
Ezequiel Juliano Müller
8a2e4408ed GetBodyAsString support MapperListOf parameters 2015-12-22 09:14:34 -02:00
Ezequiel Juliano Müller
3e4710789c Refactoring RESTClient 2015-12-18 17:59:40 -02:00
danieleteti
f82869c6ae FIX in POSTed and PUTed data 2015-12-16 16:41:06 +01:00
danieleteti
85c04d7bb4 ADDED MVCDocAttributes
ADDED Alias MVCHTTPMethodsAttribute to MVCHTTPMethodAttribute
2015-12-16 15:57:20 +01:00
Tristan Marlow
80a0bc8f8c MVCFramework option for unhandled actions
ObjectMappers DataSetToObject support boolean types
Sample\SoapRest Example application server providing both SOAP and REST webservices
2015-12-02 11:14:15 +08:00
danieleteti
c60ba36088 FIX CORS
FIX ISSUE https://github.com/danieleteti/delphimvcframework/issues/17
2015-11-15 18:31:08 +01:00
danieleteti
7ca59a3b88 Mustache Server Side Views 2015-10-18 16:35:50 +02:00
Daniele Teti
fdb8e36106 Merge pull request #14 from ezequieljuliano/master
Add raise exception on JSONObjectToObject
2015-10-17 12:16:57 +02:00
danieleteti
6750ea7f5f REMOVED some warnings
CHANGED Logger in winecellarWITHDORM Sample
Now ObjectsMappers serialize differently String and AnsiString
ADDED SAMPLE "deserilizeandserialize"
2015-10-17 12:00:05 +02:00
Ezequiel Juliano Müller
05d420de3b Merge branch 'master' of https://github.com/danieleteti/delphimvcframework 2015-09-18 08:41:09 -03:00
danieleteti
46853a9f54 FIX Added StatusReason in RenderException
FIX Non ANSI characters were not correctly handled in TDataSetHelper
2015-08-27 11:13:40 +02:00
Ezequiel
e6573118e4 Adding functionality to convert normal lists 2015-07-10 14:38:59 -03:00
danieleteti
e495b31a25 Added support for ftWideMemo in DataSet de/serialization. 2015-07-03 16:28:31 +02:00
danieleteti
68e176e172 Merge branch 'master' of https://github.com/danieleteti/delphimvcframework 2015-06-29 14:37:15 +02:00
danieleteti
0bbf1950be added Render(TStream,Boolean) 2015-06-29 14:36:54 +02:00
Ezequiel
3723eaef47 Add raise exception on JSONObjectToObject 2015-06-29 08:39:12 -03:00
spinettaro
7fe19f4ac9 added RESTClientOwner property in RESTAdapter to manage desctruction of RESTClient and free its associated memory
removed TVIAdapter because not longer useful
fixed memory leaks in DMVCFrameworkTests.dproj
2015-06-16 15:19:51 +02:00
Ezequiel
97d1d6fe1b Addition of MVCFramework.Server.pas with MVCServerInfo, MVCServer, MVCDefaultSecurity and MVCServerContainer. 2015-06-15 13:57:46 -03:00
danieleteti
8ae43d8756 Added '@' as allowed character in URL parameters 2015-06-08 10:51:08 +02:00
danieleteti
5f55e158ae Merge branch 'master' of https://github.com/danieleteti/delphimvcframework 2015-06-04 18:14:37 +02:00
Ezequiel
8e601103a4 Bug fix and add compressor and sll in RESTClient 2015-06-03 17:47:07 -03:00
danieleteti
02f6d7b12f Change CheckIP function to check only if the ip string is empty 2015-05-31 11:24:47 +02:00
daniele.teti
a6c1a03af6 Added support for IPv6 local call 2015-05-18 10:16:34 +00:00
daniele.teti
e774a53bdf Removed some WARNINGS 2015-04-10 09:48:49 +00:00
daniele.teti
0d134eb563 FIX Compilation bug on XE6 for the ToJSON method 2015-04-10 09:45:45 +00:00
daniele.teti
276ffc99aa FIX Compilation bug on XE6 for the TDataSetHelper.LoadFromJSONArray 2015-04-10 08:41:39 +00:00
daniele.teti
3bca456d11 FIX Compilation bug on XE6 for the ToJSON method 2015-04-10 08:37:09 +00:00
daniele.teti
2ea8062889 FIX Mapper.JSONObjectFieldsToObject 2015-04-10 07:36:35 +00:00
daniele.teti
2a18719692 2015-04-10 07:13:02 +00:00
daniele.teti
1c0ebb763d FIX serialization with fields.
thank you M. Del Magno
2015-04-09 17:57:13 +00:00
daniele.teti
02511a14e2 + MERGE FROM "AUTH" FEATURE BRANCH 2015-04-01 15:01:23 +00:00
spinettaro
5e6ba9b3f0 implemented Asynchronous call
added relative test
2015-03-13 08:59:54 +00:00
ro
a876c3aff4 added Asynch functionality in RESTAdapter
added relative tests
updated wincellarclientRESTAdapter sample with Asynch function
2015-02-17 08:40:55 +00:00
daniele.teti
1936fdc225 - refactoring
- cleaning up
- added "low-level" serialization based on fields (and not properties)
- added $dmvc_classname property handling for fields serialization
- added more unittests
2015-02-16 13:25:09 +00:00
daniele.teti
f95bed5d37 ToString Delphi < XE7
ToJSON   Delphi >= XE7
2015-01-30 09:36:54 +00:00
ro
4c2d51fe2d added Free of Body parameter if OwnsObject is true
initial implementation of asynch call
2015-01-19 14:28:04 +00:00
ro
c1f030d9b5 fixed Error on map ParamAttribute and BodyAttribute
added overload of HasAttribute in TRTTIUtils
fixed error in objectsmappers whene JSONValue is nil
added relative tests
2015-01-17 16:19:09 +00:00
ro
6f640f4c95 fixed JSONArrayToObjectList by assign AOwnsChildObjects parameters to list 2015-01-16 13:41:21 +00:00
ro
037f4747a4 fixed Memory Leak on test TestObjectToJSONObjectAndBackWithStringStreamUTF16 and TestObjectToJSONObjectAndBackWithStringStreamUTF8; 2015-01-15 09:32:29 +00:00
daniele.teti
f20a7fe443 FIX for DataSetSerialization 2015-01-14 13:13:48 +00:00
ro
eed6ecf628 added no-Generics JSONArrayToObjectList
added TFieldNamePolicy enum, to manage the case serialization of DataSet to and from JSONObject
added RESTAdapter unit to turn your REST API into a Delphi Interface (beta)
added all relatives test for changes
minor bug fix
2015-01-14 10:39:44 +00:00
daniele.teti
5a64d94e53 2014-12-18 13:41:04 +00:00
ro
103bb2ab3b Changed behavior of ObjectToJSONObject: A nil object with MapperSerializeAsString Attribute is deserialized like an empty string
Added relative test
2014-11-26 11:27:56 +00:00
ro
ed03cfecb2 added possibility to choose the Encoding for MapperSerializeAsString attribute (UTF-8 default)
added tests for UTF-8 and UTF-16 encoding
2014-11-24 15:26:02 +00:00
daniele.teti
3a2e6f4e35 Handle TFieldType.ftBCD 2014-11-19 11:11:31 +00:00
daniele.teti
0168878eb7 elua views can include lua files using the same context 2014-10-28 09:44:02 +00:00
daniele.teti
e176fa676a 2014-10-26 19:48:52 +00:00
daniele.teti
db659d0590 2014-10-03 09:40:57 +00:00
daniele.teti
94e093a536 Updated support for Apache Module on XE7 2014-09-29 15:42:34 +00:00
daniele.teti
190727b8a9 Changed some IFDEFs 2014-09-17 21:10:52 +00:00
daniele.teti
e7ffca72df XE7 Support (beta) 2014-09-05 10:47:40 +00:00
daniele.teti
0d42ab3f47 ReqMulti.pas now is always included 2014-07-21 13:01:31 +00:00
daniele.teti
6bc4386ee5 Now, the log path is ALWAYS at the same level of the compiled module 2014-07-18 08:59:19 +00:00
daniele.teti
77db09cc80 FIX for chinese text 2014-07-04 15:52:17 +00:00
daniele.teti
dc8e3d479b Small router fix 2014-06-30 15:00:46 +00:00
daniele.teti
b2ebb8a744 2014-06-30 10:33:17 +00:00
daniele.teti
0b6df41668 BUGFIXES
New sample: articles_crud
2014-06-27 13:30:39 +00:00
daniele.teti
0e9aad849a FIX FOR ISAPI modules on XE6 2014-05-30 09:29:58 +00:00
daniele.teti
aeb501c1ad 2014-05-22 22:45:56 +00:00
daniele.teti
8fc2614a1d Now the JSONObjectToObject can deserialize the following tkClass:
- TStream
 - TObjectList<T> (only if the list itself is already created on the object)
 - TObject (only if the list itself is already created on the object)

MapperItemClassType has been aliased with MapperListOf to be more compliant to DORM and can be on the property itself or in the declaration of the type of the property (Check TEST TestComplexObjectToJSONObjectAndBack test)
2014-05-22 21:37:13 +00:00
daniele.teti
839321ba27 2014-05-21 23:06:35 +00:00
daniele.teti
32b1db46b6 2014-05-21 15:16:15 +00:00
daniele.teti
205ee52196 BETA support for Apache web server using Delphi XE6 2014-05-14 13:55:41 +00:00
daniele.teti
eb353dfb1c Charset fix because a bung in request body decoding
New features in the ObjectMappers
Charset fixes in ObjectsMappers
2014-05-05 16:52:49 +00:00
daniele.teti
7dad441780 FIX for issue noticed by D.G. 2014-04-21 22:20:00 +00:00
daniele.teti
cae068501c Updated to Delphi XE6 2014-04-16 20:52:25 +00:00
daniele.teti
f6673dcf31 2014-04-15 15:44:20 +00:00
daniele.teti
ae81fa7c4c ADDED RenderStreamAndFree 2014-04-15 15:03:47 +00:00
daniele.teti
72696ceeed FIX Encoding stuff 2014-04-10 11:56:23 +00:00
daniele.teti
4634bedd66 2014-04-04 14:39:37 +00:00
daniele.teti
6bacc035cb Added synchronized feature 2014-04-02 18:27:17 +00:00
daniele.teti
6732b34aa9 ADD Support for HTTPS 2014-04-01 20:32:57 +00:00
daniele.teti
a7bd9d29b5 UPD eLua sample 2014-04-01 17:39:28 +00:00
daniele.teti
2495c75a61 2014-04-01 17:36:05 +00:00
daniele.teti
5a8f19a238 ADD Samples
- Middleware
- WineCellar with livebindings
2014-04-01 00:12:34 +00:00
daniele.teti
19d0686644 Refactoring
ADD Session demo
2014-03-31 22:02:31 +00:00
daniele.teti
f2ad4087f0 ADD Middleware like (more or less) NODEJS EXPRESS library 2014-03-31 09:40:25 +00:00
daniele.teti
c1eb644550 ADD Middleware like (more or less) NODEJS EXPRESS library 2014-03-31 09:25:16 +00:00
daniele.teti
07377fb8ad Added Response.Location property 2014-03-25 11:41:23 +00:00
daniele.teti
d4d1a6db0c MVCConsumes bugfix 2014-03-24 16:37:08 +00:00
daniele.teti
14ef086e89 ADD TDataSetHelper 2014-03-24 12:17:30 +00:00
daniele.teti
1723981871 Updated WineCellar Sample 2014-03-13 00:01:27 +00:00
daniele.teti
b01e933b4a ADDED TDataset Class Helpers
TDataSetHelper = class helper for TDataSet
  public
    function AsJSONArray: TJSONArray;
    function AsJSONObject: TJSONObject;
    procedure LoadFromJSONObject(AJSONObject: TJSONObject);
    procedure LoadFromJSONArray(AJSONArray: TJSONArray);
    function AsObjectList<T: class, constructor>(CloseAfterScroll: boolean = false): TObjectList<T>;
    function AsObject<T: class, constructor>(CloseAfterScroll: boolean = false): T;
  end;
2014-03-12 23:46:29 +00:00
daniele.teti
ab0fc4758b ADD Mapper.DataSetToJSONObject
ADD Mapper.JSONObjectToDataSet

ADD UnitTests
2014-03-12 23:29:23 +00:00
daniele.teti
962aa41774 2014-03-12 22:03:48 +00:00
daniele.teti
0f347fc567 ADD ISAPI SAMPLE
Small refactoring
2014-03-10 16:39:29 +00:00
daniele.teti
49bbc1e9f9 ADD TDataSet classhelper for converting dataset data to json and objects 2014-03-07 23:26:31 +00:00
daniele.teti
3af039c01f 2014-03-07 23:00:56 +00:00
daniele.teti
ebd71d200b FIX for https://code.google.com/p/delphimvcframework/issues/detail?id=3 2014-03-07 22:52:02 +00:00
daniele.teti
f039c41923 SMALL FIXES 2014-03-07 22:16:33 +00:00
daniele.teti
16b4fb5f60 2014-03-06 13:20:57 +00:00
daniele.teti
90fe2d5f5b 2014-03-03 14:28:00 +00:00
daniele.teti
9705ce0384 + support for isapi app 2014-02-24 09:20:34 +00:00
daniele.teti
1d1ff8de0e ADD Fixed behaviour of MVCAfterCreate/MVCBeforeDestroy 2013-12-05 15:19:01 +00:00
daniele.teti
86a4517958 2013-12-05 14:00:11 +00:00
daniele.teti
0ef050d104 2013-12-04 12:06:18 +00:00
daniele.teti
6e03e7efd1 ADD CopyObjectAs<T> 2013-12-04 11:08:32 +00:00
daniele.teti
75e2c8e7fc XE3 Support 2013-12-04 10:40:16 +00:00
daniele.teti
1a165ad571 ADD UnitTest for ObjectToJSONObject and Back
ADD support for mapping of TTimeStamp type
2013-11-19 17:17:06 +00:00
daniele.teti
1ab21574be 2013-11-18 10:51:59 +00:00
daniele.teti
35b7732b40 2013-11-17 23:44:40 +00:00
daniele.teti
c726fceb23 ADD BodyAs<T> and BodyAsListOf<T> in the TMVCRequest 2013-11-17 23:16:59 +00:00
daniele.teti
2adf6e8f9c FIX MLeak on Render 2013-11-14 10:16:18 +00:00
daniele.teti
4f93aaea1a 2013-11-12 00:23:50 +00:00
daniele.teti
e92ad1218c 2013-11-11 18:32:20 +00:00
daniele.teti
a029474426 ADD DoNotSerialize attribute. Usefull when you dont need an object property in the JSON serialized version 2013-11-11 14:24:51 +00:00
daniele.teti
34c65a3d77 2013-11-11 11:28:31 +00:00
daniele.teti
e5c854fb64 ADD HTML error page 2013-11-11 11:23:49 +00:00
daniele.teti
91d84ae73e 2013-11-11 00:11:09 +00:00
daniele.teti
f05e2ea1d7 2013-11-10 00:04:17 +00:00
daniele.teti
53de10fbda MVCProducesAttribute similar to JAX-RS
MVCConsumesAttribute similar to JAX-RS

REFACTORING
FIX for Asynch
More samples
2013-11-09 13:22:11 +00:00
daniele.teti
d0a5ef79d2 2013-11-08 22:10:25 +00:00
daniele.teti
5199d608fa NEW Helper methods into RTTIUtilsU.pas 2013-11-05 17:01:44 +00:00
daniele.teti
b7e3d18579 UPD configurable encoding 2013-11-05 13:57:50 +00:00
daniele.teti
9c48692655 Copyright change 2013-11-04 16:10:10 +00:00
daniele.teti
749da4b79c UPD Render(JSONValue) is now UTF-8 by default 2013-11-04 16:07:06 +00:00
daniele.teti
ae48251653 UnitTests 2013-10-30 00:09:09 +00:00
daniele.teti
baebb721ee The main sources 2013-10-29 23:48:23 +00:00