From 06479b8cb72e6ae56dd318832d93d188453e4489 Mon Sep 17 00:00:00 2001 From: Emil Lerch Date: Wed, 23 Jun 2021 18:21:34 -0700 Subject: [PATCH] more useful logging --- src/aws.zig | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/src/aws.zig b/src/aws.zig index bbcd357..7023b7e 100644 --- a/src/aws.zig +++ b/src/aws.zig @@ -104,6 +104,7 @@ pub const Aws = struct { log.err("Request:\n |{s}\nResponse:\n |{s}", .{ body, response.body }); return error.HttpFailure; } + // log.debug("Successful return from server:\n |{s}", .{response.body}); // TODO: Check status code for badness var stream = json.TokenStream.init(response.body); @@ -115,7 +116,17 @@ pub const Aws = struct { .allow_missing_fields = false, // new option. Cannot yet handle non-struct fields though }; const SResponse = ServerResponse(request); - const parsed_response = try json.parse(SResponse, &stream, parser_options); + const parsed_response = json.parse(SResponse, &stream, parser_options) catch |e| { + log.err( + \\Call successful, but unexpected response from service. + \\This could be the result of a bug or a stale set of code generated + \\service models. Response from server: + \\ + \\{s} + \\ + , .{response.body}); + return e; + }; // Grab the first (and only) object from the server. Server shape expected to be: // { ActionResponse: {ActionResult: {...}, ResponseMetadata: {...} } }