Switch status code for access denial.
[shibboleth/cpp-sp.git] / fastcgi / shibresponder.cpp
index 4cab35d..ce42928 100644 (file)
@@ -36,6 +36,7 @@
 #include <xmltooling/util/XMLHelper.h>\r
 #include <xercesc/util/XMLUniDefs.hpp>\r
 \r
+#include <stdexcept>\r
 #include <stdlib.h>\r
 #ifdef HAVE_UNISTD_H\r
 # include <unistd.h>\r
@@ -80,7 +81,7 @@ public:
             m_port = strtol(server_port_str, &server_port_str, 10);\r
             if (*server_port_str) {\r
                 cerr << "can't parse SERVER_PORT (" << FCGX_GetParam("SERVER_PORT", req->envp) << ")" << endl;\r
-                throw exception("Unable to determine server port.");\r
+                throw runtime_error("Unable to determine server port.");\r
             }\r
         }\r
 \r
@@ -164,9 +165,10 @@ public:
 \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
@@ -206,15 +208,15 @@ public:
     // Not used in the extension.\r
 \r
     virtual void clearHeader(const char* rawname, const char* cginame) {\r
-        throw exception("clearHeader not implemented by FastCGI responder.");\r
+        throw runtime_error("clearHeader not implemented by FastCGI responder.");\r
     }\r
   \r
     virtual void setHeader(const char* name, const char* value) {\r
-        throw exception("setHeader not implemented by FastCGI responder.");\r
+        throw runtime_error("setHeader not implemented by FastCGI responder.");\r
     }\r
 \r
     virtual void setRemoteUser(const char* user) {\r
-        throw exception("setRemoteUser not implemented by FastCGI responder.");\r
+        throw runtime_error("setRemoteUser not implemented by FastCGI responder.");\r
     }\r
 };\r
 \r