split tracking into track_transfer.c and track_transaction.c

This commit is contained in:
Christian Grothoff 2017-06-19 17:58:46 +02:00
parent 51ee20102f
commit ae7850a318
No known key found for this signature in database
GPG Key ID: 939E6BE1E29FC3CC
6 changed files with 123 additions and 61 deletions

View File

@ -55,7 +55,8 @@ taler_exchange_httpd_SOURCES = \
taler-exchange-httpd_reserve_status.c taler-exchange-httpd_reserve_status.h \ taler-exchange-httpd_reserve_status.c taler-exchange-httpd_reserve_status.h \
taler-exchange-httpd_reserve_withdraw.c taler-exchange-httpd_reserve_withdraw.h \ taler-exchange-httpd_reserve_withdraw.c taler-exchange-httpd_reserve_withdraw.h \
taler-exchange-httpd_responses.c taler-exchange-httpd_responses.h \ taler-exchange-httpd_responses.c taler-exchange-httpd_responses.h \
taler-exchange-httpd_tracking.c taler-exchange-httpd_tracking.h \ taler-exchange-httpd_track_transaction.c taler-exchange-httpd_track_transaction.h \
taler-exchange-httpd_track_transfer.c taler-exchange-httpd_track_transfer.h \
taler-exchange-httpd_wire.c taler-exchange-httpd_wire.h \ taler-exchange-httpd_wire.c taler-exchange-httpd_wire.h \
taler-exchange-httpd_validation.c taler-exchange-httpd_validation.h taler-exchange-httpd_validation.c taler-exchange-httpd_validation.h
taler_exchange_httpd_LDADD = \ taler_exchange_httpd_LDADD = \

View File

@ -36,7 +36,8 @@
#include "taler-exchange-httpd_payback.h" #include "taler-exchange-httpd_payback.h"
#include "taler-exchange-httpd_wire.h" #include "taler-exchange-httpd_wire.h"
#include "taler-exchange-httpd_refresh.h" #include "taler-exchange-httpd_refresh.h"
#include "taler-exchange-httpd_tracking.h" #include "taler-exchange-httpd_track_transfer.h"
#include "taler-exchange-httpd_track_transaction.h"
#include "taler-exchange-httpd_keystate.h" #include "taler-exchange-httpd_keystate.h"
#if HAVE_DEVELOPER #if HAVE_DEVELOPER
#include "taler-exchange-httpd_test.h" #include "taler-exchange-httpd_test.h"

View File

@ -1,6 +1,6 @@
/* /*
This file is part of TALER This file is part of TALER
Copyright (C) 2014, 2015, 2016 GNUnet e.V. Copyright (C) 2014-2017 GNUnet e.V.
TALER is free software; you can redistribute it and/or modify it under the TALER is free software; you can redistribute it and/or modify it under the
terms of the GNU Affero General Public License as published by the Free Software terms of the GNU Affero General Public License as published by the Free Software
@ -14,7 +14,7 @@
TALER; see the file COPYING. If not, see <http://www.gnu.org/licenses/> TALER; see the file COPYING. If not, see <http://www.gnu.org/licenses/>
*/ */
/** /**
* @file taler-exchange-httpd_tracking.c * @file taler-exchange-httpd_track_transaction.c
* @brief Handle wire transfer tracking-related requests * @brief Handle wire transfer tracking-related requests
* @author Christian Grothoff * @author Christian Grothoff
*/ */
@ -25,43 +25,10 @@
#include <pthread.h> #include <pthread.h>
#include "taler_signatures.h" #include "taler_signatures.h"
#include "taler-exchange-httpd_parsing.h" #include "taler-exchange-httpd_parsing.h"
#include "taler-exchange-httpd_tracking.h" #include "taler-exchange-httpd_track_transaction.h"
#include "taler-exchange-httpd_responses.h" #include "taler-exchange-httpd_responses.h"
/**
* Handle a "/track/transfer" request.
*
* @param rh context of the handler
* @param connection the MHD connection to handle
* @param[in,out] connection_cls the connection's closure (can be updated)
* @param upload_data upload data
* @param[in,out] upload_data_size number of bytes (left) in @a upload_data
* @return MHD result code
*/
int
TEH_TRACKING_handler_track_transfer (struct TEH_RequestHandler *rh,
struct MHD_Connection *connection,
void **connection_cls,
const char *upload_data,
size_t *upload_data_size)
{
struct TALER_WireTransferIdentifierRawP wtid;
int res;
res = TEH_PARSE_mhd_request_arg_data (connection,
"wtid",
&wtid,
sizeof (struct TALER_WireTransferIdentifierRawP));
if (GNUNET_SYSERR == res)
return MHD_NO; /* internal error */
if (GNUNET_NO == res)
return MHD_YES; /* parse error */
return TEH_DB_execute_track_transfer (connection,
&wtid);
}
/** /**
* Check the merchant signature, and if it is valid, * Check the merchant signature, and if it is valid,
* return the wire transfer identifier. * return the wire transfer identifier.
@ -156,4 +123,4 @@ TEH_TRACKING_handler_track_transaction (struct TEH_RequestHandler *rh,
} }
/* end of taler-exchange-httpd_tracking.c */ /* end of taler-exchange-httpd_track_transaction.c */

View File

