mORMot and Open Source friends
File History
Not logged in

Many hyperlinks are disabled.
Use anonymous login to enable hyperlinks.

History of files named SynCrtSock.pas

2015-07-29
18:14
[e70c92a0ee304bc2] part of check-in [92d403fc48] {1717} let several HTTP servers have the one handling callbacks supported for REST servers (user: ab branch: trunk)
2015-07-28
10:56
[cc4a7665b089eea8] part of check-in [a4950ce4d4] {1705} fixed WebSockets client shutdown process (user: ab branch: trunk)
2015-07-21
09:37
[665d1eeb7d6e0720] part of check-in [5006656cb9] {1673} fixed typo in TWinINet.InternalConnect (user: ab branch: trunk)
2015-07-17
18:09
[9c66a9f0aeab9c1e] part of check-in [872176d47d] {1655} fixed TCurlHTTP.InternalSendRequest - thanks fh for the patch! (user: ab branch: trunk)
2015-07-15
06:17
[53c5f23d3bb8bc83] part of check-in [55b5f7ffc7] {1639} added TURI.PortInt method (user: ab branch: trunk)
2015-06-25
08:43
[5dcb9ef3718a053e] part of check-in [5113ce58ca] {1554} TCrtSocket.SockInPending returns -1 in case of a socket error (e.g. broken connection) (user: ab branch: trunk)
2015-06-24
15:33
[4357b7ba864e855b] part of check-in [288fa1da0a] {1551} TCrtSocket and TDDDSynCrtSocket will now have some published properties which may be useful e.g. for logging (user: ab branch: trunk)
2015-06-23
08:38
[dffad662befa11c3] part of check-in [534c00dae4] {1532} fixed RemoteIP returned value when using the socket-based server (user: ab branch: trunk)
2015-06-19
11:54
[88e8a846e6e1b8d7] part of check-in [ce16c554f7] {1506} added ConnectTimeout optional parameter - thanks hnb for the patch! (user: ab branch: trunk)
2015-05-21
12:20
[5023ed5e39112e67] part of check-in [50acc71cfc] {1390} fixed unexpected regression about unset access right e.g. when using Websockets on Server side (user: ab branch: trunk)
2015-05-20
10:35
[5ee20d46e89bf648] part of check-in [ff05ffb48b] {1377} let TSQLRestStorageExternal handle exernal field names defined as [symbolname] also with FireBird (user: ab branch: trunk)
2015-05-15
10:57
[428fabd2505adbed] part of check-in [ab1fd53635] {1355} comments and spaces clean-up of almost all source code files of the framework - no functional change, just code formatting uniformization (user: ab branch: trunk)
2015-05-13
09:00
[5809a38caa2b6357] part of check-in [f4e45ef7be] {1346} automatically release resources on TDDDAdministratedDaemon starting error (user: ab branch: trunk)
08:29
[b863c75edcffdb7b] part of check-in [6ea8049d7c] {1345} renamed confusing TNotifiedThread as TSynThread (user: ab branch: trunk)
2015-05-12
10:19
[9e84a3f5c5e915d7] part of check-in [e477bcb533] {1334} fixed regression in TSQLTable.GetJSONValues (user: ab branch: trunk)
2015-05-08
13:36
[3bdd8ee32478f9f8] part of check-in [7f75eab766] {1314} added TNotifiedThread.Start method, to ease compatibility with older versions of Delphi (user: ab branch: trunk)
2015-05-07
17:05
[c9f6e3bf8c11ecc1] part of check-in [d8569c2aca] {1309} modified TCrtSocket.SockReceivePending method to return an TCrtSocketPending enumeration value, instead of the previous confusing integer, which was not the number of pending bytes (user: ab branch: trunk)
2015-05-06
19:16
[6d2d6351952a6995] part of check-in [c55e03ca6d] {1305} fixed TSQLRawBlob serialization as part of ObjectToJSON() - also some refactor, for slightly speed enhancement and code simplification (user: ab branch: trunk)
2015-05-04
13:00
[11ac96c584007adb] part of check-in [5a5f085cb8] {1294} added explicit timeout check to function TCrtSocket.TrySockRecv() (user: ab branch: trunk)
2015-05-01
13:45
[6e81e06febdf1d15] part of check-in [5fb10f8d7e] {1280} let TSynPersistentWithPassword.Password fields be hidden as "***" when logged, and 'stored false' properties not be logged either - but both would be serialized when stored as JSON settings; also include a refactoring enhancement to JSONObject() internal function when retrieving a class family from its class type (user: ab branch: trunk)
2015-04-30
09:05
[0ec68ace1212f4ca] part of check-in [f2fe7bd2d9] {1270} allow WinSock-based THttpServer to set a server address ('1.2.3.4:1234') with the Port parameter - also for useHttpSocket or useBidirSocket kind of TSQLHttpServer (user: ab branch: trunk)
2015-04-21
06:49
[4ff1d2abe0264963] part of check-in [8985545a4c] {1235} introducing TCrtSocket.LastLowSocketError method (user: ab branch: trunk)
2015-04-17
08:59
[53eda751e97a9a6a] part of check-in [41a3ae7ae3] {1226} another set of patches supplied by Alfred (Alf), for DARWIN/OSX compatibility with FPC (user: ab branch: trunk)
2015-04-07
18:16
[3bbd406af3aa8ca2] part of check-in [096a477011] {1208} ensure timeout values are set as expected by SynCrtSock process (user: ab branch: trunk)
2015-04-03
15:20
[5eeeb95218bc8b83] part of check-in [50d534f628] {1188} added CurrentFrame() method recognition so that TServiceRecordVersionCallback would be able to process "jumbo frames" incoming modifications within a BATCH, for faster Master/Slave replication over WebSockets [3453f314d9] (user: ab branch: trunk)
2015-04-01
10:35
[f704ee271218e948] part of check-in [42cff4cd44] {1174} SynCrtSock unit code refactoring: renamed misleading TCrtSocket.Snd method as SockSend, and defined read/only properties instead of public fields (user: ab branch: trunk)
2015-03-27
09:21
[4818be4b1239f310] part of check-in [20e1157ccf] {1144} several fixes and enhancements to socket/websockets process (e.g. proper SO_KEEPALIVE support) (user: ab branch: trunk)
2015-03-25
15:41
[7e0bc8ab3658ba5f] part of check-in [3b381ad024] {1136} get rid of "ConnectionID:" in the HTTP headers, since we now have the TSQLRestURIParams.LowLevelConnectionID corresponding to the HTTP server context, e.g. for SSPI authentication - see request [0636eeec54] (user: ab branch: trunk)
14:29
[c695e78ebc2d7c72] part of check-in [45eebe5b78] {1134} introducing TSQLRestURIParams.LowLevelConnectionID parameter instead of hazardous previous TSQLRestURIParams.LowLevelConnection: TObject which did trigger some random Access Violation issues when notifications were pushed on a closed connection - will also make it http.sys and IOCP ready for future implementations (user: ab branch: trunk)
2015-03-24
19:46
[872e127b2f236340] part of check-in [f5269a3015] {1128} several stability and use case fixes for WebSockets bidirectional process, as requested by [aa230e5299]
  • client will notify the server of the callback instance release
  • client will identify a server shutdown, and will be able to reconnect to a new server
  • settings are now stored in a record structure common to all implementation classes
  • automatic connection shutdown after several unsuccessful heartbeats
  • further testing and tuning - the feature sounds operational now!
