Interface to HTTP response.
More...
#include <xmltooling/io/HTTPResponse.h>
Public Types |
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. More...
|
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.
|
virtual long | sendResponse (std::istream &inputStream, long status)=0 |
| Sends a completed response to the client.
|
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 Enumeration Documentation
Some common HTTP status codes.
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
-
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: