From c2296f639f43fe0e6878f706b0e291e26e1e46df Mon Sep 17 00:00:00 2001 From: Benjamin Haegenlaeuer Date: Tue, 5 Oct 2021 15:04:17 +0200 Subject: [PATCH] Add status codes to responses Co-authored-by: Philipp Stehle --- .../flags/demo/controller/DemoController.java | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) diff --git a/src/main/java/com/sap/cloud/service/flags/demo/controller/DemoController.java b/src/main/java/com/sap/cloud/service/flags/demo/controller/DemoController.java index 51f6966..c65981d 100644 --- a/src/main/java/com/sap/cloud/service/flags/demo/controller/DemoController.java +++ b/src/main/java/com/sap/cloud/service/flags/demo/controller/DemoController.java @@ -2,13 +2,16 @@ import java.util.Optional; +import javax.servlet.http.HttpServletResponse; + +import com.sap.cloud.service.flags.demo.service.FeatureFlagsService; +import com.sap.cloud.service.flags.demo.service.FlagStatus; + import org.springframework.stereotype.Controller; import org.springframework.ui.ModelMap; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PathVariable; -import com.sap.cloud.service.flags.demo.service.FeatureFlagsService; - /** * Represents a controller that uses the feature toggling practice. */ @@ -52,17 +55,23 @@ public String getIndex(final ModelMap modelMap) { * - ID of the feature flag * @param modelMap * - the {@link ModelMap} + * @param rsp + * - the {@link HttpServletResponse} * * @return the evaluation view */ @GetMapping("/evaluate/{id}") - public String evaluate(@PathVariable final String id, final ModelMap modelMap) { + public String evaluate(@PathVariable final String id, final ModelMap modelMap, final HttpServletResponse rsp) { String status; if (!hasBoundServiceInstance()) { status = "missing-service-instance"; + rsp.setStatus(500); } else { status = featureFlagsServiceOptional.get().getFlagStatus(id).toString(); + if (status.equals(FlagStatus.MISSING.toString())) { + rsp.setStatus(404); + } } modelMap.addAttribute("status", status);