⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 dws2weblibmodule.pas

📁 script language
💻 PAS
📖 第 1 页 / 共 4 页
字号:
{**********************************************************************}
{                                                                      }
{    "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 + -