Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
The OK Web Server
C++ C Python Shell HTML Logos Other

This branch is 15 commits ahead, 657 commits behind master

Fetching latest commit…

Cannot retrieve the latest commit at this time

Failed to load latest commit information.
build
client
conf
contrib
devel-cases
dist
docs
examples
ezdb
htdocs
libahttp
libamt
libamt_pthread
libamysql
libaok
libokssl
libokxml
libpub
librfn
libweb
logd
notes
okd
patch
pub
py
ssld
test
tmp
tools
xmlrpcc
.cvsignore
AUTHORS
BUGS
COPYING
ChangeLog
Makefile.am
NEWS
README
TODO.ssl
acinclude.m4
acokws.m4
autoconf.sed
cfg
configure.in
setup
setup.gnu

README

$Id$

Here's a quick overview of what's here:

(1) libpub -- A library used for publishing in the templating system.

(2) pub -- publishing executables.  pub is run on the command line when
either (a) templating static content (.html files) or (b) preprocessing
HTML-ified C++ code into C++ code.  there is also a pubd background
daemon that is launched by the webserver on boot, that serves
all HTML templates.

(3) libahttp -- library for HTTP transport, header parsing, CGI
variable parsing, and response generation.

(4) libaok -- Library that web developers should link against to create
new CGI services.

(5) okd -- okd is the leader process that listens on port 80.  it send
file descriptors to the child processes based on a specified configuration
file.  it also will have a control port open, through which the user can
send "reload" messages.

(6) samples -- sample processes.  cgiscript1.g is a sample okd child process,
which actually serves basic web pages.

(7) client -- a simple HTML test client

(8) etc --  sample configuration files

(9) html -- sample HTML files exhibiting switches, includes, and also
    run-time variable resolutions.

(10) libamysql -- a libasync interface to mysql.  

(11) libamt -- async / multithread bridge.  allows ARPC to interface
     with threaded user libraries.

(12) blrplt -- Makes a boiler plate Okd build directory, in which you
     can write all your own Ok Services.  To use this feature, run 
     bld.sh <dir> in a new directory, and it will copy all of the 
     relevant files over. (currently the build scripts generated
     are a bit out of date; I'm working on fixing these)

(13) etc -- some configuration file exmaples.

(14) libaz - Instead of using strbufs and strs, OKD uses
     zbufs and zstrs, respecivtely. This provides a smart
     caching GZip filter, for chunked, compressed gzip.

(15) logd -- the external logging program. all services log to
     one central location, handled by this logger.

Compile Notes:

 - My autoconf scripts are somewhat broken, and I haven't had time to 
   fix them.  You should also have on your system the following to
   get all of the library to compile:

	- Pth -- GNU portable thread library. Make sure you enable
	  "hard system calls" when you compile.  Soft system calls
          do a load of pre-processor macro subtitutions that break
          libasync -- especially that for "select," which means something
          very different in the world of ARPC.

	- Mysql client 4.1

   Eventually I'll have some nice portable solutions here, but for now,
   this is what I have.

Further Documentation
---------------------
See http://www.okws.org for further documentation about the OKWS system.
The documentation is still in need of much work, including tutorials.

License
-------
OKWS is distributed under GPLv2.  Please see ./COPYING for a full
description of the license.
Something went wrong with that request. Please try again.