(user: ab branch: trunk)
2015-03-22
20:15
[c811f0e2bee67f2e] part of check-in [23352907dd] {1117} now interface-based callbacks are working, as requested by [aa230e5299] - preliminary tests are passing, we need more use coverage, on both clients and servers (user: ab branch: trunk)
2015-03-20
10:04
[fde8981719e95cdf] part of check-in [8caea233c5] {1110} introducing TWebSocketProcessNotifyCallback parameter so that TWebSocketProcess.NotifyCallback() would be able to handle answerless and/or asynchronous requests and callbacks (user: ab branch: trunk)
2015-03-19
17:32
[39f6194c856e0d10] part of check-in [6305db3b9b] {1108} client WebSockets will mask their payload data as required by the RFC (user: ab branch: trunk)
17:07
[f50c9f9ebc6a722f] part of check-in [915aa80de9] {1107} now binary and JSON WebSockets could be used for client REST requests - also include several fixes and enhancements on both client and server sides (user: ab branch: trunk)
2015-03-18
20:37
[c3199ebbd18d3814] part of check-in [6aac5aced2] {1103} introducing TWebSocketProcess, THttpClientWebSockets and TSQLHttpClientWebsockets classes and also implemented useBidirSocket kind of HTTP server - [aa230e5299] not yet finished, but we did a huge code refactoring to share most of the code between client and server sides (user: ab branch: trunk)
11:38
[f149e609b4a52cf1] part of check-in [6bf58d6281] {1100} fixed documentation issue (user: ab branch: trunk)
2015-03-09
16:43
[605f4eba69ff39dd] part of check-in [13e9ccd822] {1058} WebSockets server tested and validated with AJAX clients - you can run sample "31 - WebSockets" to make your own idea (user: ab branch: trunk)
13:28
[c3609f2badf1a59e] part of check-in [96f5cc7564] {1056} added NORESPONSE_CONTENT_TYPE and HTTP_RESP_NORESPONSE = '!NORESPONSE' constants, used e.g. to allow WebSockets callbacks not to wait for any unneeded answer after client notification push (user: ab branch: trunk)
2015-03-06
13:26
[55784249cca8b7dd] part of check-in [ce6471c074] {1046} finished WebSockets server in SynBidirSock.pas unit for feature request [aa230e5299] - still need to write the client, and start real testing! (user: ab branch: trunk)
2015-03-05
22:16
[e25165f67b6dc1a4] part of check-in [629dffc3d7] {1043} introducing new SynBidirSock.pas unit to implement bidirectional client and server protocol, e.g. WebSockets - not finished nor tested yet, but first step for feature request [aa230e5299] (user: ab branch: trunk)
10:49
[e20904b867f9f5ae] part of check-in [d91aef24bc] {1040} small refactoring of THttpRequestExtendedOptions record to gather authentication parameters into a Auth sub-record (user: ab branch: trunk)
2015-03-04
15:23
[de8f0285fc9e098c] part of check-in [fa71b9e2df] {1033} fixed libcurl API use - POST commands were not working! (user: ab branch: trunk)
2015-03-03
08:00
[5f7c48b8197a9f0b] part of check-in [37acc94c90] {1018} added TSQLRestServerAuthentication.Options, e.g. saoUserByLogonOrID (set by default) to allow login via TSQLAuthUser.ID in addition to LogonName (user: ab branch: trunk)
07:26
[40a8502fa533d739] part of check-in [6b0a18377d] {1017} fixed TURI.From() when the resource address contains ':' as reported by [7bcb49548081a0] (user: ab branch: trunk)
2015-03-01
21:55
[320a27cd047f4730] part of check-in [5f9d62c944] {1003} enhanced TURI.From documentation to clarify misunderstanding reported as [7bcb495480] (user: ab branch: trunk)
16:56
[42655989d5e082c6] part of check-in [0ccdca77ab] {998} added overloaded _ObjAddProps() procedures able to add the root properties of a TDocVariant or the published properties of a TObject (user: ab branch: trunk)
13:43
[3b23d4cab3575fec] part of check-in [c8bd344884] {997} introducing TDDDMonitoredDaemonProcessRest class so that you may implement a TDDDMonitoredDaemonProcess class without any dependency to a TSQLRecord for task persistence (user: ab branch: trunk)
2015-02-28
15:07
[020c48844fc934a1] part of check-in [77f3786446] {996} function HttpGet() was still in debugging mode (user: ab branch: trunk)
14:50
[3ff78c4accf1c91e] part of check-in [0ad93acbaa] {995} fixed long-standing Delphi 5 compilation issues of the framework sub-part (i.e. excluding mORMot.pas and derivates) which was meant to compile with this oldy compiler (user: ab branch: trunk)
12:32
[795dc30be371f7e1] part of check-in [5bdace7393] {993} UserAgent property is now defined at THttpRequest level - also includes some documentation precisions (user: ab branch: trunk)
2015-02-27
08:32
[ff1890031ccb9b71] part of check-in [9cc20b356d] {986} RawByteString is now defined in SynCommons as "= type AnsiString" under non Unicode Delphi so that it would be recognized with its own encoding (via a pseudo code page 65535) just with Unicode Delphi revision - introducing SockString and ZipString types for data storage at SynCrtSock and SynZip units, which does not depend on SynCommons and its new RawByteString type (user: ab branch: trunk)
2015-02-26
19:51
[48c4d9da8e06719f] part of check-in [97ee763679] {980} introducing THttpRequest abstract class, and the new TCurlHTTP cross-platform class, able to connect via HTTP or HTTPS using the system libcurl library (user: ab branch: trunk)
2015-02-12
13:13
[076f86659ff03810] part of check-in [2e8b17dd16] {887} added optional parameter to set buffer size for TCrtSocket.CreateSockIn and TCrtSocket.CreateSockOut methods (user: ab branch: trunk)
2015-02-04
10:02
[0616710161bd0565] part of check-in [7310be28cd] {814} added TWinHttpAPI AuthScheme and AuthUserName/AuthPassword properties, for authentication - only implemented at TWinHttp level (thanks Eric Grange) - see also corresponding new properties for TSQLHttpClientWinHTTP REST class (user: ab branch: trunk)
2015-02-02
08:47
[d3b6663f68e7dbe7] part of check-in [ceae7b0443] {804} fixed socket HTTP client header format (user: ab branch: trunk)
2015-02-01
21:08
[6e7547133a70e573] part of check-in [b7865be93e] {803} introducing TInjectableObject to easily implement the IoC SOLID pattern (user: ab branch: trunk)
17:23
[04bfabf2aee968c6] part of check-in [89280038090490543487d] {798} ensure THttpServerRequest.AuthenticatedUser will be set before call to the Request() method, when HTTP API 2.0 authentication has been successfull (user: ab branch: trunk)
08:45
[c14da74095ea3134] part of check-in [7aee7afbd1] {794} fix HTTP API 2.0 detection (user: ab branch: trunk)
2015-01-31
20:54
[0b485b16accbe98a] part of check-in [0a45da0be6] {793} added THttpApiServer.SetTimeOutLimits() method for HTTP API 2.0 (user: ab branch: trunk)
20:31
[625b155d0bfd3497] part of check-in [cce949e9c6] {792} introducing new THttpApiServer.SetAuthenticationSchemes() method, and THttpServerRequest.AuthenticationStatus and AuthenticatedUser properties for high speed authentication in kernel mode (user: ab branch: trunk)
18:10
[ec4c08e60f3d77af] part of check-in [60fc7c776f] {790} added THttpApiServer.LogStart/LogStop for HTTP API 2.0 integrated logging (user: ab branch: trunk)
2015-01-30
09:41
[da14d9e3e843dc0b] part of check-in [088fea51cb] {773} added THttpServerRequest.UseSSL property to check if connection is secured (user: ab branch: trunk)
2015-01-28
11:12
[8c21519fc47bda08] part of check-in [807667cbd5] {758} fix compilation issue with FPC under Windows (user: ab branch: trunk)
2015-01-23
20:00
[64d72d663c411531] part of check-in [392577a073] {747} some enhancements to implement timeout for the low-level socket access on Linux (user: ab branch: trunk)
2015-01-21
20:22
[e93caaf4fb5f472a] part of check-in [c1f8e810d0] {742} fix HTTP keep alive for Linux platforms (FPC/Kylix) after a lot of testing, and some refactoring of the socket-based HTTP server - now I think we can start to use mORMot Linux servers on production (user: ab branch: trunk)
2015-01-19
21:55
[c8a41832d9fe0d86] part of check-in [b87959a094] {739} fixed THttpApiServer.OnHttpThreadTerminate event setting propagation to its clones (user: ab branch: trunk)
2015-01-17
21:59
[e4177ad950aa4503] part of check-in [557f7d8892] {729} a LOT a fixes and enhancements for Linux run - especially under Kylix/CrossKylix (user: ab branch: trunk)
2015-01-14
13:42
[1e24bf9df8f4284d] part of check-in [6019c992a6] {703} enhance Linux compilation using FPC or Kylix/CrossKylix (user: ab branch: trunk)
2015-01-13
19:19
[bdedb5bea75fffb0] part of check-in [a7fe471e14] {701} now TestSQL3 regression tests compile with Kylix/CrossKylix - still not able to link statically SQLite3 - tests are not all passing yet (user: ab branch: trunk)
2015-01-12
18:56
[6b7d6e060565c7b7] part of check-in [1b993dfecd] {698} enhanced compilation for Kylix/CrossKylix (user: ab branch: trunk)
2015-01-02
12:08
[be924a3c8c6d1644] part of check-in [e08c81ec40] {668} happy new year 2015! (user: ab branch: trunk)
2014-12-29
19:17
[1be44c26a3e52cac] part of check-in [276162186f] {661} added SetThreadName/SetCurrentThreadName functions for feature request [6acfd0a3d3] (user: ab branch: trunk)
2014-11-17
23:34
[fd4d1cc8bb711aa5] part of check-in [dcc0fd3897] {533} introducing SynDBRemote.pas unit for HTTP remote access via SynDB classses - see the updated documentation (user: ab branch: trunk)
13:19
[0d968820b2cd7d20] part of check-in [b16f1a73d3] {532} added STATUS_* constants for most used HTML codes (user: ab branch: trunk)
2014-11-14
15:21
[90a4eb5cd96c2321] part of check-in [3059ceda1d] {514} renamed IgnoreSSLCertificate to IgnoreSSLCertificateErrors and implemented in parameters of class functions - thanks EMartin for the patch (submitted by GitHub) (user: ab branch: trunk)
2014-11-09
12:49
[ac1f1b301485ddd8] part of check-in [35ef18d534] {484} enhanced FPC compatibility with Linux, especially for HTTP server - we may eventually use FastCGI for a production HTTP server (user: ab branch: trunk)
2014-11-07
20:18
[458e93c6d3e316a0] part of check-in [3b4f1593fb] {479} enhanced socket support for FPC 2.7.1 branch - no need of having the Synapse library installed (user: ab branch: trunk)
2014-10-30
15:35
[2da8247118cea4f9] part of check-in [16d1e3869c] {439} added optional queue name for THttpApiServer.Create constructor as requested by [149cf42383] (user: ab branch: trunk)
2014-10-21
13:40
[1943a27816a7b9ea] part of check-in [3d7ebe536a] {366} Added some third-party code - published on http://synopse.info/forum/viewtopic.php?pid=13115#p13115 - of a working Android Java Client Any further input (e.g. writing a simple Java library and a mustache template) is welcome! Thanks ChinaPeng for sharing :) (user: User branch: trunk)
2014-10-15
16:51
[3ec5f5e9693de620] part of check-in [e96e31645d] {336} huge commit by Alfred, for FPC compatibility (user: User branch: trunk)
2014-10-13
12:54
[96df2eb8e40f4bfd] part of check-in [47e4e792c4] {326} FPC compilation targetting Linux + ARM platforms!
  • some part of the framework tests have been reported to work on a Raspberry PI
  • still missing some features in FPC compiler, to be compatible with Delphi 6 code level (mainly RTTI for interface methods)
