#include <xmltooling/XMLToolingConfig.h>\r
#include <xmltooling/util/NDC.h>\r
#include <xmltooling/util/XMLConstants.h>\r
+#include <xmltooling/util/XMLHelper.h>\r
#include <xercesc/util/XMLUniDefs.hpp>\r
\r
#include <stdexcept>\r
\r
public:\r
ShibTargetFCGI(FCGX_Request* req, char* post_data, const char* scheme=NULL, const char* hostname=NULL, int port=0)\r
- : m_req(req), m_body(post_data) {\r
+ : AbstractSPRequest(SHIBSP_LOGCAT".FastCGI"), m_req(req), m_body(post_data) {\r
\r
const char* server_name_str = hostname;\r
if (!server_name_str || !*server_name_str)\r
if (!server_scheme_str || !*server_scheme_str)\r
server_scheme_str = (m_port == 443 || m_port == 8443) ? "https" : "http";\r
m_scheme = server_scheme_str;\r
+\r
+ setRequestURI(FCGX_GetParam("REQUEST_URI", m_req->envp));\r
}\r
\r
~ShibTargetFCGI() { }\r
int getPort() const {\r
return m_port;\r
}\r
- const char* getRequestURI() const {\r
- return FCGX_GetParam("REQUEST_URI", m_req->envp);\r
- }\r
const char* getMethod() const {\r
return FCGX_GetParam("REQUEST_METHOD", m_req->envp);\r
}\r
\r
const char* codestr="Status: 200 OK";\r
switch (status) {\r
- case XMLTOOLING_HTTP_STATUS_ERROR: codestr="Status: 500 Server Error"; break;\r
- case XMLTOOLING_HTTP_STATUS_FORBIDDEN:codestr="Status: 403 Forbidden"; break;\r
- case XMLTOOLING_HTTP_STATUS_NOTFOUND: codestr="Status: 404 Not Found"; break;\r
+ case XMLTOOLING_HTTP_STATUS_ERROR: codestr="Status: 500 Server Error"; break;\r
+ case XMLTOOLING_HTTP_STATUS_UNAUTHORIZED: codestr="Status: 401 Authorization Required"; break;\r
+ case XMLTOOLING_HTTP_STATUS_FORBIDDEN: codestr="Status: 403 Forbidden"; break;\r
+ case XMLTOOLING_HTTP_STATUS_NOTFOUND: codestr="Status: 404 Not Found"; break;\r
}\r
cout << codestr << "\r\n" << hdr << "\r\n";\r
char buf[1024];\r