diff --git a/apps/dnet-orgs-database-application/src/main/java/eu/dnetlib/organizations/controller/PublicApiController.java b/apps/dnet-orgs-database-application/src/main/java/eu/dnetlib/organizations/controller/PublicApiController.java index 88182f06..31877154 100644 --- a/apps/dnet-orgs-database-application/src/main/java/eu/dnetlib/organizations/controller/PublicApiController.java +++ b/apps/dnet-orgs-database-application/src/main/java/eu/dnetlib/organizations/controller/PublicApiController.java @@ -37,17 +37,16 @@ public class PublicApiController { res.sendError(HttpStatus.BAD_REQUEST.value(), "Invalid year"); } + final String filename = String.format("%s_%s_%s.log", year, month, country); + res.setContentType(MediaType.TEXT_PLAIN.getType()); - final ServletOutputStream out = res.getOutputStream(); + res.setHeader("Content-Disposition", "attachment; filename=" + filename); - dbUtils.obtainLogEntries(year, month, country).forEach(s -> { - try { + try (final ServletOutputStream out = res.getOutputStream()) { + for (final String s : dbUtils.obtainLogEntries(year, month, country)) { IOUtils.write(s, out, StandardCharsets.UTF_8); - } catch (final IOException e) { - throw new RuntimeException(e); } - }); - + } } }