YAZ_EXPORT int z_GDU (ODR o, Z_GDU **p, int opt, const char *name);
YAZ_EXPORT void z_HTTP_header_add(ODR o, Z_HTTP_Header **hp, const char *n,
const char *v);
+YAZ_EXPORT void z_HTTP_header_set(ODR o, Z_HTTP_Header **hp, const char *n,
+ const char *v);
YAZ_EXPORT void z_HTTP_header_add_content_type(ODR o, Z_HTTP_Header **hp,
const char *content_type,
const char *charset);
(*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)
(*hp)->value = odr_strdup(o, v);
(*hp)->next = 0;
}
-#endif
const char *z_HTTP_header_lookup(const Z_HTTP_Header *hp, const char *n)
{
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)