File size: 1,525 Bytes
fd49381
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
#ifndef ABYSS_HANDER_H_INCLUDED
#define ABYSS_HANDER_H_INCLUDED

#include "xmlrpc-c/abyss.h"
#include "xmlrpc-c/server.h"
#include "xmlrpc-c/server_abyss.h"

struct uriHandlerXmlrpc {
/*----------------------------------------------------------------------------
   This is the part of an Abyss HTTP request handler (aka URI handler)
   that is specific to the Xmlrpc-c handler.
-----------------------------------------------------------------------------*/
    xmlrpc_registry *       registryP;
    const char *            uriPath;  /* malloc'ed */
    bool                    chunkResponse;
        /* The handler should chunk its response whenever possible */
    xmlrpc_call_processor * xmlProcessor;
    void *                  xmlProcessorArg;
    ResponseAccessCtl       accessControl;
};


void
xmlrpc_termUriHandler(void * const arg);

void
xmlrpc_handleIfXmlrpcReq(void *       const handlerArg,
                         TSession *   const abyssSessionP,
                         abyss_bool * const handledP);

abyss_bool
xmlrpc_serverAbyssDefaultUriHandler(TSession * const sessionP);

void
xmlrpc_initAccessCtl(ResponseAccessCtl * const accessCtlP,
                     const char *        const allowOrigin,
                     bool                const expires,
                     unsigned int        const maxAge);

void
xmlrpc_termAccessControl(ResponseAccessCtl * const accessCtlP);

void
xmlrpc_abyss_handler_trace(const char * const trace);

unsigned int
xmlrpc_abyss_handler_stacksize(void);

#endif