mturk 2005/02/25 02:54:26
Modified: jk/native/iis jk_isapi_plugin.c
Log:
Calculate reason string if not provided to be HTTP rfc compliant.
Revision Changes Path
1.44 +57 -2 jakarta-tomcat-connectors/jk/native/iis/jk_isapi_plugin.c
Index: jk_isapi_plugin.c
===================================================================
RCS file:
/home/cvs/jakarta-tomcat-connectors/jk/native/iis/jk_isapi_plugin.c,v
retrieving revision 1.43
retrieving revision 1.44
diff -u -r1.43 -r1.44
--- jk_isapi_plugin.c 25 Feb 2005 10:20:06 -0000 1.43
+++ jk_isapi_plugin.c 25 Feb 2005 10:54:26 -0000 1.44
@@ -331,6 +331,61 @@
return where;
}
+static char *status_reason(int status)
+{
+ static struct reasons {
+ int status;
+ char *reason;
+ } *r, reasons[] = {
+ { 100, "Continue" },
+ { 101, "Switching Protocols" },
+ { 200, "OK" },
+ { 201, "Created" },
+ { 202, "Accepted" },
+ { 203, "Non-Authoritative Information" },
+ { 204, "No Content" },
+ { 205, "Reset Content" },
+ { 206, "Partial Content" },
+ { 300, "Multiple Choices" },
+ { 301, "Moved Permanently" },
+ { 302, "Moved Temporarily" },
+ { 303, "See Other" },
+ { 304, "Not Modified" },
+ { 305, "Use Proxy" },
+ { 400, "Bad Request" },
+ { 401, "Unauthorized" },
+ { 402, "Payment Required" },
+ { 403, "Forbidden" },
+ { 404, "Not Found" },
+ { 405, "Method Not Allowed" },
+ { 406, "Not Acceptable" },
+ { 407, "Proxy Authentication Required" },
+ { 408, "Request Timeout" },
+ { 409, "Conflict" },
+ { 410, "Gone" },
+ { 411, "Length Required" },
+ { 412, "Precondition Failed" },
+ { 413, "Request Entity Too Large" },
+ { 414, "Request-URI Too Long" },
+ { 415, "Unsupported Media Type" },
+ { 500, "Internal Server Error" },
+ { 501, "Not Implemented" },
+ { 502, "Bad Gateway" },
+ { 503, "Service Unavailable" },
+ { 504, "Gateway Timeout" },
+ { 505, "HTTP Version Not Supported" },
+ { 000, NULL}
+ };
+
+ r = reasons;
+ while (r->status <= status)
+ if (r->status == status)
+ return r->reason;
+ else
+ r++;
+ return "No Reason";
+}
+
static int escape_url(const char *path, char *dest, int destsize)
{
const BYTE *s = (const BYTE *)path;
@@ -433,7 +488,7 @@
* Create the status line
*/
if (!reason) {
- reason = "";
+ reason = status_reason(status);
}
status_str = (char *)_alloca((6 + strlen(reason)) *
sizeof(char));
sprintf(status_str, "%d %s", status, reason);
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]