(user: User branch: trunk)
2014-10-07
17:20
[8316f9763767766e] part of check-in [03aa1bff69] {321} added aConnectionTimeOut optional parameter to TSQLRestClientHTTP.Create() (user: User branch: trunk)
2014-10-01
13:22
[a0fdbcf1058e4316] part of check-in [225859e862] {306} enhanced FPC compilation (user: User branch: trunk)
2014-09-30
09:59
[641e9fc638580baa] part of check-in [2a40fe0a0f] {299} FPC compilation under Linux ! thanks Alf for the patches (user: User branch: trunk)
2014-09-21
08:00
[dcd8b19a9d906f3a] part of check-in [47eb2cad8f] {272} FPC compability enhancements
  • added UniqueRawUTF8() function, to replace e.g. @JSON[1] under FPC
  • other fixes for FPC running in Delphi syntax mode
  • now all basic regression tests passed with FPC 2.7.1 under Windows, skiping variant late-binding assignment tests which have been reported to the FPC team
(user: User branch: trunk)
2014-09-20
13:51
[e5594a883fd66ed7] part of check-in [11406edd4b] {270} ensure http.sys server works as expected when compiled with FPC (user: User branch: trunk)
2014-09-18
12:37
[339d0f2eb934b769] part of check-in [2fca395ee4] {259} SYNOPSE_FRAMEWORK_VERSION constant will now include a per-commit increasing number, e.g. 1.18.259 instead of plain 1.18 version (generated by SourceCodeRep tool into SynopseCommit.inc file), to specify the exact source state (user: User branch: trunk)
2014-09-16
20:06
[9656e7edfed4a9f2] part of check-in [f4bccac490] fixed potential issues at http.sys closing, in LVCL mode (user: User branch: trunk)
2014-09-07
16:56
[7517dfd09a8bba4c] part of check-in [38d7efd6c5] handle and log explicitly the most known winhttp.dll error code (user: User branch: trunk)
2014-08-04
14:15
[4afd14e50b75a8e9] part of check-in [5277214be1] HTML error messages at HTTP server level will now by returned using a sans-serif font (user: User branch: trunk)
2014-07-19
08:57
[f545a36692669e74] part of check-in [83a9fcd19b] fixed small incorrect error message transmitted to client in case of invalid file name (user: User branch: trunk)
2014-07-16
09:10
[74d62af5762f3601] part of check-in [6696d24797] allow to use any Unicode content for SendEmail() - also includes SendEmailSubject() function, for feature request [0a5fdf9129] (user: User branch: trunk)
2014-07-13
18:02
[ad415e025cd4a172] part of check-in [18c387f9cf] fix issue when a THttpServer instance is released without a previous bound socket (user: User branch: trunk)
2014-05-22
13:46
[431fb74e4e2f7358] part of check-in [f91e2ffe15] enhanced logged information about THTTPServer classes (user: User branch: trunk)
2014-05-12
07:43
[12102542e578e5fa] part of check-in [fd20a67fc6] fixed typos and some compilation warnings (user: User branch: trunk)
2014-05-11
11:49
[022c51fb130e76ef] part of check-in [15206e6699] fixed some typo (user: User branch: trunk)
2014-05-08
13:47
[49b6b9fd873cd4ec] part of check-in [3c0d63706f] some SynCrtSock long-standing issues fixed
  • fixed several issues when releasing THttpApiServer and THttpServer instances
  • made exception error messages more explicit (tuned per module) for SynCrtSock
