Commit Graph

222 Commits

Author SHA1 Message Date
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
5f34de36b1 Refactoring and Removing Dependency with SystemJSON and Mapper 2017-03-13 16:52:11 -03:00
Ezequiel Juliano Müller
d0f3961bed Add initial sample with JsonDataObjects serializer 2017-03-02 15:29:43 -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
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
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
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
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
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
56a7c8311d FIX Render(Stream,False)
Added Ownership to TDuckTypedList
Added 2 more unit tests
2016-11-18 18:25:50 +01: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
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
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
f0670af618 Added custom authentication and authorization middleware 2016-09-16 23:55:11 +02: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
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
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
danieleteti
43c3881cc4 ADDED the followings method to TMVCController
-RenderJSONArrayAsProperty
-EnsureQueryParamExists
2016-05-11 10:40:12 +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
MPannier
40d7220d5d removed Context.Response.SetCustomHeader('Content-Length' in TMVCStaticContents.SendFile; See comment 2016-03-03 16:50:55 +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
462af4c68f Added TMVCController.GetRenderedView 2016-02-27 09:58:54 +01: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
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
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
7ca59a3b88 Mustache Server Side Views 2015-10-18 16:35:50 +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
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
danieleteti
0bbf1950be added Render(TStream,Boolean) 2015-06-29 14:36:54 +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
0d134eb563 FIX Compilation bug on XE6 for the ToJSON method 2015-04-10 09:45:45 +00:00
daniele.teti
02511a14e2 + MERGE FROM "AUTH" FEATURE BRANCH 2015-04-01 15:01:23 +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
daniele.teti
f20a7fe443 FIX for DataSetSerialization 2015-01-14 13:13:48 +00:00
daniele.teti
5a64d94e53 2014-12-18 13:41:04 +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
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
77db09cc80 FIX for chinese text 2014-07-04 15:52: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
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
cae068501c Updated to Delphi XE6 2014-04-16 20:52:25 +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
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
0f347fc567 ADD ISAPI SAMPLE
Small refactoring
2014-03-10 16:39:29 +00:00
daniele.teti
3af039c01f 2014-03-07 23:00:56 +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
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
75e2c8e7fc XE3 Support 2013-12-04 10:40:16 +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
e5c854fb64 ADD HTML error page 2013-11-11 11:23:49 +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
b7e3d18579 UPD configurable encoding 2013-11-05 13:57:50 +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