FCL-Web
FCL-Web[1] is part of Free Pascal's Free Component Library (FCL), focusing on web (related) application development. The package helps users to develop CGI, FastCGI and embedded web server applications, as well as Apache modules. It provides units implementing HTTP(S) protocol and a somewhat low level web application framework, in the form of web modules. Some content producers (e.g. for automatic content generation from dataset) are also provided. Other prominent use is to send/retrieve data from/to web services (possibly using JSON-RPC). Web Application Support Unitsfpcgi, fpfcgi, fphttpapp and fpapache are the units implementing CGI, FastCGI, embedded web server and Apache module respectively. The interface between the units is made similar by utilizing object oriented inheritance. Therefore, a change of used unit in the uses clause is sufficient to create all 4 kinds of web applications, without code changes for most of the rest of the application. A notable exception might be the need to set port for FastCGI and embedded web server. Other Units
fpWeb Framework![]() fpWeb is a framework built on top of fcl-web units and itself is a part of fcl-web. The architecture is quite modular and a RAD package for use with Lazarus is available. A fpWeb application consists of one or more web modules, with optional one or more web actions for each module. The framework uses static routing in the form of:
The string "module" and "action" can be configured through Request handling is done in cascading manner using the following algorithm:
ReferencesFurther reading
|