📄 dws2weblibmodule.pas
字号:
{**********************************************************************}
{ }
{ "The contents of this file are subject to the Mozilla Public }
{ License Version 1.1 (the "License"); you may not use this }
{ file except in compliance with the License. You may obtain }
{ a copy of the License at }
{ }
{ http://www.mozilla.org/MPL/ }
{ }
{ Software distributed under the License is distributed on an }
{ "AS IS" basis, WITHOUT WARRANTY OF ANY KIND, either express }
{ or implied. See the License for the specific language }
{ governing rights and limitations under the License. }
{ }
{ The Original Code is DelphiWebScriptII source code, released }
{ January 1, 2001 }
{ }
{ http://www.dwscript.com }
{ }
{ The Initial Developers of the Original Code are Matthias }
{ Ackermann and hannes hernler. }
{ Portions created by Matthias Ackermann are Copyright (C) 2001 }
{ Matthias Ackermann, Switzerland. All Rights Reserved. }
{ Portions created by hannes hernler are Copyright (C) 2001 }
{ hannes hernler, Austria. All Rights Reserved. }
{ }
{ Contributor(s): Willibald Krenn, Eric Grange. }
{ }
{**********************************************************************}
unit dws2WebLibModule;
interface
uses
{$IFDEF LINUX}
Libc,
{$ELSE}
Windows, Forms,
{$ENDIF}
SysUtils, Classes, HTTPApp, dws2Comp, StrUtils, dws2Exprs, dws2Errors,
dws2WebBasics, dws2SessionBasics, dws2HtmlFilter;
type
ESecurityException = class(Exception);
//DWS_SessS
ENeedSession = class(ESecurityException);
//DWS_LogS
ENeedLogin = class(ESecurityException);
//DWS_MaxS
ENeedMemberLogin = class(ESecurityException);
Tdws2WebLib = class;
TOnCustomCommandEvent = procedure(dwsWebLib: Tdws2WebLib; HttpInfo: THttpInfo; CommmandStr: string) of object;
TOnISAPISessionEvent = procedure(dwsWebLib: Tdws2WebLib) of object;
TOnISAPIEvalEvent = procedure(dwsWebLib: Tdws2WebLib) of object;
Tdws2WebLib = class(TDatamodule)
customWebUnit: Tdws2Unit;
procedure dws2WebUnitClassesRequestMethodsParamEval(Info: TProgramInfo;
ExtObject: TObject);
procedure dws2WebUnitClassesRequestMethodsParamCountEval(
Info: TProgramInfo; ExtObject: TObject);
procedure dws2WebUnitClassesRequestMethodsParamNameEval(
Info: TProgramInfo; ExtObject: TObject);
procedure dws2WebUnitClassesRequestMethodsParamValueEval(
Info: TProgramInfo; ExtObject: TObject);
procedure dws2WebUnitClassesRequestMethodsAuthorizationEval(
Info: TProgramInfo; ExtObject: TObject);
procedure dws2WebUnitClassesRequestMethodsContentEval(
Info: TProgramInfo; ExtObject: TObject);
procedure dws2WebUnitClassesRequestMethodsContentLengthEval(
Info: TProgramInfo; ExtObject: TObject);
procedure dws2WebUnitClassesRequestMethodsContentTypeEval(
Info: TProgramInfo; ExtObject: TObject);
procedure dws2WebUnitClassesRequestMethodsDateEval(Info: TProgramInfo;
ExtObject: TObject);
procedure dws2WebUnitClassesRequestMethodsFromEval(Info: TProgramInfo;
ExtObject: TObject);
procedure dws2WebUnitClassesRequestMethodsHostEval(Info: TProgramInfo;
ExtObject: TObject);
procedure dws2WebUnitClassesRequestMethodsRefererEval(
Info: TProgramInfo; ExtObject: TObject);
procedure dws2WebUnitClassesRequestMethodsRemoteAddrEval(
Info: TProgramInfo; ExtObject: TObject);
procedure dws2WebUnitClassesRequestMethodsPathInfoEval(
Info: TProgramInfo; ExtObject: TObject);
procedure dws2WebUnitClassesRequestMethodsRemoteHostEval(
Info: TProgramInfo; ExtObject: TObject);
procedure dws2WebUnitClassesRequestMethodsScriptNameEval(
Info: TProgramInfo; ExtObject: TObject);
procedure dws2WebUnitClassesRequestMethodsTitleEval(Info: TProgramInfo;
ExtObject: TObject);
procedure dws2WebUnitClassesRequestMethodsUrlEval(Info: TProgramInfo;
ExtObject: TObject);
procedure dws2WebUnitClassesRequestMethodsUserAgentEval(
Info: TProgramInfo; ExtObject: TObject);
procedure dws2WebUnitClassesResponseMethodsSetAllowEval(
Info: TProgramInfo; ExtObject: TObject);
procedure dws2WebUnitClassesResponseMethodsSetContentEval(
Info: TProgramInfo; ExtObject: TObject);
procedure dws2WebUnitClassesResponseMethodsSetContentEncodingEval(
Info: TProgramInfo; ExtObject: TObject);
procedure dws2WebUnitClassesResponseMethodsSetContentLengthEval(
Info: TProgramInfo; ExtObject: TObject);
procedure dws2WebUnitClassesResponseMethodsSetContentTypeEval(
Info: TProgramInfo; ExtObject: TObject);
procedure dws2WebUnitClassesResponseMethodsSetContentVersionEval(
Info: TProgramInfo; ExtObject: TObject);
procedure dws2WebUnitClassesResponseMethodsSetDateEval(
Info: TProgramInfo; ExtObject: TObject);
procedure dws2WebUnitClassesResponseMethodsSetDerivedFromEval(
Info: TProgramInfo; ExtObject: TObject);
procedure dws2WebUnitClassesResponseMethodsSetExpiresEval(
Info: TProgramInfo; ExtObject: TObject);
procedure dws2WebUnitClassesResponseMethodsSetLastModifiedEval(
Info: TProgramInfo; ExtObject: TObject);
procedure dws2WebUnitClassesResponseMethodsSetLocationEval(
Info: TProgramInfo; ExtObject: TObject);
procedure dws2WebUnitClassesResponseMethodsSetLogMessageEval(
Info: TProgramInfo; ExtObject: TObject);
procedure dws2WebUnitClassesResponseMethodsSetRealmEval(
Info: TProgramInfo; ExtObject: TObject);
procedure dws2WebUnitClassesResponseMethodsSetReasonStringEval(
Info: TProgramInfo; ExtObject: TObject);
procedure dws2WebUnitClassesResponseMethodsSetServerEval(
Info: TProgramInfo; ExtObject: TObject);
procedure dws2WebUnitClassesResponseMethodsSetStatusCodeEval(
Info: TProgramInfo; ExtObject: TObject);
procedure dws2WebUnitClassesResponseMethodsSetTitleEval(
Info: TProgramInfo; ExtObject: TObject);
procedure dws2WebUnitClassesResponseMethodsSetVersionEval(
Info: TProgramInfo; ExtObject: TObject);
procedure dws2WebUnitClassesResponseMethodsGetAllowEval(
Info: TProgramInfo; ExtObject: TObject);
procedure dws2WebUnitClassesResponseMethodsGetContentEval(
Info: TProgramInfo; ExtObject: TObject);
procedure dws2WebUnitClassesResponseMethodsGetContentEncodingEval(
Info: TProgramInfo; ExtObject: TObject);
procedure dws2WebUnitClassesResponseMethodsGetContentLengthEval(
Info: TProgramInfo; ExtObject: TObject);
procedure dws2WebUnitClassesResponseMethodsGetContentTypeEval(
Info: TProgramInfo; ExtObject: TObject);
procedure dws2WebUnitClassesResponseMethodsGetContentVersionEval(
Info: TProgramInfo; ExtObject: TObject);
procedure dws2WebUnitClassesResponseMethodsGetDateEval(
Info: TProgramInfo; ExtObject: TObject);
procedure dws2WebUnitClassesResponseMethodsGetDerivedFromEval(
Info: TProgramInfo; ExtObject: TObject);
procedure dws2WebUnitClassesResponseMethodsGetExpiresEval(
Info: TProgramInfo; ExtObject: TObject);
procedure dws2WebUnitClassesResponseMethodsGetLastModifiedEval(
Info: TProgramInfo; ExtObject: TObject);
procedure dws2WebUnitClassesResponseMethodsGetLocationEval(
Info: TProgramInfo; ExtObject: TObject);
procedure dws2WebUnitClassesResponseMethodsGetLogMessageEval(
Info: TProgramInfo; ExtObject: TObject);
procedure dws2WebUnitClassesResponseMethodsGetRealmEval(
Info: TProgramInfo; ExtObject: TObject);
procedure dws2WebUnitClassesResponseMethodsGetReasonStringEval(
Info: TProgramInfo; ExtObject: TObject);
procedure dws2WebUnitClassesResponseMethodsGetServerEval(
Info: TProgramInfo; ExtObject: TObject);
procedure dws2WebUnitClassesResponseMethodsGetStatusCodeEval(
Info: TProgramInfo; ExtObject: TObject);
procedure dws2WebUnitClassesResponseMethodsGetTitleEval(
Info: TProgramInfo; ExtObject: TObject);
procedure dws2WebUnitClassesResponseMethodsGetVersionEval(
Info: TProgramInfo; ExtObject: TObject);
procedure dws2WebUnitClassesScriptDocMethodsDateEval(
Info: TProgramInfo; ExtObject: TObject);
procedure dws2WebUnitClassesScriptDocMethodsSizeEval(
Info: TProgramInfo; ExtObject: TObject);
procedure dws2WebUnitClassesScriptDocMethodsFileNameEval(
Info: TProgramInfo; ExtObject: TObject);
procedure dws2WebUnitClassesScriptDocMethodsPathEval(
Info: TProgramInfo; ExtObject: TObject);
procedure dws2WebUnitClassesResponseMethodsSendRedirectEval(
Info: TProgramInfo; ExtObject: TObject);
procedure dws2WebUnitClassesTCookieMethodsSetDomainEval(
Info: TProgramInfo; ExtObject: TObject);
procedure dws2WebUnitClassesTCookieMethodsSetExpiresEval(
Info: TProgramInfo; ExtObject: TObject);
procedure dws2WebUnitClassesTCookieMethodsSetNameEval(
Info: TProgramInfo; ExtObject: TObject);
procedure dws2WebUnitClassesTCookieMethodsSetPathEval(
Info: TProgramInfo; ExtObject: TObject);
procedure dws2WebUnitClassesTCookieMethodsSetValueEval(
Info: TProgramInfo; ExtObject: TObject);
procedure dws2WebUnitClassesTCookieMethodsGetDomainEval(
Info: TProgramInfo; ExtObject: TObject);
procedure dws2WebUnitClassesTCookieMethodsGetExpiresEval(
Info: TProgramInfo; ExtObject: TObject);
procedure dws2WebUnitClassesTCookieMethodsGetHeaderValueEval(
Info: TProgramInfo; ExtObject: TObject);
procedure dws2WebUnitClassesTCookieMethodsGetNameEval(
Info: TProgramInfo; ExtObject: TObject);
procedure dws2WebUnitClassesTCookieMethodsGetPathEval(
Info: TProgramInfo; ExtObject: TObject);
procedure dws2WebUnitClassesTCookieMethodsGetValueEval(
Info: TProgramInfo; ExtObject: TObject);
procedure dws2WebUnitClassesTCookieMethodsSetSecureEval(
Info: TProgramInfo; ExtObject: TObject);
procedure dws2WebUnitClassesTCookieMethodsGetSecureEval(
Info: TProgramInfo; ExtObject: TObject);
procedure dws2WebUnitClassesRequestMethodsCookieCountEval(
Info: TProgramInfo; ExtObject: TObject);
procedure dws2WebUnitClassesRequestMethodsCookieEval(
Info: TProgramInfo; ExtObject: TObject);
procedure dws2WebUnitClassesRequestMethodsCookieNameEval(
Info: TProgramInfo; ExtObject: TObject);
procedure dws2WebUnitClassesRequestMethodsCookieValueEval(
Info: TProgramInfo; ExtObject: TObject);
procedure dws2WebUnitClassesResponseMethodsCookieCountEval(
Info: TProgramInfo; ExtObject: TObject);
procedure dws2WebUnitClassesResponseMethodsCookieEval(
Info: TProgramInfo; ExtObject: TObject);
procedure dws2WebUnitClassesResponseMethodsCookieByNameEval(
Info: TProgramInfo; ExtObject: TObject);
procedure dws2WebUnitClassesResponseMethodsNewCookieEval(
Info: TProgramInfo; ExtObject: TObject);
procedure dws2WebUnitClassesRequestMethodsParamsEval(
Info: TProgramInfo; ExtObject: TObject);
procedure dws2WebUnitClassesRequestMethodsLogContentEval(
Info: TProgramInfo; ExtObject: TObject);
procedure dws2WebUnitClassesRequestMethodsAcceptEval(
Info: TProgramInfo; ExtObject: TObject);
procedure dws2WebUnitClassesRequestMethodsMethodEval(
Info: TProgramInfo; ExtObject: TObject);
procedure dws2WebUnitFunctionsRtfToHtmlEval(Info: TProgramInfo);
procedure dws2WebUnitFunctionsFormVarEval(Info: TProgramInfo);
procedure dws2WebUnitFunctionsTrimURLEval(Info: TProgramInfo);
procedure dws2WebUnitFunctionsacceptWMLEval(Info: TProgramInfo);
procedure dws2WebUnitFunctionsURLencodeEval(Info: TProgramInfo);
procedure dws2WebUnitFunctionsURLdecodeEval(Info: TProgramInfo);
procedure dws2WebUnitFunctionsforwardEval(Info: TProgramInfo);
procedure customWebUnitClassesTFormVarGroupMethodsSetPrefixEval(
Info: TProgramInfo; ExtObject: TObject);
procedure customWebUnitClassesTFormVarGroupMethodsGetPrefixEval(
Info: TProgramInfo; ExtObject: TObject);
procedure customWebUnitClassesTFormVarGroupMethodsSetAddNullFieldsEval(
Info: TProgramInfo; ExtObject: TObject);
procedure customWebUnitClassesTFormVarGroupMethodscountEval(
Info: TProgramInfo; ExtObject: TObject);
procedure customWebUnitClassesTFormVarGroupMethodsExtEval(
Info: TProgramInfo; ExtObject: TObject);
procedure customWebUnitClassesTFormVarGroupMethodsValueEval(
Info: TProgramInfo; ExtObject: TObject);
procedure customWebUnitClassesTFormVarGroupMethodsGetAddNullFieldsEval(
Info: TProgramInfo; ExtObject: TObject);
procedure customWebUnitClassesTFormVarGroupMethodsEofEval(
Info: TProgramInfo; ExtObject: TObject);
procedure customWebUnitClassesTFormVarGroupMethodsFirstEval(
Info: TProgramInfo; ExtObject: TObject);
procedure customWebUnitClassesTFormVarGroupMethodsNextEval(
Info: TProgramInfo; ExtObject: TObject);
procedure customWebUnitClassesTFormVarGroupMethodsRecNrEval(
Info: TProgramInfo; ExtObject: TObject);
procedure customWebUnitClassesTFormVarGroupConstructorsCreateAssignExternalObject(
Info: TProgramInfo; var ExtObject: TObject);
private
FScript: TDelphiWebScriptII;
FHttpInfo: THttpInfo;
FDumpActContent: boolean;
FDumpFileName, FDumpPatternOpen, FDumpPatternClose: string;
FMultiPartBoundary: string;
// FMsMultipartFormParser: TMsMultipartFormParser;
FCustCommand: string;
// fieldname in HTML form that fires OnCustomCommand event
FOnEvalRequest, FOnEvalResponse, FOnEvalCookie, FOnEvalScriptDoc,
FOnEvalFormVar, FOnEvalDWS: TOnISAPIEvalEvent; //
FOnCustomCommandEval: TOnCustomCommandEvent; // OnCustomCommand eventhandler
FBeforeInitISAPISession, FAfterInitISAPISession: TOnISAPISessionEvent;
// OnInitISAPISession eventhandler
FBeforeCloseISAPISession, FAfterCloseISAPISession: TOnISAPISessionEvent;
// OnCloseISAPISession eventhandler
FSessionManagerIntf: ISessionManager;
FSessionManager: TComponent;
FNeedMemberLoginDWSErrorFile: string;
FNeedLoginDWSErrorFile: string;
FNeedSessionDWSErrorFile: string;
procedure SetSessionManager(const Value: TComponent);
procedure SetScript(const Value: TDelphiWebScriptII);
procedure SetNeedLoginDWSErrorFile(const Value: string);
procedure SetNeedMemberLoginDWSErrorFile(const Value: string);
procedure SetNeedSessionDWSErrorFile(const Value: string);
protected
procedure Notification(AComponent: TComponent; Operation: TOperation);
override;
function ManageUserSession(SessionManager: ISessionManager): string;
public
constructor Create(AOwner: TComponent); override;
destructor Destroy; override;
procedure InitISAPIsession(Request: TWebRequest; Response: TWebResponse);
procedure CloseIsapiSession;
function ActivateDumpScript(DumpStr: string): string;
property HttpInfo: THttpInfo read FHttpInfo;
property MultiPartBoundary: string read FMultiPartBoundary write
FMultiPartBoundary;
// property MsMultipartFormParser: TMsMultipartFormParser read FMsMultipartFormParser write FMsMultipartFormParser;
property DumpActContent: boolean read FDumpActContent write FDumpActContent;
property DumpFileName: string read FDumpFileName write FDumpFileName;
published
property Script: TDelphiWebScriptII read FScript write SetScript;
property NeedSessionDWSErrorFile: string read FNeedSessionDWSErrorFile write
SetNeedSessionDWSErrorFile;
property NeedLoginDWSErrorFile: string read FNeedLoginDWSErrorFile write
SetNeedLoginDWSErrorFile;
property NeedMemberLoginDWSErrorFile: string read
FNeedMemberLoginDWSErrorFile write SetNeedMemberLoginDWSErrorFile;
property SessionManager: TComponent read FSessionManager write
SetSessionManager;
property CustomCommand: string read FCustCommand write FCustCommand;
property DumpPatternOpen: string read FDumpPatternOpen write
FDumpPatternOpen;
property DumpPatternClose: string read FDumpPatternClose write
FDumpPatternClose;
property OnCustomCommand: TOnCustomCommandEvent read FOnCustomCommandEval
write FOnCustomCommandEval;
property BeforeInitISAPISession: TOnISAPISessionEvent read
FBeforeInitISAPISession write FBeforeInitISAPISession;
property AfterInitISAPISession: TOnISAPISessionEvent read
FAfterInitISAPISession write FAfterInitISAPISession;
property BeforeCloseISAPISession: TOnISAPISessionEvent read
FBeforeCloseISAPISession write FBeforeCloseISAPISession;
property AfterCloseISAPISession: TOnISAPISessionEvent read
FAfterCloseISAPISession write FAfterCloseISAPISession;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -