Exemplo n.º 1
0
static dpl_status_t
cb_headers_iterate(dpl_dict_var_t *var,
                   void *cb_arg)
{
  struct metadata_conven *mc = (struct metadata_conven *) cb_arg;
  
  assert(var->val->type == DPL_VALUE_STRING);
  return dpl_cdmi_get_metadatum_from_header(var->key,
                                            dpl_sbuf_get_str(var->val->string),
                                            NULL,
                                            NULL,
                                            mc->metadata,
                                            mc->sysmdp);
}
Exemplo n.º 2
0
static dpl_status_t
cb_get_header(void *cb_arg,
              const char *header,
              const char *value)
{
  struct get_conven *gc = (struct get_conven *) cb_arg;
  dpl_status_t ret, ret2;

  if (!strcasecmp(header, "connection"))
    {
      if (!strcasecmp(value, "close"))
        gc->connection_close = 1;
    }
  else
    {
      if (gc->http_compat)
        {
          ret2 = dpl_cdmi_get_metadatum_from_header(header,
                                                    value,
                                                    gc->metadatum_func,
                                                    gc->cb_arg,
                                                    gc->metadata,
                                                    gc->sysmdp);
          if (DPL_SUCCESS != ret2)
            {
              ret = ret2;
              goto end;
            }
        }
    }

  ret = DPL_SUCCESS;
  
 end:

  return ret;
}