(user: User branch: trunk)
2014-05-05
14:18
[cb5f2edf4dec877c] part of check-in [b0b6d31ea3] fixed TCrtSocket.BytesIn and TCrtSocket.BytesOut properties (user: User branch: trunk)
2014-04-30
17:08
[46302e2921a72872] part of check-in [0dde876d96] fixed FormatUTF8('?...',[],[aVariant],true) to escape any supplied variant value as expected by the JSON standard (user: User branch: trunk)
2014-04-28
08:51
[e3efbffe44618695] part of check-in [85371eca41] fixed missing sending of data in TWinHttpAPI.Put/Post methods (user: User branch: trunk)
2014-04-08
13:18
[c8c21967657c5bc4] part of check-in [067be43817] fixed function BinToHexDisplayW() which triggered an unexpected error "HttpCreateRequestQueue failed: Cannot create a file when that file already exists (183)" - thanks DigDiver for the feedback! (user: User branch: trunk)
2014-04-07
18:07
[8d2ed4449125df87] part of check-in [1101f033bb] added THttpApiServer.ServerSessionID and UrlGroupID read-only properties (user: User branch: trunk)
2014-04-01
18:04
[73c9719ad2cbd46a] part of check-in [331aec0f93] enhanced http.sys API server error page, in case of exception raised (user: User branch: trunk)
2014-03-31
07:09
[c0d17b6c61a9e37b] part of check-in [51f977e95f] added SendTimeout and ReceiveTimeout optional parameters (in ms) to TWinHttpAPI constructors (instead of published properties which were not taken in account by the API) and to TSQLHttpClientWinHTTP / TSQLHttpClientWinINet constructors - fix for feature request [bfe485b678] (user: User branch: trunk)
2014-03-29
15:57
[f802647fe35aec5b] part of check-in [4e61734d33] added THttpApiServer.MaxBandwidth and THttpApiServer.MaxConnections properties (for HTTP API 2.0 only) - thanks mpv for the proposal!

See [6f76571934] (user: User branch: trunk)

2014-03-21
15:51
[563c32a13c8fca85] part of check-in [92364b21a9] fixed Unicode compilation (user: User branch: trunk)
2014-03-20
14:43
[5d92254e1bf1ea9a] part of check-in [05e0031069] identifier to the HTTP API 2 session is now encoded as hexadecimal text (to avoid any collision error) (user: User branch: trunk)
2014-03-19
15:59
[23cd06931a0af7c9] part of check-in [60d96b225c] added identifier to the HTTP API 2 session - proposal from mpv - thanks a lot! (user: User branch: trunk)
2014-03-15
20:34
[99714b34288bfe07] part of check-in [ef643fd63f] added TSQLTable.GetAsDateTime() method (user: User branch: trunk)
20:18
[a3fb0e88af6ab0af] part of check-in [e83c032fb8] previous IP4 / IP6 to string cache was somewhat premature optimization (user: User branch: trunk)
20:16
[2d4735ac19dfc53f] part of check-in [ce261255fc] let HTTP_RESPONSE.AddCustomHeader() recognize all known headers (user: User branch: trunk)
2014-03-13
13:24
[7e9eb0a60b545390] part of check-in [8937d37696] fixed ticket [51a9c086f3] about THttpApiServer.SetHTTPQueueLength() (user: abouchez branch: trunk)
2014-03-09
13:06
[7e7b31b9399a487e] part of check-in [1eda390096] newly added THttpApiServer.HTTPQueueLength property (for HTTP API 2.0 only) will now update all its multi-threaded "clones" for proper process in case of highly concurrent client access (more than 20,000 clients at once) (user: User branch: trunk)
08:49
[ee0184075fefa255] part of check-in [f6c856ec05] fixed small typos (user: User branch: trunk)
2014-03-07
15:46
[deff4ddfdf65267e] part of check-in [84d0c88f6c] http.sys kernel-mode server handles HTTP API 2.0 (available since Windows Vista / Server 2008), or fall back to HTTP API 1.0 (for Windows XP or Server 2003) - no need of any conditional definition now: the class will use the highest API available + several fixes after further testing of the initial implementation (user: abouchez branch: trunk)
10:46
[4ac3656c55762623] part of check-in [9ddf00210f] http.sys kernel-mode server now handles HTTP API 2.0 by default (available since Vista/Server2008, so you can define NOHTTPAPI20 in Synopse.inc to support XP/Server2003) - thanks pavel (mpv) for this great contribution! (user: abouchez branch: trunk)
2014-02-28
14:39
[07d77e1d6734fd90] part of check-in [ec1c195359] socket code refactoring to use SetSockOpt() values instead of deprecated select() function (user: abouchez branch: trunk)
13:07
[55560f8df80bc25d] part of check-in [9cd8cc2a17] added TCrtSocket.TCPNoDelay/SendTimeout/ReceiveTimeout/KeepAlive properties - used e.g. for SynMongoDB connection (user: abouchez branch: trunk)
2014-02-27
20:32
[ff42ca9b564bf816] part of check-in [1e476f4643] methods documentation update (user: User branch: trunk)
19:39
[3afecd5c7ac7ccc9] part of check-in [3d2f6c3462] added TWinHttpAPI.Post/Put/Delete() class functions for easy remote resource retrieval using either WinHTTP or WinINet APIs (user: User branch: trunk)
2014-02-26
14:32
[34afff45444e3174] part of check-in [7ed5734831] fixed WinSock-based THttpServer.Process() handling of HTTP_RESP_STATICFILE content (user: abouchez branch: trunk)
2014-02-11
16:23
[018cd7ca525e3695] part of check-in [4b4ec80c29] converted any AnsiString type into a more neutral RawByteString (this is correct for URIs or port numbers, and avoid any dependency to SynCommons) (user: abouchez branch: trunk)
2014-02-07
17:16
[95798fb0a7ed5d60] part of check-in [ef24fc7deb] continuing MongoDB connection work - almost finished for low-level stuff (user: abouchez branch: trunk)
2014-02-05
09:03
[e9b26248ac63c403] part of check-in [cf7047e14c] new optExecInPerInterfaceThread and optFreeInPerInterfaceThread options for interface-based services, allowing server side service class instance execution and release in a thread dedicated to the interface - ticket [8307f8a547] (user: abouchez branch: trunk)
2014-01-29
13:00
[4c38a4a5a23dfaaf] part of check-in [5dd899b5ec] allow to disable the thread pool for THttpServer, if needed (user: abouchez branch: trunk)
12:53
[e781b65542f37435] part of check-in [53f8b7516e] small code refactoring of SynCrtSock implementation, for grouping per-feature class and functions (user: abouchez branch: trunk)
2014-01-18
14:32
[25324e8725cfb324] part of check-in [604f8413e7] try to make THttpServerResp.Execute more stable, especially during clean-up (user: User branch: trunk)
2014-01-11
11:00
[54f542af52061a9f] part of check-in [a21a8b2337] WinSock-based THttpServer will now avoid DoS attacks by limiting the total number of created threads for kept-alife or huge body HTTP requets (user: User branch: trunk)
2014-01-10
12:23
[45462505ad305535] part of check-in [795fa3801b]
  • to make the implicit explicit, TSQLRestServerURIContext.ID has been renamed TableID, and a new ServiceInstanceID instance has been added
  • fixed TSQLRestServer.BeginCurrentThread/EndCurrentThread process to be trigerred as expected (and checking that it is from the thread itself) - a specific set of regression tests have been introduced to ensure HTTP multi-threaded process works as exepected
  • added TSQLRestServerStats.CurrentThreadCount property
(user: abouchez branch: trunk)
2014-01-07
14:43
[b34e14b5a7902b38] part of check-in [39036dba97] reverted ticket [73da2c17b1] about Accept-Encoding header in THttpApiServer (user: abouchez branch: trunk)
2014-01-05
16:51
[f67d2c7858c1e9c0] part of check-in [f9b04a46c8]
  • introduce ESynCrypto exception class dedicated to the SynCrypto.pas unit
  • added optional aCompressMinSize parameter to RegisterCompress() methods
  • added CompressShaAes() and global CompressShaAesKey, CompressShaAesIV and CompressShaAesClass variables to be used by THttpSocket.RegisterCompress
  • added aHttpServerSecurity: TSQLHttpServerSecurity parameter to TSQLHttpServer.Create(), allowing HTTPS secure content publishing, when using the http.sys kind of server, or our proprietary SHA-256 / AES-256-CTR encryption identified as "ACCEPT-ENCODING: synshaaes"
  • added hcSynShaAes encoding for TSQLHttpClientGeneric.Compression property
  • updated documentation about new optional AES encryption over HTTP
