aboutsummaryrefslogtreecommitdiff
path: root/src/mint
diff options
context:
space:
mode:
authorChristian Grothoff <christian@grothoff.org>2015-09-15 17:27:02 +0200
committerChristian Grothoff <christian@grothoff.org>2015-09-15 17:27:02 +0200
commite68446e0a8a4a54b99ba5773a9f7ff17837a393b (patch)
treed35410d8a0d4e3ea00de8cad8f671ce5f5e5bbbe /src/mint
parent1b0f8609901eb8184194144cc20a194534c81a4a (diff)
adding tests for /wire
Diffstat (limited to 'src/mint')
-rw-r--r--src/mint/taler-mint-httpd.c2
-rw-r--r--src/mint/taler-mint-httpd_wire.c52
2 files changed, 38 insertions, 16 deletions
diff --git a/src/mint/taler-mint-httpd.c b/src/mint/taler-mint-httpd.c
index 1a5e5a2f0..e68cd2425 100644
--- a/src/mint/taler-mint-httpd.c
+++ b/src/mint/taler-mint-httpd.c
@@ -177,7 +177,7 @@ handle_mhd_request (void *cls,
{ "/wire/test", MHD_HTTP_METHOD_GET, "application/json",
NULL, 0,
- &TMH_WIRE_handler_wire_test, MHD_HTTP_OK },
+ &TMH_WIRE_handler_wire_test, MHD_HTTP_FOUND },
{ "/wire/test", NULL, "text/plain",
"Only GET is allowed", 0,
&TMH_MHD_handler_send_json_pack_error, MHD_HTTP_METHOD_NOT_ALLOWED },
diff --git a/src/mint/taler-mint-httpd_wire.c b/src/mint/taler-mint-httpd_wire.c
index ee3b4ff0b..0e28db79b 100644
--- a/src/mint/taler-mint-httpd_wire.c
+++ b/src/mint/taler-mint-httpd_wire.c
@@ -56,14 +56,14 @@ TMH_WIRE_handler_wire (struct TMH_RequestHandler *rh,
&sig);
methods = json_array ();
/* NOTE: for now, we only support *ONE* wire format per
- mint instance; if we supply multiple, we need to
+ mint instance; if we supply multiple, we need to
add the strings for each type separately here -- and
hash the 0-terminated strings above differently as well... */
json_array_append_new (methods,
json_string (TMH_expected_wire_format));
return TMH_RESPONSE_reply_json_pack (connection,
MHD_HTTP_OK,
- "{s:s, s:o, s:o}",
+ "{s:o, s:o, s:o}",
"methods", methods,
"sig", TALER_json_from_data (&sig,
sizeof (sig)),
@@ -100,26 +100,30 @@ TMH_WIRE_handler_wire_test (struct TMH_RequestHandler *rh,
GNUNET_break (0);
return MHD_NO;
}
- if (GNUNET_OK !=
- GNUNET_CONFIGURATION_get_value_string (cfg,
- "mint-wire-test",
- "REDIRECT_URL",
- &wire_test_redirect))
+ if (0 != strcasecmp ("test",
+ TMH_expected_wire_format))
{
+ /* Return 501: not implemented */
ret = MHD_queue_response (connection,
MHD_HTTP_NOT_IMPLEMENTED,
response);
MHD_destroy_response (response);
return ret;
}
+ if (GNUNET_OK !=
+ GNUNET_CONFIGURATION_get_value_string (cfg,
+ "mint-wire-test",
+ "REDIRECT_URL",
+ &wire_test_redirect))
+ {
+ /* oopsie, configuration error */
+ return TMH_RESPONSE_reply_internal_error (connection,
+ "REDIRECT_URL not configured");
+ }
MHD_add_response_header (response,
MHD_HTTP_HEADER_LOCATION,
wire_test_redirect);
GNUNET_free (wire_test_redirect);
- if (NULL != rh->mime_type)
- (void) MHD_add_response_header (response,
- MHD_HTTP_HEADER_CONTENT_TYPE,
- rh->mime_type);
ret = MHD_queue_response (connection,
rh->response_code,
response);
@@ -151,11 +155,29 @@ TMH_WIRE_handler_wire_sepa (struct TMH_RequestHandler *rh,
int fd;
struct stat sbuf;
+ if (0 != strcasecmp ("sepa",
+ TMH_expected_wire_format))
+ {
+ /* Return 501: not implemented */
+ response = MHD_create_response_from_buffer (0, NULL,
+ MHD_RESPMEM_PERSISTENT);
+ if (NULL == response)
+ {
+ GNUNET_break (0);
+ return MHD_NO;
+ }
+ ret = MHD_queue_response (connection,
+ MHD_HTTP_NOT_IMPLEMENTED,
+ response);
+ MHD_destroy_response (response);
+ return ret;
+ }
+ /* Fetch reply */
if (GNUNET_OK !=
- GNUNET_CONFIGURATION_get_value_string (cfg,
- "mint-wire-sepa",
- "SEPA_RESPONSE_FILE",
- &sepa_wire_file))
+ GNUNET_CONFIGURATION_get_value_filename (cfg,
+ "mint-wire-sepa",
+ "SEPA_RESPONSE_FILE",
+ &sepa_wire_file))
{
return TMH_RESPONSE_reply_internal_error (connection,
"SEPA_RESPONSE_FILE not configured");