From: Adam Dickmeiss Date: Tue, 24 Sep 2013 08:28:04 +0000 (+0200) Subject: Merge branch 'master' into sru_2_0 X-Git-Tag: v5.0.0~25 X-Git-Url: http://jsfdemo.indexdata.com/?a=commitdiff_plain;h=075d4ef0007e9675849275cac1c713ac7940e053;hp=2fc1ed65e59499ef747922ea9763d8f21f056f6e;p=yaz-moved-to-github.git Merge branch 'master' into sru_2_0 --- diff --git a/include/yaz/zgdu.h b/include/yaz/zgdu.h index 0a626ea..4074f15 100644 --- a/include/yaz/zgdu.h +++ b/include/yaz/zgdu.h @@ -94,6 +94,10 @@ YAZ_EXPORT const char *z_HTTP_errmsg(int code); YAZ_EXPORT Z_GDU *z_get_HTTP_Response(ODR o, int code); YAZ_EXPORT Z_GDU *z_get_HTTP_Response_details(ODR o, int code, const char *details); +YAZ_EXPORT Z_GDU *z_get_HTTP_Response_server(ODR o, + int code, const char *details, + const char *server, + const char *server_url); YAZ_EXPORT Z_GDU *z_get_HTTP_Request(ODR o); YAZ_EXPORT Z_GDU *z_get_HTTP_Request_host_path(ODR odr, const char *host, diff --git a/src/http.c b/src/http.c index 397b7bd..af51c05 100644 --- a/src/http.c +++ b/src/http.c @@ -340,7 +340,8 @@ Z_GDU *z_get_HTTP_Request_uri(ODR odr, const char *uri, const char *args, return p; } -Z_GDU *z_get_HTTP_Response_details(ODR o, int code, const char *details) +Z_GDU *z_get_HTTP_Response_server(ODR o, int code, const char *details, + const char *server, const char *server_url) { Z_GDU *p = (Z_GDU *) odr_malloc(o, sizeof(*p)); Z_HTTP_Response *hres; @@ -353,8 +354,7 @@ Z_GDU *z_get_HTTP_Response_details(ODR o, int code, const char *details) hres->content_buf = 0; hres->code = code; hres->version = "1.1"; - z_HTTP_header_add(o, &hres->headers, "Server", - "YAZ/" YAZ_VERSION); + z_HTTP_header_add(o, &hres->headers, "Server", server); if (code != 200) { const char *http_err = z_HTTP_errmsg(code); @@ -366,13 +366,13 @@ Z_GDU *z_get_HTTP_Response_details(ODR o, int code, const char *details) " \"http://www.w3.org/TR/html4/strict.dtd\">\n" "\n" " \n" - " YAZ " YAZ_VERSION "\n" + " %s\n" " \n" " \n" - "

YAZ " - YAZ_VERSION "

\n" + "

%s

\n" "

Error: %d

\n" - "

Description: %s

\n", code, http_err); + "

Description: %s

\n", server, server_url, server, + code, http_err); if (details) { sprintf(hres->content_buf + strlen(hres->content_buf), @@ -387,6 +387,12 @@ Z_GDU *z_get_HTTP_Response_details(ODR o, int code, const char *details) return p; } +Z_GDU *z_get_HTTP_Response_details(ODR o, int code, const char *details) +{ + return z_get_HTTP_Response_server(o, code, details, "YAZ/" YAZ_VERSION, + "http://www.indexdata.com/yaz"); +} + Z_GDU *z_get_HTTP_Response(ODR o, int code) { return z_get_HTTP_Response_details(o, code, 0);