Tree [3ae6d0] master /
History



File Date Author Commit
docs 2009-04-08 JSterling JSterling [81f689] oops, added some backup and svn files. removin...
example 2012-05-09 sterling sterling [9aa2a5] fix 2 things: 1 aggressive -Werror with new li...
include 2012-05-08 sterling sterling [574583] put updates for filter tests
src 2012-05-09 sterling sterling [3ae6d0] remove the error log - convert to debug in prot...
test 2012-05-09 sterling sterling [9aa2a5] fix 2 things: 1 aggressive -Werror with new li...
AUTHORS 2009-03-30 JSterling JSterling [047f11] initial load
COPYING 2009-03-30 JSterling JSterling [047f11] initial load
ChangeLog 2009-03-30 JSterling JSterling [047f11] initial load
Doxyfile 2009-03-30 JSterling JSterling [047f11] initial load
INSTALL 2009-03-30 JSterling JSterling [047f11] initial load
Makefile.am 2009-03-30 JSterling JSterling [047f11] initial load
NEWS 2009-03-30 JSterling JSterling [047f11] initial load
README 2009-03-30 JSterling JSterling [047f11] initial load
autogen.sh 2009-03-30 JSterling JSterling [047f11] initial load
commit.pl 2009-03-30 JSterling JSterling [047f11] initial load
configure.in 2009-03-30 JSterling JSterling [047f11] initial load
mod_cplusplus.dsp 2009-03-30 JSterling JSterling [047f11] initial load
mod_cplusplus.kdevprj 2009-03-30 JSterling JSterling [047f11] initial load
mod_cplusplus.vcproj 2009-03-30 JSterling JSterling [047f11] initial load

Read Me

mod_cplusplus is a proper apache module which allows you to load cpp objects 
as handlers for Apache-2.0.  It differs from other modules i've seen in that 
it manages the loading and calling of separate shared objects containing your
handler classes.  This allows you to easily and cleanly run an entire site
with c++ handlers.

Simply subclass from ApacheHandler and implement whichever methods you are interested in:

    virtual int handler()
    virtual int fixups()
    virtual int post_read_request() 
    virtual int translate_name() 
    virtual int header_parser()
    virtual int check_user_id()
    virtual int access_checker()
    virtual int auth_checker()
    virtual int type_checker()
    virtual int logger()

there is also a built in utility to fetch config directives (passed using 
PassCPPVar directive):
    char *get_cpp_var(r, name)

You only need to override the methods you want to handle for the given object, 
otherwise that phase will be declined.