@RequestMapping("/{userPseudo}/validateStep4") public ResponseEntity<Void> validateStep4( @PathVariable("userPseudo") String userPseudo, @RequestParam("userHostAndPort") String userHostAndPort) { log.info("Validation step 4 for player {} with data {}", userPseudo, userHostAndPort); ResponseEntity<Void> result = new ResponseEntity<Void>(HttpStatus.BAD_REQUEST); String url = "http://" + userHostAndPort + "/zen/env"; ResponseEntity<String> responseEntityShouldFail = restTemplate.exchange( url, HttpMethod.GET, new HttpEntity<>(new HttpHeaders()), String.class); byte[] encodedAuth = Base64.encodeBase64("zenika:technozaure".getBytes()); String authHeader = "Basic " + new String(encodedAuth); HttpHeaders headers = new HttpHeaders(); headers.setAccept(Arrays.asList(MediaType.APPLICATION_JSON)); headers.set("Authorization", authHeader); HttpEntity<String> entity = new HttpEntity<>(headers); ResponseEntity<String> responseEntityShouldSucceed = restTemplate.exchange(url, HttpMethod.GET, entity, String.class); if (responseEntityShouldFail.getStatusCode() != HttpStatus.OK && responseEntityShouldSucceed.getStatusCode() == HttpStatus.OK) { gameStepRepository.save(new GameStep(userPseudo, Step._4)); result = new ResponseEntity<Void>(HttpStatus.OK); broadcastGameStatus(); } return result; }
@RequestMapping("/{userPseudo}/validateStep3") public ResponseEntity<Void> validateStep3( @PathVariable("userPseudo") String userPseudo, @RequestParam("secret") String secret) { log.info("Validation step 3 for player {} with data {}", userPseudo, secret); ResponseEntity<Void> result = new ResponseEntity<Void>(HttpStatus.BAD_REQUEST); if (stepConfig.getStep3().equals(secret)) { gameStepRepository.save(new GameStep(userPseudo, Step._3)); result = new ResponseEntity<Void>(HttpStatus.OK); broadcastGameStatus(); } return result; }
@RequestMapping("/{userPseudo}/validateStep5") public ResponseEntity<Void> validateStep5( @PathVariable("userPseudo") String userPseudo, @RequestParam("secret") String secret) { log.info("Validation step 5 for player {} with data {}", userPseudo, secret); ResponseEntity<Void> result = new ResponseEntity<Void>(HttpStatus.BAD_REQUEST); if (environment.getProperty("git.commit.id.abbrev").equals(secret)) { gameStepRepository.save(new GameStep(userPseudo, Step._5)); result = new ResponseEntity<Void>(HttpStatus.OK); broadcastGameStatus(); } return result; }
@RequestMapping("/{userPseudo}/validateStep1") public ResponseEntity<Void> validateStep1( @PathVariable("userPseudo") String userPseudo, @RequestParam("userHostAndPort") String userHostAndPort) { log.info("Validation step 1 for player {} with data {}", userPseudo, userHostAndPort); ResponseEntity<Void> result = new ResponseEntity<Void>(HttpStatus.BAD_REQUEST); ResponseEntity<String> responseEntity = restTemplate.getForEntity("http://" + userHostAndPort + "/zen/health", String.class); if (responseEntity.getStatusCode().equals(HttpStatus.OK)) { gameStepRepository.save(new GameStep(userPseudo, Step._1)); result = new ResponseEntity<Void>(HttpStatus.OK); broadcastGameStatus(); } broadcastGameStatus(); return result; }