wombat - dsource.org (original) (raw)
Note: This website is archived. For up-to-date information about D projects and development, please visitwiki.dlang.org.
Status
This project is not in active development. At this point (Feb 2008), it shouldn't be too difficult to get it working with recent DMD releases.
Downloads
Quick Start
Wombat is a library for using CGI ( tested with Apache 1 & 2 ) for web applications.
Wombat works in pairs, there is a D file that contains all your business logic, and an HTML file that has embedded code for presentation logic. Here is an example
Every Wombat application must call dgi_begin() ( all headers must be sent before this is called ) , and dgi_end (). And if you have a corresponding HTML file, you must import the file and [tem]plate the file, for example:
const char [] html = import("get.html"); const char [] code = plateFile(html);
This is all that is required to for your Wombat apps!
Here is a list of global variables available to you at runtime for your web app.
char [] [ char [] ] cookies; // if ( "myCookie" in cookies ) print(cookies["myCookie"]); char [] [ char [] ] get; // get["myVar"]; char [] [ char [] ] post; // post[myVar"]; char [] [ char [] ] session; // session["mySessionVar"]; char [] [ char [] ] [ char [] ] files; // print(files["myFile"]["size"]); // print(files["myFile"]["client_file_name"]); // print(files["myFile"]["server_file_name"]);
And here is a quick function reference
void header( char [] text ); // send out standard headers void redirect( char [] url ) ; // redirect user to said url
bool fileWrite( char [] path, char [] content, bool append = false ); // write to a file char [] fileRead( char [] path ); // slurps in a file void fileMove( char [] source, char [] destination ); // move a file
char [] urlEncode ( char [] url ); // encode a url char [] urlDecode ( char [] url ); // dencode a url
Examples
- cookie.d
- cookie.html
- db_example.d
- db_example.html
- get.d
- get.html
- file_upload.d
- pre_file_upload.html
- post.d
- post.html
- session.d
- session.html
Coming up Next
- ORM mapper, that generates SQL for committing - retrieving and creating D beans based on in file comments
- Plates for Mango's servlets