From 4992eacc10bedaa0edfa03b401253408c6267798 Mon Sep 17 00:00:00 2001 From: Phil Date: Wed, 25 Jul 2018 17:43:37 +0200 Subject: added name search --- src/identity/plugin_rest_identity.c | 23 ++++++++++++++++++++--- 1 file changed, 20 insertions(+), 3 deletions(-) (limited to 'src/identity/plugin_rest_identity.c') diff --git a/src/identity/plugin_rest_identity.c b/src/identity/plugin_rest_identity.c index f1d33b0f3..59dad66c7 100644 --- a/src/identity/plugin_rest_identity.c +++ b/src/identity/plugin_rest_identity.c @@ -346,7 +346,8 @@ ego_get (struct GNUNET_REST_RequestHandle *con_handle, const char* url, handle->subsystem); handle->op = GNUNET_IDENTITY_get (handle->identity_handle, - handle->subsystem, &ego_get_for_subsystem, + handle->subsystem, + &ego_get_for_subsystem, handle); if (NULL == handle->op) { @@ -359,9 +360,10 @@ ego_get (struct GNUNET_REST_RequestHandle *con_handle, const char* url, egoname = NULL; keystring = NULL; - //if only one identity requested + //if only one identity requested with key GNUNET_CRYPTO_hash (GNUNET_REST_PARAM_PUBKEY, - strlen (GNUNET_REST_PARAM_PUBKEY), &key); + strlen (GNUNET_REST_PARAM_PUBKEY), + &key); if ( GNUNET_YES == GNUNET_CONTAINER_multihashmap_contains ( handle->rest_handle->url_param_map, &key)) @@ -379,6 +381,21 @@ ego_get (struct GNUNET_REST_RequestHandle *con_handle, const char* url, } } + //if only one identity requested with name + if (NULL == egoname) + { + GNUNET_CRYPTO_hash (GNUNET_REST_PARAM_NAME, + strlen (GNUNET_REST_PARAM_NAME), + &key); + if ( GNUNET_YES + == GNUNET_CONTAINER_multihashmap_contains ( + handle->rest_handle->url_param_map, &key)) + { + egoname = GNUNET_CONTAINER_multihashmap_get ( + handle->rest_handle->url_param_map, &key); + } + } + json_root = json_array (); //Return ego/egos for (ego_entry = handle->ego_head; -- cgit v1.2.3