Request object is a class of TIdHTTPAppRequest.
It's inherited from TWebRequest, but add original RequestInfo and ResponseInfo property.
type
TIdHTTPAppRequest = class(TWebRequest)
public
property RequestInfo: TIdHTTPRequestInfo read FRequestInfo;
property ResponseInfo: TIdHTTPResponseInfo read FResponseInfo;
end;
The runtime Request information is:
Name | Request | Request.RequestInfo |
---|
ClassName | TIdHTTPAppRequest | TIdIisHTTPRequestInfo |
CharSet | (Null) | |
Connection | Keep-Alive | Keep-Alive |
ContentEncoding | | |
ContentLanguage | (Null) | |
ContentLength | 0 | -1 |
ContentType | | |
ContentVersion | | |
Date | -1 | 45571.4678840741 |
Expires | -1 | 0 |
ETag | (Null) | |
LastModified | (Null) | 0 |
Pragma | (Null) | |
TransferEncoding | (Null) | |
Accept | text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8 | text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8 |
AcceptCharSet | (Null) | |
AcceptEncoding | (Null) | br,gzip |
AcceptLanguage | (Null) | en-US,en;q=0.5 |
From | | |
Password | (Null) | |
Referer | | |
UserAgent | CCBot/2.0 (https://commoncrawl.org/faq/) | CCBot/2.0 (https://commoncrawl.org/faq/) |
UserName | (Null) | |
Host | www.moonserver.cn | www.moonserver.cn |
ProxyConnection | (Null) | |
Range | (Null) | |
AuthExists | (Null) | False |
Cookies.CookieFileds | | (Null) |
Cookies.Count | 0 | (Null) |
Params | | |
RawHTTPCommand | (Null) | |
RemoteIP | 35.173.48.18 | GET /lessons/Lesson5/ HTTP/1.1 |
RemoteHost | | (Null) |
Session | (Null) | (Null) |
URL | /lessons/Lesson5/ | |
Method | GET | GET |
Version | | |
AuthUsername | (Null) | |
Query | | (Null) |
QueryFields | | (Null) |
QueryFields.Count | 0 | (Null) |
Content | | (Null) |
ContentFields.Text | | (Null) |
ContentFields.Count | 0 | (Null) |
PathInfo | /lessons/Lesson5/ | (Null) |
PathTranslated | /lessons/Lesson5/ | (Null) |
InternalPathInfo | /lessons/Lesson5/ | (Null) |
Files.Count | 0 | (Null) |
Title | | (Null) |
IfModifiedSince | -1 | (Null) |
Response object is a class of TIdHTTPAppResponse.
It's inherited from TWebResponse, but add original RequestInfo and ResponseInfo property.
type
TIdHTTPAppResponse = class(TWebResponse)
public
property ResponseInfo: TIdHTTPResponseInfo read FResponseInfo;
property RequestInfo: TIdHTTPRequestInfo read FRequestInfo;
end;
The runtime Response information is:
Name | Response | Response.ResponseInfo |
---|
ClassName | TIdHTTPAppResponse | TIdHTTPResponseInfo |
Version | | (Null) |
ReasonString | OK | (Null) |
Server | | |
Realm | | Indy/10.5.8.0 |
Allow | | (Null) |
Location | | |
ContentEncoding | | |
ContentType | text/html | text/html |
ContentVersion | | |
DerivedFrom | | (Null) |
Title | | (Null) |
StatusCode | 200 | 0 |
ContentLength | 5184 | 5184 |
Date | -1 | -1 |
Expires | -1 | -1 |
LastModified | -1 | -1 |
Content | 5388 | 0 |
CustomHeaders.Text | | (Null) |
CustomHeaders.Count | 0 | (Null) |
FreeStream | False | (Null) |
CacheControl | (Null) | |
CharSet | (Null) | |
Connection | (Null) | close |
ContentDisposition | (Null) | |
ContentEncoding | | |
ContentLanguage | (Null) | |
ContentLength | (Null) | 5953 |
ETag | (Null) | |
Pragma | (Null) | |
TransferEncoding | (Null) | |
AcceptRanges | (Null) | |
ProxyConnection | (Null) | |
CloseConnection | (Null) | True |
HeaderHasBeenWritten | (Null) | True |
ServerSoftware | (Null) | |
WebModule object is a class of TAppWebModule.
It's inherited from TWebModule, but add a little method.
type
TAppWebModule = class(TWebModule)
public
function SendFile(Request: TWebRequest; Response: TWebResponse;
const AFileName: string = '; MinZipSize: Integer = 1024; MaxAge: Integer = -1): Integer;
function SendContent(Request: TWebRequest; Response: TWebResponse;
const AContent: string = '; AStatusCode: Integer = 200; MinZipSize: Integer = 1024): Integer;
public
property Values[AName: string]: Variant read GetValues write SetValues;
end;
The runtime WebModule information is:
Name | WebModule | Description |
---|
ClassName | TAppWebModule | |
Values | | Some variant of current page |
ContentZipType | 0 | Control the content to compress.0=auto;1=NotZip;2=ForceZip |
MinZipSize | 1024 | Minimized compress content size; Load from config; you can customize it in current page.0=NotZip |
MaxCacheFileSize | 10485760 | Cached the file size;Load from config; do not change. |
yes, you can change the compress option to customize current page,ie:
WM.Values['MinZipSize'] := 512;//Only this page.
The client browser is not support compress.