- zgdu_res = odr.create_HTTP_Response(
- package.session(), zgdu_req->u.HTTP_Request, 200);
+ ODR dec = odr_createmem(ODR_DECODE);
+ odr_setbuf(dec, wrbuf_buf(w), wrbuf_len(w), 0);
+ r = z_GDU(dec, &zgdu_res, 0, 0);
+ if (r && zgdu_res)
+ {
+ package.response() = zgdu_res;
+ }
+ else
+ {
+ zgdu_res = odr.create_HTTP_Response(
+ package.session(), zgdu_req->u.HTTP_Request, 400);
+ Z_HTTP_Response *hres = zgdu_res->u.HTTP_Response;
+ z_HTTP_header_add(odr, &hres->headers,
+ "Content-Type", "text/plain");
+ hres->content_buf =
+ odr_strdup(odr, "Invalid script from script");
+ hres->content_len = strlen(hres->content_buf);
+ }