Wamie

Definitons

This project aims to provide utilities to make the writing of Apache modules easy and strightforward.

Result

Wamie shall deliver:

  1. Instructions and c-wrappers to call Eiffel-code from Apache handlers.
  2. Eiffel classes that encapsulate apache core objects:
    1. AP_REQUEST encapsulating struct request_rec
    2. AP_SERVER encapsulating struct server_rec
    3. AP_CONNECTION encapsulating struct conn_rec
    4. AP_PROCESS encapsulating struct process_rec
    5. AP_CONSTANTS encapsulating constants from "httpd.h"
  3. Wrapping apr routines in Eiffel
  4. Tools and instructions to automate or facilitate:
    1. the setting up of projects to develop Apache modules
    2. the building
    3. the test of developed modules
    4. the generation of installation packages

API Refactor

  1. Wamie/Refactor

User Guide

  1. Wamie/User_Guide

API Definition

  1. Wamie/API

How to build my own apache module?

Tutorial

How to read the client request?

Tutorial

Process

  1. Simple C module. Result
  2. Wamie proof of Concept Work in progress
  3. request_rec's Wrapper (AP_REQUEST)
  4. server_rec's Wrapper (AP_SERVER)
  5. conn_req's Wrapper (AP_CONNECTION)
  6. process_req's Wrapper (AP_PROCESS)
  7. ap_table's Wrapper (AP_TABLE)
  8. ap_filter's Wrapper (AP_FILTER)
  9. ap_htaccess_result's Wrapper (AP_HTACCESS_RESULT)
  10. apr_finfo's Wrapper (APR_INFO)
  11. apr_uri's Wrapper (APR_URI)
  12. apr_array_header's Wrapper (APR_ARRAY_HEADER)
  13. ap_method_list's Wrapper (AP_METHOD_LIST)
  14. ap_constants's Wrapper (AP_CONSTANTS)

Starting points

httpd.h

http_protocol.h

http_config.h

References

[1] http://httpd.apache.org/docs/2.2/Modules and  Handlers

[2] http://wiki.apache.org/httpd/ModuleLife