(user: User branch: trunk)
2014-01-01
13:31
[ce4a5a8af3f71b5a] part of check-in [44147954e2] The little mORMot wishes you an happy new year 2014! (user: User branch: trunk)
2013-12-31
10:51
[27bbaefb3f48a05a] part of check-in [977ceb866d] fixed ticket [814f6bd65a] about missing OnHttpThreadStart in CreateClone (user: User branch: trunk)
2013-12-27
13:18
[796d7082259bf0c7] part of check-in [395b247710] THttpApiServer won't try to send an error message when connection is broken (user: User branch: trunk)
2013-12-11
10:38
[9bc4b713ce5fb77d] part of check-in [d7d93f8a2f]
  • added TWinHttpAPI.Get() class function for easy remote resource retrieval
  • added TURI structure, ready to parse a supplied HTTP URI
(user: abouchez branch: trunk)
2013-09-19
06:54
[dd6b955b3760ba62] part of check-in [1010e725b1] fixed Delphi 5 compilation issues (user: abouchez branch: trunk)
2013-09-16
12:34
[d107b97d26e4f6b1] part of check-in [988000929c]
  • added STATICFILE_CONTENT_TYPE[_HEADER] as aliases to HTTP_RESP_STATICFILE as defined in SynCrtSock.pas unit, for generic handling
  • now TSQLRestServerStats.OutcomingFiles reflects the number of files transmitted via OutContentType = STATICFILE_CONTENT_TYPE / HTTP_RESP_STATICFILE (feature request [4a2433c045])
(user: abouchez branch: trunk)
11:39
[4fdc894e3b5ef37d] part of check-in [6d283baef8] let WinSock-based THttpServer.Process() handle HTTP_RESP_STATICFILE (user: abouchez branch: trunk)
2013-09-06
11:55
[cebf42d1ca25f265] part of check-in [f643413f58] fixed Access Violation error at THttpServerResp shutdown (user: abouchez branch: trunk)
2013-07-29
10:13
[005e5d83259fedb8] part of check-in [f456407457] fix multi thread release process of winsock server (user: abouchez branch: trunk)
2013-07-27
17:03
[423d21f7b1c9d91b] part of check-in [25f9a3fe4d] fixed potential Access Violation error at THttpServerResp shutdown (user: User branch: trunk)
2013-07-25
12:15
[6fea0a876f9dfb21] part of check-in [d02a38fdfb] small fixes to enhance code safety of HTTP Winsock server (user: abouchez branch: trunk)
2013-07-19
13:06
[a484b29b09ff87f0] part of check-in [46b99b3e79] fixed ticket [0f6ecdaf55] for better compatibility with HTTP/1.1 cache (user: abouchez branch: trunk)
2013-07-03
12:21
[a979af9a12ca00bb] part of check-in [5b95e24168] fix FPC compilation issue (user: abouchez branch: trunk)
2013-06-11
09:13
[bbc420d0bf7ecb9d] part of check-in [dd50370549] let TCrtSock use a 1KB internal buffer for Delphi 2009+, just as with previous Delphi revision (user: abouchez branch: trunk)
2013-06-10
15:07
[efd500ef50f71b65] part of check-in [91cfffdaf8] fixed ticket [11b327bd77] about TCrtSocket not working with Delphi 2009+ (including a fix also for Win64 proper execution) (user: abouchez branch: trunk)
2013-06-04
18:26
[3cdc44aa18426e57] part of check-in [051187311e] introducing TSQLRestServer.AuthenticationRegister/AuthenticationUnregister methods and associated TSQLRestServerAuthentication* classes, to allow generic class-driven authentication schemes for request [8c8a2a880c] (user: ab branch: trunk)
2013-06-03
09:11
[1ea07c6bee9ff124] part of check-in [3c42eb6183] fixed ticket [2d53fc43e3] about unneeded port 80 (user: ab branch: trunk)
2013-05-19
13:42
[7fb9dc4095a36cab] part of check-in [9275825a41] added aRegisterURI optional parameter to THttpApiServer.AddUrl() method (user: ab branch: trunk)
2013-05-16
14:23
[d8c36bfc773aca8a] part of check-in [d5e77d3d47] removed several compilation hints when assertions are set to off (user: abouchez branch: trunk)
2013-05-15
08:27
[1503fc45c192f3a3] part of check-in [59eb20700d] Delphi XE4 compatibility (Windows target platform only for Win32/Win64) (user: abouchez branch: trunk)
2013-04-17
14:42
[48c181788d494ec0] part of check-in [9e7ba44aa8] added new "ConnectionID: 01234567" header - see feature request [0636eeec54] (user: abouchez branch: trunk)
2013-04-15
17:50
[b0ff5f4f968d844c] part of check-in [454fcef87b] fixed ticket [f79ff5714b] about potential finalization issues as .bpl in IDE (user: abouchez branch: trunk)
2013-04-03
17:55
[5e7d2cedb48d9f8f] part of check-in [d70b52927e] added ResolveTimeout/ConnectTimeout/SendTimeout/ReceiveTimeout properties to TWinHttpAPI classes - feature request [bfe485b678] (user: abouchez branch: trunk)
2013-03-28
06:49
[b23122f82c75f460] part of check-in [1386178766c] included more detailed information to HTTP client User-Agent header (user: abouchez branch: trunk)
2013-03-05
16:05
[30414a20f478887a] part of check-in [4901e46624] added ExportPDFUseFontFallBack and ExportPDFFontFallBackName in TGDIPages class (user: abouchez branch: trunk)
2013-02-28
14:03
[468f421010d1a886] part of check-in [8528cf5da5] fix CPU64 compilation issue in SynCrtSock (unexpected ASM) (user: abouchez branch: trunk)
2013-02-24
15:43
[a0dc78a7e9e18f0b] part of check-in [dc441f2a68] fixed and tested 64 bit compilation under Windows with Delphi XE3 - first step, including SynCommons and low-level process [4b11d85be2] (user: User branch: trunk)
2013-02-01
21:03
[fc21742321c3bf69] part of check-in [962215e36f] added EWinHTTP exception, raised when TWinHttp client fails to connect (user: abouchez branch: trunk)
2013-01-30
10:03
[4da99fc5c3d29189] part of check-in [6ffc39cd18] includes CORS support in "04 - HTTP Client-Server" sample - now you can run cross-site AJAX queries with this sample server (user: abouchez branch: trunk)
09:31
[fe14f6e62dd95f7e] part of check-in [b5cbc0c87d]
  • WinSock-based THttpServer will avoid creating a thread per connection, when the maximum of 64 threads is reached in the pool
  • added THttpServerRequest.Prepare() method
