static gboolean meta1_dispatch_v2_PROPSET(struct gridd_reply_ctx_s *reply, struct meta1_backend_s *m1, gpointer ignored UNUSED) { struct oio_url_s *url = metautils_message_extract_url (reply->request); gboolean flush = metautils_message_extract_flag(reply->request, NAME_MSGKEY_FLUSH, FALSE); reply->subject("%s|%s", oio_url_get(url, OIOURL_WHOLE), oio_url_get(url, OIOURL_HEXID)); gsize length = 0; void *body = metautils_message_get_BODY(reply->request, &length); gchar **props = NULL; GError *err = KV_decode_buffer(body, length, &props); if (NULL != err) reply->send_error(CODE_BAD_REQUEST, err); else { err = meta1_backend_set_container_properties(m1, url, props, flush); g_strfreev (props); if (NULL != err) reply->send_error(0, err); else reply->send_reply(CODE_FINAL_OK, "OK"); } oio_url_clean (url); return TRUE; }
static gboolean meta1_dispatch_v2_PROPSET(struct gridd_reply_ctx_s *reply, struct meta1_backend_s *m1, gpointer ignored) { GError *err; gchar **strv = NULL; struct oio_url_s *url = metautils_message_extract_url (reply->request); gboolean flush = metautils_message_extract_flag(reply->request, NAME_MSGKEY_FLUSH, FALSE); reply->subject("%s|%s", oio_url_get(url, OIOURL_WHOLE), oio_url_get(url, OIOURL_HEXID)); (void) ignored; if (NULL != (err = metautils_message_extract_body_strv(reply->request, &strv))) reply->send_error(CODE_BAD_REQUEST, err); else if (NULL != (err = meta1_backend_set_container_properties(m1, url, strv, flush))) reply->send_error(0, err); else reply->send_reply(CODE_FINAL_OK, "OK"); if (strv) g_strfreev (strv); oio_url_clean (url); return TRUE; }