Commit Graph

317 Commits

Author SHA1 Message Date
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