(user: abouchez branch: trunk)
2013-01-29
10:47
[fd0782e701a7132f] part of check-in [9bae7dc630] introducing THttpServerRequest class for HTTP server context (user: abouchez branch: trunk)
06:43
[1a07d4be9631c915] part of check-in [8ab5b30aa9] small speed enhancement when retrieving HTTP headers text from http.sys API (user: abouchez branch: trunk)
06:06
[2dd3306e848c6e77] part of check-in [571074b9fe] fixed ticket [91f8f3ec6f] about error retrieving unknown headers (user: abouchez branch: trunk)
2013-01-04
07:49
[7320bb84760ac1f0] part of check-in [39cce026d1] fixed ticket [cbcbb3b2fc] about PtrInt definition (user: abouchez branch: trunk)
2013-01-02
15:51
[8e35fcc4dc2409c9] part of check-in [9c9d6ebb2a] fixed ticket [540628f498] about 64bit code adjustments, Assert(Sizeof(...),...) (user: abouchez branch: trunk)
14:19
[1b55fe337931dd92] part of check-in [ba0438e17f] enhanced FPC/Lazarus Win32/Win64 compilation (user: abouchez branch: trunk)
2012-12-31
14:34
[b0f6bde96a2b51fa] part of check-in [8e74517c2d] preparing new Year's eve ;) (user: ab branch: trunk)
2012-12-19
22:12
[5d86adbf97c83710] part of check-in [27d6e80702] fixed ticket [73da2c17b1] about unneeded Accept-Encoding header in response (user: ab branch: trunk)
17:49
[c6d8c6168cca9709] part of check-in [5002d81864] fixed ticket [f2ae4022a4] EWinINet error handling (user: ab branch: trunk)
2012-12-12
14:20
[d7debc6f74d0d717] part of check-in [8ef138faf8] fixed Delphi 5 compilation issue (user: abouchez branch: trunk)
2012-12-06
13:49
[cb70ab8565e45d9e] part of check-in [d2bc05859c] fixed ticket [fdc1764f97]: GPF issue in TSQLRestServer.LaunchCallBack() and enhance exception handling and JSON/HTML error messages return (user: abouchez branch: trunk)
2012-12-05
14:14
[f9e4ca095fbdc6ac] part of check-in [2f58a711df]
  • fixed ticket [842a5ae15a] THttpApiServer.Execute/SendError message
  • added function HtmlEncode()
(user: abouchez branch: trunk)
2012-12-04
17:27
[37abe387106bf1af] part of check-in [ace12b0996]
  • BREAKING CHANGE in TSQLRestServerCallBackParams use: all method-based services should now be a procedure, and use aParams.Results()/Error() methods to return the content - new definition of aParams features now wfull access to incoming/outgoing context and parameters
  • TSQLRestServer.URI() method uses now one TSQLRestServerURIParams parameter
  • added TAuthSession.SentHeaders and RemoteIP properties (for HTTP)
(user: abouchez branch: trunk)
2012-12-03
13:52
[a83eba55fc41847a] part of check-in [51f4fb2aee] added aTimeOut optional parameter to TCrtSocket.Open() constructor (user: abouchez branch: trunk)
2012-11-30
20:30
[bf0c423fb6e991b0] part of check-in [56f67181ac]
  • safer TInterfacedObjectFake.FakeCall() stack use
  • changed function ExtractInlineParameters() to properly handle nulls
  • modified named pipe client side to avoid unexpected file not found errors
  • debugg process of Variant type in TSQLRecord properties
  • added regression tests for variant JSON serialization for interface-based services and for ORM (aka TSQLRecord)
  • handle null binding in TSQLRestServerStaticExternal.ExecuteInlined()
  • handle null binding in TSQLRestServerDB.GetAndPrepareStatement()
(user: abouchez branch: trunk)
2012-11-28
13:34
[9dde270f19006a2c] part of check-in [1c6fe7a1fd] all former SQLite3\SQLite3*.pas units have been renamed to SQLite3\mORMot*.pas to match the database-agnostic scheme of the mORMot framework - this is a major break change, so all your "uses" clauses in your code is to be change to follow the new naming (user: abouchez branch: trunk)
2012-11-22
15:35
[7ddaec4f78cc86df] part of check-in [64e0d7b00b] fixed ticket [f0749956af] TWinINet does not work with HTTPS servers (user: abouchez branch: trunk)
15:28
[ea784c8923e37107] part of check-in [d693060f10] fixed ticket [82df275784] about TWinHttpAPI with responses without Content-Length (user: abouchez branch: trunk)
2012-11-13
10:56
[4c2b85888aecd752] part of check-in [9e88fbf69d] fixed Delphi 5 compilation issue (user: abouchez branch: trunk)
2012-11-01
10:18
[449dc64fa43df48b] part of check-in [b817ab4910] force disable range checking and other compiler options for the SynCrtSock unit (user: ab branch: trunk)
2012-10-08
15:42
[71d53aa3ede8bcd1] part of check-in [5e5353438a] refactored HTTP_DATA_CHUNK record definition into HTTP_DATA_CHUNK_* records to circumvent Delphi XE3 alignemnt issue (variable records alignment changed) (user: abouchez branch: trunk)
07:00
[f8df6111898c29a7] part of check-in [f497c6f79b] added error check for HttpSendHttpResponse() API call (user: abouchez branch: trunk)
2012-10-05
09:48
[2801937e6937be29] part of check-in [619937d947] some code cleaning in the unit about 64 bit compilation (user: abouchez branch: trunk)
2012-09-11
12:32
[c019081ee0efee18] part of check-in [fc139d58f3]
  • added THttpApiServer.RemoveUrl() and TSQLite3HttpServer.RemoveServer() methods
  • fixed execution if WITHLOG conditional is undefined globally
(user: abouchez branch: trunk)
09:30
[02e621744058c521] part of check-in [ca97a46a41] changed GetBitCSV/SetBitCSV CSV format to use 'first-last,' pattern to regroup set bits (reduce storage size e.g. for TSQLAccessRights) - format is still read-compatible with old layout, but will more optimized for size and human-readable (user: abouchez branch: trunk)
2012-09-10
13:20
[3a947ac83b899744] part of check-in [fbe1b2711e] refactored function GetMimeContentType() implementation + associated tests (user: abouchez branch: trunk)
2012-09-07
13:36
[157e2d190dce51c9] part of check-in [ebc0856b21] comments modifications (user: ab branch: trunk)
09:59
[711c6c439e011367] part of check-in [ae8938aa83] small code refactoring about Int64 / UInt64 handling in HTTP ranges (user: ab branch: trunk)
2012-09-06
14:48
[a85aa35fa88354bd] part of check-in [c219e33a98] replaced TSockData string type by the generic RawByteString type (and the default AnsiString for non-Unicode version of Delphi) (user: ab branch: trunk)
2012-09-05
17:21
[8aeae14aaf933559] part of check-in [2362d94f07] small fix in "Range: ...." implementation (user: ab branch: trunk)
17:15
[be6d446b85e7f7d8] part of check-in [ef4ba3f951] handle 'Range: bytes=***-***' request in THttpApiServer (user: ab branch: trunk)
2012-09-04
15:43
[e108632e8a55abec] part of check-in [f5d42ace61]
  • added virtual TSQLRestServer.BeginCurrentThread method
  • added new TServiceMethod.ExecutionOptions member, and the new TServiceMethodExecutionOption[s] types - used by ExecuteInMainThread()
  • added TServiceFactoryServer.ExecuteInMainThread() method, to force a method to be executed with RunningThread.Synchronize() call on multi-thread server instances (e.g. TSQLite3HttpServer or TSQLRestServerNamedPipeResponse)
  • refactoring of TServiceMethod.InternalExecute low-level asm implementation
  • added THttpServerGeneric.OnHttpThreadStart property, and associated TNotifyThreadEvent event prototype
(user: ab branch: trunk)
2012-08-29
15:50
[5b2a58fdf6321176] part of check-in [9422fb8309] fixed several LVCL and Delphi 5 compilation issues (user: ab branch: trunk)
2012-08-27
06:12
[a1eab420e06f4f32] part of check-in [fc0b11b3ac] fixed Unicode conversion error when using a Proxy with WinHTTP API (user: ab branch: trunk)
06:03
[b355ed1836566046] part of check-in [5c7d491126]
  • added optional aProxyName, aProxyByPass parameters to TWinHttpAPI / TWinInet and TWinHTTP constructors
  • added optional aProxyName, aProxyByPass parameters to TSQLite3HttpClientWinGeneric / TSQLite3HttpClientWinINet and TSQLite3HttpClientWinHTTP constructors
