Skip to content

FCL-Web: many non-const string params

I tried to find non-const string params in SUBJ. I used regex: [\(;]\s*\w+\s*:\s*string in the FindInFiles plugin of CudaText editor.

Found many items:

Screenshot_from_2022-12-19_17-10-33

Same log as text:

+Search "[\(;]\s*\w+\s*:\s*string". Report with [styles].
	<jwt/fpoauth2.pp>: #2
		< 186>:     function CheckHostedDomain(URL: String): String; virtual;
		< 360>: function TOAuth2Handler.CheckHostedDomain(URL : String): String;
	<jwt/fpoauth2ini.pp>: #3
		<  24>:     procedure SetSessionSectionUser(AUser: String);
		<  96>: Procedure Touch(FN : String);
		< 259>: procedure TFPOAuth2IniStore.SetSessionSectionUser(AUser : String);
	<jwt/fpjwt.pp>: #14
		<  56>:     procedure SetAsEncodedString(AValue: String); virtual;
		<  66>:     class function Base64ToBase64URL(AValue: string): string; deprecated 'Use basenenc functions instead';
		<  67>:     class function Base64URLToBase64(AValue: string): string; deprecated 'Use basenenc functions instead';
		<  69>:     Class Function DecodeString(S : String) : String;
		<  71>:     Class Function DecodeStringToJSON(S : String) : TJSONObject;
		< 152>:     Procedure SetAsEncodedString (AValue : String);override;
		< 179>:     Class Function CreateSigner(aAlgorithm : String): TJWTSigner;
		< 354>: class function TJWTSigner.CreateSigner(aAlgorithm: String): TJWTSigner;
		< 465>: procedure TJWT.SetAsEncodedString(AValue: String);
		< 528>: procedure TBaseJWT.SetAsEncodedString(AValue: String);
		< 703>: class function TBaseJWT.Base64ToBase64URL(AValue: string): string;
		< 709>: class function TBaseJWT.Base64URLToBase64(AValue: string): string;
		< 719>: class function TBaseJWT.DecodeString(S: String): String;
		< 724>: class function TBaseJWT.DecodeStringToJSON(S: String): TJSONObject;
	<base/cgiprotocol.pp>: #2
		<  78>: Function IndexOfCGIVar(AVarName: String): Integer;
		<  84>: Function IndexOfCGIVar(AVarName: String): Integer;
	<base/custapache24.pp>: #2
		<  94>:     Procedure LogErrorMessage(Msg : String; LogLevel : integer = APLOG_INFO); virtual;
		< 316>: procedure TApacheHandler.LogErrorMessage(Msg: String; LogLevel: integer);
	<base/fphttpclient.pp>: #9
		< 141>:     Function ParseStatusLine(AStatusLine : String) : Integer;
		< 151>:     function WriteString(S: String): Boolean;
		< 274>:     Class Procedure Head(AURL : String; Headers: TStrings);
		< 412>: Function EncodeURLElement(S : String) : String;
		< 432>: function EncodeURLElement(S: String): String;
		< 885>: function TFPCustomHTTPClient.WriteString(S: String): Boolean;
		< 967>: function TFPCustomHTTPClient.ParseStatusLine(AStatusLine: String): Integer;
		< 987>:   Procedure DoCookies(S : String);
		<2201>: class procedure TFPCustomHTTPClient.Head(AURL: String; Headers: TStrings);
	<base/httpdefs.pp>: #40
		< 192>:     Function CookieByName(AName : String) : TCookie;
		< 193>:     Function FindCookie(AName : String): TCookie;
		< 194>:     Function IndexOfCookie(AName : String) : Integer;
		< 241>:     Function IndexOfFile(AName : String) : Integer;
		< 242>:     Function FileByName(AName : String) : TUploadedFile;
		< 243>:     Function FindFile(AName : String) : TUploadedFile;
		< 289>:     procedure FormSplit(var Cnt: String; boundary: String); virtual;
		< 295>:     procedure SetBoundary(AValue: string); virtual;
		< 316>:     procedure SetBoundary(AValue: string); override;
		< 345>:     Procedure SetHeaderValue(AIndex : Integer; AValue : String);
		< 346>:     procedure SetHTTPVariable(AIndex: Integer; AValue: String);
		< 352>:     procedure SetHTTPVariable(AVariable : THTTPVariableType; AValue: String);
		< 354>:     Procedure SetFieldValue(Index : Integer; Value : String); virtual; deprecated;
		< 469>:     function GetRP(AParam : String): String;
		< 470>:     procedure SetRP(AParam : String; AValue: String);
		< 616>:     Function GetSessionVariable(VarName : String) : String; Virtual; abstract;
		< 617>:     procedure SetSessionVariable(VarName : String; const AValue: String);Virtual;abstract;
		< 627>:     Procedure RemoveVariable(VariableName : String); virtual; abstract;
		< 631>:     Function SessionVariableExists(VarName : String) : Boolean; Virtual; abstract;
		< 689>:     procedure SetAllowedMethods(AValue: String);
		< 758>: Function GetFieldNameIndex(AName : String) : Integer;
		< 927>: procedure TStreamingMimeItems.SetBoundary(AValue: string);
		< 936>: procedure TCORSSupport.SetAllowedMethods(AValue: String);
		<1354>: procedure THTTPHeader.SetHTTPVariable(AIndex: Integer; AValue: String);
		<1360>: procedure THTTPHeader.SetHTTPVariable(AVariable: THTTPVariableType; AValue: String);
		<1400>: procedure THTTPHeader.SetHeaderValue(AIndex: Integer; AValue: String);
		<1639>: procedure THTTPHeader.SetFieldValue(Index: Integer; Value: String);
		<2008>: procedure TMimeItems.FormSplit(var Cnt : String; boundary: String);
		<2068>: procedure TMimeItems.SetBoundary(AValue: string);
		<2211>: function TRequest.GetRP(AParam : String): String;
		<2219>: procedure TRequest.SetRP(AParam : String; AValue: String);
		<2701>: function TUploadedFiles.IndexOfFile(AName: String): Integer;
		<2709>: function TUploadedFiles.FileByName(AName: String): TUploadedFile;
		<2718>: Function TUploadedFiles.FindFile(AName: String): TUploadedFile;
		<2993>:   Procedure AddToResult(S : String);
		<3084>: function TCookies.CookieByName(AName: String): TCookie;
		<3091>: function TCookies.FindCookie(AName: String): TCookie;
		<3103>: function TCookies.IndexOfCookie(AName: String): Integer;
	<base/custapache.pp>: #2
		<  93>:     Procedure LogErrorMessage(Msg : String; LogLevel : integer = APLOG_INFO); virtual;
		< 320>: procedure TApacheHandler.LogErrorMessage(Msg: String; LogLevel: integer);
	<base/httpprotocol.pp>: #2
		< 145>: Function HeaderType(AHeader : String) : THeader;
		< 160>: function HeaderType(AHeader: String): THeader;
	<base/iniwebsession.pp>: #8
		<  41>:     Function GetSessionVariable(VarName : String) : String; override;
		<  42>:     procedure SetSessionVariable(VarName : String; const AValue: String); override;
		<  49>:     function SessionVariableExists(VarName: String): Boolean; override;
		<  53>:     Procedure RemoveVariable(VariableName : String); override;
		< 327>: function TIniWebSession.GetSessionVariable(VarName: String): String;
		< 333>: procedure TIniWebSession.SetSessionVariable(VarName: String;
		< 363>: function TIniWebSession.SessionVariableExists(VarName: String): Boolean;
		< 461>: procedure TIniWebSession.RemoveVariable(VariableName: String);
	<base/webpage.pp>: #12
		<  51>:     procedure SetAjaxIterationID(AValue: String);
		<  70>:     function GetUrl(ParamNames, ParamValues, KeepParams: array of string; Action: string = ''): string; override;
		<  71>:     procedure BindJavascriptCallstackToElement(AComponent: TComponent; AnElement: THtmlCustomElement; AnEvent: string); override;
		<  72>:     procedure AddScriptFileReference(AScriptFile: String); override;
		<  74>:     function DefaultMessageBoxHandler(Sender: TObject; AText: String; Buttons: TWebButtons; ALoaded: string = ''): string; override;
		< 141>:   function RegisterScript(AScript: string) : integer;
		< 149>: function RegisterScript(AScript: string) : integer;
		< 501>:   AText: String; Buttons: TWebButtons; ALoaded: string = ''): string;
		< 552>:   KeepParams: array of string; Action: string): string;
		< 636>: procedure TStandardWebController.BindJavascriptCallstackToElement(AComponent: TComponent; AnElement: THtmlCustomElement; AnEvent: string);
		< 644>: procedure TStandardWebController.AddScriptFileReference(AScriptFile: String);
	<base/custmicrohttpapp.pp>: #4
		< 118>:     procedure SetHostName(AValue: String);
		< 159>:     procedure SetHostName(AValue: String);
		< 574>: procedure TMicroHTTPHandler.SetHostName(AValue: String);
		< 690>: procedure TCustomMicroHTTPApplication.SetHostName(AValue: String);
	<base/fphtml.pp>: #30
		<  41>:   TMessageBoxHandler = function(Sender: TObject; AText: String; Buttons: TWebButtons; Loaded: string = ''): string of object;
		<  42>:   TOnGetUrlProc = procedure(ParamNames, ParamValues, KeepParams: array of string; Action: string; var URL: string) of object;
		<  59>:     procedure AddScriptLine(ALine: String); virtual;
		<  60>:     procedure MessageBox(AText: String; Buttons: TWebButtons; Loaded: string = ''); virtual;
		<  62>:     procedure CallServerEvent(AHTMLContentProducer: THTMLContentProducer; AEvent: Integer; APostVariable: string = ''); virtual;
		<  64>:     procedure Redirect(AUrl: string); virtual;
		< 148>:     procedure AddScriptFileReference(AScriptFile: String); virtual; abstract;
		< 154>:     function GetUrl(ParamNames, ParamValues, KeepParams: array of string; Action: string = ''): string; virtual; abstract;
		< 161>:     procedure BindJavascriptCallstackToElement(AComponent: TComponent; AnElement: THtmlCustomElement; AnEvent: string); virtual; abstract;
		< 162>:     function MessageBox(AText: String; Buttons: TWebButtons; ALoaded: string = ''): string; virtual;
		< 163>:     function DefaultMessageBoxHandler(Sender: TObject; AText: String; Buttons: TWebButtons;  ALoaded: string = ''): string; virtual; abstract;
		< 165>:     function AddrelativeLinkPrefix(AnURL: string): string;
		< 171>:     procedure SetIterationIDSuffix(AIterationLevel: integer; IDSuffix: string); virtual;
		< 201>:     procedure SetError(HelpContext: longint; ErrorMessage: string);
		< 264>:     procedure AddEvent(var Events: TEventRecords; AServerEventID: integer; AServerEvent: THandleAjaxEvent; AJavaEventName: string; AcsCallBack: TCSAjaxEvent); virtual;
		< 602>: procedure TJavaScriptStack.AddScriptLine(ALine: String);
		< 607>: procedure TJavaScriptStack.MessageBox(AText: String; Buttons: TWebButtons; Loaded: string = '');
		< 617>: procedure TJavaScriptStack.CallServerEvent(AHTMLContentProducer: THTMLContentProducer; AEvent: Integer; APostVariable: string = '');
		< 627>: procedure TJavaScriptStack.Redirect(AUrl: string);
		< 747>:   AServerEventID: integer; AServerEvent: THandleAjaxEvent; AJavaEventName: string;
		<1362>: procedure TAjaxResponse.SetError(HelpContext: longint; ErrorMessage: string);
		<1453>: function TWebController.MessageBox(AText: String; Buttons: TWebButtons; ALoaded: string = ''): string;
		<1461>: function TWebController.AddrelativeLinkPrefix(AnURL: string): string;
		<1482>: procedure TWebController.SetIterationIDSuffix(AIterationLevel: integer; IDSuffix: string);
	<base/custcgi.pp>: #4
		<  40>:     function DoGetCGIVar(AVarName: String): String; virtual;
		< 116>:     function GetRequestVariable(VarName : String): String;
		< 318>: function TCGIRequest.DoGetCGIVar(AVarName : String) : String;
		< 490>: function TCustomCGIApplication.GetRequestVariable(VarName : String): String;
	<base/custweb.pp>: #12
		<  59>:     procedure DoCallModule(AModule: TCustomHTTPModule; AModuleName: String; ARequest: TRequest; AResponse: TResponse);
		<  63>:     Class Procedure DoError(Msg : String; AStatusCode : Integer = 0; AStatusText : String = '');
		<  64>:     Class Procedure DoError(Fmt : String; Const Args : Array of const;AStatusCode : Integer = 0; AStatusText : String = '');
		< 127>:     procedure SetDefaultModuleName(AValue: String);
		< 317>: Procedure TWebHandler.DoCallModule(AModule : TCustomHTTPModule; AModuleName : String ; ARequest: TRequest; AResponse: TResponse);
		< 409>: Class Procedure TWebHandler.DoError(Msg : String;AStatusCode : Integer = 0; AStatusText : String = '');
		< 421>: Class Procedure TWebHandler.DoError(Fmt: String; Const Args: Array of const;
		< 422>:   AStatusCode: Integer = 0; AStatusText: String = '');
		< 656>: procedure TCustomWebApplication.SetDefaultModuleName(AValue: String);
	<base/httpjson.pp>: #2
		<  25>:     procedure SendExceptionJSON(aException: Exception; aElement: String='');
		<  81>: procedure THTTPJSONResponseHelper.SendExceptionJSON(aException: Exception; aElement : String = '');
	<base/fphttpserver.pp>: #3
		< 338>:     procedure SetHostName(AValue: string);
		< 980>: procedure ParseStartLine(Request : TFPHTTPConnectionRequest; AStartLine : String);
		<1396>: procedure TFPCustomHttpServer.SetHostName(AValue: string);
	<base/fpweb.pp>: #6
		<  91>:     Function IndexOfVar(AName : String) : Integer;
		<  92>:     Function VarByName(AName : String) : TTemplateVar;
		<  93>:     Function FindVar(AName : String) : TTemplateVar;
		< 561>: function TTemplateVars.IndexOfVar(AName: String): Integer;
		< 569>: function TTemplateVars.VarByName(AName: String): TTemplateVar;
		< 576>: function TTemplateVars.FindVar(AName: String): TTemplateVar;
	<base/fcgigate.pp>: #1
		< 400>:   Procedure SendString(S : String; RecType : Byte);
	<base/cgiapp.pp>: #5
		<  74>:     Procedure SetCGIVar(Index : Integer; Value : String);
		< 168>: Procedure Log(Msg : String);
		< 174>: Procedure Log(Msg : String;Args : Array of const);
		< 331>: Procedure TCgiApplication.SetCGIVar(Index : Integer; Value : String);
		< 556>: procedure FormSplit(var Cnt : String; boundary: String; List : TList);
	<base/ezcgi.pp>: #11
		<  49>:       function GetVal(Index : String) : String;
		<  58>:       procedure OutputError(errorMessage : String);
		<  64>:       procedure WriteContent(ctype : String);
		<  65>:       procedure PutLine(sOut : String);
		<  66>:       function GetValue(Index : String; defaultValue : String) : String;
		< 115>: procedure TEZcgi.WriteContent(ctype : String);
		< 121>: procedure TEZcgi.PutLine(sOut : String);
		< 138>:    procedure GetEData(variable : String);
		< 202>: function TEZcgi.GetVal(Index : String) : String;
		< 317>: procedure TEZcgi.OutputError(errorMessage : String);
	<base/restbase.pp>: #8
		<  83>:     Procedure SetStringProperty(P: PPropInfo; AValue: String); virtual;
		< 170>:     function GetON(AName : String): TBaseObject;
		< 171>:     procedure SetN(Aindex : Integer; AValue: String);
		< 173>:     procedure SetON(AName : String; AValue: TBaseObject);
		< 389>: function TBaseNamedObjectList.GetON(AName : String): TBaseObject;
		< 402>: procedure TBaseNamedObjectList.SetN(Aindex : Integer; AValue: String);
		< 412>: procedure TBaseNamedObjectList.SetON(AName : String; AValue: TBaseObject);
		< 666>: procedure TBaseObject.SetStringProperty(P: PPropInfo; AValue: String);
	<base/fpdatasetform.pp>: #6
		< 132>:     Function FindItem(AName : String): TFormFieldItem;
		< 133>:     Function IndexofItem(AName : String) : Integer;
		< 178>:     function AddButton (acaption : string) : TFormButtonItem;
		< 559>: function TFormFieldCollection.FindItem(AName: String): TFormFieldItem;
		< 571>: function TFormFieldCollection.IndexofItem(AName: String): Integer;
		< 636>: function TFormButtonCollection.AddButton(acaption: string): TFormButtonItem;
	<base/custfcgi.pp>: #2
		<  70>:     function DoGetCGIVar(AVarName: String): String; override;
		< 315>: function TFCGIRequest.DoGetCGIVar(AVarName: String): String;
	<base/fpmimetypes.pp>: #5
		<  34>:     Procedure MergeExtensions(AExtensions : String);
		<  45>:     procedure ParseLine(ALine: String; out Mime, Extensions: String);
		< 111>: Procedure TFPMimeTypes.ParseLine(ALine : String; Out Mime,Extensions : String);
		< 116>:   Function GetNextWord(S : String; Var APos : Integer) : String;
		< 420>: procedure TMimeType.MergeExtensions(AExtensions: String);
	<base/httproute.pp>: #8
		<  50>:     procedure SetURLPattern(AValue: String);
		<  55>:     class function NormalizeRoute(AValue: String): String;
		< 217>:     Procedure CheckDuplicate(APattern : String; AMethod : TRouteMethod; isDefault : Boolean);
		< 456>: procedure THTTPRouter.CheckDuplicate(APattern: String; AMethod: TRouteMethod;
		< 872>: Class Function THTTPRoute.NormalizeRoute(AValue: String) : String;
		< 880>: procedure THTTPRoute.SetURLPattern(AValue: String);
		< 917>:   Function StartsWith(C : Char; S : String): Boolean; 
		< 924>:   Function EndsWith(C : Char; S : String): Boolean;
	<base/tcwebmodule.pp>: #6
		<  46>:     Procedure SetFieldValue(Index : Integer; Value : String); override;
		<  67>:     Function GetSessionVariable(VarName : String) : String; override;
		<  68>:     procedure SetSessionVariable(VarName : String; const AValue: String);override;
		< 201>: function TFakeSession.GetSessionVariable(VarName: String): String;
		< 209>: procedure TFakeSession.SetSessionVariable(VarName: String; const AValue: String);
		< 305>: procedure TFakeResponse.SetFieldValue(Index: Integer; Value: String);
	<base/custhttpapp.pp>: #4
		<  70>:     procedure SetHostName(AValue: String);
		< 130>:     procedure SetHostName(AValue: String);
		< 217>: procedure TCustomHTTPApplication.SetHostName(AValue: String);
		< 424>: procedure TFPHTTPServerHandler.SetHostName(AValue: String);
	<base/fpwebclient.pp>: #4
		< 119>:     procedure SetLogFile(AValue: String);
		< 126>:     procedure StringToStream(str: string);
		< 244>: procedure TAbstractWebClient.SetLogFile(AValue: String);
		< 261>: procedure TAbstractWebClient.StringToStream(str: string);
	<jsonrpc/fprpcclient.pp>: #8
		<  60>:     function CreateVirtualInterface(IntfType: TRttiInterfaceType; aName: string): IInterface; virtual;
		<  69>:     procedure HandleInvoke(aClassName : String; aMethod: TRttiMethod; const aArgs: TValueArray; out aResult: TValue); virtual;
		<  78>:     Function CreateService(aName : string) : IInterface;
		<  80>:     generic Function CreateService<T : IInterface>(aName : string) : T;
		< 259>: function TFPRPCClient.CreateVirtualInterface(IntfType : TRttiInterfaceType; aName: string) : IInterface;
		< 339>: function TFPRPCClient.CreateService(aName: string): IInterface;
		< 345>: generic function TFPRPCClient.CreateService<T>(aName: string): T;
		< 440>: procedure TFPRPCClient.HandleInvoke(aClassName : String; aMethod: TRttiMethod; const aArgs: TValueArray; out aResult: TValue);
	<jsonrpc/fprpccodegen.pp>: #3
		< 116>:     function StringToJSType(S: String): TJSONtype;
		< 419>:   TStringResultHandler = reference to procedure (aResult : String);
		< 468>: function TAPIClientCodeGen.StringToJSType(S : String) : TJSONtype;
	<jsonrpc/fpjsonrpc.pp>: #4
		<  98>:     procedure SetRPCMethodName(AValue: String);
		< 278>:     Function APIAsPascal(aOptions : TCreateAPIOptions; aUnitName : string) : String; virtual;
		< 735>: procedure TCustomJSONRPCHandler.SetRPCMethodName(AValue: String);
		<1425>: function TCustomJSONRPCDispatcher.APIAsPascal(aOptions: TCreateAPIOptions; aUnitName: string): String;
	<restbridge/sqldbrestschema.pp>: #5
		< 202>:     function GetFieldList(aListKind: TFieldListKind; ASep : String = ''): UTF8String;
		< 205>:     Function ProcessSQl(aSQL : String; Const AWhere : UTF8String; Const aOrderBy : UTF8String = ''; aLimit : UTF8String = '') : UTF8String;
		<1058>:   Procedure AddR(s : String);
		<1077>: function TSQLDBRestResource.GetFieldList(aListKind : TFieldListKind; ASep : String = '') : UTF8String;
		<1180>: function TSQLDBRestResource.ProcessSQl(aSQL: String; const AWhere: UTF8String;
	<restbridge/sqldbrestauthini.pp>: #6
		<  37>:     Procedure LoadFromIni(Const aIni: TCustomIniFile; ASection : String; aOptions : TBasicAuthIniOptions); overload;
		<  43>:     Procedure SaveToIni(Const aIni: TCustomIniFile; ASection : String; aOptions : TBasicAuthIniOptions); overload;
		<  51>: Function StrToBasicAuthIniOptions(S : String) : TBasicAuthIniOptions;
		<  63>: Function StrToBasicAuthIniOptions(S : String) : TBasicAuthIniOptions;
		<  93>: procedure TSQLDBRestBasicAuthHelper.LoadFromIni(const aIni: TCustomIniFile; ASection: String; aOptions: TBasicAuthIniOptions);
		< 180>: procedure TSQLDBRestBasicAuthHelper.SaveToIni(const aIni: TCustomIniFile; ASection: String; aOptions: TBasicAuthIniOptions);
	<restbridge/sqldbrestdata.pp>: #3
		<  66>:     function CreateQuery(aSQL: String): TSQLQuery; virtual;
		< 292>: function TSQLDBRestDBHandler.CreateQuery(aSQL: String): TSQLQuery;
		< 309>:   Function ML(N : String) : TStrings;
	<restbridge/sqldbrestio.pp>: #9
		< 301>:     procedure SetUserID(AValue: String);
		< 316>:     class function StrToNullBoolean(S: String; Strict: Boolean): TNullBoolean;
		< 382>:     Function FindDefByName(aType : TRestStreamerType; aName : String) : TStreamerDef;
		< 383>:     Function FindDefByContentType(aType : TRestStreamerType; aContentType : String) : TStreamerDef;
		< 542>: function TStreamerFactory.FindDefByName(aType : TRestStreamerType; aName: String): TStreamerDef;
		< 555>: function TStreamerFactory.FindDefByContentType(aType : TRestStreamerType;  aContentType: String): TStreamerDef;
		< 898>: procedure TRestIO.SetUserID(AValue: String);
		<1000>: class function TRestIO.StrToNullBoolean(S: String; Strict: Boolean
		<1034>:   Procedure CheckParam(aName : String; aOption: TRestOutputOption);
	<restbridge/sqldbrestbridge.pp>: #7
		< 169>:     Function IndexOfSchema(aSchemaName : String) : Integer;
		< 170>:     Function FindSchemaRef(aSchemaName : String) : TSQLDBRestSchemaRef;
		< 171>:     Function FindSchema(aSchemaName : String) : TSQLDBRestSchema;
		< 482>: function TSQLDBRestSchemaList.IndexOfSchema(aSchemaName: String): Integer;
		< 489>: function TSQLDBRestSchemaList.FindSchemaRef(aSchemaName: String): TSQLDBRestSchemaRef;
		< 502>: function TSQLDBRestSchemaList.FindSchema(aSchemaName: String): TSQLDBRestSchema;
		<1941>:   Function StripCR(S : String) : String;
	<restbridge/sqldbrestini.pp>: #29
		<  38>:     Procedure LoadFromIni(Const aIni: TCustomIniFile; ASection : String; aOptions : TConnectionIniOptions); overload;
		<  44>:     Procedure SaveToIni(Const aIni: TCustomIniFile; ASection : String; aOptions : TConnectionIniOptions); overload;
		<  63>:     procedure ReadSchemas(const aIni: TCustomIniFile; ASection: String; aOptions: TDispatcherIniOptions);
		<  64>:     procedure ReadConnections(const aIni: TCustomIniFile; ASection: String);
		<  65>:     procedure WriteConnections(const aIni: TCustomIniFile; ASection: String; aOptions : TConnectionIniOptions);
		<  66>:     procedure WriteSchemas(const aIni: TCustomIniFile; ASection: String; SchemaFileDir : String);
		<  68>:     Procedure LoadFromIni(Const aIni: TCustomIniFile; ASection : String; aOptions : TDispatcherIniOptions); overload;
		<  74>:     Procedure SaveToIni(Const aIni: TCustomIniFile; ASection : String; aOptions : TDispatcherIniOptions); overload;
		<  82>:     Procedure LoadFromIni(Const aIni: TCustomIniFile; ASection : String); overload;
		<  88>:     Procedure SaveToIni(Const aIni: TCustomIniFile; ASection : String); overload;
		<  92>: Function StrToOutputOptions(S : String) : TRestOutputOptions;
		<  93>: Function StrToDispatcherOptions(S : String) : TRestDispatcherOptions;
		<  94>: Function StrToConnectionIniOptions(S : String) : TConnectionIniOptions;
		< 133>: Function StrToOutputOptions(S : String) : TRestOutputOptions;
		< 143>: Function StrToDispatcherOptions(S : String) : TRestDispatcherOptions;
		< 153>: Function StrToConnectionIniOptions(S : String) : TConnectionIniOptions;
		< 163>: Function StrToRestFieldOptions(S : String) : TRestFieldOptions;
		< 198>: procedure TRestStringsConfigHelper.LoadFromIni(const aIni: TCustomIniFile; ASection: String);
		< 257>: procedure TRestStringsConfigHelper.SaveToIni(const aIni: TCustomIniFile; ASection: String);
		< 280>: procedure TSQLDBRestDispatcherHelper.ReadConnections(const aIni: TCustomIniFile; ASection: String);
		< 300>: procedure TSQLDBRestDispatcherHelper.WriteConnections(const aIni: TCustomIniFile; ASection: String; aOptions: TConnectionIniOptions);
		< 324>: procedure TSQLDBRestDispatcherHelper.WriteSchemas(const aIni: TCustomIniFile; ASection: String; SchemaFileDir : String);
		< 359>: procedure TSQLDBRestDispatcherHelper.ReadSchemas(const aIni: TCustomIniFile; ASection: String; aOptions: TDispatcherIniOptions);
		< 386>: procedure TSQLDBRestDispatcherHelper.LoadFromIni(const aIni: TCustomIniFile; ASection: String; aOptions: TDispatcherIniOptions);
		< 473>: procedure TSQLDBRestDispatcherHelper.SaveToIni(const aIni: TCustomIniFile; ASection: String; aOptions: TDispatcherIniOptions);
		< 522>: procedure TSQLDBRestConnectionHelper.LoadFromIni(const aIni: TCustomIniFile; ASection: String; aOptions: TConnectionIniOptions);
		< 626>: procedure TSQLDBRestConnectionHelper.SaveToIni(const aIni: TCustomIniFile; ASection: String; aOptions: TConnectionIniOptions);
	<websocket/fpcustwsserver.pp>: #8
		<  47>:     Function FindConnectionById(aID : String) : TWSConnection;
		< 174>:     procedure SetResource(AValue: string);
		< 219>:     procedure BroadcastMessage(AMessage: string); virtual;
		< 225>:     procedure SendMessageTo(AMessage: string; aSelector : TWSSendToFilter); virtual;
		< 287>: function TWSConnectionList.FindConnectionById(aID: String): TWSConnection;
		< 367>: procedure TCustomWSServer.BroadcastMessage(AMessage: string);
		< 478>: procedure TCustomWSServer.SendMessageTo(AMessage: string; aSelector: TWSSendToFilter);
		< 533>: procedure TCustomWSServer.SetResource(AValue: string);
	<websocket/wsupgrader.pp>: #4
		<  25>:     procedure SetHost(AValue: String);
		<  26>:     procedure SetUpgradeName(AValue: String);
		< 120>: procedure TCustomWebsocketUpgrader.SetHost(AValue: String);
		< 219>: procedure TCustomWebsocketUpgrader.SetUpgradeName(AValue: String);
	<webdata/sqldbwebdata.pp>: #2
		<  53>:     procedure ExecuteSQL(ASQL: TStrings; Msg: String=''; DoNewID : Boolean = False); virtual;
		< 170>: procedure TCustomSQLDBWebDataProvider.ExecuteSQL(ASQL : TStrings; Msg : String = ''; DoNewID : Boolean = False);
	<webdata/extjsjson.pp>: #3
		<  71>:     Function AddFieldToJSON(O: TJSONObject; AFieldName: String; F: TField): TJSONData;
		< 150>: function TExtJSJSONDataFormatter.AddFieldToJSON(O : TJSONObject; AFieldName : String; F : TField): TJSONData;
		< 249>:   Function DefReplace(S : String) : String;
To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information