X-Git-Url: http://git.indexdata.com/?p=yaz-moved-to-github.git;a=blobdiff_plain;f=src%2Fhttp.c;h=62bfa6fe2dda54875f9081f3fd3ad3ab8aa95dc0;hp=43e2786f10b321dbda927652aa703dbb555dcd48;hb=bd0fee845a611e98d52590ade70c5ef414289e24;hpb=8ac95eb45804822f698ab98bc6d42c8305eb12f8 diff --git a/src/http.c b/src/http.c index 43e2786..62bfa6f 100644 --- a/src/http.c +++ b/src/http.c @@ -206,9 +206,7 @@ void z_HTTP_header_add(ODR o, Z_HTTP_Header **hp, const char *n, (*hp)->next = 0; } -#if 0 -/* not in use yet */ -static void z_HTTP_header_set(ODR o, Z_HTTP_Header **hp, const char *n, +void z_HTTP_header_set(ODR o, Z_HTTP_Header **hp, const char *n, const char *v) { while (*hp) @@ -225,7 +223,6 @@ static void z_HTTP_header_set(ODR o, Z_HTTP_Header **hp, const char *n, (*hp)->value = odr_strdup(o, v); (*hp)->next = 0; } -#endif const char *z_HTTP_header_lookup(const Z_HTTP_Header *hp, const char *n) { @@ -372,18 +369,85 @@ Z_GDU *z_get_HTTP_Response(ODR o, int code) const char *z_HTTP_errmsg(int code) { - if (code == 200) + switch (code) + { + case 100: + return "Continue"; + case 101: + return "Switching Protocols"; + case 200: return "OK"; - else if (code == 400) + case 201: + return "Created"; + case 202: + return "Accepted"; + case 203: + return "Non-Authoritative Information"; + case 204: + return "No Content"; + case 205: + return "Reset Content"; + case 206: + return "Partial Content"; + case 300: + return "Multiple Choices"; + case 301: + return "Moved Permenently"; + case 302: + return "Found"; + case 303: + return "See Other"; + case 304: + return "Not Modified"; + case 305: + return "Use Proxy"; + case 307: + return "Temporary Redirect"; + case 400: return "Bad Request"; - else if (code == 404) + case 404: return "Not Found"; - else if (code == 405) + case 405: return "Method Not Allowed"; - else if (code == 500) + case 406: + return "Not Acceptable"; + case 407: + return "Proxy Authentication Required"; + case 408: + return "Request Timeout"; + case 409: + return "Conflict"; + case 410: + return "Gone"; + case 411: + return "Length Required"; + case 412: + return "Precondition Failed"; + case 413: + return "Request Entity Too Large"; + case 414: + return "Request-URI Too Long"; + case 415: + return "Unsupported Media Type"; + case 416: + return "Requested Range Not Satisfiable"; + case 417: + return "Expectation Failed"; + case 500: return "Internal Error"; - else + case 501: + return "Not Implemented"; + case 502: + return "Bad Gateway"; + case 503: + return "Service Unavailable"; + case 504: + return "Gateway Timeout"; + case 505: + return "HTTP Version Not Supported"; + default: return "Unknown Error"; + } } int yaz_decode_http_response(ODR o, Z_HTTP_Response **hr_p)