(user: ab branch: trunk)
2012-08-14
12:47
[15dd701ae904ce42] part of check-in [a97c525673] increased internal units version to 1.17 (user: ab branch: trunk)
2012-05-29
18:41
[05eb358c360b684a] part of check-in [c058f55771]
  • fixed naming of framework in units header
  • fixed incorrect call to FormatUTF8() - see [d74020f7c3]
(user: G018869 branch: trunk)
2012-05-17
16:47
[0a66aa529ef8721b] part of check-in [83fe4b7eb9] major speed up of THttpApiServer for Windows Vista and up, by processing huge content in chunks: upload of 100Mb file take 25 sec before and 6 sec after changes, according to feedback by MPV - ticket [711247b998] (user: User branch: trunk)
2012-04-25
14:30
[c209e3fdf9d046c7] part of check-in [b2e16aae7d] new THttpServerGeneric.OnHttpThreadTerminate event, available to clean-up any process in the thread context, when it is terminated (to call e.g. TSQLDBConnectionPropertiesThreadSafe.EndCurrentThread in order to call CoUnInitialize from thread in which CoInitialize was initialy made) - see http://synopse.info/fossil/tktview?name=213544b2f5 (user: G018869 branch: trunk)
2012-04-16
08:05
[60c7faee6fc8baac] part of check-in [5b4e96bfbf] added TSQLRestServer.ServiceMethodByPassAuthentication method in order to allow by-pass of the RESTful authentication scheme for some methods (can be used e.g. to server some HTML content for a non SOA client (user: G018869 branch: trunk)
2012-04-15
18:12
[8ba8ca345dec2aeb] part of check-in [9f6337c6f9] Minor compilation issue fixed for Unicode versions of Delphi (user: User branch: trunk)
2012-04-11
11:39
[4a8ae81949303bdb] part of check-in [ef5cd9b40a] continuing compilation with FPC (Win32 platform by now) (user: G018869 branch: trunk)
2012-04-04
05:36
[1f678e86dff04fe4] part of check-in [c3a0bfe771] compilation fix for Delphi 2009+ (user: G018869 branch: trunk)
2012-03-29
16:54
[12f9f2b924b4c28e] part of check-in [a9643f8a7d] added 'RemoteIP: 127.0.0.1' to retrieve the remote IP address in HTTP headers on server side (user: G018869 branch: trunk)
2012-03-28
20:58
[4228b67a00359b7b] part of check-in [ac32fbb645] fixed Delphi <2010 compilation issues (user: User branch: trunk)
17:31
[d516266cd48e1870] part of check-in [160f88b541] most units now compile with Delphi XE2 in 64 Bit mode :) (user: User branch: trunk)
15:39
[d64c7d014308fb87] part of check-in [a2ec3f6c00] fixed issue when creating indexes: only one index shall be created per field (user: G018869 branch: trunk)
2012-01-20
13:33
[3c5d3549499b3aa0] part of check-in [d8b446f0b5] changed copyright notice to "(C) 2012" - yes, happy new year ! (user: G018869 branch: trunk)
2012-01-07
12:20
[de822c86704ca2b2] part of check-in [ddcf953db5] code refactoring to allow compilation with Delphi XE2 background compiler (e.g. syntax check or code completion) (user: User branch: trunk)
2012-01-06
15:05
[aa96a0a0aa9497de] part of check-in [0ca215c155] comments update (user: G018869 branch: trunk)
14:14
[78238de3c6b94292] part of check-in [0c22307d37] fixed issue in TSQLRequest.Reset() which was triggered an error about the latest statement execution (user: G018869 branch: trunk)
2011-12-14
08:33
[06c5e64223dbf987] part of check-in [782a4fa14f] try to avoid use of all unneeded FreeAndNil calls in the code - see http://www.nickhodges.com/post/Using-FreeAndNil.aspx (user: G018869 branch: trunk)
2011-11-28
14:53
[2b3d38b1b8326f06] part of check-in [3888b4eacb] fixed issue in case of wrong void parameter e.g. in THttpApiServer.AddUrl method (user: G018869 branch: trunk)
2011-09-17
18:05
[bebf8574a9923b88] part of check-in [40b9886964] Delphi XE2 compatibility: all tests passed (32 Bit) (user: ab branch: trunk)
2011-09-02
17:21
[e368a8cf3ca0d787] part of check-in [1a9363d4ec] small enhancement to avoid uncessary exceptions (user: G018869 branch: trunk)
2011-08-16
16:06
[a42cbd7006cf56c3] part of check-in [08702b6458] new TSynLog .log/.synlz file vizualizer tool, named LogView (user: G018869 branch: trunk)
15:19
[91636efb58a872ac] part of check-in [481e6424bd] fixed issue in http.sys headers retrieval (user: G018869 branch: trunk)
2011-07-22
09:40
[88513a2536c7b8bc] part of check-in [75b5b81a88] new SynSQLite3 unit extracting the SQLite3 wrapper from the previous SQLite3 unit: this unit can therefore be used with our SynDB classes, without our mORMot overhead (and features) (user: G018869 branch: trunk)
2011-05-31
14:04
[9d5c1a2fabe080cd] part of check-in [da448f54f0]
code modifications to compile with Delphi 5 compiler (no ORM code compiles yet: so only low-level units like SynCommons / SynCrypto / SynPdf are tested)
(user: ab branch: trunk)
2011-04-18
15:35
[1d2666e053492f68] part of check-in [d8e6e2e17e] new TSQLite3HttpClientWinHTTP class, using WinHTTP API (fast and stable), is therefore now the default TSQLite3HttpClient class (user: ab branch: trunk)
14:00
[af23bb1b49b46a1c] part of check-in [59de047ba4] some code refactoring (user: ab branch: trunk)
13:12
[0efe3bb2c5233c17] part of check-in [9f663b344e]
  • new TWinHTTP class, using WinHTTP API (faster than THttpClientSocket): this is the class to be used
  • new TSQLite3HttpClientWinHTTP class, using WinHTTP API (fast and stable): this class should be considered to be used instead of TSQLite3HttpClient for any HTTP/1.1 client connection
(user: ab branch: trunk)
09:35
[549c467f93f2890c] part of check-in [047920baba]
  • TSQLite3HttpClientWinINet now handle optional incoming and outgoing data compression, and fix some potential issues in Unicode Delphi
  • TSQLite3HttpClientWinINet is now enabled by default (WITHWININET conditional is defined)
(user: ab branch: trunk)
2011-04-16
09:48
[a2f2fa9bca480b70] part of check-in [e1b2effaf9] new TWinINet and TSQLite3HttpClientWinINet classes, using WinINet API (very slow - this was just a test... not concluding at all) (user: ab branch: trunk)
2011-03-25
12:19
[b1a2365390d10994] part of check-in [1a3eb8b204] enhanced error message supplied for SockIn/SockOut (user: ab branch: trunk)
2011-03-24
20:43
[5a424f665fa8c3e4] part of check-in [22d53d70a1] Delphi 7 + 2007 + 2010 compatibility fixes (user: ab branch: trunk)
17:37
[70b219eb2f6c21c2] part of check-in [d24db93eeb]
  • TSockData is now defined as an UTF-8 string for Delphi 2009/2010/XE
  • HttpApiServer.dpr sample program now handles accentuated file names as expected
