Genivia - ISAPI_Server.cpp File Reference

|  | Home | Documentation | ISAPI_Server.cpp File Reference updated Mon Feb 22 2016 |

- Main Page
- Classes
- Files

- File List
- File Members

Classes | Functions | Variables
ISAPI_Server.cpp File Reference
`#include <memory>`
`#include <strstream>`
`#include <cassert>`
`#include "ISAPI_Server.h"`
`#include "isapistream.h"`
`#include "ISAPI_HttpContext.h"`
`#include "ISAPI_SoapServerFactory.h"`
Include dependency graph for ISAPI_Server.cpp:

## Classes
class | SoapTransaction

## Functions
static string | MakeDllName (EXTENSION_CONTROL_BLOCK *pECB, const char *pszDllName)
| helper function to build full path to dll. More...
static int | mod_gsoap_plugin_copy (struct soap *soap, struct soap_plugin *dst, struct soap_plugin *src)
static void | mod_gsoap_delete (struct soap *soap, struct soap_plugin *p)
static int | mod_gsoap_plugin (struct soap *soap, struct soap_plugin *p, void *arg)
static int | http_post_header (soap *soap, const char *key, const char *value)
static int | http_response (soap *soap, int soap_error, size_t count)
static int | fsend (soap *soap, const char *pBuf, size_t len)
static size_t | frecv (soap *soap, char *pBuf, size_t len)
static DWORD | serve (const mod_gsoap_interface *pInterface, ISAPI_HttpRequest &req, HttpResponse res, isapistream &is)
static void | SendErrorMessage (isapistream &is, const char *pszError)

## Variables
static const char * | GSOAP_ID = "mod_gsoap isapi extension 0.0.2"
static const char * | crlf = "\r\n"

## Detailed Description

Implementation of the ISAPI_Server class

Author
  Christian Aberger Copyright (C) 2001 WebWare (http://www.webware.at) Load a gosap server dll dynamically (if not already loaded) and serve the request. See http://www.aberger.at/SOAP for documentation.

## Function Documentation

static size_t frecv | ( | soap * | soap,
|  | char * | pBuf,
|  | size_t | len
| ) |  |
| static

gsoap function that requests the next piece of data from us

static int fsend | ( | soap * | soap,
|  | const char * | pBuf,
|  | size_t | len
| ) |  |
| static

gsoap function to append the data to send to our output buffer

static int http_post_header | ( | soap * | soap,
|  | const char * | key,
|  | const char * | value
| ) |  |
| static

Emits HTTP key: val header entries.

Returns
  SOAP_OK, or a gSOAP error code. Built-in gSOAP function: http_post_header.

IIS handles most of the headers (Connection etc.) itself. The main thing we need to extract is SOAPAction.

static int http_response | ( | soap * | soap,
|  | int | soap_error,
|  | size_t | count
| ) |  |
| static

set the http - response code from the soap error message.

static string MakeDllName | ( | EXTENSION_CONTROL_BLOCK * | pECB,
|  | const char * | pszDllName
| ) |  |
| static

> helper function to build full path to dll.

Given a dllname make a fully qualified path to the dll in the current isapi directory

Parameters

  pECB | the Extension Control Block of the Request
  pszDllName | the unqualified dllname

static void mod_gsoap_delete | ( | struct soap * | soap,
|  | struct soap_plugin * | p
| ) |  |
| static

static int mod_gsoap_plugin | ( | struct soap * | soap,
|  | struct soap_plugin * | p,
|  | void * | arg
| ) |  |
| static

static int mod_gsoap_plugin_copy | ( | struct soap * | soap,
|  | struct soap_plugin * | dst,
|  | struct soap_plugin * | src
| ) |  |
| static

static void SendErrorMessage | ( | isapistream & | is,
|  | const char * | pszError
| ) |  |
| static

static DWORD serve | ( | const mod_gsoap_interface * | pInterface,
|  | ISAPI_HttpRequest & | req,
|  | HttpResponse | res,
|  | isapistream & | is
| ) |  |
| static

## Variable Documentation

const char* crlf = "\r\n"
| static

const char* GSOAP_ID = "mod_gsoap isapi extension 0.0.2"
| static