mORMot and Open Source friends
Check-in [8acac4fc09]
Not logged in

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

Overview
Comment:also fix TSQLRestRoutingJSON_RPC from the same unexpected GPF issue
Timelines: family | ancestors | descendants | both | trunk
Files: files | file ages | folders
SHA1: 8acac4fc0994cb57688335b1442485e465a0856b
User & Date: abouchez 2013-10-29 16:44:00
Context
2013-10-30
14:47
fixed issue when retrieving a TSQLRecord containing TSQLRecordMany properties with external tables (like 'no such column DestList' error) via SQLite3 virtual tables (e.g. for a JOINed query like FillPrepareMany) check-in: e1c3c95b95 user: abouchez tags: trunk
2013-10-29
16:44
also fix TSQLRestRoutingJSON_RPC from the same unexpected GPF issue check-in: 8acac4fc09 user: abouchez tags: trunk
16:41
fixed unexpected GPF issue when trying to call invalid (non-existing) method name of the rest server (and no interface services defined) check-in: 0171854e68 user: abouchez tags: trunk
Changes
Hide Diffs Unified Diffs Ignore Whitespace Patch

Changes to SQLite3/mORMot.pas.

24391
24392
24393
24394
24395
24396
24397
24398
24399
24400
24401
24402
24403
24404
24405
    sent := sent+']}' else
    sent := sent+'], "id":'+clientDrivenID+'}';
end;

procedure TSQLRestRoutingJSON_RPC.URIDecodeSOAByInterface;
var i: integer;
begin
  if (Table=nil) and (MethodIndex<0) and (URI<>'') then begin
    //  URI as '/Model/Interface'
    i := Server.Services.fList.IndexOf(URI);
    if i>=0 then // identified as a valid JSON-RPC service
      Service := TServiceFactoryServer(Server.Services.fList.Objects[i]);
  end; // ServiceMethodIndex will be retrieved from "method": in body
end;







|







24391
24392
24393
24394
24395
24396
24397
24398
24399
24400
24401
24402
24403
24404
24405
    sent := sent+']}' else
    sent := sent+'], "id":'+clientDrivenID+'}';
end;

procedure TSQLRestRoutingJSON_RPC.URIDecodeSOAByInterface;
var i: integer;
begin
  if (Table=nil) and (MethodIndex<0) and (URI<>'') and (Server.Services<>nil) then begin
    //  URI as '/Model/Interface'
    i := Server.Services.fList.IndexOf(URI);
    if i>=0 then // identified as a valid JSON-RPC service
      Service := TServiceFactoryServer(Server.Services.fList.Objects[i]);
  end; // ServiceMethodIndex will be retrieved from "method": in body
end;