summaryrefslogtreecommitdiff
path: root/src/lib/exchange_api_contracts_get.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/lib/exchange_api_contracts_get.c')
-rw-r--r--src/lib/exchange_api_contracts_get.c32
1 files changed, 11 insertions, 21 deletions
diff --git a/src/lib/exchange_api_contracts_get.c b/src/lib/exchange_api_contracts_get.c
index 263a0cbe9..aece7733a 100644
--- a/src/lib/exchange_api_contracts_get.c
+++ b/src/lib/exchange_api_contracts_get.c
@@ -39,11 +39,6 @@ struct TALER_EXCHANGE_ContractsGetHandle
{
/**
- * The connection to exchange this request handle will use
- */
- struct TALER_EXCHANGE_Handle *exchange;
-
- /**
* The url for this request.
*/
char *url;
@@ -109,7 +104,7 @@ handle_contract_get_finished (void *cls,
struct TALER_PurseContractSignatureP econtract_sig;
struct GNUNET_JSON_Specification spec[] = {
GNUNET_JSON_spec_fixed_auto ("purse_pub",
- &dr.details.success.purse_pub),
+ &dr.details.ok.purse_pub),
GNUNET_JSON_spec_fixed_auto ("econtract_sig",
&econtract_sig),
GNUNET_JSON_spec_varsize ("econtract",
@@ -133,7 +128,7 @@ handle_contract_get_finished (void *cls,
econtract,
econtract_size,
&cgh->cpub,
- &dr.details.success.purse_pub,
+ &dr.details.ok.purse_pub,
&econtract_sig))
{
GNUNET_break (0);
@@ -142,8 +137,8 @@ handle_contract_get_finished (void *cls,
GNUNET_JSON_parse_free (spec);
break;
}
- dr.details.success.econtract = econtract;
- dr.details.success.econtract_size = econtract_size;
+ dr.details.ok.econtract = econtract;
+ dr.details.ok.econtract_size = econtract_size;
cgh->cb (cgh->cb_cls,
&dr);
GNUNET_JSON_parse_free (spec);
@@ -194,7 +189,8 @@ handle_contract_get_finished (void *cls,
struct TALER_EXCHANGE_ContractsGetHandle *
TALER_EXCHANGE_contract_get (
- struct TALER_EXCHANGE_Handle *exchange,
+ struct GNUNET_CURL_Context *ctx,
+ const char *url,
const struct TALER_ContractDiffiePrivateP *contract_priv,
TALER_EXCHANGE_ContractGetCallback cb,
void *cb_cls)
@@ -203,14 +199,7 @@ TALER_EXCHANGE_contract_get (
CURL *eh;
char arg_str[sizeof (cgh->cpub) * 2 + 48];
- if (GNUNET_YES !=
- TEAH_handle_is_ready (exchange))
- {
- GNUNET_break (0);
- return NULL;
- }
cgh = GNUNET_new (struct TALER_EXCHANGE_ContractsGetHandle);
- cgh->exchange = exchange;
cgh->cb = cb;
cgh->cb_cls = cb_cls;
GNUNET_CRYPTO_ecdhe_key_get_public (&contract_priv->ecdhe_priv,
@@ -226,12 +215,13 @@ TALER_EXCHANGE_contract_get (
*end = '\0';
GNUNET_snprintf (arg_str,
sizeof (arg_str),
- "/contracts/%s",
+ "contracts/%s",
cpub_str);
}
- cgh->url = TEAH_path_to_url (exchange,
- arg_str);
+ cgh->url = TALER_url_join (url,
+ arg_str,
+ NULL);
if (NULL == cgh->url)
{
GNUNET_free (cgh);
@@ -247,7 +237,7 @@ TALER_EXCHANGE_contract_get (
GNUNET_free (cgh);
return NULL;
}
- cgh->job = GNUNET_CURL_job_add (TEAH_handle_to_context (exchange),
+ cgh->job = GNUNET_CURL_job_add (ctx,
eh,
&handle_contract_get_finished,
cgh);