xmltooling::HTTPResponse Class Reference

Interface to HTTP response. More...

#include <xmltooling/io/HTTPResponse.h>

Inheritance diagram for xmltooling::HTTPResponse:

xmltooling::GenericResponse List of all members.

Public Types

 XMLTOOLING_HTTP_STATUS_OK = 200
 XMLTOOLING_HTTP_STATUS_MOVED = 302
 XMLTOOLING_HTTP_STATUS_NOTMODIFIED = 304
 XMLTOOLING_HTTP_STATUS_UNAUTHORIZED = 401
 XMLTOOLING_HTTP_STATUS_FORBIDDEN = 403
 XMLTOOLING_HTTP_STATUS_NOTFOUND = 404
 XMLTOOLING_HTTP_STATUS_ERROR = 500
enum  status_t {
  XMLTOOLING_HTTP_STATUS_OK = 200, XMLTOOLING_HTTP_STATUS_MOVED = 302, XMLTOOLING_HTTP_STATUS_NOTMODIFIED = 304, XMLTOOLING_HTTP_STATUS_UNAUTHORIZED = 401,
  XMLTOOLING_HTTP_STATUS_FORBIDDEN = 403, XMLTOOLING_HTTP_STATUS_NOTFOUND = 404, XMLTOOLING_HTTP_STATUS_ERROR = 500
}
 Some common HTTP status codes.

Public Member Functions

void setContentType (const char *type)
 Sets or clears the MIME type of the response.
virtual void setResponseHeader (const char *name, const char *value)
 Sets or clears a response header.
virtual void setCookie (const char *name, const char *value)
 Sets a client cookie.
virtual long sendRedirect (const char *url)
 Redirect the client to the specified URL and complete the response.
long sendError (std::istream &inputStream)
 Sends an "error" response to the client along with a transport-specific error indication.
long sendResponse (std::istream &inputStream)
 Sends a completed response to the client along with a transport-specific "OK" indication.

Static Public Member Functions

static std::vector< std::string > & getAllowedSchemes ()
 Returns a modifiable array of schemes to permit in sanitized URLs.
static void sanitizeURL (const char *url)
 Manually check for unsafe URLs vulnerable to injection attacks.

Detailed Description

Interface to HTTP response.

To supply information to the surrounding web server environment, a shim must be supplied in the form of this interface to adapt the library to different proprietary server APIs.

This interface need not be threadsafe.


Member Function Documentation

static std::vector<std::string>& xmltooling::HTTPResponse::getAllowedSchemes (  )  [static]

Returns a modifiable array of schemes to permit in sanitized URLs.

Updates to this array must be externally synchronized with any use of this class or its subclasses.

Returns:
a mutable array of strings containing the schemes to permit

static void xmltooling::HTTPResponse::sanitizeURL ( const char *  url  )  [static]

Manually check for unsafe URLs vulnerable to injection attacks.

Parameters:
url location to check

long xmltooling::HTTPResponse::sendError ( std::istream &  inputStream  )  [virtual]

Sends an "error" response to the client along with a transport-specific error indication.

Parameters:
inputStream reference to source of response data
Returns:
a result code to return from the calling MessageEncoder

Implements xmltooling::GenericResponse.

virtual long xmltooling::HTTPResponse::sendRedirect ( const char *  url  )  [virtual]

Redirect the client to the specified URL and complete the response.

Any headers previously set will be sent ahead of the redirect.

The URL will be validated with the sanitizeURL method below.

Parameters:
url location to redirect client
Returns:
a result code to return from the calling MessageEncoder

long xmltooling::HTTPResponse::sendResponse ( std::istream &  inputStream  )  [virtual]

Sends a completed response to the client along with a transport-specific "OK" indication.

Used for "normal" responses.

Parameters:
inputStream reference to source of response data
Returns:
a result code to return from the calling MessageEncoder

Implements xmltooling::GenericResponse.

void xmltooling::HTTPResponse::setContentType ( const char *  type  )  [virtual]

Sets or clears the MIME type of the response.

Parameters:
type the MIME type, or nullptr to clear

Implements xmltooling::GenericResponse.

virtual void xmltooling::HTTPResponse::setCookie ( const char *  name,
const char *  value 
) [virtual]

Sets a client cookie.

Parameters:
name cookie name
value value to set, or nullptr to clear

virtual void xmltooling::HTTPResponse::setResponseHeader ( const char *  name,
const char *  value 
) [virtual]

Sets or clears a response header.

Parameters:
name header name
value value to set, or nullptr to clear


The documentation for this class was generated from the following file:
Generated on Mon Sep 10 17:19:11 2012 for xmltooling by  doxygen 1.4.7