@ -1,6 +1,6 @@
/* /*
This file is part of TALER This file is part of TALER
Copyright (C) 2014, 2015 GNUnet e.V. Copyright (C) 2014-2017 GNUnet e.V.
TALER is free software; you can redistribute it and/or modify it under the TALER is free software; you can redistribute it and/or modify it under the
terms of the GNU Affero General Public License as published by the Free Software terms of the GNU Affero General Public License as published by the Free Software
@ -14,36 +14,18 @@
TALER; see the file COPYING. If not, see <http://www.gnu.org/licenses/> TALER; see the file COPYING. If not, see <http://www.gnu.org/licenses/>
*/ */
/** /**
* @file taler-exchange-httpd_tracking.h * @file taler-exchange-httpd_track_transaction.h
* @brief Handle wire transfer tracking-related requests * @brief Handle wire transfer tracking-related requests
* @author Christian Grothoff * @author Christian Grothoff
*/ */
#ifndef TALER_EXCHANGE_HTTPD_TRACKING_H #ifndef TALER_EXCHANGE_HTTPD_TRACK_TRANSACTION_H
#define TALER_EXCHANGE_HTTPD_TRACKING_H #define TALER_EXCHANGE_HTTPD_TRACK_TRANSACTION_H
#include <gnunet/gnunet_util_lib.h> #include <gnunet/gnunet_util_lib.h>
#include <microhttpd.h> #include <microhttpd.h>
#include "taler-exchange-httpd.h" #include "taler-exchange-httpd.h"
/**
* Handle a "/track/transfer" request.
*
* @param rh context of the handler
* @param connection the MHD connection to handle
* @param[in,out] connection_cls the connection's closure (can be updated)
* @param upload_data upload data
* @param[in,out] upload_data_size number of bytes (left) in @a upload_data
* @return MHD result code
*/
int
TEH_TRACKING_handler_track_transfer (struct TEH_RequestHandler *rh,
struct MHD_Connection *connection,
void **connection_cls,
const char *upload_data,
size_t *upload_data_size);
/** /**
* Handle a "/track/transaction" request. * Handle a "/track/transaction" request.
* *

View File

@ -0,0 +1,65 @@
/*
This file is part of TALER
Copyright (C) 2014, 2015, 2016 GNUnet e.V.
TALER is free software; you can redistribute it and/or modify it under the
terms of the GNU Affero General Public License as published by the Free Software
Foundation; either version 3, or (at your option) any later version.
TALER is distributed in the hope that it will be useful, but WITHOUT ANY
WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
A PARTICULAR PURPOSE. See the GNU Affero General Public License for more details.
You should have received a copy of the GNU Affero General Public License along with
TALER; see the file COPYING. If not, see <http://www.gnu.org/licenses/>
*/
/**
* @file taler-exchange-httpd_track_transfer.c
* @brief Handle wire transfer /track/transfer requests
* @author Christian Grothoff
*/
#include "platform.h"
#include <gnunet/gnunet_util_lib.h>
#include <jansson.h>
#include <microhttpd.h>
#include <pthread.h>
#include "taler_signatures.h"
#include "taler-exchange-httpd_parsing.h"
#include "taler-exchange-httpd_track_transfer.h"
#include "taler-exchange-httpd_responses.h"
/**
* Handle a "/track/transfer" request.
*
* @param rh context of the handler
* @param connection the MHD connection to handle
* @param[in,out] connection_cls the connection's closure (can be updated)
* @param upload_data upload data
* @param[in,out] upload_data_size number of bytes (left) in @a upload_data
* @return MHD result code
*/
int
TEH_TRACKING_handler_track_transfer (struct TEH_RequestHandler *rh,
struct MHD_Connection *connection,
void **connection_cls,
const char *upload_data,
size_t *upload_data_size)
{
struct TALER_WireTransferIdentifierRawP wtid;
int res;
res = TEH_PARSE_mhd_request_arg_data (connection,
"wtid",
&wtid,
sizeof (struct TALER_WireTransferIdentifierRawP));
if (GNUNET_SYSERR == res)
return MHD_NO; /* internal error */
if (GNUNET_NO == res)
return MHD_YES; /* parse error */
return TEH_DB_execute_track_transfer (connection,
&wtid);
}
/* end of taler-exchange-httpd_track_transfer.c */

View File

@ -0,0 +1,46 @@
/*
This file is part of TALER
Copyright (C) 2014-2017 GNUnet e.V.
TALER is free software; you can redistribute it and/or modify it under the
terms of the GNU Affero General Public License as published by the Free Software
Foundation; either version 3, or (at your option) any later version.
TALER is distributed in the hope that it will be useful, but WITHOUT ANY
WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
A PARTICULAR PURPOSE. See the GNU Affero General Public License for more details.
You should have received a copy of the GNU Affero General Public License along with
TALER; see the file COPYING. If not, see <http://www.gnu.org/licenses/>
*/
/**
* @file taler-exchange-httpd_track_transfer.h
* @brief Handle wire transfer tracking-related requests
* @author Christian Grothoff
*/
#ifndef TALER_EXCHANGE_HTTPD_TRACK_TRANSFER_H
#define TALER_EXCHANGE_HTTPD_TRACK_TRANSFER_H
#include <gnunet/gnunet_util_lib.h>
#include <microhttpd.h>
#include "taler-exchange-httpd.h"
/**
* Handle a "/track/transfer" request.
*
* @param rh context of the handler
* @param connection the MHD connection to handle
* @param[in,out] connection_cls the connection's closure (can be updated)
* @param upload_data upload data
* @param[in,out] upload_data_size number of bytes (left) in @a upload_data
* @return MHD result code
*/
int
TEH_TRACKING_handler_track_transfer (struct TEH_RequestHandler *rh,
struct MHD_Connection *connection,
void **connection_cls,
const char *upload_data,
size_t *upload_data_size);
#endif