/*
- * Copyright 2001-2006 Internet2
+ * Copyright 2001-2007 Internet2
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
public:
virtual ~HTTPResponse() {}
+ void setContentType(const char* type) {
+ setResponseHeader("Content-Type", type);
+ }
+
/**
* Sets or clears a response header.
*
* @param name header name
* @param value value to set, or NULL to clear
*/
- virtual void setHeader(const char* name, const char* value)=0;
+ virtual void setResponseHeader(const char* name, const char* value)=0;
/**
* Sets a client cookie.
* @param name cookie name
* @param value value to set, or NULL to clear
*/
- virtual void setCookie(const char* name, const char* value)=0;
+ virtual void setCookie(const char* name, const char* value) {
+ std::string cookie(name);
+ cookie = cookie + '=' + value;
+ setResponseHeader("Set-Cookie", cookie.c_str());
+ }
/**
* Redirect the client to the specified URL and complete the response.
enum status_t {
SAML_HTTP_STATUS_OK = 200,
SAML_HTTP_STATUS_MOVED = 302,
+ SAML_HTTP_STATUS_FORBIDDEN = 403,
+ SAML_HTTP_STATUS_NOTFOUND = 404,
SAML_HTTP_STATUS_ERROR = 500
};
+
+ using GenericResponse::sendResponse;
+
+ long sendError(std::istream& inputStream) {
+ return sendResponse(inputStream, SAML_HTTP_STATUS_ERROR);
+ }
+
+ long sendResponse(std::istream& inputStream) {
+ return sendResponse(inputStream, SAML_HTTP_STATUS_OK);
+ }
};
};