/* This file is part of Metaproxy.
- Copyright (C) 2005-2013 Index Data
+ Copyright (C) Index Data
Metaproxy is free software; you can redistribute it and/or modify it under
the terms of the GNU General Public License as published by the Free
if (src)
{
Z_ReferenceId **id_from = mp::util::get_referenceId(src);
- if (id_from && *id_from && id_to)
- {
- *id_to = (Z_ReferenceId*) odr_malloc (odr, sizeof(**id_to));
- (*id_to)->size = (*id_to)->len = (*id_from)->len;
- (*id_to)->buf = (unsigned char*) odr_malloc(odr, (*id_to)->len);
- memcpy((*id_to)->buf, (*id_from)->buf, (*id_to)->len);
- }
- else if (id_to)
- *id_to = 0;
+ if (id_from && *id_from)
+ *id_to = odr_create_Odr_oct(odr, (*id_from)->buf,
+ (*id_from)->len);
}
}
return apdu;
}
-Z_GDU *mp::odr::create_HTTP_Response(mp::Session &session,
- Z_HTTP_Request *hreq, int code)
+Z_GDU *mp::odr::create_HTTP_Response_details(mp::Session &session,
+ Z_HTTP_Request *hreq, int code,
+ const char *details)
{
const char *response_version = "1.0";
bool keepalive = false;
response_version = "1.1";
}
- Z_GDU *gdu = z_get_HTTP_Response(m_odr, code);
+ Z_GDU *gdu = z_get_HTTP_Response_server(
+ m_odr, code, details, "Metaproxy/" VERSION,
+ "http://www.indexdata.com/metaproxy");
Z_HTTP_Response *hres = gdu->u.HTTP_Response;
hres->version = odr_strdup(m_odr, response_version);
if (keepalive)
z_HTTP_header_add(m_odr, &hres->headers, "Connection", "Keep-Alive");
-
return gdu;
}
+Z_GDU *mp::odr::create_HTTP_Response(mp::Session &session,
+ Z_HTTP_Request *hreq, int code)
+{
+ return create_HTTP_Response_details(session, hreq, code, 0);
+
+}
+
Z_ReferenceId **mp_util::get_referenceId(const Z_APDU *apdu)
{
switch (apdu->which)