1
This is the beginning of a server side web system for FPC.
2
Although it is non-visual, it is geared towards use in Lazarus.
8
contains the basic HTTP system definitions:
11
collection with cookies in web request
13
collection with uploaded files in request
15
Class describes HTTP Request/Response headers.
16
it has properties for all possible HTTP headers, including cookies
18
Descendent of THTTPHeader, describes client request.
19
Contains uploaded files.
21
describes the web server response. Includes headers and contents.
23
Base for all session components.
27
Basic web system components/classes
30
Abstract TDataModule descendant, which processes a webrequest
31
and prepares a response.
32
TModuleFactory/TModuleItem:
33
Module registration and creation system.
37
routine registers a module with the web system.
38
THTTPContentProducer :
39
abstract HTTP producer component.
41
The idea is that the URL relative to the server is taken and parsed as
43
http://www.server.org/Path1/Path2
45
Path1 determines which module in the system is created to handle the
46
request. (the factory is queried)
47
Path2 determines which web action inside the module is used to handle the
48
request. (implemented in TWebModule, see fpweb)
52
Implements basic session support.
55
TCustomHTTPModule descendent with session support.
57
TCustomSession descendent which stores session variables in inifiles.
59
TIniWebSession descendent for use in fpweb. Uses cookies to store session info.
61
returns default session object.
65
Unit which implements template support.
68
Template parse object. Does the actual parsing and replacing. Delimiters
69
are configurable. Standard variables can be specified, callbacks for unknown
73
TPersistent for use in components. Allows properties to configure the
74
TTemplateParser. Supports streams, template and template files.
78
Actual usable implementation of TCustomHTTPModule.
81
Web actions with template support.
83
Descends from TSessionHTTPModule, implements WebActions and has template support.
85
published TCustomFPWebModule properties for use in Lazarus.
89
This creates web modules specialized in creating HTML content.
92
Descendent of THTTPContentProducer which produces HTML
93
THTMLCustomDatasetContentProducer:
94
Descendent of THTTPContentProducer which produces HTML from datasets.
95
THTMLDatasetContentProducer:
96
Descendent of THTMLCustomDatasetContentProducer which publishes some
100
THTMLDatasetSelectProducer
101
Produces a combo box bases on values in a dataset.
103
TCustomHTTPModule descendent which produces HTML content only.
105
Note that classes for HTML document creation come from package fcl-xml.
110
This contains classes which allow to create complicated HTML/forms
113
THTMLDatasetFormProducer
114
Creates an edit form for a TDataset record.
115
Complicated table layouts are possible.
117
THTMLDatasetFormGridProducer
118
Creates a grid with data from a TDataset
119
Complicated table formatting is possible.
123
CGI application base class. It knows nothing of the fp
126
TCustomCGIApplication :
127
TCustomApplication descendent which handles a CGI request.
128
No instance of this class is created, this is done in fpcgi.
131
TRequest descendent which retrieves content from the CGI
135
TResponse descendent which returns content to the CGI environment.
139
Standard CGI application instance.
142
TCustomCGIApplication descendent which uses the fpWeb system
143
to create a TCustomHTTPModuleClass to handle the request.
145
It contains an Application instance which handles everything.
149
Apache Module support.
151
TCustomApacheApplication:
152
Uses fpweb to create TCustomHTTPModuleClass instances to