(user: ab branch: trunk)
2011-03-23
13:25
[95497f53a6318ff2] part of check-in [eee15165fa] enhanced error handling in THttpApiServer.Execute (user: ab branch: trunk)
08:33
[5f015e7392db4e5e] part of check-in [6e50daabb4] fixed issue in receiving body content in THttpApiServer.Execute (was trunked) (user: ab branch: trunk)
07:59
[93d04b350b0cf641] part of check-in [c322380e76] enhanced TSQLRecordMany.DestGetJoinedTable method to handle custom fields (user: ab branch: trunk)
2011-03-22
20:30
[63e719c11ab55db8] part of check-in [55636becc9] fixed issue in HTTP server (user: ab branch: trunk)
2011-03-21
18:42
[57280a5327163ce3] part of check-in [910e72d4ed]
  • dynamic arrays can now be specified for TSQLRecord published properties: a new sftDynArray field kind has been added - will be stored as BLOB in the database (following the TDynArray.SaveTo binary stream layout), and will be transmitted as Base64 encoded in the JSON stream
  • dynamic arrays now handled in the JSONToObject and ObjectToJSON functions (will follow TTextWriter.AddDynArrayJSON format, i.e. plain JSON array for common types, but Base64 encoded streom for other arrays)
(user: ab branch: trunk)
2011-03-14
17:33
[4c92537aba4c211a] part of check-in [8d0b6de31d] faster base64 decoding (user: ab branch: trunk)
16:11
[d87c6fd61eb95cec] part of check-in [af12348554] added InHeaders parameter for the HTTP web server Request processing event (user: ab branch: trunk)
2011-03-11
22:25
[9bfe9ef54655665b] part of check-in [45f402f767] minor fixes before release (user: ab branch: trunk)
19:47
[a82665b12410c817] part of check-in [faed9f2b35] LVCL and Delphi 2009/2010/XE compatibility fixes (user: ab branch: trunk)
17:08
[795822eb2df4479f] part of check-in [304b4860fd] new HTTP/1.1 server using http.sys now seems complete and working under XP (user: ab branch: trunk)
2011-03-10
21:24
[61e6a0276a6e44f3] part of check-in [aa5a32b8af] various fixes (user: ab branch: trunk)
18:49
[944f1025604bdbc2] part of check-in [7a211f43e4]
  • new THttpApiServer class, using fast http.sys kernel-mode server for better performance and less resource usage (defined by default)
  • fixed HTTP client stream layout (to be more RFC compliant)
  • new THttpServerGeneric.Request virtual abstract method prototype
(user: ab branch: trunk)
2011-03-09
16:56
[029537223de1f26f] part of check-in [fe7e01f1f6] THttpApiServer integration - continue (user: ab branch: trunk)
2011-03-08
17:58
[de9c031ebbe2a460] part of check-in [2adfbcdbb1] updated THttpApiServer (user: ab branch: trunk)
2011-03-07
22:05
[14f70c4d1bc80d16] part of check-in [8be53f5555] introducing THttpApiServer (user: ab branch: trunk)
2011-03-02
08:12
[b06ec8aee5027513] part of check-in [9098c15a11] can make TCP/IP stream not HTTP compliant (against antivirus slowdown) (user: ab branch: trunk)
2011-03-01
19:13
[883b7a08a61624e5] part of check-in [f35f39f17a] compatibility fix for Delphi 2009/2010/XE (user: ab branch: trunk)
15:46
[8dd55f20e722c49b] part of check-in [d6285dd1ad]
  • now can compress its content using deflate or faster SynLZ algorithm: by default, the SynLZ algorithm will be used between a Delphi Client and Server over HTTP/1.1 - there will be no speed penalty on the server side, whereas deflate would use much more CPU
  • by default, will handle SynLZ compression for TSQLite3HttpServer and TSQLite3HttpClient (prefered than much slower deflate algorithm)
(user: ab branch: trunk)
11:22
[9155d35b23199450] part of check-in [0eda3328c4] new functions for gzip/deflate/synlz/synlzo compression algorithms, to be used with OnCompress/OnDeCompress properties pairs of THttpSocket (user: ab branch: trunk)
08:55
[2b7d2b6d775298be] part of check-in [d50b9d8d0b] try to fix slow network access (user: ab branch: trunk)
2011-02-21
13:37
[a8dd02e9c0f6ad61] part of check-in [f8725678fd]
  • wider usage of TSQLRecordProperties, for faster RTTI access, via the new class function TSQLRecord.RecordProps: TSQLRecordProperties: only virtual class function or procedure are now defined in TSQLRecord
  • introducing the GarbageCollector TObjectList for handling a global garbage collector for instances which must live during the whole executable process (used e.g. to avoid a memory leak for "class var" or such variables)
  • new PatchCodePtrUInt() procedure
(user: ab branch: trunk)
2011-02-08
17:07
[73faa40cdf9f6aa4] part of check-in [b59d83be6d] we reach year 2011 - let's celebrate! (user: ab branch: trunk)
2011-02-02
14:16
[4e6ce4b5ece3e8f9] part of check-in [bceafe99e4]
  • added connection check and exception handling in THttpServerSocket.GetRequest, which now is a function returning a boolean
  • added DOS / TCP SYN Flood detection if THttpServerSocket.GetRequest spent more than 2 seconds to get header from HTTP Client
(user: ab branch: trunk)
2010-09-17
17:41
[119995c658b9db23] part of check-in [616186a28e]
new CROnly parameter for TCrtSocket.SockRecvLn, to handle #13 as line delimiter: by default, #10 or #13#10 are line delimiters (as for normal Window/Linux text files)
(user: ab branch: trunk)
2010-09-11
17:42
[674558da96dd59b1] part of check-in [8646d927d6] a dedicated background thread is now used if the incoming HTTP request has POSTed a body content of more than 16 KB (to avoid Deny Of Service, and preserve the Thread Pool to only real small processes) (user: ab branch: trunk)
2010-09-05
13:55
[8cce7b46b8f819ac] part of check-in [933dd6ba2c] deleted deprecated DOS related code (used with DWPL Dos Extender) (user: ab branch: trunk)
2010-09-04
14:35
[efb3c9ba082ff77b] part of check-in [b03e814c32] new GetExtended overloaded function, and new HttpPost function (user: ab branch: trunk)
2010-09-01
21:31
[cef4118afe7e7e47] part of check-in [17264e2747] small fixes in the report manager and creation from RTTI + improved comments and some modification to avoid any GPF (user: ab branch: trunk)
2010-08-23
15:02
[3013336b3f0c8dcc] part of check-in [b8fd7b8094] HTTP Server now use a Thread Pool to speed up multi-connections: this speed up a lot HTTP/1.0 requests, by creating a Thread only if really necessary (user: ab branch: trunk)
2010-08-11
13:04
[3951cb273b6c5082] part of check-in [e8acc283db] small enhancements in THttpServerResp.Execute (user: ab branch: trunk)
2010-08-09
08:53
[0f2768ab4683f29a] part of check-in [beaaa4176b] rewrite HTTP Server handle request loop keep alive timing (user: ab branch: trunk)
2010-07-27
20:06
[722e896e3d7aad1f] part of check-in [4c5adbef4f] Improve compatibility for Delphi 2009/2010 SQLite3 framework User Interface, and prepare release of main sample demo (user: ab branch: trunk)
2010-07-05
14:46
[9aa27c9ab03ed056] part of check-in [164a717451] minor comment update (user: ab branch: trunk)
2010-07-04
19:37
[5daccf3ebe0c7087] part of check-in [accc9db54a] HTTP OnDisconnect method was not called on purpose in SynCrtSock.pas (user: ab branch: trunk)
2010-07-02
17:19
[51c54b2082f45ee6] part of check-in [0375ad50a7]
  • new direct methods to handle BLOB fields from clients or servers
  • new URI to GET or PUT BLOB fields: ModelRoot/TableName/ID/BlobFieldName
(user: ab branch: trunk)
2010-06-29
16:42
[83c0181f2d72eab6] part of check-in [cb80fdeb96] new features in SynPdf like UNDERLINE + STRIKEOUT or Jpeg compression of bitmaps, from REDDWARF / ONDREJ - see http://synopse.info/forum/viewtopic.php?id=36 (user: ab branch: trunk)
2010-06-23
14:04
Added [d0f87bdf18ce7a52] part of check-in [9226a861e3] Initial Check-In of all Synopse components (user: User branch: trunk)