- std::string content_type = get_mime_type(fname);
-
- z_HTTP_header_add(o, &hres->headers,
+ Z_GDU *gdu = 0;
+ mp::odr decode(ODR_DECODE);
+ if (raw)
+ {
+ odr_setbuf(decode, (char *) fbuf, sz, 0);
+ int r = z_GDU(decode, &gdu, 0, 0);
+ if (!r)
+ {
+ gdu = o.create_HTTP_Response(session, req, 500);
+ }
+ }
+ else
+ {
+ gdu = o.create_HTTP_Response(session, req, 200);
+ Z_HTTP_Response *hres = gdu->u.HTTP_Response;
+ hres->content_len = sz;
+ hres->content_buf = fbuf;
+ std::string content_type = get_mime_type(fname);
+ z_HTTP_header_add(o, &hres->headers,