Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Commit 36fcb58

Browse files
committed
Endpoints async for posting mail and landingpage
1 parent 6c91e7d commit 36fcb58

File tree

2 files changed

+24
-14
lines changed

2 files changed

+24
-14
lines changed

webwolf/src/main/java/org/owasp/webwolf/mailbox/MailboxController.java

Lines changed: 16 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -5,11 +5,16 @@
55
import org.owasp.webwolf.user.UserRepository;
66
import org.owasp.webwolf.user.WebGoatUser;
77
import org.springframework.http.HttpStatus;
8+
import org.springframework.http.ResponseEntity;
89
import org.springframework.security.core.context.SecurityContextHolder;
9-
import org.springframework.web.bind.annotation.*;
10+
import org.springframework.web.bind.annotation.GetMapping;
11+
import org.springframework.web.bind.annotation.PostMapping;
12+
import org.springframework.web.bind.annotation.RequestBody;
13+
import org.springframework.web.bind.annotation.RestController;
1014
import org.springframework.web.servlet.ModelAndView;
1115

1216
import java.util.List;
17+
import java.util.concurrent.Callable;
1318

1419
/**
1520
* @author nbaars
@@ -37,13 +42,16 @@ public ModelAndView mail() {
3742
}
3843

3944
@PostMapping(value = "/mail")
40-
@ResponseStatus(HttpStatus.CREATED)
41-
public void sendEmail(@RequestBody Email email) {
42-
if (userRepository.findByUsername(email.getRecipient()) != null) {
43-
mailboxRepository.save(email);
44-
} else {
45-
log.trace("Mail received for unknown user: {}", email.getRecipient());
46-
}
45+
public Callable<ResponseEntity<?>> sendEmail(@RequestBody Email email) {
46+
return () -> {
47+
if (userRepository.findByUsername(email.getRecipient()) != null) {
48+
mailboxRepository.save(email);
49+
return ResponseEntity.status(HttpStatus.CREATED).build();
50+
} else {
51+
log.trace("Mail received for unknown user: {}", email.getRecipient());
52+
return ResponseEntity.notFound().build();
53+
}
54+
};
4755
}
4856

4957
}

webwolf/src/main/java/org/owasp/webwolf/requests/LandingPage.java

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -2,23 +2,25 @@
22

33

44
import lombok.extern.slf4j.Slf4j;
5-
import org.springframework.http.HttpStatus;
5+
import org.springframework.http.ResponseEntity;
66
import org.springframework.stereotype.Controller;
77
import org.springframework.web.bind.annotation.RequestMapping;
88
import org.springframework.web.bind.annotation.RequestMethod;
9-
import org.springframework.web.bind.annotation.ResponseStatus;
109

1110
import javax.servlet.http.HttpServletRequest;
11+
import java.util.concurrent.Callable;
1212

1313
@Controller
1414
@Slf4j
1515
@RequestMapping("/landing/**")
1616
public class LandingPage {
1717

18-
@RequestMapping(method = { RequestMethod.POST, RequestMethod.GET, RequestMethod.DELETE, RequestMethod.PATCH, RequestMethod.PUT})
19-
@ResponseStatus(HttpStatus.OK)
20-
public void ok(HttpServletRequest request) {
21-
log.trace("Incoming request for: {}", request.getRequestURL());
18+
@RequestMapping(method = {RequestMethod.POST, RequestMethod.GET, RequestMethod.DELETE, RequestMethod.PATCH, RequestMethod.PUT})
19+
public Callable<ResponseEntity<?>> ok(HttpServletRequest request) {
20+
return () -> {
21+
log.trace("Incoming request for: {}", request.getRequestURL());
22+
return ResponseEntity.ok().build();
23+
};
2224
}
2325

2426
}

0 commit comments

Comments
 (0)