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]