/** @file
Parser: web server api interface object decl.
Copyright (c) 2001, 2003 ArtLebedev Group (http://www.artlebedev.com)
Author: Alexandr Petrosian <paf@design.ru> (http://paf.design.ru)
*/
#ifndef PA_SAPI_H
#define PA_SAPI_H
static const char* IDENT_SAPI_H="$Date: 2003/01/29 09:16:15 $";
// includes
#include "pa_pool.h"
#include "pa_types.h"
// forwards
class SAPI_Info;
/// target web-Server API
struct SAPI {
/// log error message
static void log(SAPI_Info& info, const char *fmt, ...);
/// log error message & die
static void die(const char *fmt, ...);
/// environment strings
static const char *const *environment(SAPI_Info& info);
/// get environment string
static const char *get_env(SAPI_Info& info, const char *name);
/// read POST request bytes
static size_t read_post(SAPI_Info& info, char *buf, size_t max_bytes);
/// add response header attribute [but do not send it to client]
static void add_header_attribute(SAPI_Info& info, const char *key, const char *value);
/// send collected header attributes to client
static void send_header(SAPI_Info& info);
/// output body bytes
static void send_body(SAPI_Info& info, const void *buf, size_t size);
};
#endif
E-mail: